2012-03-16 79 views
0

我正在製作一個遊戲,你必須首先用角色拿起一把鑰匙,然後走到門口。當你打開門時,你應該去下一幀。沒有鑰匙,你不能通過門。你應該用hitTestObject拾取關鍵字,然後用hitTestObject去下一個幀。AS3用hitTestObject轉到下一幀

有人可以幫助我嗎?謝謝!

這是我的代碼:

var gotKey:Boolean = false;

if(Jack.hitTestObject (unlock)) 
{ 
    unlock.visible = false; 
    gotKey == true; 
    trace ("You got the key!") 
} 
if (Jack.hitTestObject (house)) 
{ 
    if (gotKey == true) 
    nextFrame(); 
    trace ("level achieved") 
} 
+0

ummm ...所以你的問題是什麼? – 2012-03-16 10:07:48

回答

0

您是否收到編譯錯誤,或者您是否在尋求邏輯幫助?因爲你得到的東西應該可以工作,但是你沒有在gotKey邏輯上檢查一堆花括號來檢查Jack hitTestObjects所在的地方。

if (Jack.hitTestObject (house)) 
{ 
    if (gotKey == true) 
    nextFrame(); 
    trace ("level achieved") 
} 

應該

if (Jack.hitTestObject (house)) 
{ 
    if (gotKey == true) { 
    nextFrame(); 
    trace ("level achieved") 
    } 
} 
1

我想你想分配變量gotKey爲真(=),而不是比較它與真(==)

if(Jack.hitTestObject (unlock)) 
{ 
    unlock.visible = false; 
    gotKey == true; 
    trace ("You got the key!") 
} 

應:

if(Jack.hitTestObject (unlock)) 
{ 
    unlock.visible = false; 
    gotKey = true; 
    trace ("You got the key!") 
} 
+0

謝謝!這真的很有用!但是會彈出一個錯誤:錯誤#1009:無法訪問空對象引用的屬性或方法。和antoher問題:現在你可以先去家裏,然後再拿到鑰匙。我怎麼能解決這個問題? – Feia 2012-03-16 10:36:38