DETECTEUR AUTOMATIQUE DE MEDIA AS3 - AS2

cs_Girou
Messages postés
1203
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
- 5 sept. 2008 à 09:30
pegase31
Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
- 5 sept. 2008 à 14:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47873-detecteur-automatique-de-media-as3-as2

pegase31
Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
11
5 sept. 2008 à 14:16
ben le XML reste une base de donnée très accessible .. je m'en sert aussi pour les décors de jeux ...:p

Peg'
cs_ourso
Messages postés
92
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
5 décembre 2010

5 sept. 2008 à 13:57
je n'ai qu'un mot à dire : Brillant !
cs_Girou
Messages postés
1203
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
5 sept. 2008 à 13:45
Pour ceux que cela intéresse, la traduction en AS2 de la fonction proposée par Pegase31 donne ceci :

import mx.xpath.XPathAPI;

var data:XML = new XML('<main><media ext="jpg" type="image"/><media ext="jpeg" type="image"/><media ext="png" type="image"/><media ext="flv" type="video"/><media ext="ai" type="null"/><media ext="pdf" type="download_file"/><media ext="mp3" type="musique"/></main>')

function mediaSetter(label:String):String {
var ext:String = label.split(".").pop().toLowerCase();
return(XPathAPI.selectSingleNode(data.firstChild, "/main/media[@ext='"+ext+"']").attributes.type);
}

L'utilisation du XML est une très bonne chose -> possible de charger dynamiquement la liste (donc pas besoin de recompiler si elle évolue) et dans ton idée de base de lancer le lecteur approprié, si celui-ci est aussi défini dans le xml, ou plus simplement défini en fonction du type de media (image -> image.swf) en chargeant dans un container le lecteur swf externe approprié on obtient une solution polyvalente et fortement evolutive sans toucher à l'animation de base.

function loadContent(_lien:String){
var lecteur:String=mediaSetter(_lien)
lecteur+=".swf?_media="+lien;
_container.loadMovie(lecteur)
}

Avantage de la méthode, il suffit d'adapter le XML et de créer les lecteurs 'externes'

@+
Girou
cs_ourso
Messages postés
92
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
5 décembre 2010

5 sept. 2008 à 13:13
Oui c'est une bonne idée.
Je me suis penché mais pas assez sur l'XML dans as3... juste le loading et le parsage des infos...mais je dois pour mon dev recupérer un flux rss qui va influer sur l'aspect du site, et ton tuto devrait me concerner.
La doc que l'on trouve sur internet n'est pas toujours très limpide, notamment sur les conditions dans lesquelles les différentes utilisations sont recommandées (je parle d'XML list). Parfois en as une se met à faire des méthodes alors qu'elles existent déjà... C'est le problème du mécano !
pegase31
Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
11
5 sept. 2008 à 13:06
c'est l'E4X, il s'agit à peu près d'une requête lancée au XML qui ressort une "liste" (un XMLList", en fait) de ce que tu as demandé.
Dans le cas présent, une valeur d'attribut.

Si besoin, je ferais une source exemple de comment gérer ça ... c'est pas très compliqué

Peg'
Afficher les 15 commentaires