Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > движение по кривой нескольких объектов


Автор: Enya 27.9.2007, 23:19
не много застряла над задачей - нужно заставить 3-4 спутника носиться по орбите

Автор: AlDev 28.9.2007, 04:52
Ф чем проблема?
Движение по эллипсу:

x = Rx * cos(angle)
y = Ry * sin(angle)


Где Rx - проекция радиуса на ось x,
Ry - соответственно на y

Автор: Enya 28.9.2007, 07:44
AlDev, 
Код

var x:Number;
var y:Number;
var xc:Number = 250;//центр круга
var yc:Number = 200;
var r:Number = 150;//радиус круга
var angle:Number = 120;//угол поворота
onEnterFrame = function(){
    x = Math.sin(angle)*r;
    y = Math.cos(angle)*r;
    ball_mc._x = xc+x;
    ball_mc._y = yc-y;
    angle += 0.05;
}
 так?

Добавлено через 2 минуты и 24 секунды
только движется по кругу, а не по элипсу

p.s код найден в сети

Автор: Enya 28.9.2007, 08:06
 smile 

Автор: AlDev 28.9.2007, 16:54
Код

var x:Number;
var y:Number;
var xc:Number = 250;//центр круга
var yc:Number = 200;

//var r:Number = 150;//радиус круга
var rx:Number = 120;
var ry:Number = 80;

var angle:Number = 120;//угол поворота
onEnterFrame = function(){
    //angle in radians!
    x = Math.sin(angle)*rx;
    y = Math.cos(angle)*ry;
    ball_mc._x = xc+x;
    ball_mc._y = yc-y;
    angle += 0.05;
}


Добавлено через 6 минут и 49 секунд
Поправочка. Не заметил. 
Код

//angle in radians!
    x = Math.cos(angle)*rx;
    y = Math.sin(angle)*ry;


и
Код

angle += Math.PI/180;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)