0
我正在Flash中的一個小遊戲,以獲得AS3的基礎知識。但是,我遇到了一些我似乎無法解決的問題。Flash錯誤2007,2025;越來越高的分數似乎崩潰遊戲
我有我的玩家'頭像',應該從屏幕右側出現小硬幣。這些硬幣移動到我的玩家角色可以拿起的左邊。我想將它們從屏幕上移開,並在角色拿起一枚硬幣時將分數提高10。
然而,似乎是一對夫婦的bug:當我拿起一枚硬幣,我得到這些錯誤:
TypeError: Error #2007: Parameter child must be non-null
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
我推硬幣到一個數組,然後對它們運行foreach循環使他們對他們的移動和調用hitTestObject():
for each(var muntje:Muntje in geldArray)
{
muntje.moveMuntje();
if(playerLola.hitTestObject(muntje))
{
removeChild(muntje);
gameScore.addToValue(10);
}
}
而且,當我拿起一枚硬幣,遊戲不完全崩潰;它似乎停了一下,拋出(垃圾郵件)一些錯誤信息,然後它將分數提高10,然後遊戲繼續。
編輯:我想我不能在這裏使用removeChild(),因爲'muntje'實際上不是一個孩子?我嘗試了諸如stage.removeChild(muntje)
之類的東西,但那也不起作用。我將如何去除舞臺上的硬幣?
任何幫助?提前致謝。
非常感謝。那樣做了。然而,我的分數超過10更新,因爲呃,hitTestObject似乎不止一次觸發addToValue()。有沒有辦法讓它觸發一次?也許用布爾值? – cabaret 2011-06-12 13:35:17
硬幣被收集後,你可能會從geldArray中移除,所以它不會再次觸發。 – alxx 2011-06-12 13:39:15
我該怎麼做?有拼接?我對AS3相當陌生,所以我不瞭解這些技巧。我會閱讀這個:)謝謝你的時間! – cabaret 2011-06-12 13:42:18