Forums Développement Multimédia

Aller au contenu

Erreur #2007: Parameter hitTestObject must be non-null.

CODE AS3

1 réponse à ce sujet

#1 romdo

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 25 October 2017 - 21:53 PM

Bonjour à tous.
Je suis en train de convertir une animation ("logiciel") de SVT que j'avais fait en AS2 (http://svt.ac-besanc...ation-sanguine/) en AS3 pour qu'il puisse être publié sous androïde.

Je bloque sur un problème de hitTestOject.

"sommet1Bleu1.addEventListener(TouchEvent.TOUCH_BEGIN, sommet1Bleu1Begin);

function sommet1Bleu1Begin(event:TouchEvent) {
stage.addEventListener(TouchEvent.TOUCH_MOVE, sommet1Bleu1Move);
stage.addEventListener(TouchEvent.TOUCH_END, sommet1Bleu1End);
}

function sommet1Bleu1Move(event:TouchEvent) {
sommet1Bleu1.x = event.stageX - CoubreBleu1_mc.x;
sommet1Bleu1.y = event.stageY - CoubreBleu1_mc.y;
tracerLaCourbe1B ()
}

function sommet1Bleu1End(event:TouchEvent) {
if (sommet1Bleu1.hitTestObject(connecteur1)){
sommet1Bleu1.x = connecteur1.x - CoubreBleu1_mc.x;
sommet1Bleu1.y = connecteur1.y - CoubreBleu1_mc.y;
}
..
"
Qand je suis sur la scène et que je déplace les sommets tout se passe correctement, les hitTest sont détectés et les les connecteur s'allignent avec les sommets.
Mais quand j'appuie sur le bouton de retour3_bt à la page de menus :
"
retour3_bt.addEventListener(TouchEvent.TOUCH_BEGIN, Retour3);
function Retour3 (event:TouchEvent) {
removeChild(CoubreBleu1_mc)
removeChild(CoubreBleu2_mc)
removeChild(CoubreBleu3_mc)
removeChild(CoubreBleu4_mc)
removeChild(CoubreRouge1_mc)
removeChild(CoubreRouge2_mc)
removeChild(CoubreRouge3_mc)
removeChild(CoubreRouge4_mc)
gotoAndStop(2, "Depart");
}
"
Le code erreur apparaît.
J'en déduit qu'il ne trouve plus le hitTest, mais c'est normal, puisque je suis sur une autre page.
Je ne vois pas comment faire!
Merci par avance
Cordailement
RomDo

#2 pol2095

  • Members
  • PipPipPipPipPipPipPipPip
  • 1682 messages

Posté 26 October 2017 - 15:56 PM

plusieurs solutions :

une des solutions est d'intercepter l'erreur

function sommet1Bleu1End(event:TouchEvent) {
try {
  if (sommet1Bleu1.hitTestObject(connecteur1)){
    sommet1Bleu1.x = connecteur1.x - CoubreBleu1_mc.x;
    sommet1Bleu1.y = connecteur1.y - CoubreBleu1_mc.y;
  }
}
catch(e:Error) {}
finally {
...
}
 




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP