Rechercher : dans
Par :

Xml et flash

Dernière réponse le 1 mai 2008 à 14:29:04 Baboune17, le 15 jan 2008 à 14:59:02 
 Signaler ce message aux modérateurs

Bonjour,

Débutante en Flash, je souhaiterais avoir de l'aide. Voilà mon problème : j'ai un fichier xml (bien formé !) que je veux appeler en cliquant sur un bouton que j'ai crée dans ma scène. Le bouton a été testé (trace "coucou") et fonctionne.
Pas moyen de faire afficher les descriptions contenues dans mon fichier xml.

est ce que quelqu'un peut m'aider, merci d'avance

Meilleures réponses pour « xml et flash » dans :
Formater une carte mémoire flash VoirLes cartes mémoire flash doivent nécessairement être formatées avec le système de fichiers FAT16 pour pouvoir être utilisées par les périphériques (Appareil photo, PDA, téléphone, etc.). Or, pour des cartes mémoire de capacité supérieure à 32Mo,...
Installer Flash (SWF) dans Firefox VoirPar défaut, Firefox n'est pas fourni avec le plugin Flash, ce qui est gênant pour voir certains sites (comme YouTube par exemple). Voici comment procéder: Installation automatique Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et...
Installer Flash, Shockwave et autres dans PortableFirefox VoirVoici comment avoir les plugins Flash, Shockwave et autres dans PortableFirefox: 1. Prenez la version standard de Firefox et installez-la. 2. installez les plugins qui vous intéressent (Flash, Shockwave, QuickTime, etc.) 3. allez dans le...
Télécharger DriveImage XML VoirDriveImage XML est un programme permettant de faire des images du système (partitions et lecteurs logiques) à des fins de sauvegarde, à la manière de Norton Ghost. Ce programme permet : De créer des images des lecteurs logiques et des...
Introduction à XML VoirPrésentation de XML XML (entendez eXtensible Markup Language et traduisez Langage à balises étendu, ou Langage à balises extensible) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s'agit effectivement...
Mise en page de XML avec XSL VoirIntroduction à XSL XML est un langage de structuration des données, et non de représentation des données. Ainsi XSL (eXtensible StyleSheet Language) est un langage recommandé par le W3C pour effectuer la représentation des données de documents XML....
Carte mémoire (mémoire Flash) VoirIntroduction à la mémoire Flash La mémoire flash est une mémoire à semi-conducteurs, non volatile et réinscriptible, c'est-à-dire une mémoire possédant les caractéristiques d'une mémoire vive mais dont les données ne se volatilisent pas lors...

1

Max021, le 17 jan 2008 à 11:43:55

Salut Baboune,

Essaie la fonction "ToString()".
Pour plus de détails, regarde à cette adresse : http://www.flashkod.com/codes/NEWS-AVEC-FICHIER-XML_13673.aspx

A+

Répondre à Max021

2

Baboune17, le 17 jan 2008 à 12:25:41

Bonjour Max,
Merci d'avoir pris le temps de me répondre mais je ne comprends pas l'intérêt de la fonction ToString () dans mon script.
C'est un fichier xml que je souhaite appeler avec mon bouton pas une chaine de caractères. Peux tu être plus explicite ? Merci d'avance .
Voici mon script, si ça peut t'aider à le corriger...

/test de mon bouton
//quarantecm.onPress=function(){
//trace("vous avez cliqué sur moi");
//};

import mx.xpath.XPathAPI;

descriptif.text = "";

function descriptionCible(nomCible) {
var chemin = "/cibles/cible[@nom='"+nomCible+"']/description";
var noeud:XMLNode;

noeud = XPathAPI.selectSingleNode(cibles_xml.firstChild, chemin).firstChild.nodeValue;
return (noeud);
}

var cibles_xml:XML = new XML();
quarantecm.onPress=load("cibles.xml");
cibles_xml.ignoreWhite = true;
cibles_xml.load("arcs.xml");
cibles_xml.onLoad = function(success:Boolean) {
if (success) {
//trace("XML chargé");
gotoAndStop(2);
} else {
trace("Error loading XML");
}
};
stop();

Répondre à Baboune17

3

Max021, le 17 jan 2008 à 13:01:10

Quand tu dis que tu veux l'appeller, que veux tu dire par là ?
tu veux l'afficher à l'écran ? tu veux le charger ? ou autres ?

Max

Répondre à Max021

4

Baboune17, le 17 jan 2008 à 13:28:57

Quand je dis que je veux l'appeler, j'entends par là qu'en cliquant sur le bouton que j'ai crée sur la scène je veux charger le fichier xml, lequel s'affichera dans un cadre sur ma scène.

Baboune

Répondre à Baboune17

5

Max021, le 17 jan 2008 à 13:48:12

Merci pour ton explication, Baboune.
Si j'ai bien compris ton code : tu as plusieurs fichiers xml rangés dans des répertoires différents et tu souhaites appeler l'un d'entre eux avec ton bouton.
Ton bouton appelle la fonction descriptionCible(nomCible) et est sensé aller dans le bon répertoire et trouver le bon fichier xml, ensuite il doit le charger, et afficher le contenu.
D'après les informations que j'ai, ta fonction descriptionCible(nomCible) a l'air de coincer le tout.

Pourrais tu m'envoyer ton fichier xml pour que je le regarde de plus près ?

Répondre à Max021

6

Baboune17, le 17 jan 2008 à 14:00:37

Ce n'est pas tout à fait ça. sur ma scène j'ai plusieurs boutons : quarantecm, soixantecm, trispot, cible3D. Quand je clique sur chaque bouton, je souhaiterais que soit chargé le fichier xml et que dans ma scéne apparaissent les descriptions correspondant aux différentes cibles.
ex : en cliquant sur le bouton quarantecm devrait apparaître sur ma scène la description de cette cible.

Voici mon fichier xml :

Encore merci pour ton aide...

<?xml version="1.0" encoding="ISO-8859-1"?>
<cibles>

<cible nom="quarantecm">
<description> Le centre des cibles de quarante centimètres est à 1.60 m de hauteur par rapport au sol. Les distances de tir sont de 18 m (Fita),
15 m, 20m ou 25m (Field).
</description>
</cible>

<cible nom="soixantecm">
<description> Le centre des cibles de soixante centimètres est à 1.30 m de hauteur par rapport au sol. Les distances de tir sont de 25 m (Fita)
30 m, 35m ou 40m (Field).
</description>
</cible>

<cible nom="trispot">
<description> Le centre des cibles trispot est à 1,30 m du sol par rapport au centre du "jaune" du 2ème spot. Les distances de tir sont de 18 m ou de 25m.
</description>
</cible>

<cible nom="cible3D">
<description> Le Tir 3D se pratique sur un parcours naturel accidenté découvert ou boisé, en distances inconnues et dans un temps limité, soit de 20 cibles,
à effectuer 2 fois ; soit de 40 cibles, à effectuer 1 fois.
Les tireurs sont regroupés en pelotons comprenant entre 3 et 5 personnes, avec un chef de peloton.
Pour chaque cible du parcours, le pas de tir est matérialisé par des piquets de couleur correspondant aux diverses catégories, et que le tireur doit
toucher afin de tirer. Les distances de tir sont de 5 à 45 m pour les piquets rouges (arcs libres)et de 5m à 35 m pour les piquets bleus (autres
catégories).
</description>
</cible>

</cibles>

Répondre à Baboune17

7

Max021, le 17 jan 2008 à 14:04:24

Dans ton fichier xml, remplace la 1ere ligne :
<?xml version="1.0" encoding="ISO-8859-1"?>

par celle-ci :
<?xml version="1.0" encoding="UTF-8"?>

Ensuite, enregistre ton fichier en utf8 et reteste ton flash.

Max

Répondre à Max021

8

Baboune17, le 17 jan 2008 à 14:19:17

J'avais déjà essayé mais ça ne change rien...

Répondre à Baboune17

9

Max021, le 17 jan 2008 à 14:22:07

Peux tu m'envoyer ton fla pour que je le regarde de plus près ?

Répondre à Max021

10

Baboune17, le 17 jan 2008 à 14:36:02

Ce serait avec plaisir mais apparemment je ne peux envoyer une pièce jointe dans ce forum (suis peut être aveugle) et je ne connais pas ta messagerie perso...

Répondre à Baboune17

11

Baboune17, le 22 jan 2008 à 17:00:26

ça y est mon problème est résolu. merci pour ton aide.

La solution était la suivante, avec une bonne définition des différentes variables :

/*test de mon bouton
quarantecm.onPress=function(){
trace("vous avez cliqué sur moi");
};*/

import mx.xpath.XPathAPI;
zone.text = ""; // on définit la zone où devra se charger le fichier xml
// fonction pour naviguer dans XML, et qui retourne la description textuelle d'un arc
function descriptionCible(nomCible) {
var chemin = "/cibles/cible[@nom='"+nomCible+"']/description"; //on donne le chemin, dans le fichier xml, de l'info qu'on veut charger dans flash
var noeud:XMLNode;
// on cherche le noeud éventuel qui correspond. En théorie, une seul cible au maximum doit porter ce nom !
noeud = XPathAPI.selectSingleNode(proprieteCibles.firstChild, chemin).firstChild.nodeValue;
return (noeud);
}

//function decrire(Bouton, Textexml)
//{
var proprieteCibles:XML = new XML();
proprieteCibles.ignoreWhite = true;
proprieteCibles.load("cibles.xml");
proprieteCibles.onLoad = function(success) {
if (success) {
//boutonquarantecm.enabled = false;
// affiche les données de proprieteCibles
/* il faut que le "ignore white" soit sur "true" La valeur par défaut est false.
Lorsque le réglage est true, les nœuds de texte qui ne contiennent que des espaces
vierges sont supprimés au cours de l’analyse. Les nœuds de texte qui contiennent un
espace vierge avant ou après leur nom ne sont pas affectés.*/

}
else{"chargement impossible";
}
}

Répondre à Baboune17

12

 malik, le 1 mai 2008 à 14:29:04

Bonjour,
je veut ouvrir un fichier de type application windows (.exe) dans une fenetre crée enflash,
quel qun peut m'aider?
mercie

Répondre à malik