Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Box2D] Как приложить ApplyForce к конкретным телам? (http://www.flasher.ru/forum/showthread.php?t=151536)

Prevision 01.03.2011 13:30

Как приложить ApplyForce к конкретным телам?
 
Здравствуйте.
Уже много где искал, решил спросить.
Есть такой метод, срабатывающий по маусклику:
Код AS3:

function applyforces(e:MouseEvent):void 
                {
                        var force:b2Vec2;
 
                        for (var worldbody:b2Body = m_world.GetBodyList(); worldbody; worldbody = worldbody.GetNext())
                                {
                                        if (worldbody.GetUserData() instanceof Ball )
                                        {
                                                force=new b2Vec2(40,-60);                               
                                                worldbody.ApplyForce(force, worldbody.GetWorldCenter());
                                        }                                       
 
                                }
                }

На данный момент в мире сгенерировано 5 тел (объект Ball), следовательно сила прикладывается ко всем мячам сразу.
Я не знаю, как правильно проименовать мячи, чтобы в цикле менять их имя (или порядковый номер) и прикладывать силу к каждому следующему мячу.
В UserData мяча следующее:

Код AS3:

...
mc = new Ball();
bodyDef.userData = mc;
...

То есть по UserData (если я правильно понимаю) мячи уже различить нельзя? Т.к. UserData - это мувик мяча.
Или все таки можно как-то засунуть имя мяча в UserData?
Спасибо.

Alex Lexcuk 01.03.2011 13:47

userData - это любой объект,
Цитата:

То есть по UserData (если я правильно понимаю) мячи уже различить нельзя? Т.к. UserData - это мувик мяча.
Или все таки можно как-то засунуть имя мяча в UserData?
Спасибо.
Ха.. в мувике есть свойство name

Prevision 01.03.2011 13:53

Цитата:

Сообщение от Alex Lexcuk (Сообщение 977213)
userData - это любой объект,

Ха.. в мувике есть свойство name

Спасибо за ответ.
Но если мы генерируем 5 мувиков, то в UserData у них у всех будет одно и то же name?

Добавлено через 3 минуты
Хм.. вроде сработало:
bodyDef.userData.name = 'me';

: )

Сейчас попробую поэкспериментировать : )


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

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