0
我在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()
一切似乎工作正常否則,但此錯誤不斷顯示。
null對象是'nazaj'或'gozd',請檢查它。 – 2015-03-19 10:15:39