begin process at 2012 05 26 18:52:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

CLASS AS3 : Plusieurs clips enfants dans un parent


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

CLASS AS3 : Plusieurs clips enfants dans un parent

jeudi 27 décembre 2007 à 17:34:17 | CLASS AS3 : Plusieurs clips enfants dans un parent

nuclearprout

Bonsoir et d'ores et déjà dsl pour la longueur du titre. Je ne savais pas trop quoi mettre.
Voilà j'ai le code :


package {
    import flash.display.MovieClip;
    import flash.events.Event;

    public class atom extends MovieClip {
        private var things:Array;
        private var numThings:uint = 50;
        private var fl:Number = 300;
        private var vpX:Number = stage.stageWidth / 2;
        private var vpY:Number = stage.stageHeight / 2;
        public function atom() {
            init();
        }
        private function init():void {
            things = new Array();
            for (var i:uint = 0; i < numThings; i++) {
                var thing:MovieClip = new atomos();
                things.push(thing);
                thing.xpos = Math.random() * 800 - 400;
                thing.ypos = Math.random() * 500 - 250;
                thing.zpos = Math.random() * 300 - 150;
                addChild(thing);
            }
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
        }
        private function onEnterFrame(event:Event):void {
            var angleX:Number = (mouseY - vpY) * .0001;
            var angleY:Number = (mouseX - vpX) * .0001;
            for (var i:uint = 0; i < numThings; i++) {
                var thing:MovieClip = things[i];
                rotateX(thing, angleX);
                rotateY(thing, angleY);
                doPerspective(thing);
            }
            sortZ();
        }
        private function rotateX(thing:MovieClip, angleX:Number):void {
            var cosX:Number = Math.cos(angleX);
            var sinX:Number = Math.sin(angleX);
            var y1:Number = thing.ypos * cosX - thing.zpos * sinX;
            var z1:Number = thing.zpos * cosX + thing.ypos * sinX;
            thing.ypos = y1;
            thing.zpos = z1;
        }
        private function rotateY(thing:MovieClip, angleY:Number):void {
            var cosY:Number = Math.cos(angleY);
            var sinY:Number = Math.sin(angleY);
            var x1:Number = thing.xpos * cosY - thing.zpos * sinY;
            var z1:Number = thing.zpos * cosY + thing.xpos * sinY;
            thing.xpos = x1;
            thing.zpos = z1;
        }
        private function doPerspective(thing:MovieClip):void {
            if (thing.zpos > -fl) {
                var scale:Number = fl / (fl + thing.zpos);
                thing.scaleX = thing.scaleY = scale;
                thing.x = vpX + thing.xpos * scale;
                thing.y = vpY + thing.ypos * scale;
                thing.alpha = scale;
                thing.visible = true;
            } else {
                thing.visible = false;
            }
        }
        private function sortZ():void {
            things.sortOn("zpos", Array.DESCENDING | Array.NUMERIC);
            for (var i:uint = 0; i < numThings; i++) {
                var thing:MovieClip = things[i];
                setChildIndex(thing, i);
            }
        }
    }
}


C'est une classe que j'ai récupéré et corrigé pour gérer la rotation d'objets en 3D.
En attendant ce que cette classe fait est assez rudimentaire ;
>> Elle prend le clip atomos que j'ai précédemment lié à la classe dans l'IDE
>> Elle le duplique 50 fois //
var numThings:uint = 50 // (et le dispatche en x, y et z (simulé)

Tout ce code fonctionne. Mais j'aimerais avoir la possibilité de gérer plus d'un seul clip, autre qu'atomos. J'ai bien compris que je pouvais accéder au tableau things contenant toutes les instances et les gérer via l'index (et une boucle). Mais ce que je voudrais c'est pusher d'autres clips que j'ai dans mon fla afin qu'ils soient rendus en 3D et les utiliser dans ma class (avec des flash.events.MouseEvent par ex...) J'ai essayé plusieurs trucs mais je débute en AS3 et j'avoue que c'est beaucoup plus irréprochable avec l'archaïsme de mes anciens codes AS2. Donc, si on pouvait me montrer comment glisser d'autres clips liés de la même manière qu'atomos à la classe et les rendre manipulables, ce serait top !!!

MERCI.


 
Today is the present past of tomorrow.


Cette discussion est classée dans : private, var, number, thing, zpos


Répondre à ce message

Sujets en rapport avec ce message

tableau deux dimentions [ par georgeconst ] salut a tous C'est la premiere fois que je participe a un forum alors si qqch cloche n'esitez pas a me le faire remarquer..j'ai un probleme avec actio Probleme de caracters speciaux dans flash [ par simojava ] bonjour tout le monde,J'ai codé une classe en AS qui charge tous les caracteres speciaux et les affiche dans un MovieClip.Le probleme est que certains Probleme d'affichage de certains cararcteres speciaux [ par simojava ] <img style="BORDER-LEFT-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BORDER-RIGHT-COLOR: black; border-size: 1px" src="http://ww Aprentissage difficile des classes [ par szambaux ] Bonjour je suis en train de me former au classe est j'ai vraiment du mal donc je poste ce que j'ai fait, c'est une classe récupere le nom d'un fichier Problème de variables qui ne changent pas d'état... [ par grover ] Bonjour à tous de la part du nouveau noob de service : moi. <span Créer dans une boucle des clips enfants de clip - createEmptyMovieClip attachMovie [ par zootallures ] Bonjour ,Je cherche à créer sous un MovieClip "contain" des occurences d'objets de ma bibliothèque ,le but est de pouvoir ensuite en supprimant le Mov Ajouter du reflet sur un objet plane style carrousel [ par Alex001 ] Bonjour à tous, Je code actuellement un site en flash AS3. Avec l'aide de plusieurs sources j'ai fini par créer des planes qui charges des images a p menu xml flash [ par marcof ] Bonjour à tous,J'ai réussi à créer un menu avec un sous menumais je n'arrive pas à mettre un sous menu sous  le sous menu :)Si quelqu'un pouvait m'aid Problème dans un script de galerie !! [ par lilliputien ] Bonjour,Je suis sur un petit projet de galerie qui se génère automatiquement à l'aide d'un XML.Le XML est de cette forme :     <image chemin="imag Carrousel 3D [ par cash1 ] Bonjour à tous,Voilà, après avoir chercher un peu partout sur la toile je n'arrive pas à trouver ce qui me convient.J'ai réalisé un carrousel "3D" en


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,685 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales