28 avril 2013

tutorial sur particule,les classes,la poo

un excellent tutorial sur un jeux a base de particule

http://forums.mediabox.fr/wiki/tutoriaux/flashplatform/jeux/auditorium

Posté par pierreflash à 18:36 - - Commentaires [0] - Permalien [#]
Tags :

15 mars 2013

tutorial sur particule

objectif:apprendre à utiliser script de particules que l on trouve sur flintparticule.org

par exemple je souhaite mettre fumé qui sort cheminée d'un petit train à vapeur je vais sur flint.org ici:

http://flintparticles.org/examples/fire-and-smoke

4/création et animation movieclip train

a/creons un movieclip d'un petit train avec illustrator j'ouvre un fichier eps ( ou ai) representant un vecteur petit train je fais copier puis dans flash je creer nouveau calque  et coller dans ce calque image 1 je met dessin à la bonne echelle je groupe puis transformer en mc nom train exporter pour actionscript class: train  un fichier train.as est cree à la racine du dossier

b/animons ce movieclip maintenant à l'aide as3 pour cela je lis le tuto ci dessous ( si vous etes presser faite juste une interpollation mouvement en rajoutant image au calque)

http://animationswf.canalblog.com/archives/2011/11/03/22565304.html

je place pas mc sur stage j utiliserai addchild et je met le script dans mon Main.as et pas sur un calque

j ecoute tuto et j ouvre mon Main petit crayon a droite dans propriete

je rajoute

import flash.utils.Timer;
import flash.events.TimerEvent;

ensuite

 public class Main extends flash.display.Sprite
    {
        internal var smoke:org.flintparticles.twoD.emitters.Emitter2D;
        internal var fire:org.flintparticles.twoD.emitters.Emitter2D;
        private var chronometre:Timer=new Timer(5);
        public var train:MovieClip= new Train();// ici attention on peut pas donner meme nom variable et objet donc bien mettre minucule a train variable et majuscule a Train objet

 

ne pas oublier de mettre propriete vitesse dans l objet Train sinon on aura droit à erreur dans le Main

package  {
    
             import flash.display.MovieClip;
  
          public class Train extends MovieClip {    
          public var vitesse:int;//ici il faut le mettre
        public function Train() {
            // constructor code
        }
    }
    
}

puis dans le Main je met ma fonction animation juste apres  public function Main()

private function animation (evt:TimerEvent):void //j ai mis private mais public ca marche aussi
        {
            train.x+=train.vitesse;
             this.smoke.x =train.x+train.width-15;
            this.smoke.y = train.y+5;
            /* this.fire.x =train.x+train.width-15;
            this.fire.y = train.y+5;*/
            if (train.x>=stage.stageWidth){train.x=-train.width};
            
        }

 

 changer var loc1:*=new org.flintparticles.twoD.renderers.BitmapRenderer(new flash.geom.Rectangle(0, 0, 300, 400));en

 var loc1:*=new org.flintparticles.twoD.renderers.BitmapRenderer(new flash.geom.Rectangle(0, 0, 550, 250));

pour les parametre de la fume voir dans le smoke.as

au final dans Main.as j ai ca

package
{
    import flash.display.*;
    import flash.geom.*;
    import org.flintparticles.twoD.emitters.*;
    import org.flintparticles.twoD.renderers.*;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    
    public class Main extends flash.display.Sprite
    {
        internal var smoke:org.flintparticles.twoD.emitters.Emitter2D;
        internal var fire:org.flintparticles.twoD.emitters.Emitter2D;
        
        private var chronometre:Timer=new Timer(0.5);
        public var train : MovieClip= new Train();
        
        public function Main()
        {
            stage.addChild(train);train.x=550;train.y=175;train.vitesse=1;
            
            chronometre.addEventListener(TimerEvent.TIMER,animation);
            chronometre.start();
            super();
            this.smoke = new Smoke();
            this.smoke.x = 0;
            this.smoke.y = 0;
            this.smoke.start();
         /*   this.fire = new Fire();
            this.fire.x = 150;
            this.fire.y = 380;
            this.fire.start();*/
            var loc1:*=new org.flintparticles.twoD.renderers.BitmapRenderer(new flash.geom.Rectangle(0, 0, 550, 300));
            loc1.addEmitter(this.smoke);
            //loc1.addEmitter(this.fire);
            addChild(loc1);
            return;
        }
        private function animation (evt:TimerEvent):void
        {
            train.x+=train.vitesse;
             this.smoke.x =train.x+train.width-19;
            this.smoke.y = train.y+5;
            /* this.fire.x =train.x+train.width-15;
            this.fire.y = train.y+5;*/
            if (train.x>=stage.stageWidth){train.x=-train.width};
            
        }
        
    }
}
et ca donne ca :

Posté par pierreflash à 18:47 - - Commentaires [0] - Permalien [#]
Tags : , ,

tutorial sur particule

Posté par pierreflash à 18:41 - - Commentaires [0] - Permalien [#]
Tags : , , ,
30 octobre 2011

snowfall

http://flintparticles.org/examples/snowfall

Posté par pierreflash à 17:30 - - Commentaires [0] - Permalien [#]
Tags : , ,