Come eliminare un clip filmato in AS3

June 20

Come eliminare un clip filmato in AS3


Non vi è alcun comando di clip filmato di eliminazione disponibili nel linguaggio di programmazione Flash ActionScript 3 (AS3). Tuttavia, ci sono metodi AS3 in grado di rimuovere un clip filmato dal palco Flash, metodi caricatore che può scaricare un caricatore contenente un clip filmato, e un metodo removeChild in grado di eliminare il clip filmato dall'elenco di visualizzazione AS3 e stage di Flash. Se si utilizza lo scarico, o unloadAndStop, il metodo sul caricatore, si elimina il clip filmato dalla memoria, ma non il palco.

istruzione

1 Avviare il programma Flash. Fai clic su "File Flash (ActionScript 3.0)" dalla finestra iniziale per creare un nuovo file per un progetto di animazione Flash AS3.

2 Selezionare l'opzione "Azioni" dal menu Finestra nella barra del menu principale di Flash per aprire l'editor Azioni. Posizionare il cursore del mouse sulla prima riga dell'editor Azioni. Fare clic con il pulsante del mouse e digitare il codice qui per creare un oggetto Loader che caricare un file SWF clip filmato denominato "Shape_Break.swf" che si trova nella directory in cui si prevede di salvare il file di progetto Flash AS3.

var MovieClipLoader: Loader = new Loader ();

var movieClipFile: MovieClip = new MovieClip ();

var movieClipLocation: URLRequest = new URLRequest ( "Shape_Break.swf");

movieClipLoader.load (movieClipLocation);

3 Digita il codice qui sotto, a partire dalla riga successiva nell'editor di azioni, per aggiungere un listener di eventi per l'oggetto Loader che rileverà quando il file SWF è stato caricato e chiamare una funzione denominata loadMovie_fn che aggiunge il clip filmato SWF alla fase Flash nella fase Flash coordinate (250.250) e scale la dimensione del filmato SWF del 50 per cento.

movieClipLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, loadMovie_fn);

Funzione loadMovie_fn (event: Event): void

{

movieClipFile = event.target.content;

addChild (movieClipFile);

movieClipFile.scaleX = 0.5;

movieClipFile.scaleY = 0.5;

movieClipFile.x = 250;

movieClipFile.y = 250;

};

var myButton: MovieClip = new MovieClip ();

myButton.graphics.lineStyle (4);

myButton.graphics.beginFill (0xFF0000);

myButton.graphics.drawRect (350, 200, 50, 20);

myButton.graphics.endFill ();

addChild (myButton);

myButton.addEventListener (MouseEvent.CLICK, callFunction_fn);

Funzione callFunction_fn (e: MouseEvent): void {

removeChild (movieClipFile);

removeChild (MovieClipLoader);

movieClipLoader.unload ();

addChild (movieClipFile);

addChild (MovieClipLoader);

;

};

4 Digitare il codice qui sotto a partire dalla riga successiva nell'editor azioni per creare e inserire un grafico rettangolare rossa (denominato myButton) sul palco che è posizionato alle coordinate fase Flash (350, 200), ha una larghezza di 50 pixel, un'altezza di 20 pixel ed è disegnato con una linea nera con una larghezza di 4 pixel.

var myButton: MovieClip = new MovieClip ();

myButton.graphics.lineStyle (4);

myButton.graphics.beginFill (0xFF0000);

myButton.graphics.drawRect (350, 200, 50, 20);

myButton.graphics.endFill ();

addChild (myButton);

5 Digita il codice qui sotto a partire dalla riga successiva nell'editor Azioni per aggiungere un listener di eventi per myButton che eseguirà il codice in una funzione denominata "callFunction_fn" quando si fa clic su myButton.

myButton.addEventListener (MouseEvent.CLICK, callFunction_fn);

6 Digita il codice qui sotto a partire dalla riga successiva nell'editor azioni per rimuovere il clip filmato e il caricatore quando si fa clic su myButton e quindi tentare di aggiungere il clip filmato e caricatore di nuovo sul palco.

Funzione callFunction_fn (e: MouseEvent): void {

removeChild (movieClipFile);

removeChild (MovieClipLoader);

movieClipLoader.unload ();

addChild (movieClipFile);

addChild (MovieClipLoader);

;

};

7 Copia e incolla il codice qui sotto nell'editor azioni per garantire che non ci siano errori di sintassi e il programma di clip filmato di eliminazione viene eseguito come previsto.

var MovieClipLoader: Loader = new Loader ();

var movieClipFile: MovieClip = new MovieClip ();

var movieClipLocation: URLRequest = new URLRequest ( "Shape_Break.swf");

movieClipLoader.load (movieClipLocation);

movieClipLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, loadMovie_fn);

Funzione loadMovie_fn (event: Event): void

{

movieClipFile = event.target.content;

addChild (movieClipFile);

movieClipFile.scaleX = 0.5;

movieClipFile.scaleY = 0.5;

movieClipFile.x = 250;

movieClipFile.y = 250;

};

var myButton: MovieClip = new MovieClip ();

myButton.graphics.lineStyle (4);

myButton.graphics.beginFill (0xFF0000);

myButton.graphics.drawRect (350, 200, 50, 20);

myButton.graphics.endFill ();

addChild (myButton);

myButton.addEventListener (MouseEvent.CLICK, callFunction_fn);

Funzione callFunction_fn (e: MouseEvent): void {

removeChild (movieClipFile);

removeChild (MovieClipLoader);

movieClipLoader.unload ();

addChild (movieClipFile);

addChild (MovieClipLoader);

;

};

8 Selezionare l'opzione "TestMovie" nel menu di controllo sulla barra del menu principale di Flash per riprodurre il filmato di eliminazione clip filmato. Si osservi che il film Shape_Break è sul palco. Fare clic sul pulsante rosso sul palco e osservare che il clip filmato "Shape_Break.swf" viene rimosso dal palco. Anche osservare che un errore viene visualizzata nel pannello di output Flash che indica che il tentativo di aggiungere il movieclip e il caricatore di nuovo sul palco non è riuscita perché il caricatore già è stato scaricato (come previsto).

Consigli e avvertenze

  • Se si desidera caricare un file SWF creato, assicurarsi che sia nella stessa directory che il file Flash è dentro e cambiare il nome del file nel metodo URLRequest nel codice AS3 al nome del file SWF che si desidera utilizzare.