Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не отображается спрайт после выхода за левую или верхнюю границы (http://www.flasher.ru/forum/showthread.php?t=157122)

Korchy 31.05.2011 23:01

Не отображается спрайт после выхода за левую или верхнюю границы
 
Нужно сделать модель солнечной системы.
Столкнулся с такой проблемой: когда орбита движения планеты выходит за границы флешки (за левую или верхнюю) спрайт с планетой перестает отображаться. Причем с правой и нижней границами все нормально. Причем это наблюдается только в браузере, когда запускаю проект на тест Ctrl+Alt+P - все работает нормально.
Вот здесь скомпилированная флешка http://www.basaval.ru/tmp/test.html
Если кликнуть по планете - орбита увеличивается так, что планета начинает выходить за края и перестает отображаться.
Подскажите, в чем может быть проблема?

derhab 01.06.2011 00:01

может немного кода?

Korchy 01.06.2011 00:28

Цитата:

Сообщение от derhab (Сообщение 1000249)
может немного кода?

Какую часть?

Вот расчет положения планеты
Код AS3:

internal function CountPos(Time:Number):Vector2 {
var as0:Number = Math.sin(-Angle*Math.PI/180);
var ac0:Number = Math.cos(-Angle*Math.PI/180);
var x0:Number = RadiusL*Math.cos(ScrollSpeed*Time);
var y0:Number = RadiusS*Math.sin(ScrollSpeed*Time);
var NewX:Number = x0*ac0+y0*as0+GetPosition().x;
var NewY:Number = -x0*as0+y0*ac0+GetPosition().y;
var Pos:Vector2 = new Vector2(NewX,NewY);
return Pos;

какой еще участок привести? Просто в проекте много всего напихано уже. Но я хоть целиком приложу :)

Добавлено через 17 часов 10 минут
Разобрался в чем дело.
Ошибка на уровне личного идиотизма. Параметры передаваемые в функцию перемещения спрайта обозначил как uint а когда орбита уходит за края, естественно, в нее передавались отрицательные значения. И AS3 все это нормально скушал, не бросив исключений. Грущу по С++ :(


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

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