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 en boucle statique + dynamique


Sujet :

Flash

  1. #1
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut Animation en boucle statique + dynamique
    Bonjour à toutes et à tous. Pour les pressés, ne lire que ce qui est en gras.

    Comme vous pouvez le voir ici <http://yankee.sierra77.free.fr/panie...aquariumv4.swf>, j'ai un petit soucis en flash (cliquez sur le bouton, puis attendez que le poisson fasse un tour en regardant les bulles).

    Mon animation :
    C'est un poisson qui tourne dans un aquarium qu ipeut faire des bulles.
    Ce poisson est une animation est statique (définie sans une ligne de code). En plus de ce poisson, il y a un bouton qui permet d'activer ou désactiver les bulles de l'aquarium. Si les bulles sont activées, des bulles sortent du tas de sable ... tout va bien. Ces bulles sont entièrement gérée par actionscript.

    Mais une fois que l'animation statique (poisson) retourne au début, les bulles s'arrêtent :'(
    -- Yankel Scialom

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    up
    -- Yankel Scialom

  3. #3
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    mmmh difficile de te filer un coup de main sans voir le code pour générer les bulles

    @++
    Libzippp (C++)
    Lost in AStorm

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 232
    Points : 169
    Points
    169
    Par défaut
    pareil

  5. #5
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Exact. J'ai commenté au maximum ce code. Il s'agit bien d'ActionScript contrairement à ce qui est indiqué (coloration syntaxique oblige).

    Code javascript : 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
    /*
     * Variables globales
     ************************/
     
    // Variables globales pour la gestion des bulles
    var bol_bulles:Boolean = false; // Le buleur doit-il lâcher des bulles ?
    var cur_bulle:Number = 0;
    var count:Number;
    var max_bulles:Number = 20;
    var arr_bulles:Array = new Array(max_bulles);
    // Position des bulles
    var left_in:Number = 614;
    var top_in:Number  = 453;
    var top_out:Number = 275;
     
    /*
     * Evénements
     ********************/
     
    // Chargement de l'animation
    _root.onLoad = function()
    {
    	// création des clips-bulles
    	for(count=0; count<max_bulles; count++)
    	{
    		arr_bulles[count] = _root.createEmptyMovieClip("circle_"+count.toString(), 20+count);
    		arr_bulles[count]._visible = false;
    		arr_bulles[count]._x = left_in;
    		arr_bulles[count]._y = top_in;
    		drawCircle(arr_bulles[count], 5, 0x3377FF, 60);
    		arr_bulles[count]._xscale = Math.floor(Math.random()*50)+75;
    		arr_bulles[count]._yscale = Math.floor(Math.random()*50)+75;
    	}
    	cur_bulle = 0;
    	setInterval(bulles, 10);
    }
     
    /*
     * Fonctions
     ***************/
     
    /* Fonction gérant l'apparition des bulles et leur déplacement.
    Appelée à intervalle régulier, cette fonction fait aléatoirement apparaitre
    des bulles et déplace celles déjà crées.
    Une fois arrivée en fin de trajectoire, les bulles sont cachées. */
    function bulles()
    {
    	// Si le buleur est actif, il y a une probabilité de 5% pour qu'une bulle apparaisse
    	if(Math.random() > 0.95 && bol_bulles)
    	{
    		arr_bulles[cur_bulle]._visible = true;
    		cur_bulle = (cur_bulle+1)%max_bulles;
    	}
    	// On déplace toutes les bulles visibles
    	for(count=0; count<max_bulles; count++)
    	{
    		if(arr_bulles[count]._visible)
    		{
    			arr_bulles[count]._y--;
    			arr_bulles[count]._x += Math.floor(3*Math.random()-1);
    			if(arr_bulles[count]._y < top_out)
    			{
    				arr_bulles[count]._visible = false;
    				arr_bulles[count]._x = left_in;
    				arr_bulles[count]._y = top_in;
    			}
    		}
    	}
    }
     
    function drawCircle(target_mc:MovieClip, radius:Number, fillColor:Number, fillAlpha:Number):Void
    {
        var x:Number = radius;
        var y:Number = radius;
        with (target_mc)
    	{
            beginFill(fillColor, fillAlpha); 
            moveTo(x + radius, y);
            curveTo(radius + x, Math.tan(Math.PI / 8) * radius + y, Math.sin(Math.PI / 4) * radius + x, Math.sin(Math.PI / 4) * radius + y);
            curveTo(Math.tan(Math.PI / 8) * radius + x, radius + y, x, radius + y);
            curveTo(-Math.tan(Math.PI / 8) * radius + x, radius+ y, -Math.sin(Math.PI / 4) * radius + x, Math.sin(Math.PI / 4) * radius + y);
            curveTo(-radius + x, Math.tan(Math.PI / 8) * radius + y, -radius + x, y);
            curveTo(-radius + x, -Math.tan(Math.PI / 8) * radius + y, -Math.sin(Math.PI / 4) * radius + x, -Math.sin(Math.PI / 4) * radius + y);
            curveTo(-Math.tan(Math.PI / 8) * radius + x, -radius + y, x, -radius + y);
            curveTo(Math.tan(Math.PI / 8) * radius + x, -radius + y, Math.sin(Math.PI / 4) * radius + x, -Math.sin(Math.PI / 4) * radius + y);
            curveTo(radius + x, -Math.tan(Math.PI / 8) * radius + y, radius + x, y);
            endFill();
        }
    }
    -- Yankel Scialom

Discussions similaires

  1. [Débutant] Modifier la limite d'une boucle For dynamiquement
    Par seiryujay dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/12/2006, 19h45
  2. animation en boucle
    Par nickg dans le forum Flash
    Réponses: 26
    Dernier message: 11/12/2006, 23h53
  3. Animation en boucle
    Par sinicha dans le forum Flash
    Réponses: 2
    Dernier message: 12/11/2006, 14h17
  4. [FLASH MX2004] Animation qui boucle
    Par pok dans le forum Flash
    Réponses: 2
    Dernier message: 24/10/2005, 02h21
  5. librairie statique/dynamique
    Par trop_wizz dans le forum MFC
    Réponses: 4
    Dernier message: 11/04/2005, 11h04

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