Autor |
Nachricht |
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Fr 18.08.2006 09:28
Titel pejot vs. schleifen und arrays |
|
|
Jaaa, auch ein PeJot ist nur ein Mensch und hat mal Probleme mit Flash.
Denke mal es ist auch ein simples Problem, aber ich seh mal wieder den Wald vor Bäumen nich. Hab auch gar keinen Nerv mehr dafür (Freitag ist mein flashfreier Tag).
Ich kopier einfach mal die Problemstellung aus dem Flashforum.
Zitat: |
Ich versuche durch ein paar Schleifendurchläufe, meine XML-Inhalte in verschiedene Arrays zu werfen; klappt aber natürlich nicht alles so wie ich will. Und zwar handelt es sich um das Array "cvdf_meta_array". Mit dem Index cvdf_meta_array[0] gibt der Trace mir noch korrekte Werte aus, mit den Indexen cvdf_meta_array[0][n]" natürlich ebenso, beim Index cvdf_meta_array[1] dagegen bekomm ich "0", bei Index cvdf_meta_array[2] "1" usw. raus. Ansonsten funktioniert alles.
|
Code: |
function parseMeta(pMetaNode) {
var cvdf_meta:Array = [[]];
for (var i = 0; i<pMetaNode.length; i++) {
cvdf_meta.push(i); // einfache Indexerstellung geht auch nich "cvdf_meta[i]"
var MetaNode = pMetaNode[i].childNodes;
for (var j = 0; j<MetaNode.length; j++) {
cvdf_meta[i].push(MetaNode[j].attributes.capt, MetaNode[j].firstChild.nodeValue);
}
}
trace(cvdf_meta[1]);
} |
Danke
// Edit:
*sehnsüchtig auf FlamingArt warte*
Zuletzt bearbeitet von l'Audiophile am Fr 18.08.2006 09:31, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 18.08.2006 11:02
Titel
|
|
|
Da isser
Lad mir mal ide XML-Datei hoch (oder zumindest nen Fake )
Ich mach gerade feierabend, ich schau mal ob ich dem MGI-Flashgott helfen kann wenn ich zuhause bin
|
|
|
|
|
Anzeige
|
|
|
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 18.08.2006 12:14
Titel
|
|
|
..köln........autobahn.........idioten.........................................verkehr..............pissekackearsch............AAAAAAAAAAAAAARGH.....
So, isch kugge
|
|
|
|
|
l'Audiophile
Threadersteller
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Fr 18.08.2006 12:22
Titel
|
|
|
mal die komplette Parsereigeschichte
Code: |
...
//----------------------------------------------
//-- CVDF READER
//----------------------------------------------
system.useCodepage = true;
//----> CVDF laden
var cvdf_loader:XML = new XML();
cvdf_loader.ignoreWhite = true;
cvdf_loader.load("movies/info.cvdf");
this.onEnterFrame = function() {
var cvdf_gesamt:Number = cvdf_loader.getBytesTotal();
var cvdf_bereits:Number = cvdf_loader.getBytesLoaded();
var cvdf_prozent:Number = Math.round(bereits*100/gesamt);
if (cvdf_prozent == 100) {
delete this.onEnterFrame;
status_txt._visible = false;
delete cvdf_loader;
} else {
xml_status_txt.text = "LOADING CVDF // "+cvdf_prozent+" % LOADED";
}
};
function parsePlayerNode(pPlayerNode) {
_global.vplay = pPlayerNode[0].attributes.aplay;
_global.vpause = pPlayerNode[0].attributes.apause;
_global.vstop = pPlayerNode[0].attributes.astop;
}
function parseTTmesageNode(pTTmesageNode) {
_global.ttplay = pTTmesageNode[1].firstChild.nodeValue;
_global.ttpause1 = pTTmesageNode[1].childNodes[1].nodeValue;
_global.ttpause2 = pTTmesageNode[1].childNodes[2].nodeValue;
_global.ttstop1 = pTTmesageNode[1].childNodes[3].nodeValue;
_global.ttstop2 = pTTmesageNode[1].childNodes[4].nodeValue;
_global.ttdrag = pTTmesageNode[1].childNodes[5].nodeValue;
_global.ttvol = pTTmesageNode[1].childNodes[6].nodeValue;
}
function parseInfoNode(pInfoNode) {
_global.copyright = pInfoNode[2].childNodes[0].nodeValue;
_global.URLLink = pInfoNode[2].childNodes[1].nodeValue;
_global.URLCapt = pInfoNode[2].childNodes[2].nodeValue;
_global.MailLink = pInfoNode[2].childNodes[3].nodeValue;
_global.MailCapt = pInfoNode[2].childNodes[4].nodeValue;
}
function parseMeta(pMetaNode) {
var cvdf_meta:Array = [[]];
for (var i = 0; i<pMetaNode.length; i++) {
cvdf_meta[i];
var MetaNode = pMetaNode[i].childNodes;
for (var j = 0; j<MetaNode.length; j++) {
cvdf_meta[i].push(MetaNode[j].attributes.capt, MetaNode[j].firstChild.nodeValue);
}
}
trace(cvdf_meta[1]);
}
function parseThumbs(pThumbNode) {
_global.cvdf_thumbs_array = [];
_global.cvdf_path_array = [];
for (var i = 0; i<pThumbNode.length; i++) {
cvdf_thumbs_array.push(pThumbNode[i].attributes.thumbpath);
cvdf_path_array.push(pThumbNode[i].attributes.path);
}
}
function xmlLoaded() {
var cvdf_info:Array = cvdf_loader.firstChild.childNodes[0].childNodes;
var cvdf_playlist:Array = cvdf_loader.firstChild.childNodes[1].childNodes;
parseThumbs(cvdf_playlist);
parseMeta(cvdf_playlist);
parsePlayerNode(cvdf_info);
parseTTmesageNode(cvdf_info);
parseInfoNode(cvdf_info);
}
cvdf_loader.onLoad = function(status) {
if (status) {
xml_status_txt.text = "CVDF-DATA SUCCESSFULLY LOADED";
xmlLoaded();
} else {
xml_status_txt.text = "COULD NOT LOAD CVDF-DATA";
stop();
}
};
...
|
.cvdf = Container Video Definition Format (nur ein definierter XML Standard)
Zuletzt bearbeitet von l'Audiophile am Fr 18.08.2006 12:23, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 18.08.2006 12:42
Titel
|
|
|
So hier oder wie willst Du das ????
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 18.08.2006 12:56
Titel
|
|
|
ich hab zwar keine Ahnung von Klassen, aber sowas kann ich
Code: | var parseMeta:Function = function(pMetaNode:XMLNode) {
var cvdf_meta:Array = new Array();
_global.cvdf_meta = cvdf_meta
for(var i:Number = 0; i < pMetaNode.childNodes.length; i++) {
cvdf_meta.push(new Array());
cvdf_meta[i]["Path"] = pMetaNode.childNodes[i].attributes.path
cvdf_meta[i]["Thumbpath"] = pMetaNode.childNodes[i].attributes.thumbpath
var subnode_tmp:XMLNode = pMetaNode.childNodes[i];
for(var s:Number = 0; s < subnode_tmp.childNodes.length; s++){
cvdf_meta[i][subnode_tmp.childNodes[s].attributes.capt] = subnode_tmp.childNodes[s].firstChild.nodeValue
}
}
}
var Data_xml:XML = new XML();
Data_xml.ignoreWhite = true;
Data_xml.onLoad = function(success:Boolean){
switch(success){
case true:
parseMeta(this.firstChild.lastChild)
break;
}
}
Data_xml.load("source.xml") |
Mann, was bin ich froh das sowas nicht PROGRAMMIERT WIRD SONDERN IN FLASH PER DRAG AND DROP GEHT (....AS gehört immernoch in den Programmiebereich....)
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Fr 18.08.2006 14:04
Titel
|
|
|
Update:
Code: |
var parseMeta:Function = function(pMetaNode:XMLNode) {
var cvdf_meta:Array = new Array();
_global.cvdf_meta = cvdf_meta
for(var i:Number = 0; i < pMetaNode.childNodes.length; i++) {
cvdf_meta.push(new Array());
cvdf_meta[i]["Path"] = pMetaNode.childNodes[i].attributes.path
cvdf_meta[i]["Thumbpath"] = pMetaNode.childNodes[i].attributes.thumbpath
var subnode_tmp:XMLNode = pMetaNode.childNodes[i];
for(var s:Number = 0; s < subnode_tmp.childNodes.length; s++){
cvdf_meta[i][subnode_tmp.childNodes[s].attributes.capt] = subnode_tmp.childNodes[s].firstChild.nodeValue
}
}
}
var Data_xml:XML = new XML();
Data_xml.ignoreWhite = true;
Data_xml.onLoad = function(success:Boolean){
switch(success){
case true:
var node_temp:XMLNode = this.firstChild;
for(var c:Number = 0; c < node_temp.childNodes.length; c++){
switch(node_temp.childNodes[c].nodeName){
case "videoinfo":
parseMeta(node_temp.childNodes[c])
break;
}
}
break;
}
}
Data_xml.load("source.xml")
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
Actionscript / PHP: Arrays in Arrays bei Übergabe mit Post?
Verschachtelte while-Schleifen
AS3 schleifen und Mathrandom
Schleifen / Wellen in Photohop
Hilfe bei diesen Schleifen
geht das auch kürzer? if-schleifen
|
|