Суббота, 23 Ноября 2024, 16:03

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
"Заморозка" физических объетков
SkrininshotДата: Суббота, 09 Июня 2018, 22:48 | Сообщение # 1
частый гость
Сейчас нет на сайте
Привет, при создании меню быстрого доступа (то, что вылазит по нажатии на Escape) столкнулся с проблемой, что несмотря на то, что я прописал в менюшке instance_deactivate_all(), физический объект продолжает движение, но выяснить это можно только после instance_activate_all(), потому как пока он деактивирован, визуально он статичен, но активировав его, он резко сменяет свою позицию на ту, в направлении которой он двигался. Надеюсь, понятно объяснил. Требуется ваша подсказка на счёт того, как его раз и навсегда заморозить, и если разморозить, то он по инерции двигался в ту сторону, в которую двигался до заморозки и с прежней скоростью. blahblah

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
  • Страница 1 из 1
  • 1
Поиск:

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