Do acesso às propriedades controladoras / métodos em 3.0 Actionscript
-
06-07-2019 - |
Pergunta
Eu estou tentando controlar a timeline principal do meu aplicativo Flash a partir de um MovieClip que é filho do palco principal. Aparentemente, em ActionScript 2, você poderia fazer isso usando _root, mas usando raiz (desde _root já não existe) agora dá um erro:
root.play();
"1061: Chamada para um jogo método possivelmente indefinido através de uma referência com tipo estático flash.display:. DisplayObjectContainer"
Usando a classe Stage também não funciona:
stage.play();
"1061: Chamada para um jogo método possivelmente indefinido através de uma referência com tipo estático flash.display:. Stage"
Existe alguma maneira de fazer isso?
Solução
Você precisa lançá-lo a um clipe de filme
(root as MovieClip).play()
Outras dicas
De acordo com a http: / /www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=665&threadid=1387264&enterthread=y ,
tentar algo como
MovieClip (root) .gotoAndPlay ( "menu");
Good Luck,
Randy Stegbauer
Outra maneira é separar o seu código movieclip em classe separada, enquanto a criação classe de documento para o seu fla principal.
Suponha que a classe de documento do seu fla principal é Main.as e arquivo de classe do seu movieclip é Movie.as, você pode adicionar ponteiro classe Main como parâmetro na classe filme construtor
Em Main.as
public class Main() {
var m = new Movie(this);
}
Em Movie.as
public class Movie(m:Main) { m.gotoAndPlay("somewhere"); }