AS3->haXe проблема с - " rototionY "

Пробовал перевести пример с 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; /* не работает */
                });
        }
}  

Скорее всего, вы используете 9 fp

Скорее всего, в качестве целевой платформы у вас стоит -swf-version 10, или вообще ничего не стоит, поэтому и компилится под 9 плейер.
3D-фичи появились в 10 флеше.
Попробуйте в hxml-файле прописать:

-swf9 test.swf
-swf-version 10
-main Main

Если же пользуете flashdevelop, то в настройках проекта выставите Target: FlashPlayer 10

А так, код вполне рабочий, но некрасивый :(

Хотя сам эффект довольно красивый ;)

Спасибо...

Спасибо... Действительно проблема была в указанной версии.

Некрасивый as или haXe ? :)

AS3. Просто не

AS3.
Просто не люблю анонимные функции, нестрогую типизацию, а также пренебрежение константами классов

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Use [gist:####] where #### is your gist number to embed the gist.

Подробнее о форматировании

CAPTCHA
Для отсева спамеров)
X
N
i
z
H
p
Enter the code without spaces and pay attention to upper/lower case.