Привет всем, поэтому у меня есть функция под названием 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;
}
}
}
, как вы можете видеть в, если заявление после того, как рыба попадает на крючок, то его положение меняется, и рыба будет прикреплен к крючку и после него. Это именно то, что я хотел этого сделать.
Теперь у меня возникли проблемы с тем, когда одна из рыб прикреплена к крюку. Я больше не хочу рыбу, чтобы ее можно было нанести с помощью крюка. Поэтому в основном я хочу, чтобы hitTest останавливался, когда у него уже есть одна рыба, прикрепленная к нему.
Я не могу понять это, я думал, может быть, добавление логического или удаление eventListener, но когда я когда-либо добавляю removeEventlistener внутри функций, если оператор работает, но он не позволяет привязать рыбу к крюку. Таким образом, он подбирает рыбу, которую он ударил, но затем он просто перестает прикрепляться к ней и больше не следует за ней.
Любая идея о том, как это сделать, чтобы я мог забрать одну рыбу, а затем остановить все другие хиты с другими рыбами. Я хочу, чтобы это произошло, потому что я хочу, чтобы пользователь мог одновременно забирать только одну рыбу, а затем отбрасывать их в ведро, а затем высаживаться, чтобы вернуться назад и забрать другую рыбу.
Это идеальное решение.Это именно то, что я искал. Большое спасибо за то, что нашли время, чтобы помочь мне в этом! Если вы не возражаете, я спрашиваю, сколько времени вы кодируете в as3? – Nathan
Около семи лет, дайте или возьмите. Каким-то образом я все еще могу сделать это для жизни, хотя, к счастью, глупые войны Flash/HTML5, похоже, несколько уменьшились, так что это не так сумасшествие, как это звучало год назад. – MickMalone1983
Это потрясающе. Хотелось бы, чтобы я продолжал кодировать. Сколько вам лет? Был спор с Flash/HTML5 – Nathan