_Brunoo_ 0 Denunciar post Postado Setembro 14, 2010 Boa tarde a todos , estou novamente com problema no meu loteamento em flash, a minha area tem 1600 x 900 e tenho um fundo com a planta (instancia "fundo") que esta 2057 x 1195, encima do "fundo" colei o seguinte ac : on (press) { startDrag(this, false, 1200,700,400,100); this.useHandCursor = true; } on (release, releaseOutside, rollOut, dragOut) { stopDrag(); this.useHandCursor = false; } on ( keyPress "<Right>") { this._x = this._x+50; if(this._x>1200){ setProperty(this, _x,1200); } } on (keyPress "<Left>") { this._x = this._x-50; if(this._x<400){ setProperty(this, _x,400); } } on ( keyPress "<Up>") { this._y = this._y+50; if(this._y>700){ setProperty(this, _y,700); } } on (keyPress "<Down>") { this._y = this._y-50; if(this._y<100){ setProperty(this, _y,100); } } mas na ora de criar os botoes para os lotes dentro do movie clip eles nao ficam selecionados acredito seja por causa da funçao .. e se criar os botos na minha cena 1 os botoes nao acompanham o meu fundo :( aqui esta um exemplo do que eu gostaria de fazer novamente agredeço a todos pela ajuda , este é com certeza o melhor forum ! abrç Clique aqui Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 15, 2010 Esse projeto foi feito em AS 3 E não AS 2 para começar... O que você quer é criar botões que ao clicar ele mostre a area ou faça um relevo? Pq você pode colocar no rollOver o efeito com o mouse Ou você cria uma função chamada onSelectArea e faça o efeito que você quiser... Ai conforme você passar de um pro outro você vai ativar esse efeito ou não. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 15, 2010 Esse projeto foi feito em AS 3 E não AS 2 para começar... O que você quer é criar botões que ao clicar ele mostre a area ou faça um relevo? Pq você pode colocar no rollOver o efeito com o mouse Ou você cria uma função chamada onSelectArea e faça o efeito que você quiser... Ai conforme você passar de um pro outro você vai ativar esse efeito ou não. Abraços Projeto esse e meu projeto , o que preciso é fazer com que ao passar o mouse em cada lote ele mude de cor, e que apareçam as informaçoes la no topo onde tem os dados tecnicos , mesmo criando um simples botao dentro do movie clip ele nao fica selecionado quando coloco o mouse emcima .. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 15, 2010 Faça: button.onRollOver = buttonSelected; button.onRollOut = buttonDeselected; function buttonSelected(){ var my_color:Color = new Color(this); my_color.setRGB(0xFF0000); } function buttonDeselected(){ var my_color:Color = new Color(this); my_color.setRGB(0x0000FF); } Veja que as funções estão "globalizadas"... Então elas vão mudar a cor do botão que chamar elas. Então tudo que você vai ter que fazer é dentro desses selected ou deselected colocar ele para abrir um MC com a informação referente a aquele MC Lembrando que se desejar pegar o nome do movieclip Faça this._name. Abraços PS: Teu site não abriu... abriu uma enorme tela preta... e só Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 15, 2010 Faça: button.onRollOver = buttonSelected; button.onRollOut = buttonDeselected; function buttonSelected(){ var my_color:Color = new Color(this); my_color.setRGB(0xFF0000); } function buttonDeselected(){ var my_color:Color = new Color(this); my_color.setRGB(0x0000FF); } Veja que as funções estão "globalizadas"... Então elas vão mudar a cor do botão que chamar elas. Então tudo que você vai ter que fazer é dentro desses selected ou deselected colocar ele para abrir um MC com a informação referente a aquele MC Lembrando que se desejar pegar o nome do movieclip Faça this._name. Abraços PS: Teu site não abriu... abriu uma enorme tela preta... e só Humm nao era bem isso que precisava,, o problema e que esses botoes vao estar dentro de um movie clip que é controlado pelo mouse e pelas setas : on (press) { startDrag(this, false, 1200,700,400,100); this.useHandCursor = true; } on (release, releaseOutside, rollOut, dragOut) { stopDrag(); this.useHandCursor = false; } on ( keyPress "<Right>") { this._x = this._x+50; if(this._x>1200){ setProperty(this, _x,1200); } } on (keyPress "<Left>") { this._x = this._x-50; if(this._x<400){ setProperty(this, _x,400); } } on ( keyPress "<Up>") { this._y = this._y+50; if(this._y>700){ setProperty(this, _y,700); } } on (keyPress "<Down>") { this._y = this._y-50; if(this._y<100){ setProperty(this, _y,100); } } e dentro do movie clip nao funziona , so se tirar fora o AS acima indicado .. agradeço pela ajuda. tente esperar um pouco que abre , e que nao esta pronto ainda e esta pesado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 15, 2010 1 - Adicione a tag <code> ao fazer seus códigos para melhor leitura Bom o fato é o seguinte, o que você quer fazer se você fica colocando botão por botão você vai ter um trabalho do caraio.... para conseguir o que você quer fazer E do jeito que eu coloquei ali é mais generico e através de um array com um for você colocaria a mesma ação a todos os botões de uma feita só e eliminaria uma porrada de código desnecessário Da para fazer isso que você quer com o this da mesma maneira... Mas se quiser fazer com o exemplo q eu falei Basta colocar no onPress o mesmo efeito Chamando a função que eu coloquei ali Fazendo assim: on(press){ buttonSelected(this); } function buttonSelected(button){ var my_color:Color = new Color(button); my_color.setRGB(0xFF0000); } Mas já lhe aviso que se passar de 5 botões você vai tar perdendo teu tempo fazendo cópia de código desnecessário. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 15, 2010 posso te mandar um ex do fla ? nao ta dando nao... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 15, 2010 Ok, Presta atenção eu não vo ensinar a fazer denovo :) você vai criar duas bolinhas e vai instanciar de ball1 e ball2 Vai colocar elas no seu palco Ai você vai Clicar sobre o frame e vai colocar o código: var obj:Object = new Object(); var mc:MovieClip; var record:MovieClip; Key.addListener(obj); ball1.onPress = pegaBola; ball2.onPress = pegaBola; function pegaBola(){ startDrag(this, false, 1200,700,400,100); this.useHandCursor = true; var myColor1 = new Color(record); myColor1.setRGB(0xFF0000); var myColor2 = new Color(this); myColor2.setRGB(0xFF00FF); record = this; mc = this; trace(mc._name); } ball1.onRelease = ball1.onReleaseOutside = ball1.onRollOut = ball1.dragOut = function(){ stopDrag(); this.useHandCursor = false; } ball2.onRelease = ball2.onReleaseOutside = ball2.onRollOut = ball2.dragOut = function(){ stopDrag(); this.useHandCursor = false; } obj.onKeyDown = function(){ mc.stopDrag(); if(Key.getCode() == Key.UP){ mc._y = mc._y+50; if(mc._y>700){ setProperty(mc, _y,700); } }else if(Key.getCode() == Key.DOWN){ mc._y = mc._y-50; if(mc._y<100){ setProperty(mc, _y,100); } }else if(Key.getCode() == Key.RIGHT){ mc._x = mc._x+50; if(mc._x>1200){ setProperty(mc, _x,1200); } }else if(Key.getCode() == Key.LEFT){ mc._x = mc._x-50; if(mc._x<400){ setProperty(mc, _x,400); } } } Isso ai vai fazer o que você quer fazer... Não tem mistério é copiar e colar. E o exemplo ta aqui: exemple001.fla Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 15, 2010 posso te mandar um ex do fla ? nao ta dando nao... aqui esta o link para download obs este é so um esemplo , tem mais informaçoes no AS no mapa www.ecoinga.com.br/teste/mapa.fla Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 15, 2010 Veja o exemplo que lhe foi dado ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 16, 2010 beleza.. mas ai as "bolas" nao estao seguindo o fundo , o botao tem que ficar parado no seu lote ele so tem que mudar a cor quando passar o mouse tente ver o exemplo que postei que vai intender melhor.. é bem mais simples do que parece Obrigado berseck Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 16, 2010 Seguindo que fundo amigo? No teu exemplo é um mapa que da pra arrasta e mexer com as setas e mais nada...... Eu fiz exatamente isso só que com 2 bolas da maneira correta e sem ON Quanto a mudar de cor só com rollOver eu coloquei no Press mas você pode colocar no rollOver E se você quer que os botões não se mexam então você tem que criar varios MovieClips ESTATICOS ou seja não vai por ação nenhuma neles a não ser a do rollOver, eu fiz o exemplo acima de acordo com o código que você passou. O que você quer é uma porrada de botão junto. Basta colocar um quadrado no palco instanciar, e na action colocar onRollOver e fazer o código de cor que eu te passei Ai ele não vai se mover para lugar algum e só vai mudar de cor. Quem ta complicando é tu A resposta pro que você pediu ta la em cima a muito tempo O que você quer é isso aqui: select_unselect.fla Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 16, 2010 Seguindo que fundo amigo? No teu exemplo é um mapa que da pra arrasta e mexer com as setas e mais nada...... Eu fiz exatamente isso só que com 2 bolas da maneira correta e sem ON Quanto a mudar de cor só com rollOver eu coloquei no Press mas você pode colocar no rollOver E se você quer que os botões não se mexam então você tem que criar varios MovieClips ESTATICOS ou seja não vai por ação nenhuma neles a não ser a do rollOver, eu fiz o exemplo acima de acordo com o código que você passou. O que você quer é uma porrada de botão junto. Basta colocar um quadrado no palco instanciar, e na action colocar onRollOver e fazer o código de cor que eu te passei Ai ele não vai se mover para lugar algum e só vai mudar de cor. Quem ta complicando é tu A resposta pro que você pediu ta la em cima a muito tempo O que você quer é isso aqui: select_unselect.fla Abraços sim e isso ! e funzionaria muito bem se meu fundo fosse estatico. Mas nao é , ele se mexe e o botao fica sempre no mesmo lugar cada botao tem que estar SEMPRE no seu lote .. mas beleza obrigado mesmo assim pela ajuda .. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 18, 2010 Então coloca os botões dentro do MC que se move né meu caro... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 20, 2010 e foi o que eu pensei antes de começar a fazer o projeto, mas infelizmente nao da porque no movie clip tem uma AC de StartDrag e Keypress dae ele nao le os meus botoes... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 20, 2010 Bom isso que você quer Teoricamente só é possivel fazer com AS 3.0 AS 2 não deixa você colocar uma ação no pai e depois nos filhos Então o metodo para fazer isso é você coloca um fundo dentro do pai que é o que vai andar Ai você vai fazer a posição dos filhos dinamica. Como se fosse um layout liquido que elas vão depender da posição do fundo OU seja o botão vai ter posição X assim: botao._x = fundo._x + 10; E assim por diante, você vai ter que colocar um valor referencial para que eles andem juntos. Agora caso queira fazer como eu falei Botar uma ação no pai e depois nos filhos (que seria o correto) Você vai ter que fazer isso ai em AS 3 Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_Brunoo_ 0 Denunciar post Postado Setembro 20, 2010 Bom isso que você quer Teoricamente só é possivel fazer com AS 3.0 AS 2 não deixa você colocar uma ação no pai e depois nos filhos Então o metodo para fazer isso é você coloca um fundo dentro do pai que é o que vai andar Ai você vai fazer a posição dos filhos dinamica. Como se fosse um layout liquido que elas vão depender da posição do fundo OU seja o botão vai ter posição X assim: botao._x = fundo._x + 10; E assim por diante, você vai ter que colocar um valor referencial para que eles andem juntos. Agora caso queira fazer como eu falei Botar uma ação no pai e depois nos filhos (que seria o correto) Você vai ter que fazer isso ai em AS 3 Abraços Entendi, pena que nao sei as3,ja estou fazendo de outra maneira que nao vai ficar tao legal mas beleza,valew pela ajuda ! abrç Compartilhar este post Link para o post Compartilhar em outros sites