

TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
#1
Posté 15 March 2012 - 15:16 PM
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
deux boutons sur la meme scene, l'un fonctionne et l'autre affiche message d'erreur je comprend pas.
code script du bouton qui affiche erreur
stop();
btn3.addEventListener(MouseEvent.CLICK,onClick3);
function onClick3(e:Event):void {
gotoAndPlay("etiquetes1","seq4");
}
code script du bouton qui fonctionne
stop();
btn_6.addEventListener(MouseEvent.CLICK,onClick4);
function onClick4(e:Event):void {
gotoAndPlay("etiquettes","seq1");
}
je comprend plus d'ou vient le probleme.
#2
Posté 15 March 2012 - 15:26 PM
une tartine de tutos
#3
Posté 15 March 2012 - 15:30 PM
Nataly, le 15 March 2012 - 15:26 PM, dit :
stop();
btn6.addEventListener(MouseEvent.CLICK,onClick4);
function onClick4(e:Event):void {
gotoAndPlay("etiquettes","seq4");
}
ça marche toujours pas je comprend pas ou est le probleme
#4
Posté 15 March 2012 - 16:08 PM
Malika123, le 15 March 2012 - 15:16 PM, dit :
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
je comprend plus d'ou vient le probleme.
Hello,
L’erreur que tu rencontres est très classique ! Tous les débutants passent par là et on en rencontre encore après même si on connait bien Flash.
C’est assez simple, à un moment, ton code fait référence à un élément qui n’existe pas ou plus. Il faut faire ‘des trace’ pour voir d’où ça vient.
Malika123, le 15 March 2012 - 15:30 PM, dit :
Dans un précédent post, je t’avais conseillé au vu de ton projet de ne pas éparpiller le code à différents endroits de la timeline. Tu as du code partout et ça rend le débuggage très compliqué.
Mais la meilleure chose serait à mon avis de réorganiser ton code (du code sur un seul calque et sur la première frame). Ton projet est bien organisé pour de l’animation mais pas pour du code.
Désolé, je peux pas t’aider plus en regardant ton exemple.
Je suis pas un super pro non plus. Je te donne juste un conseil basé sur mon expérience

#5
Posté 15 March 2012 - 16:09 PM
pas de probleme je vais te l'envoyer
#6
Posté 15 March 2012 - 16:13 PM
essaie de voir le code sur la premiere sequence et rend moi la reponse.c'est a partir de la premiere sequence que je veux aller sur la seq4
[Edit Nataly]
Malika, soit gentille de n'utiliser le bouton 'citer' que si c'est utile, reproduire l'ensemble des messages immédiatement au dessus ne fait que gaver la conversation.
… et… les impératifs… perso je trouve ça moyen, Vynil n'est pas à tes ordres, j'imagine que ce n'est que maladresse dans le feu de l'action… mais bon, l'un plus l'autre

Fichier(s) joint(s)
#7
Posté 15 March 2012 - 16:53 PM
pas évident de s'y retrouver dans toutes les séquences mais l'erreur vient de Event....
btn6.addEventListener(MouseEvent.CLICK,onClick4);
function onClick4(e:MouseEvent):void {
gotoAndPlay("etiquettes","seq4");
}
ce n'est pas Event qu'il faut mettre dans la méthode mais MouseEvent
#8
Posté 18 March 2012 - 08:53 AM
#9
Posté 18 September 2014 - 20:24 PM
Voici l'erreur que Flash m'indique :
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at TP1_flash_fla::MainTimeline/frame1()
et voici le code des actions de ma première frame :
stop() ;
// Redéfinition du format
var monFormat:TextFormat= new TextFormat();
monFormat.size= 12;
monFormat.font= "Verdana";
monFormat.color= 0x343400;
//Champ de texte T4 d'entrée du nombre d'allumettes
var T4:TextField= new TextField();
T4.defaultTextFormat= monFormat;
T4.type= "input";
T4.text= " Entrez le nombre d'allumettes à jouer ici :";
// Couleur de la bordure
T4.borderColor= 0x343400;
T4.border= true;
// Coordonnées du champ de texte
T4.x= 85;
T4.y= 100;
// Taille du champ de texte
T4.width= 350;
T4.height= 20;
// Ajout de T4 comme enfant
fond.addChild(T4);
//////////////////////////////////////
//Champ de texte T5
var T5:TextField= new TextField();
T5.defaultTextFormat= monFormat;
T5.text= "Amusez vous bien !";
// Pas de bordure
T5.border= false;
// Coordonnées du champ de texte
T5.x= 85;
T5.y= 130;
// Taille du champde texte
T5.width= 350;
T5.height= 20;
// Ajout de T2 comme enfant
fond.addChild(T5);
var nbAllumettes:uint;// Déclarez un callback qui va permettre de remettre à vide le champ T4
function resetT4(evt:FocusEvent):void {
T4.text= "";
}
// Puis, associez ce callback à l’événement de focus de l’utilisateur sur T4
T4.addEventListener(FocusEvent.FOCUS_IN, resetT4);nbAllumettes=uint(T1.text);
// Il teste la validité du nombre rentré dans T4.
function commencerJeu():void {
var tmp:Number= Number(T4.text);
if (isNaN(tmp) || tmp <= 1) {
T5.text= "Erreur : vous devez un nombre supérieur à 1 !";
}
else {
nbAllumettes= Number(T4.text);
gotoAndStop("frameJeu");
}
}// Associez-le au bouton boutonOk, lors de l’événement de clic.
fond.boutonOK.addEventListener(MouseEvent.CLICK , commencerJeu);
#10
Posté 18 September 2014 - 22:07 PM
Citation
Cela veut dire qu'un des objets auquel tu fait référence n'existe pas ou qu'une de ses propriétés à laquelle tu fait référence n'existe pas.
Difficile de t'en dire plus avec le bout de code que tu poste.
Utilise le déboggueur de Flash, pour celà compile ton projet en appuyant sur : CTRL + SHIFT + ENTER
Le déboggueur s'arrêtera sur la ligne qui pose problème (il te montrera une petite fléche).
A partir de là tu saura quel est l'objet qui pose problème, soit tu viens nous en dire plus, soit tu vérifie que l'objet est bien créé avant d'y faire appel.
Bon courage.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
Jeux perso >> Mes jeux
#11
Posté 19 September 2014 - 06:39 AM
J'avoue que je ne m'attendais pas à une réponse aussi rapide ! Merci beaucoup !
J'ai essayé de trifouiller après avoir trouvé l'erreur mais je préfère revenir vers des personnes qui s'y connaissent plutôt que de prendre le risque que tout casser...
Voilà la ligne que ça m'a indiqué :
nbAllumettes=uint(T1.text);
#12
Posté 19 September 2014 - 10:21 AM
Il semble que la variable T1 n'est créée nulle part.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
Jeux perso >> Mes jeux
#13
Posté 19 September 2014 - 10:27 AM
En fait T1 correspondait à ma deuxième frame, j'ai oublié de le changer en T5 après avoir fait le copier-coller vers la première frame !
J'ai retravaillé le tout avec un collègue et le jeu fonctionne à merveille, merci beaucoup pour les conseils et la rapidité de réponse

1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)