Bonjour,
Je suis chargée de gérer les communications d'un jeu, en as3. Du côté du serveur, il y a un fichier binaire contenant la configuration du jeu et d'autres variables contenant certaines informations pour le jeu ( volume, temps du jeu ... ). Ce découpage des informations n'est pas modifiable.
Le php lit le fichier binaire et fait un echo du fichier binaire et des variables.
Le flash doit les lire et les traiter.
Récupérer des variables, ça je sais faire, par contre, dès qu'il veut récupérer le ByteArray, le flash plante.
Voici ce que je fais :
Et dans ma fonction initLoaderSuccess, il y a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 var scriptRequest : URLRequest = new URLRequest( this._myServer + this._scriptInit ); // adresse vers le fichier php var scriptLoader : URLLoader = new URLLoader(); var scriptVars : URLVariables = new URLVariables(); scriptLoader.addEventListener( Event.COMPLETE , initLoaderSuccess ); // envoie de variables scriptVars.idplay = this._idPlay; scriptVars.securekey = this._secureKey; scriptRequest.method = URLRequestMethod.POST; scriptRequest.data = scriptVars; scriptLoader.dataFormat= URLLoaderDataFormat.VARIABLES; scriptLoader.load( scriptRequest );
Lorsqu'il arrive à la ligne, this._levelByte.writeUTFByte( returnVar.data.level ); , le flash s'arrête totalement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 var returnVar : URLVariables = e.currentTarget.data; // récupération d'une variable ex : this._volume = returnVar.volume; // récupération du binaire ( _levelByte est un ByteArray ): this._levelByte = new ByteArray(); this._levelByte.writeUTFByte( returnVar.data.level );
Je suis consciente qu'ici je mélange des VARS et du BINARY, mais est-ce possible de récupérer les variables au dataFormat VARIABLES et de transformer la variable level en ByteArray ?
Merci d'avance
Partager