Forums Développement Multimédia

Aller au contenu

Problème de swf utilisé en tant que icône

CMS Silex

5 réponses à ce sujet

#1

  • Guests

Posté 05 May 2010 - 11:37 AM

Bonjour, bonjour,

J'ai créé un swf (il est bien du type : *.cmp.swf),pour avoir une animation et un label modifiable par l'utilisateur.

Le problème : Mon animation fonctionne parfaitement, le label est bien modifiable, mais, quand je déclare le média en icône et lui spécifie une page, un clic sur celui-ci n'ouvre pas de page. pour pallier le problème je lui ai mis une une action open à l'évènement onRelease : l'action n'est pas effective (en réalité aucune action ne s'exécute au onRelease.

Mon fichier fla :
sur la scène n'est placé que le main qui est associé à la classe LabelButtonBase (utilisée pour avoir la possibilité de changer le label depuis l'interface silex, au même titre que le label_button) dans le main se trouve le texte dynamique et un clip qui est mon animation. J'ai dans le main un calque avec des actions qui servent à mon animation :
Code: Tout sélectionner
anim.onRollOver = function (  )
{
   anim.play();
};

anim.onRollOut = function (  )
{
   anim.stop();
}


Ce n'est pas l'animation en elle-même qui empêche d'autres actions (via la boîte à outils action) dans silex (j'ai testé mon média sans animation et sans action interne au swf).

Je ne comprends donc pas ce qui empêche mon swf d'être une icône fonctionnelle :S ...

Si quelqu'un voit le pépin à côté duquel je suis passée, je suis preneuse parce que là, je bloque!

Merci d'avance.

#2 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 06 May 2010 - 16:07 PM

Salut
Peux tu poster ton fla stp ? et le .as si il y en a un

et fais attention aux "onRelease" car si silex essaie d'utiliser la meme chose sur le meme clip, ca va chier... c'est l'avantage des addEventListener de l'AS3. si c'est ca, saches qu'il vaut mieux surdéfinir la classe de base du bouton et ajouter ton code à la callback que silex appelle sur le onRelease

a+

#3

  • Guests

Posté 06 May 2010 - 20:12 PM

Salut,

Voilà mon fla. Je n'ai pas utilisé de classe spécifique, mon main est associé à LabelbuttonBase.as.

Ok pour le onRelease, mais vue que dans mon code flash il n'y en a pas, ça ne devrait pas faire de conflit avec silex quand lui l'utilise pour m'emmener sur la nouvelle page/calque...non?!

Enfin, je te laisse y jeter un coup d'œil si tu as deux minutes...

Merci!

#4 _lex

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 1016 messages

Posté 07 May 2010 - 00:28 AM

ok alors de mémoire il y avait un "bg_btn" dans le label button non?
c'est la dessus que silex attache le onRelease etc

donc il faut que tu le remettes, meme si il est vide, sinon le bouton n'est plus clickable
tu devrais lire attentivement la classe LabelbuttonBase pour voir ce dont je parle

pour faire que tu veux, il te faut dériver la classe LabelbuttonBase et dans ta nouvelle classe (que tu lies à main), tu surdéfinis les méthodes _onRollOut et _onRollOver, et éventuellement _onRelease et _onPress

dans ton cas a mon avis ca donne :
Code: Tout sélectionner
class LabelButtonWithAnim extends org.silex.ui.components.buttons.LabelButtonBase {
   function _onRollOut(){
      super._onRollOut();
      anim.stop();
   }
   function _onRollOver(){
      super._onRollOver();
      anim.play();
   }
}


#5

  • Guests

Posté 07 May 2010 - 01:04 AM

Effectivement, à l'origine le bouton a bien un "bg_mc" .....que moi je n'ai plus! argh :S
OK je comprends la grosse erreur de ma part!

Sinon pour les fonctions, ok je vois très bien. Mais du coup, question :

Pourquoi créer une classe dérivée de labelButtonBase plutôt que de le mettre en action sur une frame du clip main? Parce que que je surdéfinise les fonctions que je les fasse appeler de la frame directement ou via la classe appliquée au main...
NB :ce n'est pas par fainéantise, mais par soucis d'économie de fichier ;)

En tout les cas c'est sûrement à cause du calque que j'ai fait sauté que j'ai des soucis, forcément! Je corrige cette cacahuète dès demain matin et je poste un "youpi" si le problème est réglé!

Merci beaucoup d'avoir mis le doigt sur mon erreur!

#6

  • Guests

Posté 07 May 2010 - 12:42 PM

Après avoir eu mille et un problèmes (bouton cliquable mais plus d'animation, bouton cliquable mais survol de l'animation opérationnel que là où le bg_mc n'était pas et j'en passe et des meilleurs...).
Et aussi, je n'ai pas compris pourquoi quand j'ai défini ma classe LabelButtonAnim il ne reconnaissait pas le clip "anim" dont l'occurrence était "anim"...

Bref, j'ai finalement décidé de remettre les choses à plat :

J'ai repris un label button tout simple et j'ai mis mon animation sur l'état "dessus" du bouton. Et voilà ça marche très bien comme ça (même si je perds le petit effet qui me plaisait de l'animation qui se stoppe en cours de route :( !)

Solution alternative assez simple.


Je suis quand même intriguée par le fait que mon truc ne marchait pas alors j'ai gardé tous mes fichiers et quand j'aurais plus de temps je m'y re-pencherai : je ne peux pas laisser ce mystère planer.

Affaire à suivre donc ...



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

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