Perché Flash CS3 non riesce a trovare la classe base MovieClip anche dopo classpath è impostato (AS3)?
-
18-09-2019 - |
Domanda
strappando i capelli. Ho creato una classe AS3 - blah.Foo, che si estende MovieClip. non è in un pacchetto, cos Flash CS3 è lamentato pacchetti nidificati, quindi è una classe 'nuda'.
E sì che è annidato in myproj / come / bla / Foo.as E sì, importa flash.display.MovieClip nella parte superiore del file.
Ho anche myproj / fla / main.fla . main.fla è impostato per pubblicare come AS3 contro Flash Player 9. main.fla ha classpath, che include myproj / come /
sulle SCENA1 frame1 in main.fla:
import blah.Foo;
var myfoo:Foo = new Foo();
stop();
compilatore muore a definizione della classe di Foo in Foo.as:
import flash.display.MovieClip;
class blah.Foo extends MovieClip //<=== dies here
{
//whatever...
}
Si lamenta che: "1017: La definizione di classe di base MovieClip non è stato trovato"
Qualcuno per favore aiuto! Come può non trovare una delle classi più elementari in AS3? !!
Soluzione
Actionscript 3.0 non funziona come AS2
provare questo
package blah
{
import flash.display.Movieclip;
public class Foo extends MovieClip
{
...
Spero che questo aiuti.
Altri suggerimenti
Ricorda:
-
Nonostante le lezioni private non sono ancora state attuate in ECMAScript, dichiarando una classe al di fuori di un pacchetto lo rende 'comportarsi' proprio come uno. Quindi il vostro problema di accesso alla classe dal documento principale.
-
Una volta all'interno del pacchetto, è necessario specificare come si desidera la classe a cui accedere. Dichiarare la classe utilizzando il modificatore 'pubblico' consentirebbe l'accesso alla classe al di fuori del pacchetto.
R ~