sky.as

Код AS3:
package main
{
import flash.display.MovieClip;
import flash.events.*;
import main.*;
dynamic public class sky extends MovieClip
{
var new_asteroid:moving_object;
public function sky()
{
addEventListener(Event.ENTER_FRAME, Update);
dropAsteroid();
}
public function dropAsteroid():void
{
new_asteroid = new moving_object();
addChild(new_asteroid);
new_asteroid.drop(200,300, 500,500);
}
public function Update(e : Event):void
{
new_asteroid.move();
}
}
}
moving_object.as

Код AS3:
package main
{
import flash.display.MovieClip;
import main.*;
dynamic public class moving_object extends basic_object
{
const DROP_RADIUS:Number = 200; // разброс при вбрасывании
const MIN_SPEED:Number = 1; // раброс начальной скорости
const MAX_SPEED:Number = 10;
public var Velocity:Vector; // вектор движения
public function moving_object()
{
var num:Number;
num = Math.floor(Math.random()*totalFrames)+1;
gotoAndStop(num); // и переходим на него
Velocity = new Vector(); // создаем вектор
// вычислим наш радиус, основываясь на размере картинки
radius = Math.floor((width+height)/4);
}
// Вбросить объект рядом с указанной точкой x1:y1 и двигаться к x2:y2
public function drop(x1:Number,y1:Number, x2:Number,y2:Number):void
{
// координата вброса
x = x1 + (Math.random()-0.5)*DROP_RADIUS;
y = y1 + (Math.random()-0.5)*DROP_RADIUS;
// направление
Velocity.setMembers(x2-x, y2-y);
// скорость
var spd:Number = MIN_SPEED + (MAX_SPEED-MIN_SPEED)*Math.random();
// приведем длину вектора к выбранной скорости
Velocity.mulScalar( spd / Velocity.magnitude() );
}
// Переместиться
public function move():void
{
x += Velocity.x;
y += Velocity.y;
}
}
}
переделал....
Так будет правильно?