Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Box2D] angle візівает ошибку (http://www.flasher.ru/forum/showthread.php?t=183286)

Wolf 17.08.2012 04:49

angle візівает ошибку
 
Код AS3:

                protected function update(e:Event):void {
                        if (angle_by_mouse == true) {
                                var dx:Number = World.mouseXWorldPhys - position.x;
                                var dy:Number = World.mouseYWorldPhys - position.y;
                                trace(isNaN(Math.atan2(dx , dy * -1)));
                                //angle = Number(Math.atan2(dx , dy * -1));
 
                        }
                }

такой код работает прекрасно
Код AS3:

                protected function update(e:Event):void {
                        if (angle_by_mouse == true) {
                                var dx:Number = World.mouseXWorldPhys - position.x;
                                var dy:Number = World.mouseYWorldPhys - position.y;
                                trace(isNaN(Math.atan2(dx , dy * -1)));
                                angle = Number(Math.atan2(dx , dy * -1));
 
                        }
                }

такой вызывает ошибку и isNaN(Math.atan2(dx , dy * -1) возвращает true

Код AS3:

public function set angle(angle:Number):void {
 
 
                        if (_body) {
                                _body.SetAngle(angle);
 
                        }
                        _body_def.angle = angle;
                }

как такое возможно?

Добавлено через 5 минут
ржу не могу. все было из-за того, что World.mouseXWorldPhys в первом кадре не был равен чему-то и это приводило к ошибке.

caseyryan 17.08.2012 07:24

Тут есть еще ошибка. Функция atan2() принимает параметры в обратном порядке, т.е. сначала в Y потом X, и для правильной работы нужно передавать их именно так, а не наоборот


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

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