Pourquoi ne peut pas Flash CS3 trouver la classe de base MovieClip même après classpath est réglé (AS3)?
-
18-09-2019 - |
Question
Déchirer mes cheveux. J'ai créé une classe AS3 - blah.Foo, qui étend MovieClip. il n'est pas dans un paquet, cos Flash CS3 se plaignait de paquets imbriqués, il est donc une classe « nue ».
Et oui, il est niché dans myproj / as / bla / Foo.as Et oui, il importe flash.display.MovieClip en haut du fichier.
J'ai aussi myproj / fla / main.fla . main.fla devrait publier comme AS3 contre flash player 9. main.fla a classpath qui comprend myproj / as /
sur scene1 frame1 dans main.fla:
import blah.Foo;
var myfoo:Foo = new Foo();
stop();
compilateur meurt à la définition de la classe de Foo en Foo.as:
import flash.display.MovieClip;
class blah.Foo extends MovieClip //<=== dies here
{
//whatever...
}
Il se plaint que: . "1017: La définition de la classe de base MovieClip n'a pas été trouvé"
Quelqu'un s'il vous plaît aider! Comment peut-il pas trouver une des classes les plus élémentaires dans AS3? !!
La solution
Actionscript 3.0 ne fonctionne pas comme AS2
essayer
package blah
{
import flash.display.Movieclip;
public class Foo extends MovieClip
{
...
espérons que cette aide.
Autres conseils
Rappelez-vous:
-
Bien que les classes privées ne sont pas encore mises en œuvre ECMAScript, déclarant une classe en dehors d'un paquet fait « se comporter » comme un. D'où votre problème d'accès à la classe de votre document principal.
-
Une fois à l'intérieur du paquet, vous devez spécifier comment vous voulez la classe à accéder. Déclarant votre classe en utilisant le modificateur « public » permettrait d'accéder à votre classe à l'extérieur de l'emballage.
R ~