Показать сообщение отдельно
Старый 06.04.2010, 22:30
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Да, всё здорово - только меня маленько муза посетила и я закончил свой вариант.
Мне кажется в обоих вариантах - ну что то явно прям не айс...
Вот ключевые моменты моего варианта:
Я задаю точку, где нахожусь я и точку, где находится звезда, нахожу расстояние между мной и звездой и угол:
Код AS3:
_dist = Point.distance(_thisPoint, _center);
_offsetAngle = Math.atan2(_thisPoint.y - _center.y, _thisPoint.x - _center.x);
А после для отображения: (_viewerAngle - угол поворота камеры у игрока)
Код AS3:
var s:Number = _viewerAngle + _offsetAngle;
var cos:Number = Math.cos(s);
var sin:Number = Math.sin(s);
_visible = (sin<0 && cos>0);
 
_x3D = cos * (MainConfig.WIDTH+_particle.width);
_size = (WorldConfig.MAX_DISTANCE_FROM_SPARK - _dist) / 100;
Имена констант говорят за себя... получилось вот что (см. аттач).

Как то оба варианта "так себе", хотя твой видится более перспективным. Попробую его ковырять конкретно.
Вложения
Тип файла: swf Aeronault.swf (4.4 Кб, 90 просмотров)