当链接到相应的课程时,如何阻止我的Hero movieclip闪烁?

时间:2014-03-08 20:03:05

标签: actionscript-3

我是一名艺术家,而不是程序员。想我马上就把它扔出去了。

在我非常基本的游戏中,它最终演变成一个横向滚动的射击游戏,我试图创建一个鼠标事件,其中英雄(飞机)角色“粘住”鼠标/鼠标光标。然而,在运行时,Hero movieclip通过看似随机的位置闪烁和抵消。是的,它跟随鼠标,但它非常笨重。我希望答案很简单,我希望!

我有一个主要的FLA文件,它调用一个函数/类来启动游戏。然后将Hero对象(链接到Hero类)添加到舞台上并使用鼠标移动,或者它应该是。

第一个代码块(请原谅俗气的名字选择,那些会改变:))...

CaptainSteelHawk.as -

package  {
    import flash.display.*;

    public class CaptainSteelHawk extends MovieClip {
        private var hero:Hero;

        public function startCaptainSteelHawk() {
            hero = new Hero();
            addChild(hero);

        }
    }

}

第二块,Hero.as -

package  {
    import flash.display.*;
    import flash.events.*;

    public class Hero extends MovieClip {

        public function Hero() {

            addEventListener(Event.ENTER_FRAME,MoveHero);
        }
        public function MoveHero(e:Event) {
            this.x = mouseX;
            this.y = mouseY;
        }

    }

}

UDPATE! - 在这里找到我的答案...... FYI!我很难解释我的问题,因为我只能说出如此多的代码术语。但这是修复......

Making object follow the mouse issue

2 个答案:

答案 0 :(得分:0)

确保你的英雄只有1帧。或者有适当的stop();陈述。

答案 1 :(得分:0)

为防止闪烁,请更新您的Hero课程:

import flash.display.*;
import flash.events.*;

public class Hero extends MovieClip {

    public function Hero() {
       gotoAndStop(1);
       addEventListener(Event.ENTER_FRAME,MoveHero);
    }
    public function MoveHero(e:Event) {
        this.x = mouseX;
        this.y = mouseY;
    }

}