首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MovieClip的Adobe Animate ActionScript 3错误1009

MovieClip的Adobe Animate ActionScript 3错误1009
EN

Stack Overflow用户
提问于 2017-06-28 21:24:06
回答 1查看 30关注 0票数 0

我正在编写代码,让敌人检测与玩家的冲突。在我的Enemy类中,我有:导入flash.display.MovieClip;导入flash.events.Event;

代码语言:javascript
复制
public class Enemy extends MovieClip {
    var Player: MovieClip;
    public function Enemy() {
        this.addEventListener(Event.ENTER_FRAME, EnemyUpdate);

    }
    function setPlayer(_Player: MovieClip) {
        Player = _Player;
    }
    function EnemyUpdate(_event: Event) {
        var enemyHit: Boolean = this.hitTestObject(Player.Character.Legs);
        if (enemyHit) {
            trace("OUCH!!");
        }
    }

}

在我的主类中,我尝试使用以下代码将播放器MovieClip发送到Enemy Class脚本:

代码语言:javascript
复制
    public function Main() {
        enemy.setPlayer(player);
    }

MovieClip敌人有敌人脚本附加在它上面。当我运行程序时,播放器变量为空。如何让播放器识别播放器MovieClip?

EN

回答 1

Stack Overflow用户

发布于 2017-06-29 00:30:34

这是因为你在Enemy被实例化之后设置了你的播放器。在Enemy构造函数中,你有EnterFrame listener。要修复该错误,请按如下所示更改代码:

代码语言:javascript
复制
public function Enemy() {
    // empty constructor, you can remove it if there is no other logic in it

}
function setPlayer(_Player: MovieClip) {
    Player = _Player;
    // the Player variable is not null anymore. 
    this.addEventListener(Event.ENTER_FRAME, EnemyUpdate);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44803792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档