[AS3]Meerdere classes in 1 package

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • compufreak88
  • Registratie: November 2001
  • Laatst online: 02-05 17:51
Ik probeer meerdere classes in 1 package te stoppen in Flash AS3.

Volgens de documentatie kun je maar 1 toplevel decleratie in een package public maken. Ook staat er dat je op top level alleen public en internal mag gebruiken.

Ik heb dus 1 public class, en 1 internal class in een package gestopt. Maar ik krijg nu de foutmelding:
5006: An ActionScript file can not have more than one externally visible definition: character.AnimatedCharacterClass, character.CharacterPositions
De code:
Flash ActionScript 3:
1
2
3
4
5
6
7
8
9
10
11
12
13
package laser
{
    public class AnimatedCharacterClass extends flash.display.MovieClip
    {
     ...
    }

    internal class CharacterPositions
    {
     ...        
    }

}


Heeft iemand een idee waar deze foutmelding vandaan komt? Ik snap er echt niks van.

Acties:
  • 0 Henk 'm!

Verwijderd

klassen over meerdere bestanden verdelen? (wel gewoon dezelfde packages)

Acties:
  • 0 Henk 'm!

  • Farrell
  • Registratie: Januari 2004
  • Laatst online: 20:11
Private, protected, internal en public gebruik:
  • private means access within this class only;
  • protected means this class or subclasses;
  • internal means this package;
  • public means anywhere
Zo zou het mogelijk moeten zijn:
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
package test
{
    public class TestClass
    {
        public function TestClass()
        {
            trace("TestClass constructor");
        }
    }

    public class OtherTestClass
    {
        public function OtherTestClass()
        {
            trace("OtherTestClass constructor");
        }
    }

    internal class InternalClass
    {
        public function InternalClass()
        {
            trace("InternalClass constructor");
        }
    }
}

Acties:
  • 0 Henk 'm!

  • compufreak88
  • Registratie: November 2001
  • Laatst online: 02-05 17:51
Ik heb het nu anders opgelost: De class buiten de package in hetzelfde bestand plaatsen. Dan werkt het wel.
CoLiN402 schreef op maandag 03 november 2008 @ 15:54:
Private, protected, internal en public gebruik:
  • private means access within this class only;
  • protected means this class or subclasses;
  • internal means this package;
  • public means anywhere
..
Je mag maar 1 public class in een package hebben, en op een of andere manier ziet hij internal ook als externally visible.