"Заморозка" физических объетков
|
|
Skrininshot | Дата: Суббота, 09 Июня 2018, 22:48 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Привет, при создании меню быстрого доступа (то, что вылазит по нажатии на Escape) столкнулся с проблемой, что несмотря на то, что я прописал в менюшке instance_deactivate_all(), физический объект продолжает движение, но выяснить это можно только после instance_activate_all(), потому как пока он деактивирован, визуально он статичен, но активировав его, он резко сменяет свою позицию на ту, в направлении которой он двигался. Надеюсь, понятно объяснил. Требуется ваша подсказка на счёт того, как его раз и навсегда заморозить, и если разморозить, то он по инерции двигался в ту сторону, в которую двигался до заморозки и с прежней скоростью.
What is love Baby don't hurt me Don't hurt me No more...
Сообщение отредактировал Skrininshot - Суббота, 09 Июня 2018, 22:49 |
|
| |
martuk | Дата: Суббота, 09 Июня 2018, 23:07 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Вообще я не сильно практиковал то, что ты рассказываешь, но могу предположить что все дело в параметре объекта "Speed". Вроде как step застывает (вообще не знаю) но speed какая указана была в последний момент, та скорость и будет поддерживаться. Думаю нужно сделать обход всех объектов и записать их скорость а потом обнулить. После наслаждения паузой мы это все дело обратно раздаем объектам.
Это лишь первая мысль, возможно есть более высокотехнологичные способы.
|
|
| |
Skrininshot | Дата: Суббота, 09 Июня 2018, 23:38 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| martuk, мы оба были близки. Как раз то, что ты говорил и плюс ко всему то же самое нужно проделывать и с phy_position(). А так спасибо за эффект бабочки.
What is love Baby don't hurt me Don't hurt me No more...
|
|
| |
Raven84 | Дата: Воскресенье, 10 Июня 2018, 12:17 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Skrininshot, Если ты используешь реальную физику в GMS, то после instance_deactivate_all() сами физические тела (fixtures) не деактивируются. Для деактивации в физике box2D нужно использовать phy_active. Добавлено (10 Июня 2018, 12:17) --------------------------------------------- Да, забыл сказать. У этого параметра два значения true или false. Но если умеете пользоваться справкой GMS, то думаю вы это и так знаете (поймете).
Super Knight Story (в разработке) Idolzzz - игра доступна в Steam и Play Market Oliver's Adventures in the Fairyland
|
|
| |
martuk | Дата: Воскресенье, 10 Июня 2018, 12:56 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| Как сказал Raven84, действительно может быть проблема в заморозке физики. В справке нашел это Там даже пример есть паузы. Нужно использовать не только instance_deactivate_all но и physics_pause_enable.
|
|
| |
Skrininshot | Дата: Воскресенье, 10 Июня 2018, 13:45 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| martuk, Raven84, а ведь действительно, так меньше писанины получается. Пасиба всем, никогда не забуду ваш подвиг
What is love Baby don't hurt me Don't hurt me No more...
Сообщение отредактировал Skrininshot - Воскресенье, 10 Июня 2018, 13:45 |
|
| |