新しいシェイプを作成し、オブジェクトがシェイプに当たったときに関数を開始するリスナーを作成します。関数はシェイプのグラフィックをクリアし、リスナーを削除して子を削除します。しかし、私のオブジェクトがその場所に来ると、まだトリガーするゴーストが残っているようです。なぜそうなるのかはわかりません。しかし、どういうわけか、子供たちはまだ互いに積み重なり、最後に作成されたものが関数をトリガーします。理解できた場合は、ヒントを教えてください。そうでない場合は、作成されたシェイプを完全に削除する方法を一般的に教えてください。既存のものはカウントされませんでしたか?
少し詳しく。シェイプをヒットすると、それを削除し、同じことを行う別の関数を持つ同じ名前の新しいシェイプを作成する関数を開始する必要があります.削除されました。毎回新しいシェイプを作成すると、毎回クリーンアップするだけでなく、メモリが過負荷になる可能性があります。私は何かを忘れましたか?
fun0(){
var bob:Shape = new Shape();
addChild(bob);
bob...drawRect...
addEventListener(...,fun1)
function fun1(){ if(hitTest...){
bob...clear();
removeChild(bob);
removeEventListener(...,fun1)
fun2();
}
}
fun2(){
var bob:Shape = new Shape();
addChild(bob);
bob...drawRect...
addEventListener(...,fun3)
function fun1(){ if(hitTest...){
bob...clear();
removeChild(bob);
removeEventListener(...,fun3)
fun0();
}
}
など、リスナーを削除しても、一度トリガーした後はfun3しか表示されません。繰り返しますが、私はオブジェクトを遠ざけます。それはもはやテストにヒットせず、次にクリア+削除します。理解できない、または助けられない場合は、炎上しないでください。これを無視してください。助けが必要です。私があなたほど賢くないという情報ではありません。ありがとうございました。