Carousel 3D Flash CS3

Fermé
Anthon - 13 mars 2009 à 16:06
 hawky59 - 25 mars 2009 à 03:31
Bonjour,

J'ai crée il y a de ça une semaine un code en AS2 qui permet d'utiliser un carrousel 3D classique.

J'ai décidé de retaper le code pour le faire en AS3 et la je suis bloqué sur un problème depuis hier, peut être pourrez vous m'aider. Je vous donne le bout de code qui ne va pas :



import fl.transitions.easing.*;
import fl.transitions.*;
import flash.display.*;
import flash.events.*;

var numOfItems:Number;
var radiusX:Number = 300;
var radiusY:Number = 75;
var centerX:Number = stage.width/2;
var centerY:Number = stage.height/2;
var speed:Number = 0.05;
var perspective:Number = 160;
var home:MovieClip = this;
var item:Sprite = new Sprite();
var tooltip:MovieClip = new MovieClip();
addChild(tooltip);
tooltip.alpha = 0;
theText.alpha = 0;

var xml:XML = new XML();
xml.ignoreWhitespace;
var chargeurDonnees:URLLoader = new URLLoader();
var adresseFichierXML:URLRequest = new URLRequest("icons.xml");
chargeurDonnees.load(adresseFichierXML);
//xml.dispatchEvent(EventDispatcher.dispatchEvent(Event.COMPLETE));
chargeurDonnees.addEventListener(Event.COMPLETE, chargement);

function chargement (){

var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
for(var i=0; i<numOfItems; i++){
var t:MovieClip= new MovieClip();
t.angle = i*((Math.PI*2)/numOfItems);
t.addEventListener(Event.ENTER_FRAME, mover);
t.toolText = nodes[i].attributes.tooltip;
t.content = nodes[i].attributes.content;
t.icon.inner.loadMovie(nodes[i].attributes.image);
t.r.inner.loadMovie(nodes[i].attributes.image);
t.icon.addEventListener(MouseEvent.MOUSE_OVER, over);
t.icon.addEventListener(MouseEvent.MOUSE_OUT, out);
t.icon.addEventListener(MouseEvent.MOUSE_DOWN, released);
t.addChild(t);
}
}
...

Quand je lance mon animation, il m'envoi le méssage d'érreur suivant :

ArgumentError: Error #1063: Non-correspondance du nombre d'arguments sur galerie_3d_fla::MainTimeline/chargement(). 0 prévu(s), 1 détecté(s).
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

Si quelqu'un a une idée, il sera le bienvenue, on m'a dit qu'il s'agissai du addChild, mais que dois je mettre à la place?

Merci d'avance,

Anthony
A voir également:

3 réponses

jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 28
13 mars 2009 à 16:51
En fait une fonction que t'appelles avec un event recoit toujours un parametre, l'évènement.
dans ta function tu peux utiliser le nom du paramètre, genre sur ce que je t'ai demandé il s'apelle ev, pour retrouver l'objet qui à appelé la function, c'est tres pratique.

genre sur plein d'instances d'un clip tu as
clip.addEventListener(MouseEvent.CLICK,onClicked);
function onClicked (ev:MouseEvent) {
ev.target.x+=100;
}
2
jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 28
13 mars 2009 à 16:47
function chargement (ev:Event)
1
Salut
Tu vas peut être pouvoir m'aider ! Je cherche à faire un portfoilio sous forme de carrousel 3D en Actionscript2.
Je viens d'acquérir la CS4 Web Premium, je fais de l'infographie et je veux apprendre le Flash. J'ai lu qu'avant d'apprendre l'AS3, il valait mieux connaître l'AS2 .
Donc bête et discipliné, je fais mon 1er site flash en AS2 et tous les tutos concernent de l'AS3!
Où avais tu trouver les infos pour créer ton carrousel? J'ai capté les commandes de lecture, boutons etc là je patauge un peu avec les variables, définitions de variables...
Merci de ton aide, si t'as un lien...
0