Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
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 05/09/2006, 12h07   #1
Futur Membre du Club
 
Inscription : septembre 2004
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 29
Points : 17
Points : 17
Par défaut [AS3] Ajouter une frame dans un MovieClip

Bonjour,

Est-il possible d 'ajouter une frame dans un MovieClip avec une fonction AS3 ?

L'idée est de construire un MovieClip, frame par frame, puis ajouter les attributs dans chaque frame.

Merci de votre aide.

Destrumel
Destrumel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 18h18   #2
Rédacteur
 
Avatar de pyrrha
 
Étudiant
Inscription : août 2005
Messages : 435
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 435
Points : 636
Points : 636
bonjour.

Je ne comprend pas bien ta question.
A quoi cela te servirai de rajouter des frames dans un movieClip ?
Les movieClip possedent déja un nombre infini ( peut etre pas mais tres important ) de frames, je ne comprend donc pas pourquoi tu veut en rajouter.
pyrrha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 19h30   #3
Inactif
 
Avatar de CR_Gio
 
Inscription : septembre 2005
Messages : 1 196
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 1 196
Points : 1 201
Points : 1 201
Peut etre que ca pourai te donner des idées .... ;-)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var	     mc:MovieClip=_root

		mc.beginFill(0x0000FF);
		mc.lineStyle(1,0x000000);
		mc.lineTo(100,0);
		mc.lineTo(100,50);
		mc.lineTo(0,50);
		mc.lineTo(0,0);
		mc.endFill();
		mc._x = Stage.width / 2;
		mc._y = Stage.height / 2;
		mc.onEnterFrame = function()
		{
			this._rotation += 25;
		}
CR_Gio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 23h59   #4
Invité régulier
 
Développeur informatique
Inscription : juillet 2006
Messages : 3
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2006
Messages : 3
Points : 5
Points : 5
Salut,
A ma connaissance on peut pas ajouter de frame a un movieclip . quelqu’un d’autre confirmera ou infirmera je pense…
CR Gio te met sur la voie -> utilise entreFrame pour « simuler la timeline »...
dans AS3 le model d’event a changer …

Code :
1
2
3
4
5
6
var mc:MovieClip = new MovieClip();
addChild(mc);
mc.addEventListener(Event.ENTER_FRAME, maFonction);
function maFunction () {
	//action a executer au rythme de l’anim
}
Pour arrêter la boucle
Code :
mc.removeEventListener(Event.ENTER_FRAME, _ maFunction);
reste a gerer le nombre iterations
Mafassure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 08h26   #5
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,

Citation:
Envoyé par pyrrha
Les movieClip possedent déja un nombre infini ( peut etre pas mais tres important ) de frames, je ne comprend donc pas pourquoi tu veut en rajouter.
Jusqu'a flash 8, on peut aller à environ 16000 frames il me semble Ceci dit, utiliser dynamiquement un clip en faisant un new MovieClip() en AS3 me parait totalement inutile puisque justement un MovieClip est fait pour être lié à la timeline (donc ca pourra se faire via Flash 9). La classe Sprite me semble plus appropriée à tes besoins ^^

@++
thecaptain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 20h36   #6
Futur Membre du Club
 
Inscription : septembre 2004
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 29
Points : 17
Points : 17
Bonsoir,

Merci de vos réponses.

Effectivement, "onEnterFrame" pourrait convenir. Mais puisque je n'ai que des constantes (introduites par l'utilisateur), J'aurais voulu construire une timeLine, et, ensuite, c'est Flash qui s'en occupe tout seul

Citation:
Envoyé par thecaptain
Ceci dit, utiliser dynamiquement un clip en faisant un new MovieClip() en AS3 me parait totalement inutile puisque justement un MovieClip est fait pour être lié à la timeline
Ceci éclaire ma question. C'est précisément dans la timeline que je voudrais placer des attributs de position (et transformation) pour construire dynamiquement le mouvement d'un sprite.

En fait l'utilisateur introduit un mouvement, sous forme de valeurs 'constantes'. Il faut ensuite que le player Flash réalise le mouvement décrit. Pour cela, construire une TimeLine est la solution la plus simple.
(J'ai des problèmes de synchronisation d'objets qui sont automatiquement résolus dans la TimeLine)

