Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/10/2007, 15h24   #1
Membre Expert
 
Avatar de prgasp77
 
Homme Yankel Scialom
Ingénieur en systèmes embarqués
Inscription : juin 2004
Messages : 814
Détails du profil
Informations personnelles :
Nom : Homme Yankel Scialom
Âge : 25
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 : 814
Points : 1 042
Points : 1 042
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 :'(
__________________
gasp in touch
-- Yankel Scialom
prgasp77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 01h02   #2
Membre Expert
 
Avatar de prgasp77
 
Homme Yankel Scialom
Ingénieur en systèmes embarqués
Inscription : juin 2004
Messages : 814
Détails du profil
Informations personnelles :
Nom : Homme Yankel Scialom
Âge : 25
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 : 814
Points : 1 042
Points : 1 042
up
__________________
gasp in touch
-- Yankel Scialom
prgasp77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 11h16   #3
Membre émérite
 
Avatar de thecaptain
 
Étudiant
Inscription : décembre 2003
Messages : 916
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2003
Messages : 916
Points : 898
Points : 898
Salut,

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

@++
__________________
API ScrollBar (AS2)
Masapi (Massive Loading API) (AS3)
Lost in AStorm
thecaptain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 17h04   #4
Membre habitué
 
Inscription : septembre 2006
Messages : 232
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 232
Points : 126
Points : 126
pareil
éloi_75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 12h30   #5
Membre Expert
 
Avatar de prgasp77
 
Homme Yankel Scialom
Ingénieur en systèmes embarqués
Inscription : juin 2004
Messages : 814
Détails du profil
Informations personnelles :
Nom : Homme Yankel Scialom
Âge : 25
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 : 814
Points : 1 042
Points : 1 042
Exact. J'ai commenté au maximum ce code. Il s'agit bien d'ActionScript contrairement à ce qui est indiqué (coloration syntaxique oblige).

Code javascript :
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();
    }
}
__________________
gasp in touch
-- Yankel Scialom
prgasp77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h50.


 
 
 
 
Partenaires

Hébergement Web