Universe
06.04.2011, 15:15
Помогите перевести строку из AS2 в AS3!
Вот код
var numOfBalls:Number = 10;
var radiusX:Number = 250;
var radiusY:Number = 75;
var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
var speed:Number = 0.05;
var ball_mc:Ball;
var ballsCont:Sprite = new Sprite();
var ballsCont2:Sprite = new Sprite();
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
function onMove(e:MouseEvent):void
{
speed = (this.mouseX-centerX)/7500;
}
for(var i:uint=0;i<numOfBalls;i++)
{
ball_mc = new Ball();
ballsCont2.addChild(ball_mc);
ball_mc.angle = i * ((Math.PI*2)/numOfBalls);
ball_mc.addEventListener(Event.ENTER_FRAME, mover);
}
addChild(ballsCont);
ballsCont.addChild(ballsCont2);
ballsCont2.x -= ballsCont2.width;
ballsCont2.y -= ballsCont2.height;
ballsCont.rotation = 35;
function mover(e:Event):void
{
e.target.x = Math.cos(e.target.angle) * radiusX + centerX;
e.target.y = Math.sin(e.target.angle) * radiusY + centerY;
var scale = e.target.y /(centerY+radiusY);
e.target.scaleX = e.target.scaleY = scale;
e.target.angle += speed;
//this.swapDepths(Math.round(this.scaleX) + 100);
}
Не могу понять как изменить закоментированную строку, в которой происходит смена глубины объектов. Насколько я знаю в As3 нельзя назначить произвольный уровень глубины. Что делать?
Вот код
var numOfBalls:Number = 10;
var radiusX:Number = 250;
var radiusY:Number = 75;
var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
var speed:Number = 0.05;
var ball_mc:Ball;
var ballsCont:Sprite = new Sprite();
var ballsCont2:Sprite = new Sprite();
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
function onMove(e:MouseEvent):void
{
speed = (this.mouseX-centerX)/7500;
}
for(var i:uint=0;i<numOfBalls;i++)
{
ball_mc = new Ball();
ballsCont2.addChild(ball_mc);
ball_mc.angle = i * ((Math.PI*2)/numOfBalls);
ball_mc.addEventListener(Event.ENTER_FRAME, mover);
}
addChild(ballsCont);
ballsCont.addChild(ballsCont2);
ballsCont2.x -= ballsCont2.width;
ballsCont2.y -= ballsCont2.height;
ballsCont.rotation = 35;
function mover(e:Event):void
{
e.target.x = Math.cos(e.target.angle) * radiusX + centerX;
e.target.y = Math.sin(e.target.angle) * radiusY + centerY;
var scale = e.target.y /(centerY+radiusY);
e.target.scaleX = e.target.scaleY = scale;
e.target.angle += speed;
//this.swapDepths(Math.round(this.scaleX) + 100);
}
Не могу понять как изменить закоментированную строку, в которой происходит смена глубины объектов. Насколько я знаю в As3 нельзя назначить произвольный уровень глубины. Что делать?