ricardo_mc 19 Denunciar post Postado Setembro 30, 2009 Bom, eu montei o seguinte código, que pode ser visto funcionando aki: http://www.unlock.com.br/gestor/ on (release) { this.createEmptyMovieClip("img_mc",this.getNextHighestDepth()); duplicateMovieClip(img_mc, "newImg_mc2", this.getNextHighestDepth()); if (Stage.width >= 1050 || Stage.height >= 850) { newImg_mc2._x = 470; newImg_mc2._y = random(60); } if (Stage.width < 1050 || Stage.height < 850) { newImg_mc2._x = 10; newImg_mc2._y = random(60); } newImg_mc2.loadMovie("pastas/garantias.swf"); } Isso é um botão de uma grade botões que dão loadMovie em SWFs externos. De modo a poder alinhar todos os botões aonde eu quiser (assim como colocar a função de Drag na grade) eu coloquei todos em um MC chamado "buttons". Acontece que todos os SWFs externos são chamados dentro desse MC criado, e se eu colocar a função Drag nele, ela vai arrastar todos os botões junto dos SWFs externos. Tem como de dentro desse MC mandar criar e duplicar os loadMovie no "root"?? Dessa forma o 'Drag' não afetaria todos os loads. Tentei colocar '_root' no lugar do 'this', assim como "duplicateMovieClip(img_mc, _root.newImg_mc2, this.getNextHighestDepth());" e outras variações, mas nenhuma deu certo. Aguém sabe como resolver isso?? ********************************* A outra é em relação ao 'swapDepths'. Em cada loadMovie, é aberto uma janela, com função de Drag, mas acontece que várias janelas podem ser abertas ao mesmo tempo. O problema é que ao dar loadMovie nelas, elas já ficam com Depth fixo, e eu não estou conseguindo usar a função "swapDepth" nela. A idéia é que ao arrastar as janelas (usar o startDrag) ele automaticamente mudar as 'Depths' para cima. Como pode ser visto no código, ele já usa 'getNextHighestDepth()' no loadMovie. A minha idéia foi pegar esses SWFs externos e colocar na função Drag deles o seguinte código: on (press) { startDrag(this._parent); this.swapDepths(getNextHighestDepth()); this._parent._alpha = 50; } E no caso eu tbm tentei tirar o código 'getNextHighestDepth()' do loadMovie, mas tbm não deu certo. Alguém tem idéia de como resolver isso?? Agradeço quem puder me dar uma ajudinha :D Compartilhar este post Link para o post Compartilhar em outros sites
ricardo_mc 19 Denunciar post Postado Setembro 30, 2009 Bom, consegui resolver 1 dos problemas. No caso de criar o MC novo no '_root', eu tive que colocar as funções dos botões em um frame no _root, ao invés de colocar diretamente dentro do botão. Mas eu ainda não estou conseguindo fazer o "swapDepths", com a função de ao clicar para arrastar as janelas, elas ficarem sobre as outras. Any ideas about that?? :D Compartilhar este post Link para o post Compartilhar em outros sites
ricardo_mc 19 Denunciar post Postado Setembro 30, 2009 BOm, sinto q estou chegando perto, mas dei de cara com a parede. Conseguir fazer o swapDepth da maneira errada. Ele está funcionando mas de forma oposta. Ao clicar no botão Drag, ao invés de ele trazer para cima, ele está enviando para baixo. O código q eu estou usando no botão é esse aqui: on (press) { startDrag(this._parent); this._parent._alpha = 50; this._parent.swapDepths(getNextHighestDepth()); } O que eu preciso é que ele faça exatamente o oposto do que está acontecendo, ao invés de trocar o Depth e enviar para trás do resto, eu quero que ele troque para frente (e não com a frente). Bom, tentei colocar uma condição, mas naum deu muito certo. Fiz assim: on (press) { startDrag(this._parent); this._parent._alpha = 50; if (this._parent.getNextHighestDepth() == 0) { this._parent.swapDepths(getNextHighestDepth()); } } Mas dessa forma ele continua enviando para baixo ao invés de para cima. Olhando o efeito funcionar, parece uma coisa simples, mas eu naum estou conseguindo. Malz pelos 3 posts seguidos, mas infelizmente não dá pra editar o post. Se precisarem eu posto os arquivos fontes para analisarem. VLw ae quem puder dar uma ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Setembro 30, 2009 Tenta assim: on (press) { startDrag(this._parent); this._parent._alpha = 50; this._parent.swapDepths(_root.getNextHighestDepth()); } Abs. Compartilhar este post Link para o post Compartilhar em outros sites
ricardo_mc 19 Denunciar post Postado Setembro 30, 2009 Caraio, eu naum sei se te agradeço ou se bato em você.... pqp eu sabia q era uma parada babaca de simples, mas naum esperava que fosse tanto. Meu caro, funcionou perfeitamente, muito obrigado pelo bizu. O pior é que eu tinha tentado várias coisas parecidas, e inclusive isso tbm, mas eu havia tentado colocando o código no frame, ao invés de fazer essa alteração apenas no botão. Bahh... acho que só vou voltar a ver esse código semana que vem de tanto estresse que ele trouxe. Vlw mesmo e se quiserem podem fechar o tópico :D Compartilhar este post Link para o post Compartilhar em outros sites