Citation:
(donc ca pourra se faire via Flash 9). La classe Sprite me semble plus appropriée à tes besoins ^^
Effectivement, la classe sprite me semblait la plus disposée à me fournir les éléments nécessaires (J'ai aussi regardé MovieClip, au cas où). Mais je n'ai pas trouvé de trace de la timeline, ni de la façon de l'alimenter ( placer des attributs pour des frames précises).

Phildes
Destrumel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 22h39   #7
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,

Citation:
Envoyé par Destrumel
Mais je n'ai pas trouvé de trace de la timeline, ni de la façon de l'alimenter ( placer des attributs pour des frames précises).
ce qui est normal puisque Flash 9 n'est pas encore sorti (enfin il y a l'alpha pour Flash 8) Donc, dans l'état actuel des choses, en utilisant seulement AS3, la classe MovieClip est totalement inutile puisque la classe Sprite fournit tous les éléments dont tu as besoin ^^ Maintenant il faut peut-etre te réorienté pour la récupération des coordonées (genre un fichier texte ou xml) et le parser ensuite dans Flash

@++
thecaptain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 15h12   #8
Futur Membre du Club
 
Inscription : septembre 2004
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 29
Points : 17
Points : 17
bonjour,

Citation:
Envoyé par thecaptain
Salut,
ce qui est normal puisque Flash 9 n'est pas encore sorti (enfin il y a l'alpha pour Flash 8) Donc, dans l'état actuel des choses, en utilisant seulement AS3, la classe MovieClip est totalement inutile puisque la classe Sprite fournit tous les éléments dont tu as besoin ^^
Je n'ai pas trouvé comment accéder à un attribut (exemple les coordonnées de la pièce), si cette attribut n'est pas placé dans la frame courante.

Je pense avoir bien regardé pourtant

Comment lire un attribut qui est placé dans une frame précise, dans un layer précis ?

Phildes
Destrumel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 20h02   #9
Futur Membre du Club
 
Inscription : septembre 2004
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 29
Points : 17
Points : 17
Citation:
Envoyé par thecaptain
Maintenant il faut peut-etre te réorienté pour la récupération des coordonées (genre un fichier texte ou xml) et le parser ensuite dans Flash
@++
C'est ce que je fais actuellement. je souhaitais pouvoir utiliser des fonctions de construction de AS3

J'essayais de faire une construction de séquences Flash totalement en AS3 (uniquement avec des fonctions de construction AS3, sans parsing)

Merci de vos réponses .

Destrumel
Destrumel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 15h11   #10
Futur Membre du Club
 
Inscription : septembre 2004
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 29
Points : 17
Points : 17
J'ai formaliser ma requette avec un exemple.

Dans l'éditeur :
1 - J'ai créé un MovieClip.
2 - je mets une FrameKey au temps 10, pour y mémoriser une position.
3 - Au temps 9 je place un bouton, avec une action.
4 - Dans cette action je souhaite connaitre la position inscrite pour le Movie-Clip au temps 10.

Comment faire ?

Destrumel
Destrumel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 17h29   #11
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,

j'ai pas très bien saisi Déjà tu es en AS3 ou en Flash 8 ??? Ton action est sur le bouton ? Ta fonction est applée quand (click, ...) ? Sois plus précis stp

@++
thecaptain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 18h42   #12
Futur Membre du Club
 
Inscription : septembre 2004
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 29
Points : 17
Points : 17
Citation:
Envoyé par thecaptain
Salut,

j'ai pas très bien saisi Déjà tu es en AS3 ou en Flash 8 ??? Ton action est sur le bouton ? Ta fonction est applée quand (click, ...) ? Sois plus précis stp

@++
je ne comprends plus rien.
D'après tes réponses j'avais compris qu'on je ne pouvais pas placer de valeur dans un temps précis uniquement par programme en AS3 - encore moins créer un "keyFrame".
Je pensais qu'il était impossible de construire cela uniquement en AS3.

-----------------------

Alors, oui si c'est possible. Je voudrais savoir comment on fait cela par programme en AS3.

> Ton action est sur le bouton ? Oui
> Ta fonction est applée quand (click, ...) ? click oui...

> Sois plus précis stp
Désolé. je pensais sincèrement avoir été assez précis.

Destrumel
Destrumel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 18h49   #13
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
re,

bon je résume : tu veux pouvoir affecter une position à un bouton à une frame spécifique d'un MovieClip en AS3 c'est bien ça ? Alors je serais tenté de dire : oui tu peux le faire uniquement en code (bien que ce ne soit pas vraiment très utile), en écoutant l'événement enterframe de MovieClip et en testant la frame sur laquelle tu es. Seule objections : tu ne peux pas créer la timeline puisque tu es uniquement en code, il te faudra donc utiliser un compteur

@++
thecaptain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2006, 21h15   #14
Futur Membre du Club
 
Inscription : septembre 2004
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 29
Points : 17
Points : 17
Par défaut [Résolu]

Merci

j'ai bien compris que tu n'en voyais pas l'utilité
En tout cas tu confirmes ce que j'avais compris. Ca répond très précisément à ma question.

Pour moi ce sujet est [résolu]

Merci theCaptain

Destrumel
Destrumel 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 08h08.


 
 
 
 
Partenaires

Hébergement Web