Erreur après hitTestObject et removeChild (CS3) - Flash/ActionScript - Programmation
Marsh Posté le 16-04-2008 à 19:46:10
Code :
|
Marsh Posté le 16-04-2008 à 22:51:38
Merci,
J'avais pensé à ça mais je pensais pas que ça provoquerait une erreur de tester l'existence d'une occurrence alors qu'elle n'est censée plus exister après un removeChild()...
Toutefois, j'ai testé avec la condition if(mc1!=null) ben... ça ne marche toujours Toujours la même erreur :
ArgumentError: Error #2025: Le DisplayObject indiqué doit être un enfant de l'appelant.
at flash.display::DisplayObjectContainer/removeChild()
at hitTestObject_fla::MainTimeline/boucle()
Qu'est-ce qui ne vas pas encore ?
EDIT: ça marche !
Après removeChild, il faut aussi définir la classe comme null
Code :
|
Marsh Posté le 17-04-2008 à 21:43:59
Autre possibilté mais cette fois-ci sans détruire l'occurrence de la classe (afin de pouvoir faire un autre addChild plus tard) :
Code :
|
Par contre j'ai un problème si je souhaite faire un removeChild() dans la timeline du clip (le clip disparait après 10 frames par exemple).
- Dans le 2e cas (exemple ci-dessus), pas de problème:
Code :
|
Mais dans le premier cas (pour détruire complètement l'occurrence de la mémoire), comment faire référence et affecter "null" à mc1 dans le script du clip lui-même ?
Marsh Posté le 15-04-2008 à 21:48:47
Bonjour,
Je débute en AS3 et j'ai d'emblée un problème que je n'avais pas en AS2. Dans l'exemple suivant, après que le clip mc2 soit entré en collision avec mc1, mc1 est supprimé. Le problème est que si je déplace mc2 là où se trouvait mc1, une erreur est généré : le script tente de supprimer encore mc1 alors qu'il n'existe plus. Je ne comprend pas pourquoi le hitTestObject continue d'être actif!?
Merci si quelqu'un a la solution...
Message édité par malicious le 15-04-2008 à 21:49:11