Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-05-2006, 20:25   #1 (permalink)
FlyIng HOrsE
 
Benutzerbild von pegasus75
 
Registriert seit: Oct 2001
Ort: Berlin
Beiträge: 101
variablen in klassen und funktionen

Hallo,

ich raff es nicht...
Kann mir jemand sagen warum der trace false ausgibt?
this.skinConfigFile enthält einen string mit dem korrekten pfad zur xml datei

ActionScript:
  1. private function getXMLData(){
  2.         var XMLDataLoaded:Boolean = false;
  3.         var tempObj:Object;
  4.         var XMLData:Object;
  5.         XMLData = new XML();
  6.         XMLData.load(this.skinConfigFile);
  7.         XMLData.ignoreWhite = true;
  8.         XMLData.onLoad = function(ok) {
  9.             if (ok) {
  10.                 XMLDataLoaded = true;
  11.                 tempObj.w = this.firstChild.childNodes[0].attributes.w;
  12.                 tempObj.h = this.firstChild.childNodes[0].attributes.h;
  13.                 tempObj.keepaspect = this.firstChild.childNodes[0].attributes.keepaspect;
  14.                 tempObj.actionsounds = this.firstChild.childNodes[0].attributes.actionsounds;
  15.             }
  16.         }
  17. trace(XMLDataLoaded); // ergibt false :(
  18.         this.XMLDataLoaded = XMLDataLoaded;
  19.         this.configData = tempObj;
  20.     }

Oder wie muss ich XMLDataLoaded vereinbaren, das seine Value erhalten bleibt?

Hier ist noch meine kleine XML Datei.

<?xml version='1.0' encoding='utf-8'?>
<config>
<width w="400" />
<height h="300" />
<keepaspect keepaspect="1" />
<actionsounds actionsounds="0" />
</config>


Pega
__________________
:) :] :} :o §:

Geändert von pegasus75 (30-05-2006 um 20:27 Uhr)
pegasus75 ist offline   Mit Zitat antworten
Alt 30-05-2006, 20:35   #2 (permalink)
Flashworker
 
Benutzerbild von sebastian
 
Registriert seit: Nov 2001
Ort: Wiesbaden
Beiträge: 10.945
Erstmal ist das AS2 und damit wirst du in Flash MX Probleme bekommen.

Aber warum soll er true ausgeben? Also du hast doch onLoad benutzt und wirst dann wissen, für was das gut ist.
Warum ergibt der trace außerhalb nur false? Weil der Wert nicht auf true gesetzt wurde... Wird er vermutlich irgendwann, aber das lässt du ja nicht ausgeben
sebastian ist offline   Mit Zitat antworten
Alt 30-05-2006, 23:22   #3 (permalink)
FlyIng HOrsE
 
Benutzerbild von pegasus75
 
Registriert seit: Oct 2001
Ort: Berlin
Beiträge: 101
Also ich hab noch nen bischen belesen und lese die XMLDaten in ein Array ein. Das klappt auch ganz gut aber nach dem return des Array's sind die Daten weg. Hast du vielleicht nochmal nen Wink mit dem Zaunspfahl?
Ok sorry, ist Flash 8, da hab ich mich vertan.

