Porque o Flash CS3 não consegue encontrar a classe base MovieClip mesmo depois de classpath está definido (AS3)?
-
18-09-2019 - |
Pergunta
Rasgando meu cabelo para fora. Eu criei uma classe AS3 - blah.Foo, que se estende MovieClip. não é em um pacote, cos Flash CS3 reclamou pacotes aninhados, por isso é uma classe 'nua'.
E sim ele está aninhado em myproj / as / blah / Foo.as E sim, ele importa flash.display.MovieClip no topo do arquivo.
Eu também tenho myproj / fla / main.fla . main.fla está definido para publicar como AS3 contra flash player 9. main.fla tem classpath que inclui myproj / as /
em frame1 scene1 em main.fla:
import blah.Foo;
var myfoo:Foo = new Foo();
stop();
dies compilador na definição de classe de Foo em Foo.as:
import flash.display.MovieClip;
class blah.Foo extends MovieClip //<=== dies here
{
//whatever...
}
Ele reclama que: "1017: A definição de classe base MovieClip não foi encontrado"
.Alguém por favor me ajude! Como não pode encontrar um dos mais classes básicas em AS3? !!
Solução
O ActionScript 3.0 não funciona como AS2
Tente este
package blah
{
import flash.display.Movieclip;
public class Foo extends MovieClip
{
...
espero que isso ajude.
Outras dicas
Lembre-se:
-
Apesar de aulas particulares ainda não foram implementadas no ECMAScript, declarando um fora de classe de um pacote torna 'se comportam' apenas como um. Daí o seu problema ao acessar a classe do seu documento principal.
-
Uma vez dentro do pacote, você deve especificar como você gostaria que a classe a ser acessado. Declarando sua classe usando o modificador 'público' iria permitir o acesso à sua classe de fora do pacote.
R ~