【问题标题】:AS3 - Event.ENTER_FRAME - error 1119AS3 - Event.ENTER_FRAME - 错误 1119
【发布时间】:2017-11-02 09:55:32
【问题描述】:

我正在尝试用 Adob​​e Animate 和 AS3 开发一个简单的游戏。

我有一个类 GameCore 我想在其中添加一个 ENTER_FRAME 事件侦听器。

package as3 {

import flash.display.Stage;
import flash.display.MovieClip;
import flash.events.*;
import as3.movieclips.RocketShip;


public class GameCore {

    var rocket:RocketShip;
    var stage:Stage;
    var timeline:MovieClip;
    var i:int;

    public function GameCore( stage:Stage ) {
        // constructor code
        this.rocket = new RocketShip();
        this.stage = stage;
        this.timeline = this.stage as MovieClip;
        this.i = 0;
        this.stage.addEventListener(Event.ENTER_FRAME, gameLoop);
    }

    public function goToMainScreen():void {
        this.timeline.goToAndStop("MainScreen");
    }

    public function goToGameScreen():void {
        this.timeline.goToAndStop("GameScreen");
    }

    public function startGameLoop():void {

    }

    public function gameLoop(event:Event){
        trace(this.i);
        this.i += 1;
    }

}

}

当我尝试像这样在时间轴框架上执行代码时:

  import as3.GameCore;
  var game:GameCore = new GameCore(stage);

它抛出一个错误说:

 Can´t access probably undefined property ENTER_FRAME referenced with static type Class

我以前也这样做过,但我已经有几年没碰过as3了,你能告诉我这里出了什么问题吗?

提前致谢,祝编程愉快!

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    好的,所以这可能是一个很长的镜头,但我认为您不必在其中设置(舞台)。您可以设置 game.x 和 game.y,以及其他一些变量,然后是 stage.addchild(game)。如果您想要该类型的多个对象,有时创建一个数组会很有帮助,但您还需要做一些其他的语义工作才能使其工作。

    我知道这是一篇旧帖子,但希望它对某人有所帮助。

    【讨论】:

      【解决方案2】:

      您可以通过以下方式扩展您的课程:

      public class GameCore extennds EventDispatcher 
      

      并使用此代码

      this.addEventListerner(Event.EnterFrame,gameloop)
      

      也许有用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-30
        • 1970-01-01
        • 1970-01-01
        • 2015-01-12
        • 2012-02-12
        • 2014-12-22
        • 2014-04-08
        • 1970-01-01
        相关资源
        最近更新 更多