我正在制作一个 flash/actionscript 射击游戏,这是我为子弹创建的一个类。
class Class.Bullet {
public static var self:MovieClip;
private static var interval;
public function Bullet(X, Y) {
self = _root.createEmptyMovieClip('self', _root.getNextHighestDepth());
self._x = X;
self._y = Y;
self.beginFill(0xFFFFFF);
self.moveTo(-2, 0);
self.lineTo(2, 0);
self.lineTo(2, 10);
self.lineTo(-2, 10);
self.lineTo(-2, 0);
self.endFill();
interval = setInterval(move, 1);
}
private function move() {
self._x++;
}
}
它工作正常,除了出于某种原因,超出我的理解,每次创建一个新项目符号“setInterval”除了新的 setInterval 之外,都会传递给下一个项目符号。
换句话说,当我发射第二颗子弹时,第一颗子弹停止移动,第二颗子弹以两倍的速度移动。
干杯!!
PS:我用的是as2