c'est normal, je vois pas où est le bug

comme dit eka, les flashvars sont passés dans la requette URL (GET ou
POST)
donc normal que le loadbyte ne gere pas ca

maintenant, pour passer des params avec un loadbytes, tu as pas besoin
de flashvars :)

en gros tu as ca
----
var loader:Loader = new Loader();
    loader.loadBytes( bytes );
----

des que les bytes sont chargés tu peux acceder au loader.content
et prendre le control de l'object, et par exemple appeler une fonction
dessus

file.bin
----
package
{
   //class principale
   public class test extends MovieClip
   {

       public function init( params:Object ):void
       {
       //...
       }

   }
}
----


dans ton code
----
var bytes:ByteArray; //ton file.bin
var loader:Loader = new Loader();
    loader.loadBytes( bytes );

//recupe le Event.COMPLETE ou dans le genre
var mc:MovieClip = loader.content;
    mc.init( {a:1, b:2} );
----

de tete, pas tout verifié, mais j'ai deja fait fonctionné un truc dans
le genre ;)

en bonus, tu peux aussi partager une interface (entre le loader et le
loadé)

----
package
{
    public interface Toto
    {
        function init( params:Object ):void;
    }
}
----

----
package
{
   //class principale
   public class test extends MovieClip implements Toto
   {

       public function init( params:Object ):void
       {
       //...
       }

   }
}
----

et normalement un cast sur l'interface devrait marcher
----
var toto:Toto = Toto(loader.content)
----


autre truc a savoir en utilisant loadBytes
http://code.google.com/p/maashaack/wiki/ApplicationDomain

c'est que tu fais tu import loading, en gros c'est comme si le code
contenu dans ton bytes
était au meme niveau qu'un import dans ton root SWF (dans le
application domain current)

donc gaffe a ce que ton root SWF ne definit pas deja une classe que tu
veux utiliser
depuis le bytes (cad contenu et defini dans le bytes)

gaffe aussi où tu tests, un import loading ca ne marche pas si les
security domain sont differents
(cad ton root swf est sur ta machine locale et tu load depuis un ip/
domain non-local)


et si tu utilises loadBytes parce que en gros ton but est de loadé un
SWF encrypté/obfusqué/etc.
en fait vérifie bien que ta decryption fonctionne, sinon heures de
galeres a debugguer ;)

zwetan

--

Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG.
Pour envoyer un message à ce groupe, adressez un e-mail à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/fcng?hl=fr


Répondre à