IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Animation lors du click


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    génie civil
    Inscrit en
    Mai 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : génie civil
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2014
    Messages : 1
    Par défaut Animation lors du click
    Bonjour à vous tous,

    J'ai incorporé à un site web une animation flash avec des images qui font un mouvement de droite à gauche. Étant donné que je suis nul en flash je me posait la question si c'était possible de modifier cette animation pour que lorsque je click sur la photo, elle "zoom", du style facebook.

    lien pour le site web pour comprendre mon intérogation: http://www.soccerjonquiere.org/

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    Ci-joint une tentative pour répondre à ton problème en as3 avec mes connaissances actuelles dans ce langage...
    Il y a plusieurs stratégies possibles, je pense...
    J'ai dessiné dans des sprites pour éviter d'intégrer des photos...le principe est là...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
     
    package 
    {
    	import flash.display.*;
    	import flash.events.*;
     
     
    	 [SWF( frameRate="60",width = '1000', height = '400', backgroundColor = '0xFFFFFF')]
    	public class Main extends Sprite 
    	{
    		private var im1:Sprite = new Sprite();
    		private var im2:Sprite = new Sprite();
    		private var im3:Sprite = new Sprite();
    		private var clone1:Sprite = new Sprite(); 
    		private var clone2:Sprite = new Sprite();
    		private var clone3:Sprite = new Sprite();
    		private var pos:Array = new Array(6);
    		private var permute:Boolean = false;
    		private var instance:String;
     
     
    		private var w:Number=0;
    		private var h:Number=0;
    		private var dx:Number =0;
    		private var dw:Number =0;
    		private var dh:Number =0;
     
    		public function Main():void 
    		{
    			if (stage) init();
    			else addEventListener(Event.ADDED_TO_STAGE, init);
    		}
     
    		private function init(e:Event = null):void 
    		{
     
    			removeEventListener(Event.ADDED_TO_STAGE, init);
    		        opaqueBackground = 0xFFFFFF;
    			w = stage.stageWidth;
    			h = stage.stage.stageHeight;
    			dw = w / 3;//dim des vignettes
    			dh = h / 2;//
     
    			im1.graphics.beginFill(0xFFFF00);
    			im1.graphics.drawRect(0, 0,dw, dh);
    			im1.graphics.endFill();
    			im1.graphics.beginFill(0x00FF00);
    			im1.graphics.drawCircle(w / 6, h / 4, h / 5);
    			im1.y = h / 4;
     
     
     
    			clone1.graphics.copyFrom(im1.graphics);
    			clone1.x = -w;
    		        clone1.y = h / 4;
     
     
    			im2.graphics.beginFill(0xFF00FF);
    			im2.graphics.drawRect(0, 0,dw, dh);
    			im2.graphics.endFill();
    			im2.graphics.beginFill(0x0000FF);
    			im2.graphics.drawCircle(w / 6, h / 4, h / 5);
    			im2.x = w / 3;
    			im2.y = h / 4;
     
     
    			clone2.graphics.copyFrom(im2.graphics);
    			clone2.x = -2 * w / 3;
    		        clone2.y = h / 4;
     
     
    			im3.graphics.beginFill(0x00FFFF);
    			im3.graphics.drawRect(0, 0,dw,dh);
    			im3.graphics.endFill();
    			im3.graphics.beginFill(0xff0000);
    			im3.graphics.drawCircle(w / 6, h / 4, h / 5);
    			im3.x = 2 * w / 3;
    			im3.y = h / 4;
     
     
     
    			clone3.graphics.copyFrom(im3.graphics);
    			clone3.x = -w / 3;
    		        clone3.y = h / 4;
     
     
     
                for (var i:uint = 0; i < pos.length ; i++) pos[i] = -w + w * i / 3;
     
                            addChild(clone1);
    			addChild(clone2);
    			addChild(clone3);
    			addChild(im1);
    			addChild(im2);
    			addChild(im3);
     
    			stage.addEventListener(Event.ENTER_FRAME, onMove);
    			stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
    		}
     
     
    		private function onMouseDown(e:MouseEvent):void 
    		{
    			var indice:int = getChildIndex(e.target as DisplayObject);
     
     
    			permute = !permute;
     
     
    			if (permute)
    			{
    			stage.removeEventListener(Event.ENTER_FRAME, onMove);//on stoppe l'animation
    			instance = e.target.name;
    			e.target.scaleX = 1.5;//150%
    			e.target.scaleY = 1.5;//
    			e.target.x -=( dw * e.target.scaleX-dw)/2;//repositionnement après zoom
    		        e.target.y -=( dh * e.target.scaleY-dh)/2;//
    			addChildAt(e.target as DisplayObject, indice + 1);//passage au plan supérieur
    			}
    	        	else if (instance == e.target.name)
    		       {
    			 e.target.scaleX = 1;
    		  	 e.target.scaleY = 1;
    		 	 addChildAt(e.target as DisplayObject, indice - 1);
    			 stage.addEventListener(Event.ENTER_FRAME, onMove);
    			 e.target.y = h / 4;
    			 instance = "";
    			}
    		      else permute = true;
    		}
     
    		private function onMove(e:Event):void 
    		{
    		    if ( im1.x >w) dx =0 else dx += 0.6;
     
    			clone1.x =pos[0]+dx;
    			clone2.x =pos[1]+dx;
    			clone3.x = pos[2] + dx;
    			im1.x = pos[3]+dx;
    			im2.x = pos[4] + dx;
    			im3.x =pos[5]+dx;  
    		}
     
    	}
     
    }
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/02/2008, 20h16
  2. Réponses: 0
    Dernier message: 25/08/2007, 17h32
  3. Blocage de l'EDT lors du click sur un bouton
    Par bassim dans le forum EDT/SwingWorker
    Réponses: 3
    Dernier message: 13/12/2006, 23h44
  4. Réponses: 4
    Dernier message: 04/07/2006, 14h07
  5. Réponses: 7
    Dernier message: 20/10/2005, 20h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo