Lire des clips avec des boutons

monezka Messages postés 14 Date d'inscription mardi 20 septembre 2011 Statut Membre Dernière intervention 19 janvier 2012 - 20 sept. 2011 à 13:06
mzelleflash Messages postés 48 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 1 novembre 2011 - 21 sept. 2011 à 12:26
Bonjour,

Je travaille sur Flash CS5 et Action Script 3.0, je suis débutante sur Flash et très peu initiée à la programmation.

Je souhaiterais réaliser une interaction assez simple, me semble t-il, mais je rencontre des problèmes de programmation.

Le projet est simple: l'utilisateur arrive sur une carte, où il y a plusieurs boutons. Chaque bouton, lorsque l'utilisateur clique dessus, doit lancer un clip compris entre 30s et 2min, pour l'instant stocké dans la bibliothèque (movie clip composé d'un défilement de photo avec un son d'ambiance). Il y a environs entre 5 et 10 clips, soit autant de boutons associés.

Le problème est que je n'arrive pas à affecter l'action aux boutons. Pour l'instant mon scénario ne contient qu'une frame puisque c'est la carte sur laquelle se balade l'utilisateur, avec les boutons.
Je ne sais pas s'il est possible de lire un clip depuis la bibliothèque, sinon comment faire en l'important dans la scène sans qu'il soit visible ni lancé, et que le clip ne se déclenche qu'au click sur le bouton?
Je ne trouve pas de fragments de codes as3 permettant cette action.

Je vous remercie pour votre aide,

Mo

4 réponses

mzelleflash Messages postés 48 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 1 novembre 2011
20 sept. 2011 à 18:25
Bonjour Monezka,

tu as plusieurs possibilités pour réaliser ce aue tu as décrit ci-dessus :
- tu peux placer tes clips sur la première image, mais en-dehors de la scène et modifier leur position lors du clic
(il faudra mettre un stop(); sur la première image de tes clips pour qu'ils ne se lancent pas automatiquement)
- tu peux faire en sorte que la première image de ton clip soit vide et mettre un stop(); sur cette image, et utiliser ensuite un gotoAndPlay(2); pour lire le clip (ça te permettra de les positionner directement au bon endroit)

Pour ce aui est de la détection du clip, je te conseille de te documenter sur les addEventListener et les MouseEvent.

J'espère t'avoir éclairée.

M'zelle Flash
0
monezka Messages postés 14 Date d'inscription mardi 20 septembre 2011 Statut Membre Dernière intervention 19 janvier 2012
21 sept. 2011 à 12:10
Bonjour M'zelle Flash,

Merci pour tes conseils, j'ai effectivement beaucoup mieux compris la détection avec les noms d'occurrence. j'ai opté pour la deuxième option, qui me semble plus pratique, mais il y a toujours quelque chose qui m'échappe, peut être pourras-tu m'éclairer encore...

C'est au niveau du scénario en lui-même, le fait qu'il y ait un scénario principal et que chaque clip ait son propre scénario.

Voilà ce que j'ai fait:
Dans mon scénario de clip, j'ai décalé le début du clip (les deux calques photo et son donc) à la seconde image. Sur la première image (nouveau calque action) j'ai mis un stop(), et j'ai rajouté un calque avec un bouton sur l'image1.
Ce qui fait que lorsque j'importe mon clip dans le scénario principal sur un nouveau calque et sur une image (la première du calque), l'occurrence de mon clip est représentée par ce bouton qui est présent sur la carte, j'ai nommé l'occurrence "clip1".
J'applique ensuite le code suivant au bouton (code sur le calque action du scénario principal et sur l'image1):

clip1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame_2);

function fl_ClickToGoToAndPlayFromFrame_2(event:MouseEvent):void
{
gotoAndPlay(2);
}

(fragment de code as3 permettant d'aller et lire à l'image suivante, nommée (2))

Lorsque je publie, le bouton est bien actif au survol, mais ne réagit pas au click, le clip n'apparaît pas.
Je me demande donc si il y a le lien entre le scénario principal et le scénario du clip? car j'ai l'impression qu'il ne se passe rien car il n'y a rien sur la deuxième image du scénario principal.

Je te remercie d'avance, et désolée pour mon manque d'expérience...

Mo
0
monezka Messages postés 14 Date d'inscription mardi 20 septembre 2011 Statut Membre Dernière intervention 19 janvier 2012
21 sept. 2011 à 12:24
Je viens d'y arriver en effectuant le même code mais à l'intérieur du clip.
ça avance...

Merci!
0
mzelleflash Messages postés 48 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 1 novembre 2011
21 sept. 2011 à 12:26
En effet, il ne se passe rien car lors du clic, tu demandes au bouton de lire la deuxième image de ton scénario principal, qui est vide. Or, tu veux lire la deuxième image de ton clip. Il faut donc utiliser clip1.gotoAndPlay(2); (ou event.currentTarget.goToAndPlay(2); si tu veux utiliser la même fonction pour plusieurs boutons).

Bon courage pour la suite!
M'zelle Flash
0