davax
Messages postés3Date d'inscriptionmercredi 4 octobre 2006StatutMembreDernière intervention18 mai 2009
-
13 mai 2009 à 19:43
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 2013
-
18 mai 2009 à 08:57
Bonjour,
Voici mon souci, j'ai crée il y longtemps, une animation flash en AS2. Tout marche, génial. Aujourd'hui je suis contraint de faire un Upgrade en AS3, car je dois intégré dans mon animation, de la 3D. Comme la 3D n'est géré que par l'AS3, j'ai essayer de passer par les méthodes loadMovie() ou autre car le fichier source est en AS2 qui essaye d'intégré d l'AS3. Donc la seul solution à mon problème serait de "convertir" mon code actuelle AS2 en AS3. Malgré mes tentatives depuis quelque semaine, je m'adresse à vous, si vous pouviez me le traduire. Elle ne fait que 40 lignes.
donc voici mon code.
// Recherche de profondeur valide
var profondeur_1:Number = new Number(1);
var pourcent_1:Number = new Number(0);
while(this.getInstanceAtDepth(profondeur_1) != undefined){
profondeur_1 ++;
}
// Intégration du Titre si il n'existe pas
if(this.getInstanceAtDepth(1000) == undefined){
this.attachMovie("Titre","titre",1000, {_x:75.0, _y:50.0});
}
// Intégration du Fond si il n'existe pas
if(this.getInstanceAtDepth(900) == undefined){
this.attachMovie("Lignes","Barre_Haut",900, {_x:30.0, _y:30.0});
this.attachMovie("Lignes","Barre_Bas",901, {_x:1250, _y:770.0, _rotation:180});
}
// Intégration du Menu si il n'existe pas
if(this.getInstanceAtDepth(800) == undefined){
_root.attachMovie("Menu","menu",800, {_x:103.0, _y:532.0});
}
// Intégration des Loader pour l'Image de Gauche
this.attachMovie("Loader","photo_1", (profondeur_1+1), {_x:103.7, _y:192.4, _height:273.0, _width:200.0, _alpha:0.0, contentPath:"Images/photo.jpg"});
this.attachMovie("ProgressBar", "progress_photo_1", profondeur_1, {_x:128.7, _y:313.9, _alpha:100.0, source:photo_1});
// Au cour du Chargement
this.onEnterFrame = function(){
if(progress_photo_1.percentComplete == 100 || pourcent_1==100){
if(photo_1._alpha !=100){
photo_1._alpha += 5;
pourcent_1=100;
if(this.getInstanceAtDepth(profondeur_1)){
progress_photo_1.removeMovieClip();
}
}
}
}
// Pause
stop();
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 13 mai 2009 à 19:52
Bonsoir,
Ta demande me dérange par le fait de demander de faire quelque chose à ta place. Ce qui n'est pas la politique de la maison ...
Donc moi je te propose de nous montrer le résultat de tes tentatives de ce quelques semaines et nous essaierons de te le corriger. Ce qui rentre plus dans le cadre de ce forum d'entraide.
cs_jzeel
Messages postés156Date d'inscriptionmercredi 21 décembre 2005StatutMembreDernière intervention10 mars 2011 13 mai 2009 à 23:09
Bonsoir,
Je suis un peu d'accord avec Peg... je me suis tapé tous le livres de AS3, après tous ses efforts je me vois donner de la viande toute faite sans effort de la part de celui qui reçoit.
Par contre je vais te donner des indices dans ton code et tu pourra le verifier par toi-même en travaillant de ton coté...
1) getInstanceAtDepth : N'existe plus c'est getChildAt qui te permet d'accéder à un objet enfant placé à index spécifique.
2) Oublie attachMovie, approche est differente on utilise new ex: var maVariable:nomOccurence = new nomOccurence;
ensuite utilise addChild pour la'afficher sur la scène;
3) _x ou _y pour le positionnement n'est plus. C'est simplement x et y retire le '_'
4) onEnterFrame n'existe plus c'est event.ENTER_FRAME
5) _alpha n'estplus. C'est alpha sans le '_'
6) removeMovieClip() est mort maintenant c'est removeChild... mais attention l’appel de cette méthode procède à une simple suppression du DisplayObjectau sein de l’affichage mais ne le détruit pas, pour se faire il faut ajouter une ligne ou tu met ton Clip égal à null.
Si j'en n'ai manqué que quelqu'un me corrige s.v.p... Maintenant que je t'ai donné les indices, à toi de travailler et faire tes recherches pour savoir comment les utiliser avec leur syntaxe propre... et voici un lien qui pourrait t'aider http://wiki.mediabox.fr/tutoriaux/flash/pratique_as3
nickydaquick
Messages postés416Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention19 décembre 20133 14 mai 2009 à 20:58
Salut
jzeel : je rajoute quelque chose dans le 6 : ne pas oublie de dereferencer tous les membres du clip a detruire aussi et surtout, surtout les removeListener ..... :) car beaucoup n'utilise pas les references faibles.
7)toujours dans la meme logique,
_root devient root
_height devient height
_width devient width
Bonne continuation, et bienvenue aux autres rectificatifs.
davax
Messages postés3Date d'inscriptionmercredi 4 octobre 2006StatutMembreDernière intervention18 mai 2009 18 mai 2009 à 08:38
Merci pour vos réponse, j'ai enfin réussis à tout convertir en AS3 sans trop de bug. Si cela vous intéresse de voir le produit finis. Je vous invite à aller sur :
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 18 mai 2009 à 08:57
Tu as un décalage dans le carrousel 3D (le miens en l'occurrence) lors du clic sur les images en grand. Ensuite ce n'est pas parce que j'ai mis la source à dispo qu'elle est utilisable sans mon consentement ...