Пятница, 08 Ноября 2024, 12:41

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Движение по сетке
Sergz81Дата: Понедельник, 16 Июня 2014, 15:22 | Сообщение # 1
был не раз
Сейчас нет на сайте
Помогите новичку!
Сделал движение по сетке:

G=73
S=2

if !place_snapped(G,G)
{
move_snap(G,G)
}

Move[1,0]=true
Move[1,1]=true

Само движение с гравитацией:
if place_snapped(G,G){
speed=0

if keyboard_check(vk_left) && Move[1,0]=true{
motion_set(180,S)
}

if keyboard_check(vk_right) && Move[1,1]=true{
motion_set(0,S)
}
}
if place_empty(x,y+1) {gravity=0.5 gravity_direction=270} else {gravity=0 gravity_direction=270}
if vspeed>10 {vspeed=12}

Но почему то скорость движения идет на две ячейки. Если ставлю вместо 2 скорость 4, то идет движение на 4 ячейки.
Как сделать перемещение на 1 ячейку, но с большей скоростью.


Сообщение отредактировал Sergz81 - Понедельник, 16 Июня 2014, 15:25
XDominatorДата: Вторник, 17 Июня 2014, 09:52 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Не знаю как работает move_snap, ни разу его не использовал, честно говоря. Но могу тебе рассказать как сделать движение по сетке без него.

Создаем временные переменные, отвечающие за координаты и скорости, скажем tx=x, ty=y, tvspeed, thspeed. Устанавливаем размер ячейки сетки как tgrid_size
Дальше эмулируем движение. Скажем, при нажатии кнопки вправо у нас будет thspeed = 1;

Потом в степе сооружаем такую простенькую конструкцию:

Код

tx += thspeed;
ty += tvspeed;

tvspeed = 0.01//гравитация вниз. Тут соответственно нужна проверка коллизий и все такое.

x = round(tx/tgrid_size) * tgrid_size;
y = round(ty/tgrid_size) * tgrid_size;


Ну а дальше, как я и писал выше, регулируем только 2 проекции скорости - горизонтальную thspeed и вертикальную tvspeed, и таким образом управляем объектом. В теории, все должно работать, ну и конечно под твой конкретный случай придется что то подгонять. Удачи smile


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)


Сообщение отредактировал XDominator - Вторник, 17 Июня 2014, 09:53
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг