【问题标题】:Can't click on a class in flash, can't add click EventListener in class .as file :C无法单击 Flash 中的类,无法在类 .as 文件中添加单击 EventListener:C
【发布时间】:2014-11-13 00:40:10
【问题描述】:

好吧,所以我整天都在努力让一个敌人出现在我的 Flash 游戏中,一个在点击一定次数后会消失的敌人,但是我了解到我无法在主文件中点击 EnemyShip,所以我必须将点击监听器添加到 .as 包文件中。当我尝试执行此操作时,我收到错误 5006:Actionscript 文件不能有多个外部可见定义:clickCount, EnemyShip。

研究表明这是某种花括号格式错误,但老实说,我不知道该怎么做。 :c 请帮忙!请用简单的话,我是 Actionscript 3 的菜鸟 ;0;

package{

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent
var clickCount:int = 0;
public class EnemyShip extends MovieClip{


    public function EnemyShip(){

        this.x = 900;
        this.y = 214;

        addEventListener("enterFrame", enterFrame);
        addEventListener(MouseEvent.CLICK, addClick);

    }

function addClick(event:MouseEvent):void {
  clickCount++;
  trace ("clickage");
}
    function enterFrame(e:Event):void{


        if(this.x < -100){
            removeEventListener("enterFrame", enterFrame);
            stage.removeChild(this);
        }

    }

}

}

【问题讨论】:

    标签: actionscript-3 flash flash-cs6


    【解决方案1】:

    您的问题可能是这一行:

    var clickCount:int = 0;
    

    它不包含在您的类中,并且与导入一起使用。所有代码都需要包装在类声明中。

    如果您移动该行使其在您的班级内,错误应该会消失。

    package{
    
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent
    
    public class EnemyShip extends MovieClip {
        private var clickCount:int = 0;
    
    ....rest of code
    

    【讨论】:

      【解决方案2】:

      没关系,我知道发生了什么。热门剪辑不在主舞台上,它包含在一个电影剪辑中。我将动作脚本和命中剪辑移到主舞台上并收到了跟踪。

      【讨论】:

        猜你喜欢
        • 2018-02-05
        • 1970-01-01
        • 2017-06-16
        • 2018-01-02
        • 2013-10-25
        • 1970-01-01
        • 1970-01-01
        • 2016-06-26
        • 1970-01-01
        相关资源
        最近更新 更多