AS3 erreur 1009 [Fermé]

rom_11 13 Messages postés vendredi 18 avril 2008Date d'inscription 23 juin 2010 Dernière intervention - 11 janv. 2010 à 02:57 - Dernière réponse :  Utilisateur anonyme
- 12 janv. 2010 à 14:02
Bonjour,

J'ai un gros problème avec une erreur 1009 que je n'arrive pas à résoudre.
Je pense que ça doit venir de mon tableau.
Est-ce que quelqu'un qui saurait comment faire pourrait m'éclairer?

Voici ce que Flash affiche:

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 proj2_fla::MainTimeline/declencheMouv1()

Et voici le code:

import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import fl.transitions.Tween;
import fl.transitions.easing.Strong;

//var rX = 0;
//var rY = 0;
var h:uint=Math.random()*5;
//trace(h);
var words:Array=["life","magic","instinct","answer","creation","wondering","why","sushi","advertising","never"];
var words1:Array=["dgfdr","dfrgdrsf","dfvgfd","dfgdf","dffddfg","zerezr","wondering","why","sushi","police","advertising","never","serendipity"];
var words2:Array=["46832","97152","dfvgfd","dfgdf","dffddfg","zerezr","wondering","97655445","sushi","police","advertising","never","serendipity"];
var words3:Array=["46832","97152","dfvgfd","dfgdf","dffddfg","zerezr","wondering","97655445","sushi","police","advertising","never","serendipity"];
var words4:Array=["46832","97152","dfvgfd","dfgdf","dffddfg","zerezr","wondering","97655445","sushi","police","advertising","never","serendipity"];
var words5:Array=["46832","97152","dfvgfd","dfgdf","dffddfg","zerezr","wondering","97655445","sushi","police","advertising","never","serendipity"];
var words6:Array=["1","2","3","4","5","6","wondering","97655445","sushi","police","advertising","never","serendipity"];
var words7:Array=["46832","97152","dfvgfd","dfgdf","dffddfg","zerezr","wondering","97655445","sushi","police","advertising","never","serendipity"];
var words8:Array=["46832","97152","dfvgfd","dfgdf","dffddfg","zerezr","wondering","97655445","sushi","police","advertising","never","serendipity"];
var words9:Array=["46832","97152","dfvgfd","dfgdf","dffddfg","zerezr","wondering","97655445","sushi","police","advertising","never","serendipity"];

var texts:Array=[];

var couleur:ColorTransform = stage.transform.colorTransform;

var tab1 = new Array("Rosewood Std Regular","Contantia","Palace Script MT","ElHombre","Tunga","Tahoma");
var police="Arial"; 


//var tab = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
//
//var couleur="0x";
//
//for(var j=0;j<6;j++){
//
//      couleur+=tab[Math.floor(Math.random()*16)]; 
//} 

trace(couleur);

function choixPolice (e:MouseEvent){

for(var k=0;k<6;k++){

      police=tab1[Math.floor(Math.random()*6)]; 
}
}

trace(police); 
//----------------------------------------0----------------------------------------------------------

for (var i:uint = 0; i<words.length; i++) {
	var rX:Number=Math.random()*stage.stageWidth;
	var rY:Number=Math.random()*stage.stageHeight;

	texts[i]=createText(15+Math.round(Math.random()*10),words[i]);
	addChild(texts[i]);
 
	texts[i].x=Math.random()*stage.stageWidth;
	texts[i].y=Math.random()*stage.stageHeight;

	doTween(texts[i], Math.random()*5, rX, rY);

	couleur.color = Math.random() * 0xFFFFFF;							// couleur appliquée au hasard
	texts[i].transform.colorTransform = couleur;
	trace (rX);
	trace (rY);
	trace(texts[i]);
}

function createText(fontSize:uint, str:String):TextField {
	var tf:TextField = new TextField();
	tf.autoSize=TextFieldAutoSize.LEFT;
	tf.selectable=false;
 
	var tFormat:TextFormat=new TextFormat("Arial",fontSize);

	tFormat.bold=true;
	tFormat.font=police;
	tf.defaultTextFormat=tFormat;
	tf.text=str;
	return tf;
}

function doTween(target:TextField, duration:Number, xPos:uint, yPos:uint):void {

	new Tween(target,"x",Strong.easeInOut,target.x,xPos,duration,true);
	new Tween(target,"y",Strong.easeInOut,target.y,yPos,duration,true);
	new Tween(target,"alpha",Strong.easeOut,0,1,3,false);                     //gère la transparence de 0 à 1 sur 3s
	//new Tween(target,"rotation",Strong.easeOut,0,90,3,false);
	trace (target.y);
	trace (yPos);

}

