| Управление с изменением спрайтов по 8 осям | 
|  | 
| 
| Oletron | Дата: Понедельник, 28 Февраля 2022, 15:36 | Сообщение # 1 |  |   частый гость Сейчас нет на сайте | Тихо!Тихо! Не надо ругаца, я уже начинаю переходить на gms, не кричай.
  кхм, надо сделать 2D управление по восьми осям , а спрайт изменялся по четырём осям.
 Спасибо...
 
 сорри за тупой вопрос сам понял это сделать, завтра кину код
 
 Старый Код (cringe)
 
 Первый скрипт в step:
 if keyboard_check(ord("W")) && place_free(x,y-4) {y-=4}
 if keyboard_check(ord("S")) && place_free(x,y+4) {y+=4}
 if keyboard_check(ord("D")) && place_free(x+4,y) {x+=4}
 if keyboard_check(ord("A")) && place_free(x-4,y) {x-=4}
 Второй код тоже в step (СОЗДАЙ ЕЩЕ ОДИН СКРИПТ В STEP)
 if keyboard_check(ord("W")) sprite_index=(u)//спрайт вверх
 if keyboard_check(ord("S")) sprite_index=(d)//спрайт вниз
 if keyboard_check(ord("D")) sprite_index=(RIGHT)//спрайт вправо
 if keyboard_check(ord("A")) sprite_index=(l)//спрайт влево
 
 Оптимизированный код oт Соre (epic)
 А вот оптимизированный код в одном скрите, скажем спасибо Corе за помощь)
 
 Цитата Core (  )  if keyboard_check(ord("W")) {sprite_index=up; if place_free(x,y-4) then y-=4}if keyboard_check(ord("A")) {sprite_index=left; if place_free(x-4,y) then x-=4}
 if keyboard_check(ord("S")) {sprite_index=down; if place_free(x,y+4) then y+=4}
 if keyboard_check(ord("D")) {sprite_index=right; if place_free(x+4,y) then x+=4}
 
 Сообщение отредактировал Oletron - Вторник, 01 Марта 2022, 23:48 |  |  |  |  | 
| 
| TLT | Дата: Понедельник, 28 Февраля 2022, 21:45 | Сообщение # 2 |  |   
 Сейчас нет на сайте | Ну введи переменную, которая изменяется от нажатия той или иной комбинации кнопок и отвечает за анимацию спрайта в том или ином положении (либо флип спрайта). 
 Дао, выраженное словами, не есть истинное Дао.
 |  |  |  |  | 
| 
| Oletron | Дата: Вторник, 01 Марта 2022, 01:04 | Сообщение # 3 |  |   частый гость Сейчас нет на сайте | Цитата TLT (  )  Ну введи переменную, которая изменяется от нажатия той или иной комбинации кнопок и отвечает за анимацию спрайта в том или ином положении (либо флип спрайта).слишком сложно, можно ещё проще)
 
 
 Сообщение отредактировал Oletron - Вторник, 01 Марта 2022, 01:04 |  |  |  |  | 
| 
| MagicHero | Дата: Вторник, 01 Марта 2022, 03:01 | Сообщение # 4 |  | постоянный участник Сейчас нет на сайте | Oletron, куда проще то? Делаешь 8 обьектов кнопок или проще один но с различными зонами нажатия. И в зависимости на какую кнопку или область (если обьект-кнопка одна) нажали меняешь переменную которая отвечает за индекс спрайта. |  |  |  |  | 
| 
| Oletron | Дата: Вторник, 01 Марта 2022, 13:58 | Сообщение # 5 |  |   частый гость Сейчас нет на сайте | Цитата MagicHero (  )  Oletron, куда проще то? Делаешь 8 обьектов кнопок или проще один но с различными зонами нажатия. И в зависимости на какую кнопку или область (если обьект-кнопка одна) нажали меняешь переменную которая отвечает за индекс спрайта.чееел читай что выше я написал
 |  |  |  |  | 
| 
| Core | Дата: Вторник, 01 Марта 2022, 16:22 | Сообщение # 6 |  |   заслуженный участник Сейчас нет на сайте | Немного оптимизировал твой код. Так выглядит в два раза компактнее и второй скрипт создавать ненужно  
 
 Код if keyboard_check(ord("W")) {sprite_index=up; if place_free(x,y-4) then y-=4}
 if keyboard_check(ord("A")) {sprite_index=left; if place_free(x-4,y) then x-=4}
 if keyboard_check(ord("S")) {sprite_index=down; if place_free(x,y+4) then y+=4}
 if keyboard_check(ord("D")) {sprite_index=right; if place_free(x+4,y) then x+=4}
 
 Игры: justcore.itch.io
 Сайт: justcore.space
 
 
 Сообщение отредактировал Core - Вторник, 01 Марта 2022, 16:27 |  |  |  |  | 
| 
| Oletron | Дата: Вторник, 01 Марта 2022, 23:41 | Сообщение # 7 |  |   частый гость Сейчас нет на сайте | Цитата Core (  )  Немного оптимизировал твой код. Так выглядит в два раза компактнее и второй скрипт создавать ненужно Спасиба)
 Таой код теперь висит сверху!
 
 
 Сообщение отредактировал Oletron - Вторник, 01 Марта 2022, 23:47 |  |  |  |  |