Показать сообщение отдельно
Старый 26.01.2009, 15:23
mongoliano вне форума Посмотреть профиль Отправить личное сообщение для mongoliano Посетить домашнюю страницу mongoliano Найти все сообщения от mongoliano
  № 7  
Ответить с цитированием
mongoliano

Регистрация: Jun 2008
Сообщений: 55
Отправить сообщение для mongoliano с помощью ICQ Отправить сообщение для mongoliano с помощью Skype™
Код AS3:
var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
var radiusX:Number = 150;
var radiusY:Number = 50;
var numButtons:Number = 10;
var speed:Number = 0.1;
 
for (var i:Number = 0; i < numButtons; i++)
{
	var mc:square = new square();
	addChild(mc);
	mc.itemAngle = Math.PI * 2 / numButtons * i;
	mc.addEventListener(Event.ENTER_FRAME, animate);
}
 
 
function animate(e:Event):void
{
	e.currentTarget.x = Math.cos(e.currentTarget.itemAngle) * radiusX + centerX;
	e.currentTarget.y = Math.sin(e.currentTarget.itemAngle) * radiusY + centerY;
	e.currentTarget.itemAngle += speed;
}
Простейший алгоритм вращения нескольких объектов по овалу. Если radiusX = radiusY, то по кругу. Класс square - вращаемый объект, numButtons - количество. Если один объект то будет ещё проще.