2016-04-29 9 views
0

Мне нужна помощь с чем-то с ActionScript для школы. Это простая игра в ловушку. Он продолжает говорить, что мой отображаемый объект должен быть вызывающим ребенком, каким он должен быть, и это работает, но я не уверен, как исправить проблему, когда мой объект кролика падает через мой точечный символ и дает мне ошибку, когда он сталкивается с символом точки, и когда он попадает на пол, когда он не пойман. Ребенок должен существовать, но я думаю, что это не так. Я не знаю, что делать. Прокомментированный материал был материалом, который я тестировал в другом файле, и передал его, чтобы посмотреть, что он будет делать.Ошибка # 2025: поставляемый DisplayObject должен быть дочерним элементом вызывающего абонента

//Block = Asuka 
//Ball = Bunny 
//Ballz = Bunz 
//Bunny is linked in library 
import flash.events.Event; 

var intervalBunny = setInterval(addBunny, 1000); 

var bunz: Array = []; 

function addBunny() { 
    var bunny: Bunny = new Bunny(); 
    bunny.x = Math.ceil(Math.random() * 500); 
    bunny.y = -50; 
    addChild(bunny); 
    bunz.push(bunny); 
    bunny.addEventListener(Event.ENTER_FRAME, dropBunny); 
} 

function dropBunny(e: Event) { 
    var b: Bunny = Bunny(e.target); 
    b.y += 10; 
    if (b.y > 400) { 
     eliminatebunz(b); 
    } 
} 

stage.addEventListener(Event.ENTER_FRAME, moveAsuka); 

function moveAsuka(e: Event) { 
    Asuka.x = mouseX; 
    for (var i: int = 0; i < bunz.length; i++) { 
     trace(i); 
     if (Asuka.hitTestObject(bunz[i])) { 
      eliminatebunz(bunz[i]); 
      //points 
     } 
    } 
} 

function eliminatebunz(p) { 

    p.removeEventListener(Event.ENTER_FRAME, dropBunny); 
    removeChild(p); 
} 

Вот код Любая помощь о том, как исправить это было бы весьма признателен, тем более, что я не являюсь большим кодером и я больше художника/иллюстратора

+0

Проблема будет в строке removeChild(). Как-то вы дважды снимаете зайчика. Похоже, что как-то ваш moveAsuka обнаруживает хит после dropBunny называет elimBunz. –

+0

Что бы я сделал, чтобы сделать это так, чтобы он этого не делал? У меня есть родитель. Removechild или что-то в конце? если вы хотите увидеть, что происходит, когда я играю в игру, у меня есть ссылка https://twitter.com/RyuGoomba/status/726095888402268160 –

ответ

0

Просто сделать это:

function eliminatebunz(p) 
{ 
    if(p) 
    { 
     p.removeEventListener(Event.ENTER_FRAME, dropBunny); 
     if(p.parent) 
     { 
      removeChild(p); 
     } 
    }   
} 
+0

О, мой бог, большое вам спасибо, единственное, что слегка прищурилось пункты, которые я добавил, но спасибо, что он работает так, как должен –

 Смежные вопросы

  • Нет связанных вопросов^_^