BlogBlogs.Com.Br

segunda-feira, 17 de novembro de 2008

Converter uma String no nome de uma instância de um objeto com ActionScript 3.0


Pode ser de grande utilidade converter uma string para o nome de uma instância de um movie clip. Para fazer isso usamos [] “colchetes” que são úteis tanto para indicar posições em um array quanto para fazer associação para o acesso de um objeto.

function myFunc():void {
for (var i=0; i!=max; i++) {
myArr[i]=this["movieClip"+i];
myArr[i].buttonMode = true;
myArr[i].addEventListener(MouseEvent.CLICK, mcEvent);
}

O código acima faz essa conversão. A string movieClip é transformada no nome da instância de um movie clip presente no stage (neste caso o nome da instância seria movieClip0, movieClip1, etc).
O array (myArr) vai armazenando todas as instâncias e qualquer propriedade pode ser acessada.

2 comentários:

André G. Bottan disse...

Esse texto solucionou meu problema.

Eu precisava usar 'gotoAndPlay()' numa intância de 'MovieClip' no Stage. O nome dessa instância teria que ser igual a uma propriedade de tipo 'String', pertencente a um Objeto anteriormente definido.

Muito obrigado!

M. (M não quis divulgar seu nome) disse...

Muito obrigado, estava tentando fazer um gotoAndPlay com strings, mas não estava rolando com o getChildByName("String"), o this["String"] se encaixou perfeito!
Abraços!