Пятница, 29 Марта 2024, 02:37

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Баг в столкновении со стеной
Баг в столкновении со стеной
MrVasLukДата: Воскресенье, 20 Марта 2016, 16:05 | Сообщение # 1
участник
Сейчас нет на сайте
Здравствуйте.
Для столкновения со стеной использую метод предыдущих координат (xprevious, yprevious). Однако, при столкновении со стеной на большой скорости, объект отскакивает слишком далеко.
Я знаю, с чем это связано итд, но не знаю альтернативных методов. Помогите, пожалуйста.


увеличь популярность своего проекта/канала YouTube/странички вк:
FREE Social Promotion
LimboДата: Воскресенье, 20 Марта 2016, 17:05 | Сообщение # 2
почетный гость
Сейчас нет на сайте
В своё время где-то украл очень удобный кусок кода (а может и частично доработал, хз, не помню):

"Step Event"
Код

right = keyboard_check(k_right);
left = -keyboard_check(k_left);
up = -keyboard_check(k_up);
down = keyboard_check(k_down);

//Movement
hmove = left + right;
vmove = up + down;

hsp = hmove * (speh - abs(vmove/2));
vsp = vmove * (spev - abs(hmove/2));

//Collision
if (place_meeting(x+hsp,y,o_wall)) then {
while(!place_meeting(x+sign(hsp),y,o_wall)) {
x += sign(hsp);}
hsp = 0;} x += hsp;

if (place_meeting(x,y+vsp,o_wall)) then {
while(!place_meeting(x,y+sign(vsp),o_wall)){
y += sign(vsp);}
vsp = 0;} y += vsp;


где:
spev - скорость вертикальная
speh - скорость горизонтальная
o_wall - стена


Сообщение отредактировал Limbo - Воскресенье, 20 Марта 2016, 17:05
MrVasLukДата: Воскресенье, 20 Марта 2016, 19:48 | Сообщение # 3
участник
Сейчас нет на сайте
спасибо

увеличь популярность своего проекта/канала YouTube/странички вк:
FREE Social Promotion
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Баг в столкновении со стеной
  • Страница 1 из 1
  • 1
Поиск:

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