03. november 2006 - 17:02Der er
16 kommentarer og 1 løsning
kald af klasser indbyrdes
Jeg har to klasser Klasse 1 og klasse 2
Hvis jeg nu gerne vil kunne oprette objekter som kan kalde funktioner i hinanden indbyrdes - hvordan gøres dette så?
Jeg har forsøgt noget som jeg godt kan se kan opfattes som en uendelig løkke (ikke lykke), men er i tvivl om hvordan det så skal gøres: class Tklasse1 { private var klasse2:Tklasse2; }
class Tklasse2 { private var klasse1:Tklasse1; } Hvor det specifikke objekt defineres via en funktion.
Ved ikke om det blev noget vrøvl, men spørg, så skal jeg forsøge at forklare hvad jeg mener, hvis jeg kan ...
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Jeg skrev følgende klasse: lass Tklasse1 { import Tklasse2; }
og fik følgende fejlmeddelelse: **Error** C:\\Tklasse1.as: Line 3: Import statements are not allowed inside class or interface definitions. import Tklasse2;
Det går fint, så længe klasserne hedder A og B, men hvorfor går det galt når jeg omdøber klasserne til TKlasse1 og TKlasse2?
class TKlasse1 { private var b:TKlasse2; public function TKlasse1() { b = new TKlasse2(this); b.shout(); } public function shout() { trace("jeg er A"); } }
class TKlasse2 { private var _a:TKlasse1; public function TKlasse2(a:TKlasse1) { _a = a; _a.shout(); } public function shout() { trace("jeg er B"); } }
Fejlen jeg får når jeg laver en 'check syntax' er: **Error** C:\www\tryout\TKlasse1.as: Line 1: The name of this class, 'TKlasse1', conflicts with the name of another class that was loaded, 'TKlasse1'. class TKlasse1 {
Hmm det ser ud til at alting faktisk virkede fra første færd af - problemet var at jeg stolede for meget på 'check syntax' som åbenbart kræver at man laver et kald til klassen fra sin normale flashfilm før den virker for .as-filen også. Så det bliver noget med at rette i sin .as og så lige huske at køre et kald fra .swf før 'check syntax' virker rigtigt.
Kom med et svar begge to - I ledte mig helt sikkert på rette vej!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.