2012年9月20日,格林威治標準時間7:27 PM + 8 ..即使代碼爲「continue」,仍然有相同的錯誤... ... 任何其他建議? :(TypeError:Error#2007
HELP以前的答案仍然心不是工作.. :(
praticing教程。 IM在我的代碼,當對象的git捕手這部分得到一個錯誤..
function moveObject(e:Event):void {
// cycle thru objects using a for loop
for (var i:int=objects.length-1; i>=0; i--) {
//move objects down based on speed
objects[i].y += speed;
objects[i].rotation += speed;
// if objects leaves the stage
if (objects[i].y > 400) {
// remove it from display list
removeChild(objects[i]);
// remove it from the array backwards
// remove it backwards removes all problems when looping through.
// forward would cause confusion if you removed 5 before 4.
objects.splice(i, 1);
}
if (objects[i].hitTestObject(player.arrowS.sackC)) {
if (objects[i].typestr == "good") {
score += 3;
} else {
score -= 5;
if (score <= 0) {
score = 0;
}
}
trace(score);
updateScore(score);
removeChild(objects[i]);
objects.splice(i, 1);
}
}
}
雖然遊戲仍然是工作的刺激性看到這一點。 這是錯誤
TypeError: Error #2007: Parameter hitTestObject must be non-null.
at flash.display::DisplayObject/flash.display:DisplayObject::_hitTest()
at flash.display::DisplayObject/hitTestObject()
at adventure_fla::MainTimeline/moveObject()
我想,錯誤是由於嘗試訪問對象已被刪除和拼接後。一旦你從舞臺上移除了物體,就打破循環。 – Moorthy
@Frankie Roy Sanqui Niver - 如果你仍然有問題,也許你應該展示更多的代碼。 – BadFeelingAboutThis
我想我的第一條評論是錯的。錯誤是'參數hitTestObject必須是非空的.'意味着你正在提供給'hitTestObject的顯示對象,即player.arrowS.sackC'有時會變成'null'。當輸入框正在聆聽時,您是將它移除還是移動到另一個框架或場景。請檢查 – Moorthy