Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Então, por que, quando eu uso this["_droptarget"].substr(6, 2), o flash me retorna o que eu espero que ele retorne, e quando eu uso, this["_droptarget"]._x ele não me retorna nada? Aliás, retorna 'undefined'.
Aliás, nunca entendi a diferença entre propriedades/comandos que utilizam "_" (._x, ._y) e os que não usam (.substr).
Alguém saberia me explicar isso?
Valeu pelo help pessoal.
Abs.
Certo, mas se dou um trace, por exemplo, em this["_droptarget"], ele retorna o nome do movieclip sobre qual eu soltei meu botão, que é "campo1". Se this["_droptarget"] faz referência à campo1, e campo1 possui coordenadas x e y, eu não deveria conseguir extrair o valor de this["_droptarget"]._x?
Não, justamente pelo que você disse... ele diz qual o clip no qual você dropou seu MC... e para pegar a posição desse clip que você dropou não se faz assim... mas sim puxando o nome da intancia dele ._x
Dessa maneira que você fez ele não vai retornar nada.
Abraços
Cara, já tentei de tudo e não tô conseguindo, podes me dizer como faço?
Se eu tentar puxar através de "_name", ele não reconhece. Se eu puxar pelo ".substr", consigo extrair o nome inteiro dele, mas não a posição "._x" disso. Aliás, é justamente isso que me faz pensar que há uma diferença, sim, entre notações "_" e ".", pois o uso do underline não funciona junto à notação thils[], deve ser por alguma razão.
Valeu pela tua atenção.
Abs.
LoL
Obvio que funciona:
this['mc'].onPress
this['mc'].loadMovie
Tudo isso vai funcionar
No AS 2.0
Propriedades de um clip são chamadas com _
No AS 3.0 é diretamente com .
Exemplo bem simples de como se faz:
this.createEmptyMovieClip('mc', 1);
this['mc'].attachMovie('bolinha', 'bola', 2);
this['mc'].onPress = function(){
this.startDrag();
}
this['mc'].onRelease = function(){
this.stopDrag()
if(eval(this._droptarget) == area){
trace(area._x);
}
}
bolinha é um MC em minha biblioteca, area é um mc no palco instanciado de area...
Abraços
>
LoL
Obvio que funciona:
this['mc'].onPress
this['mc'].loadMovie
Tudo isso vai funcionar
No AS 2.0
Propriedades de um clip são chamadas com _
No AS 3.0 é diretamente com .
Exemplo bem simples de como se faz:
this.createEmptyMovieClip('mc', 1);
this['mc'].attachMovie('bolinha', 'bola', 2);
this['mc'].onPress = function(){
this.startDrag();
}
this['mc'].onRelease = function(){
this.stopDrag()
if(eval(this._droptarget) == area){
trace(area._x);
}
}
bolinha é um MC em minha biblioteca, area é um mc no palco instanciado de area...
Abraços
Certo kra, acho que eu não me fiz claro, desculpa. Usando eval, tudo certo, o problema é que eu não quero usar eval.
O código que eu tô querendo é exatamento esse: this._x = eval(this._droptarget)._x;
Estou tentando não utilizar eval, no lugar dele, quero usar notação this[], é possível?
Obrigado pela tua atenção mais uma vez.
Abraço.
Se você estiver usando Flash Player acima de 5 não.
Caso contrario ai talvez possa vir a funcionar... da uma pesquisada no pontoflash que lá tem algo do genero se não me engano.
Abraços
Ok, obrigado kra.
Abraços.
>
Aliás, nunca entendi a diferença entre propriedades/comandos que utilizam "_" (._x, ._y) e os que não usam (.substr).
Alguém saberia me explicar isso?
Nenhuma apenas uma diferença do jeito de chamar... tanto que no AS 3.0 isso deixou de existir.
this["_droptarget"].substr(6, 2) retorna um valor... relacionado ao THIS
this["_droptarget"]._x retorna undefined... pq ele não existe uma propriedade ._x do elemento droptarget
Abraços