Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с rotation (http://www.flasher.ru/forum/showthread.php?t=148548)

FlashWizard 05.01.2011 15:09

Проблема с rotation
 
Есть танк (мувик), внутри него есть пушка (тоже мувик). Пушка поворачивается вокруг своей оси. Танк тоже поворачивается. Когда rotation у танка 0 - пушка вертится правильно, проблем не возникает. А если у танка rotation допустим 180 у пушки rotation внутри танка - 0. И как бы сбивается всё. Как пушку заставить поворачиваться внутри танка и чтобы при этом rotation у неё было такое же как и у танка?

Zebestov 05.01.2011 15:30

Может складывать rotation пушки и танка, чтобы получить "мировой" rotation пушки?

FlashWizard 05.01.2011 15:37

Я сложу допустим 180 (rotation танка) + 0 (rotation пушки) - получу 180 для пушки и она повернется на "свои" 180, то есть не на "мировые" 180, а на свои.

TanaTiX 05.01.2011 15:40

а может проще разместить их в разных контейнерах?

Zebestov 05.01.2011 15:41

Не надо ее поворачивать — пускай поворачивается как сейчас у тебя. Тебе же нужно знать, под каким углом она "в мир смотрит"? Ну так вот на этом шаге и складывай.

bav 05.01.2011 15:42

Цитата:

Как пушку заставить поворачиваться внутри танка и чтобы при этом rotation у неё было такое же как и у танка?
Код AS3:

gun.rotation = tank.rotation;


Zebestov 05.01.2011 15:43

Цитата:

Сообщение от TanaTiX (Сообщение 962181)
а может проще разместить их в разных контейнерах?

чем же это проще? тогда надо руками делать то, что и так происходит: двигать башню туда же, куда и шасси и подворачивать башню при повороте шасси. вот это упростили )

FlashWizard 05.01.2011 15:44

Цитата:

gun.rotation = tank.rotation;
Всё равно это будет не мировой поворот. Она повернётся у себя там в своей вселенной на 180, а не в мире. Может можно её как-то localToGlobal или не знаю как ещё.

Добавлено через 2 минуты
Да да я проверил. У танка rotation 180 и у пушки 180 но при этом смотрят в разные стороны. Потому что пушка по своей системе ориентируется (внутри танка). Как быть?

Zebestov 05.01.2011 15:48

Все. Пошла демагогия. Ответ дан, ты его даже сам проговорил, просто надо вовремя остановиться:

Цитата:

Сообщение от FlashWizard (Сообщение 962180)
Я сложу допустим 180 (rotation танка) + 0 (rotation пушки) — получу 180 для пушки (всё! тут точка) и она повернется на "свои" 180, то есть не на "мировые" 180, а на свои

Вот ты и получил свои "мировые" 180.

bav 05.01.2011 15:49

Цитата:

Как быть?
При вычислении угла поворота пушки, учитывать угол поворота танка.


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

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