Carroussel

jawherb Messages postés 18 Statut Membre -  
jawherb Messages postés 18 Statut Membre -
Bonjour,
je suis entrain de realiser une animation avec flash CS3 en utilisant le actionscript3
le problème se trouve dans le script qui permet de realiser une CARROUSSEL-3D
le script que j'ai l'utilisé est le suivant:

//Rayon de rotation (en pixels) autour de l'axe y
var Rx:Number=120;

//Nombre d'icones (pas plus que 10, quoique...)
var N:Number=10;

//angle de rotation des clips autour de l'axe z
var angle:Number=0;

//Attachement des icones
var Reference:Class;
for(var i:Number=0;i<N;i++)
{

// extraction des références de classe
Reference = Class (getDefinitionByName ( "MonClip"+i ));

// ajout à la liste d'affichage
this.addChild ( DisplayObject ( new Reference() ) );

//Nom du clip
this.getChildAt(i).name='ID'+i;

//position initial du ieme clip en y (position helice)
//64=taille de l'icone, 64/2=distance du bord au centre de l'icone (icone carré ou cercle)
//2*3= marge de 3 pixels en haut et en bas de l'image
//la place totale en y prise par les icones = (stage.stageWidth-2*3)
//la premiere icone (son centre) se place apres la marge 3+64/2
//d'ou la repartion des icones sur y :
this.getChildAt(i).y=(stage.stageHeight-2*3-64/2)*i/N+3+64/2;

//Position initial du ieme clip en x
this.getChildAt(i).x=Rx*Math.cos(2*Math.PI*i/N)+stage.stageWidth/2;

//taille initiale du ieme clip
this.getChildAt(i).scaleX=0.6/2*(Math.sin(2*Math.PI*i/N)+ 1)+0.4;
this.getChildAt(i).scaleY=this.getChildAt(i).scaleX;

//ajout d'un ecouteur sur le ieme clip
this.getChildAt(i).addEventListener(MouseEvent.CLICK, OnClick);

}

//Fonction de click sur les icones
function OnClick ( pEvt:MouseEvent ):void
{
trace("salut");
}

//ecouteur enter_frame
stage.addEventListener ( Event.ENTER_FRAME, Main );

function Main ( pEvt:Event ):void
{
//variable temporaire pour la profondeur
var z:Number;

for(i=0;i<N;i++)
{

//rotation du i_eme clip sur x
this.getChildByName('ID'+i).x=Rx*Math.cos(angle+2*Math.PI*i/N)+stage.stageWidth/2;

//mise a jour de la taille du clip (60%->premier plan, 40%->arriere plan)
this.getChildByName('ID'+i).scaleX=0.6/2*(Math.sin(angle+2*Math.PI*i/N)+ 1)+0.4;
this.getChildByName('ID'+i).scaleY=getChildByName('ID'+i).scaleX;

//mise a jour de z (profondeur);
z=(N-1)*(Math.sin(angle+2*Math.PI*i/N)+1)/2;
this.setChildIndex(this.getChildByName('ID'+i), int(z));

}

//rotation commandée par la souris en y
//signe moins : rotation inversé
//Math.PI/2 = correction d'angle pour que l'icone pointée soit toujours au milieu
angle=(2*Math.PI)*(-stage.mouseY+3+64/2)/(stage.stageHeight-(3+64/2))+Math.PI/2;

}
lorsque je teste l'animation le panneau de sortie affiche le message suivant:
"ReferenceError: Error #1065: La variable MonClip0 n'est pas définie.
at global/flash.utils::getDefinitionByName()
at Sansnom_fla::MainTimeline/Sansnom_fla::frame1()"

sachant que tout les clips existe dans la biblitheque et qui portent les noms suivant:
MonClip0,MonClip1,MonClip2,MonClip3,MonClip4,MonClip5,MonClip5,MonClip6,MonClip7,MonClip8,MonClip9

SVP j'ai besoin de votre aide pour trouver la solution.
merci d'avence.

1 réponse

jawherb Messages postés 18 Statut Membre
 
bonjour
j'attend tjr votre réponses!!!!!!!!!
0