Изменение спрайта у объекта
|
|
Mikhaeli | Дата: Четверг, 12 Июня 2014, 13:56 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Извиняюсь за возможно нубский вопрос, но с моим знанием английского в справке трудно копаться. Так вот мне нужно что бы при нажатии на объект мышкой его спрайт менялся на другой, а так же нужна команда которая бы узнавала какой спрайт у объекта в данный момент. Заранее благодарен)
|
|
| |
KaramBino | Дата: Четверг, 12 Июня 2014, 14:06 | Сообщение # 2 |
Karam Грозный
Сейчас нет на сайте
| Вкладка main1, функция Sprite Change. Если не ищешь легких путей, используй код:
|
|
| |
SpeRdKeaR | Дата: Четверг, 12 Июня 2014, 14:12 | Сообщение # 3 |
KillerReborn
Сейчас нет на сайте
| Цитата KaramBino ( ) Вкладка main1, функция Sprite Change. Если не ищешь легких путей, используй код: Кнопки - путь идиота, а не легкий путь. И еще: код, который дал великий плагиатер игр не будет работать корректно. Пиши так: И ни в коем случае плюс KaramBino не ставь!
А звезды, будто мириады стрел, Ловя на мушку силуэты снов. Смеется и злорадствует любовь, И мы с тобой попали в их прицел...
|
|
| |
Mikhaeli | Дата: Четверг, 12 Июня 2014, 14:20 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Цитата SpeRdKeaR ( ) sprite_index=спрайт то есть если я например делаю так, при нажатии на объект выполняется код, в коде написанно Код sprite_index = (спрайт на который я меняю) то у меня получится что картинка заменится. Если я правильно понял.
А как узнать через код, какой спрайт в данный момент у объекта?
|
|
| |
KaramBino | Дата: Четверг, 12 Июня 2014, 14:22 | Сообщение # 5 |
Karam Грозный
Сейчас нет на сайте
| Mikhaeli, никак. Сразу ставь объекту спрайт.
|
|
| |
Mikhaeli | Дата: Четверг, 12 Июня 2014, 14:35 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Цитата KaramBino ( ) никак. Сразу ставь объекту спрайт. Ну ты похоже не понял, изначально у объекта есть спрайт, затем я его меняю при нажатии, а при повторном нажатии надо что бы он вернулся к старому спрайту, а это насколько я думаю надо делать так. При нажатии я делаю проверку на то какой спрайт у объекта, и в зависимости какой у меня спрайт меняю его на другой.Добавлено (12.06.2014, 14:35) --------------------------------------------- Или есть такой вариант, сделать переменную, и так как я знаю что есть только два варианта спрайта у объекта, и что у объекта в любом случае изначально спрайт 1. То я изначально этой переменной задам число 0. При взаимодействии с объектом меняется как спрайт, так и значение этой переменной на единицу. При повторном взаимодействии идёт проверка чему равна переменная и в зависимости от того чему она равна она меняется на другое значение и спрайт тоже.
|
|
| |
LunarPixel | Дата: Четверг, 12 Июня 2014, 14:36 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Mikhaeli, аналогично через sprite_index.
Код if sprite_index=спрайт1 sprite_index=спрайт2 else sprite_index=спрайт1
|
|
| |
Mikhaeli | Дата: Четверг, 12 Июня 2014, 14:39 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| Цитата LunarPixel ( ) Mikhaeli, аналогично через sprite_index.
if sprite_index=спрайт1 sprite_index=спрайт2 else sprite_index=спрайт1
Спасибо большое, и можно тогда ещё один вопрос, могу ли я узнавать Sprite_index первого объекта, из кода другого объекта?
|
|
| |
SpeRdKeaR | Дата: Четверг, 12 Июня 2014, 14:39 | Сообщение # 9 |
KillerReborn
Сейчас нет на сайте
| Mikhaeli, тогда пиши: Код if sprite_index=спрайт {sprite_index=спрайт, на который меняешь}
А звезды, будто мириады стрел, Ловя на мушку силуэты снов. Смеется и злорадствует любовь, И мы с тобой попали в их прицел...
|
|
| |
KaramBino | Дата: Четверг, 12 Июня 2014, 14:39 | Сообщение # 10 |
Karam Грозный
Сейчас нет на сайте
| Mikhaeli, это же очевидно. Два раза действие проделай.
|
|
| |
SpeRdKeaR | Дата: Четверг, 12 Июня 2014, 14:41 | Сообщение # 11 |
KillerReborn
Сейчас нет на сайте
| Цитата Mikhaeli ( ) Спасибо большое, и можно тогда ещё один вопрос, могу ли я узнавать Sprite_index первого объекта, из кода другого объекта? Если правильно понял, тогда пиши в draw объекта, который проверяет: Код draw_text(0,0,''+string(объект, который проверяешь.sprite_index))
А звезды, будто мириады стрел, Ловя на мушку силуэты снов. Смеется и злорадствует любовь, И мы с тобой попали в их прицел...
|
|
| |
Mikhaeli | Дата: Четверг, 12 Июня 2014, 14:51 | Сообщение # 12 |
был не раз
Сейчас нет на сайте
| SpeRdKeaR, я хочу сделать радио кнопки, то есть если одна радио кнопка нажата, то другая должна стать отжатой.
|
|
| |
SpeRdKeaR | Дата: Четверг, 12 Июня 2014, 14:53 | Сообщение # 13 |
KillerReborn
Сейчас нет на сайте
| Mikhaeli, тогда: [code]if объект, который проверяешь.sprite_index=спрайт {и т.д.}
А звезды, будто мириады стрел, Ловя на мушку силуэты снов. Смеется и злорадствует любовь, И мы с тобой попали в их прицел...
|
|
| |
rgs_haker | Дата: Четверг, 12 Июня 2014, 14:55 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| Цитата Mikhaeli ( ) у объекта есть спрайт, затем я его меняю при нажатии, а при повторном нажатии надо что бы он вернулся к старому спрайту
Создаеш спрайт с 2 кадрами вкл\выкл и в обьекте пишеш в Create Код global.chets = 0 image_speed=0 if global.chets = 0 {image_index=0} if global.chets = 1 {image_index=1}
в Mouse Left Pressed
Код if image_index=0 { global.chets = 1; image_index=1; } else { global.chets = 0; image_index=0; }
вот и все, очень простой код
_____
|
|
| |
Mikhaeli | Дата: Четверг, 12 Июня 2014, 15:19 | Сообщение # 15 |
был не раз
Сейчас нет на сайте
| Цитата SpeRdKeaR ( ) Mikhaeli, тогда: [code]if объект, который проверяешь.sprite_index=спрайт {и т.д.} Спасибо, думаю теперь смогу реализовать что хочу, с меня плюсики всем кто реально помог Добавлено (12.06.2014, 14:59) ---------------------------------------------
Цитата rgs_haker ( ) Создаеш спрайт с 2 кадрами вкл\выкл и в обьекте пишеш в Create Код global.chets = 0 image_speed=0 if global.chets = 0 {image_index=0} if global.chets = 1 {image_index=1}
в Mouse Left Pressed
Код if image_index=0 { global.chets = 1; image_index=1; } else { global.chets = 0; image_index=0; }
вот и все, очень простой код
Спасибо, тоже неплохой вариант, но мне больше по душе тот, который предложили ранее Добавлено (12.06.2014, 15:19) --------------------------------------------- Никак не пойму где я напортачил, но когда пытаюсь запустить, он говорит что после If должен быть оператор присваивания(если я правильно понял ошибку). Код If obj_RadioBatton2.sprite_index = spr_RadioBattonOn { obj_RadioBatton2.sprite_index = spr_RadioBattonOff; } If obj_RadioBatton3.sprite_index = spr_RadioBattonOn { obj_RadioBatton3.sprite_index = spr_RadioBattonOff; }
|
|
| |
Fоzzie | Дата: Четверг, 12 Июня 2014, 15:22 | Сообщение # 16 |
Король Гопов
Сейчас нет на сайте
| Mikhaeli, Кинь ошибку.
|
|
| |
Mikhaeli | Дата: Четверг, 12 Июня 2014, 15:24 | Сообщение # 17 |
был не раз
Сейчас нет на сайте
| и причём если я там поставлю = то он работает! Добавлено (12.06.2014, 15:24) --------------------------------------------- Fоzzie, at line 1 pos 4: Assignment operator expected
|
|
| |
KaramBino | Дата: Четверг, 12 Июня 2014, 16:20 | Сообщение # 18 |
Karam Грозный
Сейчас нет на сайте
| Mikhaeli, наверно там и нужно =.
|
|
| |
rgs_haker | Дата: Четверг, 12 Июня 2014, 16:27 | Сообщение # 19 |
постоянный участник
Сейчас нет на сайте
| а где собстно else
Цитата Mikhaeli ( ) Код If obj_RadioBatton2.sprite_index = spr_RadioBattonOn { obj_RadioBatton2.sprite_index = spr_RadioBattonOff; } If obj_RadioBatton3.sprite_index = spr_RadioBattonOn { obj_RadioBatton3.sprite_index = spr_RadioBattonOff; }
_____
|
|
| |
Mikhaeli | Дата: Четверг, 12 Июня 2014, 17:03 | Сообщение # 20 |
был не раз
Сейчас нет на сайте
| Цитата rgs_haker ( ) а где собстно else чуток решил по другому сделать, теперь else не нужен. Меня просто удивило, что после if почему то вдруг надо ставить равно.Добавлено (12.06.2014, 17:03) --------------------------------------------- если кому интересно, то нашёл почему он там запрашивал значок присваивания, я написал If с большой буквы, а команда с маленькой, поэтому он решил что это переменная и не считал это функцией. Так что будьте всегда осторожны с заглавными буквами
|
|
| |