CommentCaMarche
Recherche
Posez votre question Signaler

AS3 erreur 1009

rom_11 13Messages postés vendredi 18 avril 2008Date d'inscription 23 juin 2010Dernière intervention - Dernière réponse le 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
Lire la suite 
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
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...
Ajouter un commentaire
Réponse
+1
moins plus
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);

Ajouter un commentaire
Réponse
+1
moins plus
merci pour le zip sois patient :)
Ajouter un commentaire
Réponse
+1
moins plus
ça compile c'est déja ça http://jmg78.hd.free.fr/romain.swf
swf > as pour le source
Ajouter un commentaire
Réponse
+0
moins plus
Merci mais tu pourrais mettre le code direct sur le forum stp: j'arrive pas à décompiler!!
Ajouter un commentaire
Réponse
+0
moins plus
mais je t ai dit tu changes .swf par .as
Ajouter un commentaire
Réponse
+0
moins plus
cliques sur la petite enveloppe en haut message privé
Ajouter un commentaire
Réponse
+0
moins plus
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!
Ajouter un commentaire
Réponse
+0
moins plus
et la chtite enveloppe
Ajouter un commentaire
Ce document intitulé «  AS3 erreur 1009  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.