[AS3] Import vanuit fla gaat goed maar niet vanuit .as class

Pagina: 1
Acties:

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Eerst moet ik eerlijk bekennen dat dit mijn eerste ervaring met Flash is...

Ok, ik heb in mijn .fla bestand in het eerste frame de volgende code gezet en dit gaat goed:
code:
1
2
3
import Globals;

Globals.vars.cityName = this.cityName;


Nu wil ik de variabele cityName weer op halen in de document class Main met de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package
{
    import flash.display.MovieClip;
    import flash.external.ExternalInterface;
    import Globals;
    
    public class Main extends MovieClip
    {
        public function Main()
        {
            ExternalInterface.addCallback("setCityName", internalSetCityName);
        }
        
        private function internalSetCityName(value:String):void {
            //Globals.vars.cityName.text = value;
            
            var cityName:Object = Globals.vars.cityName;
            
            //ExternalInterface.call('alreadyThen', value);
            //this.cityName.text = value;
        }
    }
}


De Globals class ziet er zou uit:
code:
1
2
3
4
5
6
7
package
{
    public class Globals
    {
        public static var vars:Object = {};
    }
}


De code in het fla bestand werkt. Hij herkent de Globals class, in het as bestand (Main.as) kan hij hem echter niet vinden.

Ik krijg de volgende fouten:
Eerst moet ik eerlijk bekennen dat dit mijn eerste ervaring met Flash is...

Ok, ik heb in mijn .fla bestand in het eerste frame de volgende code gezet en dit gaat goed:
code:
1
2
3
import Globals;

Globals.vars.cityName = this.cityName;


Nu wil ik de variabele cityName weer op halen in de document class Main met de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package
{
    import flash.display.MovieClip;
    import flash.external.ExternalInterface;
    import Globals;
    
    public class Main extends MovieClip
    {
        public function Main()
        {
            ExternalInterface.addCallback("setCityName", internalSetCityName);
        }
        
        private function internalSetCityName(value:String):void {
            //Globals.vars.cityName.text = value;
            
            var cityName:Object = Globals.vars.cityName;
            
            //ExternalInterface.call('alreadyThen', value);
            //this.cityName.text = value;
        }
    }
}


De Globals class ziet er zou uit:
code:
1
2
3
4
5
6
7
package
{
    public class Globals
    {
        public static var vars:Object = {};
    }
}


De code in het fla bestand werkt. Hij herkent de Globals class, in het as bestand (Main.as) kan hij hem echter niet vinden.

Ik krijg de volgende fouten:
1172: Definition Globals could not be found
voor
code:
1
import Globals;

in Main.as

en
1120: Access of undefined property Globals.
voor
code:
1
var cityName:Object = Globals.vars.cityName;

in Main.as

Wat doe ik verkeerd of wat zie ik over het hoofd?

[ Voor 38% gewijzigd door Slagroom op 16-07-2010 13:04 ]


  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

Staan de documentclass en de Globals in dezelfde package (map)?

Raar... Is zo gek nog niet


  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02-2025

Bozozo

Your ad here?

Die import is niet nodig. Globals.as moet wel in dezelfde map staan als je main.fla

Daarna moet je eerst een instance van Globals maken voordat je non-static properties kan aanroepen lijkt me.

TabCinema : NiftySplit


  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 04-12-2025
Excuses! Ik werkte in twee versies! Eentje waarin ik Globals programmeerde en een andere waarin Main stond.... dom dom dom... bedankt!