Importation dynamique de librairie partagée

Importation dynamique de librairie partagée - Flash/ActionScript - Programmation

Marsh Posté le 12-11-2006 à 13:05:10    

Bonjour,
 
Afin d'alléger et simplifier mon application Flash, je souhaiterais utiliser dynamiquement la librairie partagée. En fait mon application crée une carte avec des textures qui sont propres à cette même carte. J'ai donc pensé à séparer dans des .swf les textures propres à chaque carte afin de charger celle qui sera paramétrée au chargement du .swf principal. Hors je ne vois pas comment intégrer une librairie partagée dynamiquement ... Les infos que j'ai trouvées expliquent seulement comment intégrer une librairie partagée manuellement ...
 
Y'a t-il une solution ? (j'espère que oui  :sweat: )
 
Merci !

Reply

Marsh Posté le 12-11-2006 à 13:05:10   

Reply

Marsh Posté le 12-11-2006 à 17:44:06    

généralement, pour charger une planche de sprites, on fait un loadMovie et des duplicate. c'est moins clean que les runtime-shared libraries, mais il y a un gros avantage : ça fonctionne.

Reply

Marsh Posté le 12-11-2006 à 17:53:13    

Tu pourrais me donner un exemple SVP ?
 
En fait là je tente de mettre en place des bibliothèques partagées mais les sprites ne s'affichent pas c'est désespérant ...  
 
J'ai pourtant fait exactement ce qui est indiqué dans cette page :
 
http://www.roikku.com/ressources_f [...] tage.shtml
 
Mais si tu as une technique pour charger un movieclip contenant des sprites dynamiquement je suis preneur !

Reply

Marsh Posté le 12-11-2006 à 19:17:36    

Citation :

si tu as une technique pour charger un movieclip contenant des sprites dynamiquement


 
euh...un loadMovie, c'est écrit au-dessus.

Reply

Marsh Posté le 12-11-2006 à 19:25:11    

Oui mais tu peux pas me décrire un plus ce qu'il faudrait faire ? Car là ça reste flou quant à l'utilisation des duplicate ...

Reply

Marsh Posté le 12-11-2006 à 20:05:09    

tu créées ton appli,
tu créées ta planche de sprites,  
tu loades ta planche dans ton appli, avec ce que tu veux (un loadMovie, un MCL, etc.)
tu dupliques tes sprites, avec un duplicateMovieClip.
 
je vois pas trop comment être plus précis ?!

Reply

Marsh Posté le 13-11-2006 à 00:11:11    

Le problème c'est qu'on ne peut pas utiliser duplicate après un loadMovie ou un MCL  :sweat: :
 

Citation :

duplicateMovieClip (méthode MovieClip.duplicateMovieClip)
public duplicateMovieClip(name:String, depth:Number, [initObject:Object]) : MovieClip

Crée une occurrence du clip spécifié lors de la lecture du fichier SWF. La lecture des clips dupliqués commence toujours à l'image 1, quelle que soit l'image dans laquelle se trouve le clip initial lorsque vous appelez la méthode duplicateMovieClip(). Les variables du clip parent ne sont pas copiées dans le clip dupliqué. Les clips créés avec la méthode duplicateMovieClip() ne sont pas dupliqués si vous appelez la méthode duplicateMovieClip() sur leur parent. Si le clip parent est supprimé, le clip dupliqué l'est également. Si vous avez chargé un clip via la classe MovieClip.loadMovie() ou le MovieClipLoader, le contenu du fichier SWF n'est pas dupliqué. Cela signifie que vous ne pouvez pas économiser de la bande passante en chargeant un fichier JPEG, GIF, PNG ou SWF, puis en dupliquant le clip.

Reply

Marsh Posté le 13-11-2006 à 12:12:23    

Finalement j'ai réussi à utiliser les librairies partagées (ca marchait pas à cause d'une erreur de manip ...). Je sais pas si c'est la meilleure solution mais bon ...
 
Par contre j'ai une petite question. Pour lier les .swf externes servant de librairies au .swf principal on crée des liens sous forme de movieClip dans les librairies. Mais lors du chargement du.swf principal, est-ce que l'appli charge seulement les movieClip servant de liaison ou également tous les movieClip présents dans les librairies ?

Reply

Marsh Posté le 13-11-2006 à 19:59:11    

le duplicateMovie fonctionne dans ces cas de figure, tu fais un contresens sur ta citation : on ne peux pas dupliquer le clip "racine" du SWF loadé, mais tout ce qui a dedans, c'est OK.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed