Forums Développement Multimédia

Aller au contenu

- - - - -

problème de compteur

CODE

4 réponses à ce sujet

#1 danlebaudet

    Ceinture Blanche

  • Members
  • Pip
  • 6 messages

Posté 23 March 2014 - 18:34 PM

bonjour,

Je suis en train de coder un jeu flash d'objets cachés. Le début se passe bien mais j'ai un problème de compteur.

J'ai une base de donnees (bricabracachille) avec 4 champs :
ID
pseudo varchar 25
score int
allumettes int

un fichier php :

<?php
//Connexion à votre base de donnée
include("XXXXXXXXXXXXXXXXXXXX.php");

//Séléction des données souhaitées
$req = "SELECT * FROM bricabrac WHERE pseudo = '".$_POST["pseudo"]."' " ;
$result = mysql_query($req);
$data = mysql_fetch_assoc($result);/

/Traitement des données
$pseudo = $data['pseudo'];
$score = $data['score'];
$allumettes = $data['allumettes'];

//Renvoi les données sous la forme d'un fichier XML
header ("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
echo "<pseudo>";
echo "<score>$score</score>";
echo "<allumettes>$allumettes</allumettes>";
echo "</pseudo>";
?>
 

et un fla


//URL du fichier PHP
var fichierPHP:URLRequest = new URLRequest("http://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.php");

//Chargement du fichier
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
loader.load(fichierPHP);

//Traitement des données
function onLoaded(e:Event):void {

//Récupération des données du fichier XML
var xml:XML = new XML(e.target.data);

//Séparation des données par type
var data_score:XMLList=xml.score;
var data_allumettes:XMLList=xml.allumettes;
}
 

Jusque là, tout va bien. Je n'ai aucune erreur lorsque je teste le swf.
Mais j'ai besoin de créer un compteur qui va gérer l'affichage d'un clip "allumettes"


var compteurAllumettes:uint;
if(compteurAllumettes==0) {
addChild(allumettes);
}
 


Or, au lancement du jeu, je voudrais que mon compteurAllumettes est la valeur de mon $allumettes qui égale $data['allumettes'] provenant des données de la BDD.

Quelqu'un pourrait-il me donner un conseil car, là, je n'y arrive vraiment pas.

Merci d'avance et bonne soirée

#2 Jano 95

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 4558 messages

Posté 23 March 2014 - 19:52 PM

Salut.

Je verrai un truc tout simple:

function onLoaded(e:Event):void {
//Récupération des données du fichier XML
var xml:XML = new XML(e.target.data);
//Séparation des données par type
var data_score:XMLList=xml.score;
var data_allumettes:XMLList=xml.allumettes;
}
var compteurAllumettes:Number = data_allumettes;
 


#3 danlebaudet

    Ceinture Blanche

  • Members
  • Pip
  • 6 messages

Posté 24 March 2014 - 07:10 AM

Merci Jano 95.

J'avais essayé mais cela me retournait l'erreur :
1067: Contrainte implicite d'une valeur du type XMLList vers un type sans rapport int.

Or, il semble qu'en faisant comme ceci, ça fonctionne, la méthode toString() permettant de convertir toute variable en chaîne de caractères .:

var compteurAllumettes:int = data_allumettes.toString();
 


Je vais tester.

#4 paodao

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 7081 messages

Posté 24 March 2014 - 09:56 AM

salut

lorque tu fait
var data_allumettes:XMLList=xml.allumettes
tu recupere un objet de type XMLList
si ton xml n'a qu'un seulnode <allumettes> ta liste a une taille de 1
pour convertir la valeur en int tu peux faire
var plop:int = int(xml.allumettes[0])

tu cible l'objet 0 dans la liste

a+

#5 danlebaudet

    Ceinture Blanche

  • Members
  • Pip
  • 6 messages

Posté 24 March 2014 - 11:50 AM

Merci paodao.
Tous les conseils sont bons à prendre. Je vais voir cela de très près.
L'as3, c'est pas si facile. Mais, à petits pas(normal pour une grand-mère) , j'avance quand même..




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)