| 
				
				Изменение спрайта у объекта
				 | 
 | 
| 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 с большой буквы, а команда с маленькой, поэтому он решил что это переменная и не считал это функцией.   Так что будьте всегда осторожны с заглавными буквами   
 |  
| 
 | 
 |    |