Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
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 12/05/2008, 18h28   #1
Invité de passage
 
Inscription : mars 2003
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 3
Points : 1
Points : 1
Par défaut Boucle FOR dans une animation

Bonsoir à toutes et à tous,

je développe depuis qques années en PHP, DHTML...
Je me suis dit que je vais tenter Flash pour agrémenter mes sites.
J'ai lu des tuto, j'ai un bouquin de 300 pages sur Flash CS3, mais je sèche complètement.
Surement que je n'ai pas encore compris la philosophie de AS...
C'est pour ça que je m'en remet à vous

Je cherche simplement à faire une animation dans laquelle un quadrilatère se déplacerait.
Ses dimensions variraient au fur et mesure de ses quelques déplacements.
(pin1 et pin2 sont les angles haut-gauche et bas-droit représentés par des Symboles)

J'avais imaginé plusieurs boucles ainsi :

for(var i:Number=0; i<=100 ;i++) {
pin1._x += 4;
pin2._x += 2;
}

for(var i:Number=0; i<=50 ;i++) {
pin1._y += 4;
pin2._y += 2;
}

for(var i:Number=0; i<=75 ;i++) {
pin1._x += -4;
pin2._x += -2;
}

...


Evidement, cela ne donne pas le résultat recherché.
J'ai bien essayé d'ajouter ce code sur "action-clip" ou "action-frame".
J'ai aussi essayé des "onClipEvent(enterFrame)" et autres onEnterFrame = function() ou encore gotoAndPlay(1) mais rien y fait...

Merci par avance de votre aide

Vincent
vduez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 12h45   #2
Membre Expert
 
Avatar de dom_dev
 
Inscription : février 2006
Messages : 2 067
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 2 067
Points : 2 114
Points : 2 114
bonjour,
tu es en AS2 ou en AS3 ??
__________________
Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
MERCI
dom_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 00h16   #3
Invité de passage
 
Inscription : mars 2003
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 3
Points : 1
Points : 1
Bonsoir,
en AS2.
Mais si tu as la solution en AS3, je suis preneur ! ;-)
vduez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 13h31   #4
Membre Expert
 
Avatar de dom_dev
 
Inscription : février 2006
Messages : 2 067
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 2 067
Points : 2 114
Points : 2 114
bjt,
je ne sais pas développer en AS3.
par contre il ne faut pas confondre une boucle "for" (souvent executée en quelques millisecondes) et l'appelle à la fonction onEnterFrame. C'est cette dernière qui faut utiliser si tu veux créer une animation.

un exemple spécialement pour toué :
Pièce jointe 30098

cordialement,
__________________
Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
MERCI
dom_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 07h44   #5
Invité de passage
 
Inscription : mars 2003
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 3
Points : 1
Points : 1
Merci pour ta réponse, trop sympa !



j'ai pu avancer :

Code :
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
_level0.onLoad = function() {
	_global.iglobal = 0;
	this.createEmptyMovieClip("carre_mc", 1);
	carre_mc.lineStyle(3, 0xFFFFFF, 100);
	carre_mc.moveTo(135, 300);
	carre_mc.lineTo(135, 335);
	carre_mc.lineTo(200, 335);
	carre_mc.lineTo(200, 300);
	carre_mc.lineTo(135, 300);
	pin1._x = 135;
	pin1._y = 300;
	pin2._x = 200;
	pin2._y = 335;
	texte1._visible = false;
	texte2._visible = false;
};
 
 
onEnterFrame = function () {
	if (iglobal<50) {
		texte1._visible = true;
		pin1._x += 3;
		pin1._y += -1;
		pin2._x += 3;
		pin2._y += -1;
		pin1.swapDepths(3);
		pin2.swapDepths(2);
		carre_mc._x += 3;
		carre_mc._y += -1;
	}
	// Pause  
	if ((iglobal>=100) && (iglobal<170)) {
		pin1._x += -1;
		pin1._y += -3;
		pin2._x += -1;
		pin2._y += -3;
		carre_mc._x += -1;
		carre_mc._y += -3;
	}
	if (iglobal == 170) {
		texte2._visible = true;
	}
 
 
iglobal++;
};
Très bonne journée,

Vincent
vduez est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h32.


 
 
 
 
Partenaires

Hébergement Web