【发布时间】:2014-01-27 19:26:25
【问题描述】:
我需要建议,请。我正在做一个项目——一个简单的游戏。它将类似于“太空入侵者”。我只需要迎合船不能离开的区域(舞台)。功能,被称为“RMimoXY”不起作用。有人可以检查一下我在程序中缺少什么吗?
提前感谢您的建议。
import flash.events.KeyboardEvent;
import flash.display.Sprite;
import flash.display.DisplayObject;
import flash.media.Sound;
import flash.display.Stage;
var let: Boolean = false;
var pozadi: Stage;
var vx:Number = 0;
var vy:Number = 0;
function mezernik(){
var mySound: Sound = new laserFire();
mySound.play();
RMimoXY();
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, klavesnice);
function klavesnice(e: KeyboardEvent){
switch(e.keyCode){
case Keyboard.LEFT: lod.x += -5; break;
case Keyboard.RIGHT: lod.x += 5; break;
case Keyboard.UP: lod.y += -5; break;
case Keyboard.DOWN: lod.y += 5; break;
case Keyboard.SPACE: mezernik(); break;
}
}
function RMimoXY(){
if (lod.x > stage.stageWidth ){
lod.x = 0 - lod.width;
}
else if (lod.x < 0 - lod.width ){
lod.x = stage.stageWidth;
}
if (lod.y > stage.stageHeight ){
lod.y = 0 - lod.height;
}
else if (lod.y < 0 - lod.height ){
lod.y = stage.stageHeight;
}
}
【问题讨论】:
-
尝试在每一帧上运行这个方法,比如:
stage.addEventListener(Event.ENTER_FRAME, RMimoXY);,并改变它的定义,比如function RMimoXY(e:Event):void -
感谢您的回答,但不要使用它。
标签: actionscript-3 flash stage