Пробовал перевести пример с AS на haXe. Не могу разобраться.
Не работает rotationY или я что то делаю не так.
Код as :
package {
import flash.display.*;
import flash.events.*;
public class Main extends Sprite {
public function Main() {
addEventListener('addedToStage', function(e:Event){
stage.scaleMode = 'noScale';
stage.align = 'TL';
stage.frameRate = 30;
});
x = y = 200;
var a:Array = [];
for (var i:uint = 0; i < 30; i++) {
var s:Shape = new Shape;
s.graphics.clear();
s.graphics.beginFill(i * 0x90000 + i * 0x10, .07);
s.graphics.drawRoundRect(10+i, 10+i, 120, 120, 30);
s.graphics.endFill();
addChild(s);
a.push(s);
}
addEventListener('enterFrame', function(e:Event){
var i:uint;
for each(s in a) s.rotation += i++/3;
rotation += .6;
rotationY += .4;
});
}
}
}
Код haXe:
import flash.display.Sprite;
import flash.display.Shape;
import flash.display.DisplayObject;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
class Main extends Sprite {
static public function main() {
var root = flash.Lib.current;
root.addEventListener('addedToStage', function(e:Event){
root.stage.scaleMode = NO_SCALE;
root.stage.align = TOP_LEFT;
root.stage.frameRate = 30;
});
root.x = root.y = 200;
var a:Array<Shape> = [];
var i;
for (i in 0...30) {
var s:Shape = new Shape();
s.graphics.clear();
s.graphics.beginFill(i * 0x90000 + i * 0x10, .07);
s.graphics.drawRoundRect(10+i, 10+i, 120, 120, 30);
s.graphics.endFill();
root.addChild(s);
a.push(s);
}
root.addEventListener('enterFrame', function(e:Event){
var i:Int=0;
for(s in a) s.rotation += i++/3;
root.rotation +=0.6;
root.rotationY +=0.4; /* не работает */
});
}
}