Chargement de variables externes avec loadvars simplement

Soyez le premier à donner votre avis sur cette source.

Vue 13 393 fois - Téléchargée 2 395 fois

Description

Voila une source simple destiné à comprendre l'utilisation de LoadVars.
Cette source vous montre :
1) dans le fla :
comment charger et afficher des données externes d'un fichier texte, en testant les erreurs possibles et autres...
2) dans le fichier txt join (LoadVars très simplement.txt) :
comment créer un LoadVars le plus simplement possible avec le minimum de code.

Le fla est dispo en deux version :
-Flash CS3 (9)
-Flash 8

Source / Exemple :


voir le zip (fla et txt)
fla -> étudié plus profondément que dans le txt

Conclusion :


Charger des variables depuis un fichier txt est rapide, et peut être très utilise pour pas exemple charger les scores d'un jeux Flash...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009

Tu dis n'importe quoi.
Déjà je n'ai pas fait d'erreur. Ensuite tu viens de poster un code complètement HS : J'ai dis dans mon message précèdent que Loader et URLLoader étaient bien différents. Tu viens d'utiliser Loader qui est un élément graphique permettant de charger des swf, images et de les afficher à l'écran... J'ai utilisé, et c'est ce que tu dois faire, un objet URLLoader, qui te permet de charger du contenu sous forme de texte, variables, ou binaire via des BytesArrays, dans ton cas c'est le mode texte (par Default) dont tu a besoin.

Stef.
Messages postés
8
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
10 octobre 2009

Salut Stef,

Merci pour l'aide, ça m'a aidé à m'y mettre, du coup j'ai regardé les sources par ci par là car je captais pas trop ou tu t'étais gourré, j'suis arrivé à un exemple qui semble "pro" mais qui fonctionne pas du tout.

La raison essentielle est qu'il semblerait que cette méthode ne fonctionne que pour les bitmap, en fait il me donne la même erreur que si je tentais de charger un pdf :

[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2124: Le type du fichier chargé est inconnu. URL: file:///C|/SITE/HKStudio/about.txt"]

Voici mon code, j'ai l'impression qu'il me faut une autre méthode pour charger du simple txt.

import flash.net.*;
import flash.events.Event;

// création du chargeur
var chargeur:Loader = new Loader();
// référence à l'objet LoaderInfo
var cli:LoaderInfo = chargeur.contentLoaderInfo;
// écoute des événements liés au chargement
cli.addEventListener( Event.OPEN, debutChargement );
cli.addEventListener( Event.INIT, initialisation );
cli.addEventListener( ProgressEvent.PROGRESS, chargement );
cli.addEventListener( Event.COMPLETE, chargementTermine );
cli.addEventListener( IOErrorEvent.IO_ERROR, echecChargement );
cli.addEventListener( HTTPStatusEvent.HTTP_STATUS, echecHTTP );
cli.addEventListener( Event.UNLOAD, suppressionContenu );
// url à atteindre
var maRequete:URLRequest = new URLRequest("about.txt");
//var maRequete:URLRequest = new URLRequest("http://www.reekoch.org/hkagency/about.txt");

// chargement du contenu
chargeur.load(maRequete);

function contenuCharge( pEvt:Event ):void {
trace( pEvt );
}
// ajout à la liste d'affichage
addChild( chargeur );
function debutChargement( pEvt:Event ):void {
// affiche : [Event type="open" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}
function initialisation( pEvt:Event ):void {
// affiche : [Event type="init" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}
function chargement( pEvt:ProgressEvent ):void {
// affiche : [ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=5696]
trace( pEvt );
}
function chargementTermine( pEvt:Event ):void {
// affiche : [Event type="complete" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}
function echecChargement( pEvt:IOErrorEvent ):void {

trace( pEvt );
}
function echecHTTP( pEvt:HTTPStatusEvent ):void {
trace( pEvt );
}
function suppressionContenu( pEvt:Event ):void {
// affiche : [Event type="unload" bubbles=false cancelable=false eventPhase=2]
trace( pEvt );
}
Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009

Juste : je me suis trompé pour la ligne de l'écouteur d'évènement, c'est loader.addEventListener(...) et pas url.contentLoaderInfo.addEventListener(...) (double faute : j'ai tapé url par inattention au lieu de loader + j'ai confondus Loader et URLLoader :D )

Voila ;)
Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009

Pour ce qui est de l'AS3:

import flash.net.*;
import flash.events.Event;

var loader:URLLoader=new URLLoader();
var url:ULRequest=new URLRequest("about.txt");
url.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
loader.load(url);

function onLoaded(e:Event):void {

trace(e.target.data);
//affiche ton fichier txt en console de sortie

}
Messages postés
8
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
10 octobre 2009

Merci de ta réponse, j'ai tout essayé et j'avais lancé un autre post ici : http://www.flashkod.com/forum/sujet-PROBLEME-LOADVAR-20-VIA-FICHIER-TXT_1363660.aspx#6

J'ai même téléchargé PSpad spécialement pour re-encoder mes fichiers txt. J'y ai cru, mais rien à faire. J'utilise effectivement de l'as2 j'ai beau changer la version du player rien n'y fait. Je pense que ça viens de la variable puis que j'ai du code qui apparait, ça m'aiderai au moins de savoir si ce code fonctionne chez vous si quelqu'un peu l'essayer.

Si ya une version relativement simple et compréhensive en AS3 j'suis preneur, j'ai tenté de m'y mettre mais c'est vraiment un autre monde pour le moment j'trouve.

Du coup j'ai opté passagèrement pour la version Flash6 AS1 avec un vieux loadVariableNum("","") Bon ça a l'avantage de fonctionner.

Voilà merci pour l'aide en tout cas.

archy
Afficher les 23 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.