嘿大家所以我有一個函數checkPlayerHitFish();
控制hitTest時,fish
接觸到playerHook
。如何刪除HitTestObject一旦啓動
有多條魚被添加到舞臺上並由計時器控制。
這裏是該函數的代碼:
stage.addEventListener(Event.ENTER_FRAME, gameLoop);
private function gameLoop(e:Event):void
{
checkPlayerHitFish();
checkFishHitBucket();
checkMainFishOffScreen();
}
private function checkPlayerHitFish():void
{
//loop through all our fishes
for (var j:int = 0; j < aFishArray.length; j++)
{
//get current fish in j loop
var currentFish:mcMainFish = aFishArray[j];
//test if current fish is hitting current playerhook
if (currentFish.hitTestObject(playerHook))
{
trace("hit initialized");
currentFish.stopFish();
currentFish.x = playerHook.x;
currentFish.y = playerHook.y;
}
}
}
,你可以在if語句看一次魚打了勾,然後它的位置變化和魚,現在裝在鉤和它後面。這正是我想要它做的。
現在我遇到的麻煩是一旦有一條魚附着在鉤子上,我不想再讓魚在鉤子上進行測試。所以基本上我想讓hitTest停下來,一旦它已經附着了一條魚。
我似乎無法弄清楚這一點,我想也許增加一個布爾值或刪除eventListener,但是當我添加removeEventlistener函數內部if語句它的工作,但它阻止魚被掛鉤。所以它會捕獲它碰到的魚,但它只是停止附着在它上面,並且不再遵循它。
有關如何做到這一點的任何想法,所以我可以拿起一條魚,然後停止所有其他hitTest與其他魚發生。我希望發生這種情況,因爲我希望用戶能夠一次只拾取一條魚,然後將它們丟棄在一個桶中,然後一旦脫落就能夠返回並拾取另一條魚。
這是完美的。這正是我所期待的。非常感謝您花時間幫助我!如果你不介意我問你在as3中編碼多久了? – Nathan
大約七年,給予或承擔。不知何故,我仍然努力以此爲生,但幸運的是,愚蠢的Flash/HTML5戰爭似乎已經有所緩解,所以它並沒有像一年前那樣瘋狂。 – MickMalone1983
太棒了。希望我能跟上編碼。你現在幾歲?現在有一個關於Flash/HTML5 – Nathan