Juan_VALSA 0 Denunciar post Postado Janeiro 2, 2006 OI Amigos, eu consegui resolver meu problema de carregar e modificar os depths dos movies carregados(que postei anteriormente), mas existem algumal linhas que eu gostaria de saber se tem como eu trocar nomes por variáveis para não ter que repetir o código. if (movie01_depth>=movie01_depth && movie01_depth>=movie02_depth && movie01_depth>=movie03_depth && movie01_depth>=movie04_depth) { maiorDepth = movie01_depth; } if (movie02_depth>=movie01_depth && movie02_depth>=movie02_depth && movie02_depth>=movie03_depth && movie02_depth>=movie04_depth) { maiorDepth = movie02_depth; } if (movie03_depth>=movie01_depth && movie03_depth>=movie02_depth && movie03_depth>=movie03_depth && movie03_depth>=movie04_depth) { maiorDepth = movie03_depth; } if (movie04_depth>=movie01_depth && movie04_depth>=movie02_depth && movie04_depth>=movie03_depth && movie04_depth>=movie04_depth) { maiorDepth = movie04_depth; }Existe alguma maneira diminuir a quantidade de linhas usando variáveis? Alguém pode ma ajudar? Que estiver com a mesma dúvida, vou postar o código completo quando eu tirar esta última dúvida siobre variáveis. Abs!! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 3, 2006 O que na você quer fazer na verdade com esse código?Tem um exemplo visual disso? Compartilhar este post Link para o post Compartilhar em outros sites
Juan_VALSA 0 Denunciar post Postado Janeiro 3, 2006 Oi Carneirinho,Tudo bem?Cara, é o seguinte... eu estou fazendo uma navegação simples onde crio um movie clipe vazio e dentro dele é carregado um swf. Cada novo filme criado ele vem por cima do que está sendo exposto. Quando o clipe já foi carregado eu troco os depths.Isso eu conseguir fazer, porém meu código fica grande, tipo o exemplo acima do seu comentário...queria saber como simplificar isso. Pois se um dia eu tivesse que carregar 20 swf eu teria que repetir essa combinacão toda.Não sei se conseguir explicar direito, caso não tenha ficado muito claro, tentarei novamente. Por favor me dê essa ajuda!! Abs!!!! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 3, 2006 Da uma lida nesse post, ve se é mais ou menos isso que você quer: http://forum.imasters.com.br/index.php?showtopic=159514 Compartilhar este post Link para o post Compartilhar em outros sites
Juan_VALSA 0 Denunciar post Postado Janeiro 3, 2006 Cara, estou olhando...na verdade como estou iniciando ainda estou tentando entender esse outro que você mandou.Mas na verdade a questão maior é como eu nomeio a variavel usando por exemplo, "variavel"+i... tem vezes que ela não reconhece...tem que ser entre chaves? comchete? O código que vou postar abaixo eu fiz só que ele só funciona pela metade e eu não entendo por que...vê se você sabe responder isso...pq isso é o que quero tentar repetir no outro fla.esse codigo faz as caixas aumentarem e mudarem de posição...só que quando tentei usar variavei para fazer as ações ela de zica._root.onEnterFrame = function() { for (i=1; i<=4; i++) { this["mcQuad"+i]._x = this["mcQuad"+(i-1)]._x+this["mcQuad"+(i-1)]._width+8; a=this["mcQuad"+i]; } a.onRollOver = function() { a.onEnterFrame = function() { a._width += (200-a._width)*.1; }; }; a.onRollOut = function() { a.onEnterFrame = function() { a._width -= (a._width-50)*.1; }; }; };ABS! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 3, 2006 Não to entendendo, em um código você pede pra inverter níveis, ai no outro você coloca pra alterar o width, o que você precisa realmente? Compartilhar este post Link para o post Compartilhar em outros sites
Juan_VALSA 0 Denunciar post Postado Janeiro 3, 2006 heheheh desculpe a confusão toda... esquece tudo... a pergunta é como faço para uma determinada acão se repetir em várias instâncias, mas sem fazer todas as combinações possíveis, usando variáveis... ex: desta maneira, colocando o nemo correto da instancia eu teria que fazer todas as combinações manualmente. if (movie03_depth>=movie01_depth && movie03_depth>=movie02_depth && movie03_depth>=movie03_depth && movie03_depth>=movie04_depth) { maiorDepth = movie03_depth;como faço para em 1 if e usando variáveis fazer todas as combinacões.Não sei se ficou claro...Abs!! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 3, 2006 Que confusão, o que você quer é só pegar o movieclip que foi clicado e jogar acima de todos é isso?Se for é só você fazer uam função que pegue os dephts de todos os mcs e adicionar + 1 ao valor do que dem o depth mais alto, por exemplo, coloque 4 movieclips no palco com as instancias mc1, mc2, mc3 e mc4, coloque um sobre o outro para que você possa clicar neles e ver seu nivel subir, é bom que seja de outra cor, e use essa ação para quando clicar em algum ele ficar mais alto que todos: mc1.onRelease = mc2.onRelease = mc3.onRelease = mc4.onRelease = agonia; function agonia(){ a = mc1.getDepth(); trace(a); for(i = 1; i<=4;i++){ b = eval('mc' + i) c = b.getDepth(); if(c > a) a = c; } a ++; d = eval(this._name); d.swapDepths(a); } Compartilhar este post Link para o post Compartilhar em outros sites
Juan_VALSA 0 Denunciar post Postado Janeiro 3, 2006 Ah Muleq, é isso! Na verdade eu tinha conseguido fazer essa mesma coisa mas com o código de 5km...Mas a maior questão que eu estava querendo descobrir era como usar variáveis para repetir uma acão mas sem deixar o código gigantesco.Como sou novato, ainda vou ter ler seu código para identificar tudo.Tipo esse "EVAL" eu não sei o que é vou buscar aqui no livro.Mas queria aproveitar o embalo e te pedir para, se possível, olhar o outro código que eu comecei a fazer para me ajudar a entender o que estou fazendo errado ainda no assunto variável.---esse código aumenta o box quando paso o maouse por cima e muda as posiçãos _x dos boxes seguintes...porém quando usei essas variávei não rolou...você consegue identificar o meu erro? _root.onEnterFrame = function() {for (i=1; i<=4; i++) {this["mcQuad"+i]._x = this["mcQuad"+(i-1)]._x+this["mcQuad"+(i-1)]._width+8;a=this["mcQuad"+i];}a.onRollOver = function() {a.onEnterFrame = function() {a._width += (200-a._width)*.1;};};a.onRollOut = function() {a.onEnterFrame = function() {a._width -= (a._width-50)*.1;};};};Muito obrigado pela ajuda, já estou estudando o código que você enviou.Abs!!! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 3, 2006 o Eval transforma o que você quer formar em objeto, senão ele vira uma String, se você usar assim: a = 'mc' + 1; trace(typeof(a)); ele vai te retornar como String (texto), esse typeof te da o tipo de objeto que você esta trabalhando. se você colocar com eval, assim: a = eval('mc' + 1); trace(typeof(a)); de inicio ele vai vasculhar o que tem no seu filme, se ele não achar nada com a instancia mc1 ele vai te retornar undefined, e se você colocar um movieclip e der o nome de instancia pra ele de mc1, ele vai te retornar na tela como movieclip, assim o flash sabe que esta trabalhando com a instancia de um mc, se você colocar ´sem o eval, não acontece nada Compartilhar este post Link para o post Compartilhar em outros sites
Juan_VALSA 0 Denunciar post Postado Janeiro 3, 2006 Valeu Carneirinho,muito obrigado pela ajuda!Abs! Compartilhar este post Link para o post Compartilhar em outros sites
Juan_VALSA 0 Denunciar post Postado Janeiro 4, 2006 Oi Carneirinho, última pergunta, nem sei se você vai ver...espero que sim... Só uma coisa que não consegui entender... esse (this._name) é o q? this no caso está se referindo a quem? e name é o q? devem ser coisas bobas, mas não sei interpretar esse pedaço Abs mc1.onRelease = mc2.onRelease = mc3.onRelease = mc4.onRelease = agonia;function agonia(){a = mc1.getDepth();trace(a);for(i = 1; i<=4;i++){b = eval('mc' + i)c = b.getDepth();if(c > a) a = c;}a ++;d = eval(this._name);d.swapDepths(a);} Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 4, 2006 Oi Juan, this é que se refere ao objeto, e _name se refere ao nome de instancia de algum movieclip, ai no caso como você quer o nome do próprio movieclip que você esta clicando então você coloca o this, porisso formou o this._name, porque você quer pegar o movieclip que você clicou e colocar ele no depth maior, o que ele faz ai é comparar o depht de um movieclip com o de todos, dai ele pega o maior e adiciona 1, depois disso ele pega esse valor e faz com o que você clicou passe a ter esse valor com o swap, deu pra entender? Compartilhar este post Link para o post Compartilhar em outros sites
Juan_VALSA 0 Denunciar post Postado Janeiro 4, 2006 Ah! entendi, maneiro isso!E entendi também pq deve estar dando errado aqui...eu tinha mudado e colocado a função em um botão...e tirado do movie. Pq o botão carrega tb o conteudo eu coloco o loadmovie nele...pq ele começa a tocar o swf desde o inicio.E por isso que eu não estava entendendo o this...agora eu tenho que arrumar um jeito desse nome no final ser o do movie e não do botão, não é isso?abs!! Compartilhar este post Link para o post Compartilhar em outros sites