ActionScript:
  1. class videoplayer{
  2.  
  3.     public var w:Number;
  4.     public var h:Number;
  5.     public var keepaspect:Boolean;
  6.     public var actionsounds:Boolean;
  7.     public var playerskin:String;
  8.     public var skinConfigFile:String;
  9.     public var configData:Array = [];
  10.     private var XMLDataLoaded:Boolean;
  11.    
  12.     public function videoplayer(skinConfigFile){
  13. trace('function videoplayer');
  14.         this.skinConfigFile = skinConfigFile;
  15.         this.configData = this.getXMLData();
  16.         this.XMLDataLoaded = this.configData['XMLDataLoaded'];
  17.        
  18.         _root.debug.text += 'XMLDataLoaded: '+this.XMLDataLoaded+newline;
  19.         _root.debug.text += 'dest.width: '+this.configData['w']+newline;
  20.         _root.debug.text += 'dest.height: '+this.configData['h']+newline;
  21.         _root.debug.text += 'keepAspect: '+this.configData['keepaspect']+newline;
  22.         _root.debug.text += 'actionsounds: '+this.configData['actionsounds']+newline;
  23.        
  24.     }
  25.    
  26.     private function getXMLData(){
  27. trace('function getXMLData');
  28.         var XMLData:Object;
  29.         var returnArray:Array = [];
  30.         returnArray['XMLDataLoaded'] = false;
  31.         XMLData = new XML();
  32.         XMLData.ignoreWhite = true;
  33.         XMLData.load(this.skinConfigFile);
  34.         XMLData.onLoad = function(ok){
  35.             if(ok){
  36.                 if(this.loaded){
  37.                     returnArray['XMLDataLoaded'] = true;
  38.                     returnArray['w'] = this.firstChild.childNodes[0].attributes.w;
  39.                     returnArray['h'] = this.firstChild.childNodes[1].attributes.h;
  40.                     returnArray['keepaspect'] = this.firstChild.childNodes[2].attributes.keepaspect;
  41.                     returnArray['actionsounds'] = this.firstChild.childNodes[3].attributes.actionsounds;
  42.                     return returnArray;
  43.                 }
  44.             }
  45.         }
  46.     }
  47. }

Pega
__________________
:) :] :} :o §:

Geändert von pegasus75 (31-05-2006 um 10:53 Uhr)
pegasus75 ist offline   Mit Zitat antworten
Alt 31-05-2006, 14:16   #4 (permalink)
FlyIng HOrsE
 
Benutzerbild von pegasus75
 
Registriert seit: Oct 2001
Ort: Berlin
Beiträge: 101
Lösung

ActionScript:
  1. class videoplayer{
  2.  
  3.     public var w:Number;
  4.     public var h:Number;
  5.     public var keepaspect:Boolean;
  6.     public var actionsounds:Boolean;
  7.     public var playerskin:String;
  8.     public var skinConfigFile:String;
  9.     public var configData:Array = new Array();
  10.     private var XMLDataLoaded:Boolean;
  11.     private var XMLData;
  12.    
  13.     public function videoplayer(skinConfigFile){ // Contructor
  14.         this.XMLData = new XML();
  15.         this.skinConfigFile = skinConfigFile;
  16.         this.getXMLData();
  17.     }
  18.    
  19.     public function showDebug(){
  20.         this.XMLDataLoaded = this.configData['XMLDataLoaded'];
  21.         _root.debug.text = '';
  22.         _root.debug.text += 'XMLDataLoaded: '+this.XMLDataLoaded+newline;
  23.         _root.debug.text += 'dest.width: '+this.configData['width']+newline;
  24.         _root.debug.text += 'dest.height: '+this.configData['height']+newline;
  25.         _root.debug.text += 'keepAspect: '+this.configData['keepaspect']+newline;
  26.         _root.debug.text += 'actionsounds: '+this.configData['actionsounds']+newline;
  27.     }
  28.  
  29.     public function getXMLData(){
  30.         this.XMLData.ignoreWhite = true;
  31.         this.XMLData.onLoad = function(ok){
  32.             if(ok){
  33.                 _root.myVideoplayer.configData['XMLDataLoaded'] = false;
  34.                 if(this.loaded){
  35.                     _root.myVideoplayer.configData['XMLDataLoaded'] = true;
  36.                     for(var i = 0; i < this.firstChild.childNodes.length; i++){
  37.                         _root.myVideoplayer.configData[this.firstChild.childNodes[i].nodeName] = this.firstChild.childNodes[i].attributes.wert;
  38.                     }
  39.                     delete this.XMLData.onLoad;
  40.                     _root.myVideoplayer.showDebug();
  41.                 }
  42.             }
  43.         }
  44.         XMLData.load(this.skinConfigFile);
  45.     }
  46.    
  47.     private function createPlayer(){
  48.         this.createMovieClips();
  49.         this.loadImages();
  50.     }
  51.    
  52.     private function loadImages(){
  53.     }
  54.    
  55.     private function createMovieClips(){
  56.     }
  57.    
  58.     public function scalePlayer(){
  59.     }
  60. }
__________________
:) :] :} :o §:
pegasus75 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele