| Столкновение | 
|  | 
| 
| 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 |  |   постоянный участник Сейчас нет на сайте | поставь галочку над пунктом "точная проверка столкновений", плюс заюзай move_contact_solid, и проблема должна исчезнуть мгновенно.Цитата (Maxat32) Салют всем. Собственно проблемка: есть объект, по нажатию кнопки происходит vspeed=20, при столкновении 0. Но если скорость равна 8, то столкновение нормальное, а если больше 8, то столкновение происходит на пару пикселей до объекта. Собственно показано на картинке. 
 
 смотрю все за твоими проказами. ты либо тролль, либо просто упорот: чем ТС может помочь факт того, что ты никогда не сталкивался с этой проблемой?Цитата (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, движение до столкновения с твердым объектом не подходит...он практически мгновенно перемещается
 
 
   |  |  |  |  |