Labyrinth/maze 游戏
Labyrinth/maze game
我正在 Flash AS3 中创建一个非常简单的游戏,包括迷宫。这是代码:
import flash.ui.Keyboard;
import flash.events.Event;
import flash.events.KeyboardEvent;
oseba.addEventListener(Event.ENTER_FRAME, premik);
oseba.addEventListener( Event.ENTER_FRAME, handleCollision)
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
var keys:Array = [];
function keyDownHandler(e:KeyboardEvent):void{
keys[e.keyCode] = true;
}
function keyUpHandler(e:KeyboardEvent):void{
keys[e.keyCode] = false;
}
function premik(e:Event):void{
if (keys[Keyboard.RIGHT]) {
oseba.x += 5;
}
if (keys[Keyboard.LEFT]) {
oseba.x -= 5;
}
if (keys[Keyboard.UP]) {
oseba.y -= 5;
}
if (keys[Keyboard.DOWN]) {
oseba.y += 5;
}
}
function handleCollision(e:Event ):void{
if(oseba.hitTestObject(nazaj)){
gotoAndPlay(2,"igra");
}
if(oseba.hitTestObject(gozd)){
gotoAndPlay(2);
}
我想添加碰撞检测,这将禁止我的“oseba
”在未标记的地形上行走。下面我创建了一个不可见的 MC ''potke
''。我认为最好的方法是计算“oseba
”的下一个位置,如果它在“potke
”上,那么“oseba
”就不能移动到那里.我正在寻找合适的代码示例,因为我已经尝试了几种不同的方法,但似乎都不起作用。
我还收到以下错误:
TypeError:错误 #1009:无法访问 属性 或空对象引用的方法。
在 XYgame_fla::MainTimeline/handleCollision()
否则一切似乎都正常,但此错误不断出现。
我会尝试使用 nazaj.hitTestPoint(oseba.x, oseba,y, true) 并将 EventListener 放到舞台上以修复错误。
我正在 Flash AS3 中创建一个非常简单的游戏,包括迷宫。这是代码:
import flash.ui.Keyboard;
import flash.events.Event;
import flash.events.KeyboardEvent;
oseba.addEventListener(Event.ENTER_FRAME, premik);
oseba.addEventListener( Event.ENTER_FRAME, handleCollision)
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
var keys:Array = [];
function keyDownHandler(e:KeyboardEvent):void{
keys[e.keyCode] = true;
}
function keyUpHandler(e:KeyboardEvent):void{
keys[e.keyCode] = false;
}
function premik(e:Event):void{
if (keys[Keyboard.RIGHT]) {
oseba.x += 5;
}
if (keys[Keyboard.LEFT]) {
oseba.x -= 5;
}
if (keys[Keyboard.UP]) {
oseba.y -= 5;
}
if (keys[Keyboard.DOWN]) {
oseba.y += 5;
}
}
function handleCollision(e:Event ):void{
if(oseba.hitTestObject(nazaj)){
gotoAndPlay(2,"igra");
}
if(oseba.hitTestObject(gozd)){
gotoAndPlay(2);
}
我想添加碰撞检测,这将禁止我的“oseba
”在未标记的地形上行走。下面我创建了一个不可见的 MC ''potke
''。我认为最好的方法是计算“oseba
”的下一个位置,如果它在“potke
”上,那么“oseba
”就不能移动到那里.我正在寻找合适的代码示例,因为我已经尝试了几种不同的方法,但似乎都不起作用。
我还收到以下错误: TypeError:错误 #1009:无法访问 属性 或空对象引用的方法。 在 XYgame_fla::MainTimeline/handleCollision()
否则一切似乎都正常,但此错误不断出现。
我会尝试使用 nazaj.hitTestPoint(oseba.x, oseba,y, true) 并将 EventListener 放到舞台上以修复错误。