Forums Développement Multimédia

Aller au contenu

Interactions Silex/custom animation

CMS Silex

8 réponses à ce sujet

#1 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 12 January 2010 - 12:59 PM

Bonjour,

J'aimerais créer une animation flash toute simple mais qui soit capable de recevoir des paramètres à partir de Silex, par exemple via un champ action :
Code: Tout sélectionner
onRelease MonAnimation.parametreEntree=15


Je suppose qu'il va falloir créer un "composant" (un fichier .fla qui référence éventuellement une classe action script ayant des getter/setter ?).

Pourriez-vous me donner les guidelines à suivre me permettant de réaliser cela ? (je pense que ça ferait un tuto intéressant d'ailleurs ^^...)

Merci d'avance.

?abojad

#2 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 13 January 2010 - 17:22 PM

salut

tu peux en effet faire un composant. je te laisse voir comment un composant silex est définit dans cette discussion
En particulier :
=> des parametres peuvent etre entrés par l'utilisateur dans la boite a outils "proprietes"
=> ils se placent dans la bibli comme des medias
=> ce sont juste des swf nommé *.cmp.swf et ils doivent contenir un seul clip appelé "main" sur la scène (qui peut lui meme contenir d autres clips) et ce clip "racine" doit etre associé à une classe AS2 qui dérive de la classe org.silex.ui.components.UiBase
=> des exemples dans le package dev-kit telechargeable sur silex-ria.org


tu peux aussi simplement faire ton anim normalement (mais en mode AS2), avec une extension normale (.swf). tu la place sur la scene, tu la nomme dans silex et elle est alors accessible comme ceci : nomDuPlayerDansSilex.contenerVide_mc
Quelques exemples de codes aue tu peux mettre sur un bouton :
Code: Tout sélectionner
onRelease nomDuPlayerDansSilex.contenerVide_mc.play

> mets l'anim sur play
Code: Tout sélectionner
onRelease nomDuPlayerDansSilex.contenerVide_mc.stop

> mets l'anim sur stop
Code: Tout sélectionner
onRelease nomDuPlayerDansSilex.contenerVide_mc.gotoAndStop:25

> mets l'anim sur stop à l'image 25
...
en fait l'interpreteur silex te permet d'utiliser les variables actionscript et d'appeler les fonctions aussi, en plus de celle de l'interpreteur

je te conseille aussi de jetter un coup d'oeuil à la doc tres minimaliste sur l'api silex, ici

#3 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 21 January 2010 - 11:09 AM

Hello,

Encore merci pour ta réactivité lexa.

J'ai implémenté mon composant en le faisant hériter de org.silex.ui.UiBase.

L'appel aux fonctions qu'il contient fonctionne correctement à partir de Silex.

Je rencontre cependant un problème avec les tweens (mx.transitions.Tween) que j'utilise dans mon composant : dans Silex, ils ne semblent pas s'exécuter, alors que dans Flash ils s'exécutent correctement.

Y a t-il une manipulation particulière à effectuer pour que les tweens fonctionnent aussi dans Silex ?

J'ai vu dans cette discussion que beben160 rencontrait également un problème avec les tweens sous Silex qu'il a contourné en décochant l'option "clickable" de son composant. Mais ça n'est pas applicable dans mon cas car j'hérite directement de org.silex.ui.UiBase et non de org.silex.ui.components.ComponentAnimated.

A moins que dans mon cas, je devrais justement faire hériter mon animation de org.silex.ui.components.ComponentAnimated ?

?abojad.

#4

  • Guests

Posté 21 January 2010 - 16:40 PM

Salut Zabojad,
As-tu vu qu'il y a un exemple de composants à base de tweens dans le dev kit?
jette un oeil à 3dscene.cmp.fla dans silex_dev_kit-v1.5.3\components\3d logo

Tu es en effet parti d'un peu bas en héritant de UiBase. Avec ComponentAnimated, ça marchera.

#5 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 21 January 2010 - 20:34 PM

Salut pgu001,

Merci pour ta réponse.

Mon problème était que je ne récupérais pas les MovieClip de la bonne façon dans ma classe AS associée...

Je faisais :

var monClip:MovieClip;
monClip = _level0.main.monClip;

au lieu de simplement :

var monClip:MovieClip;

"monClip" étant un movie clip déjà existant dans le clip main du .fla associé.

Du coup, aucun tween sur mes movie clips ne fonctionnait...

a+

?abojad

#6 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 02 February 2010 - 09:12 AM

Salut,

Est-il possible de passer plusieurs paramètres à une fonction d'un composant via l'interpréteur de Silex ?

Par exemple :

Code: Tout sélectionner
onRelease monComposant.fonction(54,24)


Si oui, quelle est la syntaxe ?

Merci d'avance.

?abojad

#7 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 03 February 2010 - 13:54 PM

Hello,

Juste au cas où, je relance la question... Personne n'a la réponse, vraiment ?

?abojad.

#8 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 03 February 2010 - 14:52 PM

si c est possible :)
Code: Tout sélectionner
onRelease monComposant.fonction:54,24


#9 Żabojad

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 114 messages

Posté 03 February 2010 - 14:57 PM

It works :) !!!

Encore merci lexa !



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP