Salut,

J'ai trouvé d'où provient le problème.

En AS3, sur un exemple simple.
Un movieclip dans la bibliothèque nommé ToolTip (exportable).

var clazz:Class = getDefinitionByName("ToolTip") as Class ;
var mcToolTip : MovieClip = Reflection.invokeClass(clazz, []) as 
MovieClip;  // provient du framework vegas d'ekameleon

this.addChild(mcToolTip );

var nSpace9Grid : uint = 15;
Scale9Helper.setScaleGrid(mcToolTip, nSpace9Grid);
Scale9Helper.showScaleGrid(mcToolTip);
_oLogger.debug("scale9Grid ok");
           
mcToolTip.width = 80;
mcToolTip.height = 270;

Dans ce cas la tout fonctionne.

Si à la place, j'utilise un movieclip nommé ToolTipEffect (exportable) 
mais avec un movieclip à l'intérieur (nommé back).
Le scale9grid ne fonctionne pas directement sur ToolTipEffect.
Il faut le cibler sur le clip enfant directement donc ToolTipEffect.link

Ce qui donne :

var clazz:Class = getDefinitionByName("ToolTipEffect") as Class ;
var mcToolTip : MovieClip = Reflection.invokeClass(clazz, []) as 
MovieClip;   

this.addChild(mcToolTip );

var nSpace9Grid : uint = 15;
Scale9Helper.setScaleGrid(mcToolTip.back as MovieClip, nSpace9Grid);
Scale9Helper.showScaleGrid(mcToolTip.back as MovieClip);
_oLogger.debug("scale9Grid ok");
           
mcToolTip.back.width = 80;
mcToolTip.back.height = 270;

Et la scale9grid fonctionne.

Apparemment, en AS3 pour un scale9grid, il faut toujours cibler le 
movieclip enfant directement. Alors qu'en AS2, cela fonctionnait 
directement sur le movieclip père.
Il faut que je modifie quelques unes de mes classes en conséquence.


Matthieu
www.delfiweb.com

ekameleon a écrit :
> Hello :)
>
> Tu peux nous faire un petit bout de code pour tester ? sinon tu 
> utilises quelle version du player et sur quel OS ?
>
> EKA + :)
>
> Le 17 mars 2009 18:44, Matthieu <[email protected] 
> <mailto:[email protected]>> a écrit :
>
>
>     Salut,
>
>     Je rencontre un bug assez bizarre avec la fonction as3 scale9grid.
>
>     Je l'utilise tout simplement sur un movieclip. Ce movie clip est créé
>     par mon framework de classe dans une classe héritant de sprite.
>
>     var r : Rectangle = new Rectangle(nX,nY,nWitdh,nHeight); // variables
>     définies par la classe elle même
>     mcBase.scale9Grid = r;
>     oLogger.debug("scale9grid ok");
>
>     La ligne de debug ne s'affiche jamais.
>     Le flash se compile sans erreur avec fdt player 10.
>
>     Par contre, le scale9grid ne s'applique pas.
>
>     J'ai également essayer la classe Scale9Helper de
>     http://blog.rackdoll.nl/?p=272
>     pour visualiser le scale9grid de ma forme, rien ne s'affiche.
>
>     Suis je le seul à rencontrer ce bug ? Ou j'utilise mal cette
>     fonction ?
>
>     Le movieclip pour le scale9grid est une forme classique effectuée dans
>     flash cs4.
>
>     Matthieu
>     www.delfiweb.com <http://www.delfiweb.com>
>
>
>
> >

-- 

Observez, Partagez, Réagissez sur www.InfosLibres.fr 
<http://www.InfosLibres.fr>
RSS : S'abonner au flux RSS http://www.infoslibres.fr/feed/
Newsletter : Recevoir les articles par email 
http://www.infoslibres.fr/phpmynewsletter/index.php


--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à