Hello :)
Pour utiliser la méthode statique d'une classe tu as plusieurs
solutions mais dans l'IoC directement il est préférable de créer une
définition d'objet avec la stratégie "factoryValue" (lire la
documentation à ce sujet)
Tu peux avec eden + définition d'objet obtenir la définition
suivante :
{
id : "logo_align" ,
type : "Class" ,
factoryValue : pegas.display.DisplayObjects , // use eden to find
the reference of the class
properties :
[
{ name : "align" , arguments : [ { ref : "logo" } , { ref :
"display" } , { value : pegas.draw.Align.BOTTOM } ] }
]
}
A tester... note bien que j'utilise les chemins complets pour les
objets dans eden, comme pour l'énumération pegas.draw.Align.BOTTOM
Donc ensuite il suffit dand ta définition d'objet "wallpaper" de
taper :
{
id : "wallpaper" ,
type : "flash.display.Sprite" ,
lazyInit : true,
singleton : true ,
generates : [ "logo_align" ] ,
properties :
[
{ name:"addChild" , arguments : [ { ref:"logo" } ] },
]
}
Avec le "generates" quand ta définition d'objet sera appelée pour la
première fois cela va attacher le logo dans le wallpaper et ensuite
cela va lancer tout seul la fonction...
Bon j'ai pas testé le code ci-dessus mais cela devrait être bon .. à
voir donc si cela fonctionne.. si tu n'y arrives pas n'hésites pas à
me faire un petit test dans un zip avec tout ce qu'il faut pour
essayer la base de ton exemple ci-dessus et je me ferais un plaisir de
voir ce qui peut être fait.
A noter que je dois implémenter dans l'avenir des layouts intégrés à
certaines vues pour simplifier ce genre de problèmatique.
A noter aussi que je te conseille d'utiliser la classe Background pour
créer des displays principaux en IoC .. la classe Background est très
souple et permet de contrôler vraiment les éléments graphiques (un peu
comme les DIVs en HTML)
Je te conseille de lire le tutoriel sur le sujet et d'en abuser dans
toutes tes applications (regarde les exemples dans AST'r, tu vas voir
que beaucoup de classes héritent de Background ou sinon que j'utilise
des Background directement dans l'IoC)
http://www.ekameleon.net/blog/index.php?post/2009/04/30/La-classe-asgarddisplayBackground
PS : Pour les corrections merci mais n'hésite pas à ouvrir un autre
message la prochaine fois ou pense à mes issues sur Google Code ;)
C'est plus simple à gérer d'ouvrir une issue par problème pour que je
les fixe rapidement ;)
J'ai déjà commencé un peu le refactoring des tutoriels mais je dois
continuer merci ;)
EKA+ :)
On 12 août, 16:14, ths otra <
ths.o...@gmail.com> wrote:
> Bonjour !
>
> J'avance petit à petit dans la découverte de la fabrique iOc, ça demande un
> peu de transpiration mais, avant de poser ma question, je tenais à dire que
> c'est vraiment extraordinaire ... et cela vient quand même plus
> intuitivement que je pensai.
>
> En partant du modéle astro que je triture dans tous les sens, j'aimerai
> rajouter un logo (png) en fond. Donc, dans le fichier eden
> /context/application.eden dans l'import j'ajoute:
> {
> id : "logo" ,
> resource : "images/image_de_fond.png" ,
> type : "assembly" ,
> definition : { type : "flash.display.Bitmap" }
>
> }
>
> Jusqu'ici tout va bien.
>
> Ensuite, j'ajoute l'objet *wallpaper * de type CoreSprite.
> *
http://docs.google.com/Doc?id=dfd9s8cg_27c5s2pwkd
> avant de la supprimer la référence dans le cache
> --> deviendrait: avant de supprimer la référence dans le cache
>
> *
http://docs.google.com/Doc?id=dfd9s8cg_27c5s2pwkd
> Erreur de lien vers: Identifiable
> --> Dans cet exemple la classe andromeda.vo.NetServerInfoVO implémente
> l'interface [ vegas.core.Identifiable ].
>
> *
http://docs.google.com/Doc?id=dfd9s8cg_27c5s2pwkd
> erreur de nom: import vegas.core.ILockable;
> --> import system.process.Lockable;
>
> *
http://docs.google.com/Doc?id=dfd9s8cg_27c5s2pwkd
> ses méthode
> --> ses méthodes
>
> *
http://docs.google.com/Doc?id=dfd9s8cg_27c5s2pwkd
> correctement le nouveau objet.
> --> correctement le nouvel objet ?
>
> nouveau objet
> --> nouvel objet ?
>
> *
http://docs.google.com/Doc?id=dfd9s8cg_27c5s2pwkd