function doTween2(target:TextField, duration:Number, xPos:uint, yPos:uint):void {

	new Tween(target,"x",Strong.easeInOut,target.x,xPos,duration,true);
	new Tween(target,"y",Strong.easeInOut,target.y,yPos,duration,true);
	new Tween(target,"alpha",Strong.easeOut,0,1,3,false);                     //gère la transparence de 0 à 1 sur 3s
	//new Tween(target,"rotation",Strong.easeOut,0,90,3,false);
	trace (target.y);
	trace (yPos);

}

//----------------------------------------1----------------------------------------------------------

texts[1].addEventListener (MouseEvent.CLICK, declencheMouv1);
texts[1].addEventListener (MouseEvent.CLICK, choixPolice);

function declencheMouv1 (e:MouseEvent){
	
	
for (var l:uint = 0; l<words3.length; l++) {
	//texts[1].removeEventListener(declencheMouv1, choixPolice);
	removeChild(texts[l]);                               //efface l'ecran d'avant

	var texts:Array=[];

	var rX:Number=Math.random()*stage.stageWidth;
	var rY:Number=Math.random()*stage.stageHeight;
 
	texts[l]=createText(15+Math.round(Math.random()*10),words3[l]);

	texts[l].x=Math.random()*stage.stageWidth;
	texts[l].y=Math.random()*stage.stageHeight;

	doTween(texts[l], Math.random()*5, rX, rY);
	
	couleur.color = Math.random() * 0xFFFFFF;							// couleur appliquée au hasard
	texts[l].transform.colorTransform = couleur;
 	addChild(texts[l]);
	//trace(texts);
}
}

Merci d'avance à celui qui saura!!

Romain
Afficher la suite 
13Messages postés vendredi 18 avril 2008Date d'inscription 23 juin 2010 Dernière intervention

10 réponses

Utilisateur anonyme - 11 janv. 2010 à 08:28
+2
Utile
je m'appretais à regarder ton pb je m'aperçois que je n'ai pas les classes fl/transitions
si tu me fais un zip de ce répertoire je verrais si je peux aller + loin je bosse avec as3compile
je suis en plein travail sur les classes fl qui sont à remanier pour adaptation à ce compilo
Cette réponse vous a-t-elle aidé ?  
rom_11 13 Messages postés vendredi 18 avril 2008Date d'inscription 23 juin 2010 Dernière intervention - 11 janv. 2010 à 09:37
+1
Utile
Salut jmg78,

Ne sachant pas comment créer un lien directement sur Comment ça marche, je t'ai mis le zip à cette adresse:

http://dl.free.fr/ofVFOCVhQ

J'espère que ça t'aidera à m'aider...
rom_11 13 Messages postés vendredi 18 avril 2008Date d'inscription 23 juin 2010 Dernière intervention - 11 janv. 2010 à 09:49
+1
Utile
Petite précision au début l'anim s'exécute parfaitement c'est lors du clic sur MAGIC (2ème valeur du tableau words) qu'il y a l'erreur:

texts[1].addEventListener (MouseEvent.CLICK, declencheMouv1);

Utilisateur anonyme - 11 janv. 2010 à 11:49
+1
Utile
merci pour le zip sois patient :)
Utilisateur anonyme - 11 janv. 2010 à 12:56
+1
Utile
ça compile c'est déja ça http://jmg78.hd.free.fr/romain.swf
swf > as pour le source
rom_11 13 Messages postés vendredi 18 avril 2008Date d'inscription 23 juin 2010 Dernière intervention - 11 janv. 2010 à 20:52
0
Utile
Merci mais tu pourrais mettre le code direct sur le forum stp: j'arrive pas à décompiler!!
Utilisateur anonyme - 12 janv. 2010 à 09:00
0
Utile
mais je t ai dit tu changes .swf par .as
Utilisateur anonyme - 12 janv. 2010 à 09:02
0
Utile
cliques sur la petite enveloppe en haut message privé
rom_11 13 Messages postés vendredi 18 avril 2008Date d'inscription 23 juin 2010 Dernière intervention - 12 janv. 2010 à 12:15
0
Utile
Ok je n'avais pas compris que la flèche voulais dire ça (j'ai cru qu'il fallait utiliser un décompileur).
J'ai réussi à avoir le code je vais regarder tout ça.

Merci bien!
Utilisateur anonyme - 12 janv. 2010 à 14:02
0
Utile
et la chtite enveloppe