Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[as3.0]XML beschikbaar in iedere class?

Pagina: 1
Acties:

  • Sanity11
  • Registratie: Januari 2004
  • Niet online
Ik ben nu al een halve dag op zoek naar een oplossing voor dit ogenschijnlijk eenvoudige probleem maar ik kan niets vinden :(. Ik ben dan ook nieuw met as3.0.

Ik probeer via een class gekoppeld aan het document een aantal waarden uit een xml document in variabelen te laden en deze op die manier beschikbaar te krijgen in iedere andere aanwezige class.

Hiervoor heb ik de volgende code gemaakt.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package {
    import flash.xml.XMLDocument;
    import flash.display.MovieClip;
    import flash.net.*;
    import flash.events.*;
    
    public class CharacterData extends MovieClip {
        private var character_data_loader:URLLoader;
        private var xml_character_data:XML;
        private var xml_character_data_eye:XMLList;
        
        //public character variables.
        public var char_count:int;
        public var char_eyeX:int;
        
        public function CharacterData():void {
            character_data_loader = new URLLoader;
            character_data_loader.addEventListener(Event.COMPLETE, character_data_loaded);
            character_data_loader.load(new URLRequest("http://www.octografx.com/famcreatetest/character.xml"));
        }
        
        private function character_data_loaded(event:Event):void {
            xml_character_data = new XML(event.target.data);
            xml_character_data_eye = xml_character_data.char_eye;
            
            char_count = xml_character_data.char_count.text();
            char_eyeX = xml_character_data_eye.char_eyeX.text();            
        
        }
    }
}


Ik zou dus graag de volgende variabelen overal beschikbaar willen hebben: char_count en char_eyeX.

Maar ik weet niet hoe ik ze vanuit een andere class kan benaderen? :?

Alvast bedankt voor de reacties :)

www.diovisuals.co,


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Maak ze static?

Going for adventure, lots of sun and a convertible! | GMT-8


  • Sanity11
  • Registratie: Januari 2004
  • Niet online
Dan blijft de waarde 0.

www.diovisuals.co,


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Dat ligt aan jouw code dan. Wat returned text() eigelijk? Text? Moet je niet casten naar int? (ken geen AS3).

Going for adventure, lots of sun and a convertible! | GMT-8


  • Sanity11
  • Registratie: Januari 2004
  • Niet online
Hmm maar je kan een static var toch alleen maar op deze manier een waarde toekennen?

code:
1
public static var voorbeeld:int = 10;


en text geeft de inhoud tussen de xml tags weer. Dit is altijd een int waarde. Ik heb dit getest en binnen deze class krijgt de var gewoon een juiste waarde. Maar als ik ze static maak blijven ze 0;

www.diovisuals.co,


  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

Sanity11 schreef op donderdag 16 oktober 2008 @ 21:28:
Hmm maar je kan een static var toch alleen maar op deze manier een waarde toekennen?

code:
1
public static var voorbeeld:int = 10;


en text geeft de inhoud tussen de xml tags weer. Dit is altijd een int waarde. Ik heb dit getest en binnen deze class krijgt de var gewoon een juiste waarde. Maar als ik ze static maak blijven ze 0;
Nee, een static kan je wel aan passen, je bent in de war met een const.

hoe zet je de waarde dan als je ze static hebt gemaakt?

Met Classname.voorbeeld = je waarde zou het gewoon moeten werken.

De inhoud van een xml tag is trouwens altijd een string (volgens mij). Je moet hem dus wel expliciet casten / parsen naar een int.

Raar... Is zo gek nog niet


  • Sanity11
  • Registratie: Januari 2004
  • Niet online
Bedankt voor jullie reacties. Ik ben er uit. Het duurt even voordat de xml geladen is. Voor die tijd heb ik de waarde al opgevraagd en is deze dus nog 0. 8)7 .

Ik zal nu wel moeten uitvinden hoe ik dit ondervang.

Bedankt voor jullie hulp.

www.diovisuals.co,

Pagina: 1