Суббота, 23 Ноября 2024, 21:26

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Застревание в углу платформы GMS
SimangДата: Четверг, 10 Декабря 2015, 21:07 | Сообщение # 1
был не раз
Сейчас нет на сайте
Доброго времени суток, уважаемые форумчане. Я делаю платформер с элементами шут'м'апа и у меня возникла проблема с соприкосновением с блоком. Вот есть объект o_grass. Он действует и как стены и как пол и потолок. Однако если игрок соприкоснётся с блоком углами, то застрянет. Что тут можно сделать?

Собственно проблема:


Код соприкосновения:


Код движения:
cnstntnДата: Четверг, 10 Декабря 2015, 23:28 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Я думаю здесь проблема в маске объектов, возможно есть какая-нибудь неровность. Да и сам скрипт не вызывает доверия.

Код
//Горизонтальное столкновение (Стены)
if (place_meeting(x+hspeed, y, o_grass))
{
    while(!place_meeting(x+sign(hspeed), y, o_grass))
    {
        x += sign(hspeed);
    }
    hspeed = 0;
}

//Вертикальное столкновение (Полы)
if (place_meeting(x, y+vspeed, o_grass))
{
    while(!place_meeting(x, y+sing(vspeed), o_grass))
    {
        y += sign(vspeed);
    }
    vspeed = 0;
}

Добавлено (10 декабря 2015, 23:28)
---------------------------------------------
И еще. Англ. слово "Grass" переводится как "Трава". Возможно тебе больше подойдет слово "Ground" - Поверхность, Земля, Почва, Грунт.

XDominatorДата: Пятница, 11 Декабря 2015, 07:09 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Никогда не используй галочку Solid в объектах.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
  • Страница 1 из 1
  • 1
Поиск:

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