Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [...] от MovieClip до Shape с физикой (http://www.flasher.ru/forum/showthread.php?t=182759)

GoodWin74 02.08.2012 05:30

от MovieClip до Shape с физикой
 
Хотелось бы посоветоваться, кто уже работал с многими физическими движками 2D для Flash.

Для обучения всех тонкостей в физ. движках, появилась идея написать мини игру.
Суть игры:
Персонаж бежит и перепрыгивает препятствия, в случае соприкосновения с препятствиями, персонаж ударяется падает, как настоящий труп человека.

Каким образом, лучше перейти от MovieClip к Shape и какой лучше движок для такой простой игры использовать?

gagaga 02.08.2012 13:17

вопрос не ясен...

GoodWin74 03.08.2012 08:28

Имеется ввиду то, что анимацию на Шейпах физ. движков не сделаешь нормальную, а так как все анимации в MovieClip, значит и персонаж изначально будет в MovieClip. Вот и хотелось бы узнать, как решить задачу с внедрением физ. движка на момент удара персонажа о препятствие. Т.е. как то отключить MovieClip и перейти к персонажу на шейпах с физ. свойствами, чтоб он уже получил удар и упал как реальный человек.

Alex Lexcuk 03.08.2012 22:10

Ищите в демиартовских уроках, был урок box2d с платформером, где эти мелочи разжёваны.
http://demiart.ru/forum/index.php?act=SF&s=&f=49

gagaga 03.08.2012 22:59

что не получается? вы не можете отловить событие из физ.мира, или не можете придумать как прикрутить анимацию... я бы написал какой-нибуть stateManager и хранил в нем состояния персонажа, например, в переменной state:uint... можно использовать побитовые операторы http://help.adobe.com/ru_RU/ActionSc...8a9b90204-7f63 для того чтобы изменять отдельный бит состояния и, в сеттере хэндлить изменение и подставлять нужную анимацию.... например
if(state & 1) анимация = бежит,
if(state & 2) анимация = прыгает
if(state & 4) анимация = бьет врага
if((state & 4+2) == 6) анимация = атакует в прыжке
и т.д...

Добавлено через 4 минуты
п.с. не если будете использовать побитовые операторы, не забудьте про приоритеты операций, у == приоритет больше чем у &.... т.е. (2 & 3 == 2) вернет false, а ((2 & 3) == 2) вернет true


Часовой пояс GMT +4, время: 17:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.