Domanda

Sto cercando di controllare la linea temporale principale della mia applicazione flash da un MovieClip che è figlio del palco principale. Apparentemente, in ActionScript 2, potresti farlo usando _root, ma l'uso di root (poiché _root non esiste più) ora genera un errore:

root.play();

" 1061: la chiamata a un metodo possibilmente non definito viene riprodotta attraverso un riferimento con tipo statico flash.display: DisplayObjectContainer. "

Anche l'uso della classe Stage non funziona:

stage.play();

" 1061: la chiamata a un metodo possibilmente non definito viene riprodotta attraverso un riferimento con tipo statico flash.display: Stage. "

C'è un modo per farlo?

È stato utile?

Soluzione

Devi lanciarlo su un MovieClip

(root as MovieClip).play()

Altri suggerimenti

Secondo http: / /www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=665&threadid=1387264&enterthread=y ,

prova qualcosa come
& Nbsp; & nbsp; & nbsp; & nbsp; MovieClip (root) .gotoAndPlay (" menù ");

Buona fortuna,
Randy Stegbauer

Un altro modo è separare il codice del filmato in una classe separata mentre si imposta la classe del documento per il proprio fla.

Supponi che la classe di documenti del tuo fla principale sia Main.as e il file di classe del tuo Movie Clip sia Movie.as, puoi aggiungere il puntatore della classe Main come parametro nel costruttore della classe Movie

In Main.as

classe pubblica Main () {   var m = nuovo film (questo); }

In Movie.as

public class Movie(m:Main) { m.gotoAndPlay("somewhere"); }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top