Freelife 2 Denunciar post Postado Dezembro 17, 2008 Esse é um for para criar um tabela de mc's usando o attachMovie, porém quando ele passa de 10 mc's sempre que pula uma linha um dos mc's não aparece. Será que alguém consegue descobrir o erro??? código: var linha:Number = 0; var coluna:Number = 0; //Aqui eu coloquei 11 de úmero total só para vcs testarem, quando colocarem um número maior tipo 30, vão ver a diferença. var total:Number = 11; var j; for( j=0; j<=total; j++){ trace(coluna +" Coluna"); if(coluna <= 4){ var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j); teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j, {_x:(coluna * 100), _y:(linha * 70)}); coluna++; } else{ linha++; coluna=0; } teste.onPress = function(){ this.startDrag(); } teste.onRelease = function(){ this.stopDrag(); } } Abraços e espero que alguém consiga ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
flashDeveloper 0 Denunciar post Postado Dezembro 17, 2008 Fala Freelife beleza? Voce não pode disponibilizar o arquivo fonte pra gente poder te ajudar? flw.... Esse é um for para criar um tabela de mc's usando o attachMovie, porém quando ele passa de 10 mc's sempre que pula uma linha um dos mc's não aparece. Será que alguém consegue descobrir o erro??? código: var linha:Number = 0; var coluna:Number = 0; //Aqui eu coloquei 11 de úmero total só para vcs testarem, quando colocarem um número maior tipo 30, vão ver a diferença. var total:Number = 11; var j; for( j=0; j<=total; j++){ trace(coluna +" Coluna"); if(coluna <= 4){ var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j); teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j, {_x:(coluna * 100), _y:(linha * 70)}); coluna++; } else{ linha++; coluna=0; } teste.onPress = function(){ this.startDrag(); } teste.onRelease = function(){ this.stopDrag(); } } Abraços e espero que alguém consiga ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
flashDeveloper 0 Denunciar post Postado Dezembro 17, 2008 Bom dia Freelife, beleza? você pode disponibilizar pra gente o arquivo fonte para que possamos te ajudar? aguardo..... qlqr coisa MSN: contato@flashdeveloper.com.br Esse é um for para criar um tabela de mc's usando o attachMovie, porém quando ele passa de 10 mc's sempre que pula uma linha um dos mc's não aparece. Será que alguém consegue descobrir o erro??? código: var linha:Number = 0; var coluna:Number = 0; //Aqui eu coloquei 11 de úmero total só para vcs testarem, quando colocarem um número maior tipo 30, vão ver a diferença. var total:Number = 11; var j; for( j=0; j<=total; j++){ trace(coluna +" Coluna"); if(coluna <= 4){ var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j); teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j, {_x:(coluna * 100), _y:(linha * 70)}); coluna++; } else{ linha++; coluna=0; } teste.onPress = function(){ this.startDrag(); } teste.onRelease = function(){ this.stopDrag(); } } Abraços e espero que alguém consiga ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Freelife 2 Denunciar post Postado Dezembro 17, 2008 beleza! Então... por enquanto não consigo disponibilizar pq não estou em casa. Mas na verdade o arquivo não tem nada praticamente, eu só criei um mc com shift+F8 e coloquei o nome dele de "LinkagedoMCnaBiblioteca" sem aspas e cliquei em "export for action Script", daí ele puxa o mc da biblioteca. foi só um arquivo de teste mesmo, é bem simples. Mas de qualquer maneira hoje a noite eu disponibilizo. Abraços e vlw por enquanto. Obs.: O código AS vai direto no 1º frame. Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Dezembro 17, 2008 Olá amigo, o problema está no seu "if" (condição)... Repare que a cada verificação se coluna é menor ou igual a 4 ele attacha seu mc e acrescenta mais um na coluna, mas quando coluna for maior que 4, a condição vai para o "else" (outra) que apenas acrescenta mais uma linha e zera a coluna, mas neste processo (if / else), já foi feito um loop (pois a condição está dentro do for), por esta razão é que haverá sempre um mc a menos para cada cada linha criada. http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Abs. Compartilhar este post Link para o post Compartilhar em outros sites
Freelife 2 Denunciar post Postado Dezembro 17, 2008 Vlw... como é que eu faço para não acontecer isso? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Dezembro 17, 2008 Será que não fui claro na explicação?? Quando a condição entra no "else", não ataccha nada e acresenta +1, pois repetiu o laço (for) e pulou o "mc da vez"... Para não "pular este mc", basta substrair 1 da variável "j" quando entrar no "else" para que este mc entre no próximo laço. Simples assim! Outra coisa, no seu exemplo, sugiro setar as variáveis de "0" para "1". http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif Abs. Compartilhar este post Link para o post Compartilhar em outros sites
Freelife 2 Denunciar post Postado Dezembro 17, 2008 Vlw pela resposta... não é que você não foi claro, é que eu sou bem novo nisso, principalmente em programação. Não sei nada de programação, o que tenho feito é ler e estudar, eu tentei várias vezes resolver esse problema, mas não sabia onde é que estava o problema, e como não tenho o flash aqui nem passou pela cabeça essa condição do "else". Então sobre as variáveis, pq setar elas como 1? Mas valeu... Vou estudar mais... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Dezembro 17, 2008 Tranquilo Freelife, e desculpe se não me expressei muito bem! Veja como ficaria ficaria o código: var linha:Number = 1; var coluna:Number = 1; var qCol:Number = 4; //Setando a quantidade de colunas var total:Number = 18; //Setando a quantidade de registros var j:Number = 1; for(j = 1; j <= total; j++){ trace(coluna +" Coluna"); if(coluna <= qCol){ var teste:MovieClip = this.createEmptyMovieClip("my"+ j +"_mc", j); teste._x = -100, teste._y = -70; teste.attachMovie("LinkagedoMCnaBiblioteca", fundo, j, {_x:(coluna * 100), _y:(linha * 70)}); coluna++; }else{ linha++; coluna = 1; j--; }; teste.onPress = function(){ this.startDrag(); } teste.onRelease = function(){ this.stopDrag(); } }; A sugestão de utilizar "1" nas variáveis iniciais não é obrigatória, seria apenas para facilitar o entendimento. http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif Abs. Compartilhar este post Link para o post Compartilhar em outros sites
Freelife 2 Denunciar post Postado Dezembro 17, 2008 Valeu pela resposta mais uma vez... Se expressou bem sim, vlw. agora em casa já implementei o que você falou e deu certo. Segue o link fo fla e do swf para quem quiser testar. http://rapidshare.com/files/174382213/colunaElinha.rar.html Vlw e abraços Compartilhar este post Link para o post Compartilhar em outros sites