![]() |
.rotation после столкновения.
Добрый день.
Столкнулся с проблемой определения .rotation объекта (в моём случае это шар) после столкновения с другими объектами (стены, потолки, прочее). С изменением положения (х, у) всё понятно, а вот с углом поворота - нет; крутил, вертел, подбирал условия - ничего не выходит. Если я плохо объяснил, то вот картинка: http://cs10145.vkontakte.ru/u1494130...x_7be060d2.jpg Может быть, кто-то уже сталкивался с этой проблемой или знает, как её решить. Буду благодарен за ответы, наводки :) |
а в чем проблемма?
|
Дык это, угол падения равен углу отражения.
|
|
Так вроде про вращение объекта спрашивают, а не про угол отскока.
|
Знаете угол отскока, прибавляете к текущему повороту - все.
|
При идеально упругом ударе шарик не крутится вообще. Можете сделать вращение по часовой стрелке (при соударении как на рис.) после удара, если не нравится, что не крутится.
|
Цитата:
В общем, меня немного сбила с толку вариация угла во флеш от 0 до -180 и от 180 до 0. Код AS3:
Цитата:
|
Кодом не помогу, так как нет времени сейчас писать его. Но помогу словесно: Вам дали подсказку, даже ссылку дали. Простейшая физика-математика. 0 градусов, как правило, это когда клип смотрит вправо. Ну вот и смотрим, зная угол текущего поворота, насколько он должен отскочить - угол падения равен углу отражения. Если поворот объекта от [-180, 0], то вычитаем текущий угол из угла поворота. Если [0, 180] - прибавляем. Возможно я ошибся со знаками, вам это нужно проверить.
|
Не, ну если вы не псих, то вы знаете направление его движения) Ну скорость там, например, Vx, Vy.
Считаете же как-то после столкновений и пр. Тогда угол поворота hero.rotation = Math.atan2(Vy, Vx) * 180 / Math.PI + add; add - угол в градусах между осью х и тем местом, которым он будет смотреть по направлению движения. |
| Часовой пояс GMT +4, время: 21:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.