我是一名艺术家,而不是程序员。想我马上就把它扔出去了。
在我非常基本的游戏中,它最终演变成一个横向滚动的射击游戏,我试图创建一个鼠标事件,其中英雄(飞机)角色“粘住”鼠标/鼠标光标。然而,在运行时,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!我很难解释我的问题,因为我只能说出如此多的代码术语。但这是修复......
答案 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;
}
}