Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.05.2011, 23:01
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 1  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
По умолчанию Не отображается спрайт после выхода за левую или верхнюю границы

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

Старый 01.06.2011, 00:01
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 2  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
может немного кода?
__________________
freelance | Раздор

Старый 01.06.2011, 00:28
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 3  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от derhab Посмотреть сообщение
может немного кода?
Какую часть?

Вот расчет положения планеты
Код 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, время: 02:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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