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>.

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

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.