Пятница, 19 Апреля 2024, 16:56

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Столкновение
Столкновение
Maxat32Дата: Среда, 10 Июля 2013, 15:00 | Сообщение # 1
частый гость
Сейчас нет на сайте
Салют всем. Собственно проблемка: есть объект, по нажатию кнопки происходит vspeed=20, при столкновении 0. Но если скорость равна 8, то столкновение нормальное, а если больше 8, то столкновение происходит на пару пикселей до объекта. Собственно показано на картинке.


BrightSpotДата: Среда, 10 Июля 2013, 15:12 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
это происходит из-за просчета колизий в гм... они медленные и при больших скоростях лезут баги... можно проявить фантазию и вывести алгоритм для нормального столкновения...


Более мощный компьютер глючит быстрее и точнее.
Maxat32Дата: Среда, 10 Июля 2013, 15:18 | Сообщение # 3
частый гость
Сейчас нет на сайте
А можно поподробнее о алгоритме, или пример?

Abel399Дата: Четверг, 11 Июля 2013, 06:25 | Сообщение # 4
Surpass your limits. Right now.
Сейчас нет на сайте
В столкновение с другим объектом можно написать так:
Код
move_contact_solid(direction,abs(vspeed)); //Двигаем объект по директории его движения на модуль вертикальной скорости, пока он не столкнется с твердым объектом или пройдет заданное количество пикселей для движения. Так же можно использовать функцию move_contact_all(с осторожностью), если объект столкновения не твердый.
vspeed = 0; //Столкновение прошло, останавливаем объект.

Так же можно написать свою функцию столкновения, вместо move_contact_solid или move_contact_all.
Вот, например, только что придумал:
move_contact_object(direction,max_step,object):
Код
repeat(argument1)
{
     if(place_meeting(x+cos(argument0),y+sin(argument0),argument2)) break;
     x-=cos(argument0);
     y-=sin(argument0);
}

Правда, из-за неправильного просчета синуса и косинуса в Game Maker, способ наверное не пройдет)


Ninja Slayer - 2D Physics Puzzle [cancelled]
CmaujlukДата: Четверг, 11 Июля 2013, 09:38 | Сообщение # 5
участник
Сейчас нет на сайте
Странно у меня всё нормально, какая версия gmk?

Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"
Maxat32Дата: Суббота, 13 Июля 2013, 09:32 | Сообщение # 6
частый гость
Сейчас нет на сайте
Cmaujluk, gm 8.1

MasterSamboДата: Суббота, 13 Июля 2013, 13:49 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Никогда не сталкивался с такой проблемой.
HaGeДата: Суббота, 13 Июля 2013, 14:23 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Цитата (Maxat32)
Салют всем. Собственно проблемка: есть объект, по нажатию кнопки происходит vspeed=20, при столкновении 0. Но если скорость равна 8, то столкновение нормальное, а если больше 8, то столкновение происходит на пару пикселей до объекта. Собственно показано на картинке.
поставь галочку над пунктом "точная проверка столкновений", плюс заюзай move_contact_solid, и проблема должна исчезнуть мгновенно.

Цитата (arkady)
Никогда не сталкивался с такой проблемой.
смотрю все за твоими проказами. ты либо тролль, либо просто упорот: чем ТС может помочь факт того, что ты никогда не сталкивался с этой проблемой?
CmaujlukДата: Воскресенье, 14 Июля 2013, 01:25 | Сообщение # 9
участник
Сейчас нет на сайте
Цитата (Maxat32)
Cmaujluk, gm 8.1

К сожалению не могу подсказать т.к. работаю на 8.0.


Не жадный на плюсы.
Наши проекты:
Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft
Angry Bee Evolution - Эволюция с элементами кликера
Чего не хватает? - Викторина на логику"


Сообщение отредактировал Cmaujluk - Воскресенье, 14 Июля 2013, 01:30
Maxat32Дата: Воскресенье, 14 Июля 2013, 06:21 | Сообщение # 10
частый гость
Сейчас нет на сайте
Cmaujluk, так вот же, решил 8.1 попробывать..возвращаюсь на 8.0

Добавлено (14.07.2013, 06:21)
---------------------------------------------
HaGe, движение до столкновения с твердым объектом не подходит...он практически мгновенно перемещается


Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Столкновение
  • Страница 1 из 1
  • 1
Поиск:

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