losrs 0 Denunciar post Postado Julho 14, 2008 Olá pessoal, o problema é o seguinte tenho esta função que é chamada e abre uma ajuda dentro do palco.Quando está ajuda for aberta os movies tem que ser desabilitados, mas não tá dando certo.Os movies estão no palco estanciados como mc_1 ate mc_6 e tenho uma array arr2=["mc_1"..."mc_6"]. CODE function ajuda() { _root.attachMovie("help", "help", 0); help._x = Stage.width/2; help._y = Stage.height/2; for (var k=0;k<arr2.length+1;k++) { movie = ["mc"+"_"+k]; _root.movie.enabled = false; trace(movie); } Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Julho 14, 2008 Sobre os valores do array: Se estão como string no array: function ajuda() { _root.attachMovie("help", "help", 0); help._x = Stage.width/2; help._y = Stage.height/2; for (var k=0;k<arr2.length+1;k++) { movie = _root[arr2["mc"+"_"+k]]; movie.enabled = false; trace(movie); } Se estão com instancias: function ajuda() { _root.attachMovie("help", "help", 0); help._x = Stage.width/2; help._y = Stage.height/2; for (var k=0;k<arr2.length+1;k++) { movie = arr2["mc"+"_"+k]; movie.enabled = false; trace(movie); } Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Julho 14, 2008 Pensando bem sendo: arr2=["mc_1","mc_2","mc_3","mc_4","mc_5","mc_6"]; Então: function ajuda() { _root.attachMovie("help","help",0); help._x = Stage.width / 2; help._y = Stage.height / 2; for (k = 0; k < arr2.length; k++) { movie = _root[arr2[k]]; movie.enabled = false; trace(movie); }; }; Compartilhar este post Link para o post Compartilhar em outros sites
losrs 0 Denunciar post Postado Julho 14, 2008 Obrigado Foxn, Funcionou 100%.Só gostaria de entender qual a diferença quando tu falas em valores da Array como Strings ou instâncias. A diferença está na maneira como eu coloco dentro da Array (com aspas ou sem aspas). Valeu. Compartilhar este post Link para o post Compartilhar em outros sites
Foxn 3 Denunciar post Postado Julho 14, 2008 A diferença é que se for instancia e não string ficaria sem o _root, seria assim: function ajuda() { _root.attachMovie("help","help",0); help._x = Stage.width / 2; help._y = Stage.height / 2; for (k = 0; k < arr2.length; k++) { movie = arr2[k]; movie.enabled = false; trace(movie); }; }; Compartilhar este post Link para o post Compartilhar em outros sites
losrs 0 Denunciar post Postado Julho 14, 2008 Blza, valeu a explicação. Agora to tentando colocar a cereja no bolo http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Tenho um botão dentro da ajuda que fecha a mesma e deveria re-habilitar os movies que ainda não tivessem sido clicados.Dentro do movie tenho um comando CODE arr1.push(this._name); e tenho uma função que compara duas arrays e retorna uma terceira com os movies que não forão clicados. CODE function compareArrays(a1,a2){ trace(arr1); trace(arr2); var tmpArr=a2.concat(); for(var i=0; i<a1.length; i++){ var tmp1= a1; for(var j=0; j<a2.length; j++){ if(tmp1===a2[j]){ tmpArr.splice((j-i),1); } } } return arr3=tmpArr.concat();} Usando a mesma lógica que desabilita os movies fiz uma função: CODE function liberaMovies() { for (n=0;n<arr3.length+1;n++) { movie = _root[arr3[n]]; movie.enabled = true; trace(arr3); } } Dúvida: Tentei chamar as duas funções de dentro do btn que esta no movieclip ajuda mas não está funcionando. CODE compareArrays(arr1,arr2);liberaMovies(); Compartilhar este post Link para o post Compartilhar em outros sites
losrs 0 Denunciar post Postado Julho 14, 2008 Solução do Problema: CODE fecha_ajuda.onPress = function() { tellTarget ("_root") { compareArrays(arr1, arr2); liberaMovies(); _parent.help.removeMovieClip(); } }; Compartilhar este post Link para o post Compartilhar em outros sites