simas 0 Denunciar post Postado Junho 18, 2009 Olá tenho a seguinte situação. Tenho um movie clip (boneco) que já se movimenta com o mouse ou o teclado. Mas eu coloquei uma foto no fundo como paisagem, Esta imagem é bem maior que o palco e eu gostaria de qdo eu movimentar o movie clip(boneco) pelo mouse ou teclado esta imagem de fundo também se movimentasse. Sei que tenho que colocar esta imagem de fundo tb como movie clip, porém não sei como colocar no action script pra identificar que a imagem de fundo tem q se movimentar tanto pra direita ou esquerda, baixo e em cima a depender do movie clip (boneco). Segue o código que coloquei para o boneco se movimentar com o mouse ou teclado, este action esta no meu movie clip (boneco) on (press) { //this.startDrag(); this.startDrag(false,120,0,900,383);// x esquerda, topo, direita, baixo Mouse.hide(); } on (release, releaseOutside) { this.stopDrag(); Mouse.show(); } onClipEvent (enterFrame) { if (_y<380) { gotoAndPlay(2); // aqui eu mudo o efeito do meu boneco a depender da sua posição Y } else { gotoAndPlay(1); } } // para o teclado onClipEvent (enterFrame) { if (Key.isDown(Key.RIGHT)) { this._x = _x+10; if (_x>900) { _x = 900; } } if (Key.isDown(Key.LEFT)) { if (_y<380) { gotoAndPlay(3); this._x = _x-10; } else { gotoAndPlay(1); this._x = _x-10; } if (_x<120) { _x = 120; } } if (Key.isDown(Key.UP)) { this._y = _y-10; if (_y<19) { _y = 19; } } if (Key.isDown(Key.DOWN)) { this._y = _y+10; if (_y>383) { _y = 383; } } } Desde já, agradeço as ajudas. valeu. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Junho 18, 2009 Verifique a posição do mouse com um onEnterFrame... pegando o x e o y do mouse com _xmouse _ymouse... E verifique a posição anterior dele... em relação a cada 1...... Vai ter que fazer pelo menos 8 if else Abraços Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Junho 18, 2009 Verifique a posição do mouse com um onEnterFrame... pegando o x e o y do mouse com _xmouse _ymouse... E verifique a posição anterior dele... em relação a cada 1...... Vai ter que fazer pelo menos 8 if else Abraços Se é pra pegar a posição do mouse, use onMouseMove e não onEnterFrame. Compartilhar este post Link para o post Compartilhar em outros sites
simas 0 Denunciar post Postado Junho 18, 2009 O movie clip boneco se movimenta com o teclado também, então eu qcho que pela posição do mouse não vai funcionar corretamente. Acho que tenho que fazer pegando a posição do movie clip (boneco). A depender pra onde o boneco vai, o background, q tb é um movie clip vai se movimentando no sentido ao contrário. Mas não sei como fazer esta programação de um movie clip andar no sentido inverso de um outro movie clip. Seria mais ou menos isso o meu problema, qdo o boneco ser arrastado pelo mouse para a direita ou pela tecla da direita o meu outro movie clip(background) ir para a esquerda. Este background está atrás do movie clip boneco, o background funciona como uma foto de paisagem que o boneco vai andando por ela. Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Junho 19, 2009 1. Remova qualquer código do MovieClip boneco. 2. Instancie o MovieClip background como background e o boneco como boneco. :P 3. Insira o seguinte código no frame onde estão os MovieClips. var x_boneco:Number = boneco._x; var y_boneco:Number = boneco._y; function handleCoordsBoneco():Void { /* Essa é a parte que manda o background para a posição caminhada inversa do boneco */ //////////////// var dif_x:Number = x_boneco - boneco._x; var dif_y:Number = y_boneco - boneco._y; background._x += dif_x; background._y += dif_y; //////////////// if (boneco._y < 380) { gotoAndPlay(2); } else { gotoAndPlay(1); } x_boneco = boneco._x; y_boneco = boneco._y; } boneco.onEnterFrame = function() { if (Key.isDown(Key.RIGHT)) { if (this._x >= 900) { this._x = 900; } else { this._x += 10; } } if (Key.isDown(Key.LEFT)) { if (this._x <= 120) { this._x = 120; } else { this._x -= 10; } } if (Key.isDown(Key.UP)) { if (this._y <= 19) { this._y = 19; } else { this._y -= 10; } } if (Key.isDown(Key.DOWN)) { if (this._y >= 383) { this._y = 383; }else{ this._y += 10; } } handleCoordsBoneco(); } boneco.onPress = function() { this.startDrag(false, 120, 0, 900, 383);// x esquerda, topo, direita, baixo Mouse.hide(); Mouse.addListener(listener); } boneco.onRelease = function() { this.stopDrag(); Mouse.show(); Mouse.removeListener(listener); } var listener:Object = new Object(); listener.onMouseMove = function() { handleCoordsBoneco(); } Se sua programação tinha algum outro problema, eu não resolvi. Um abraço e boa sorte. Compartilhar este post Link para o post Compartilhar em outros sites
guto_samba 0 Denunciar post Postado Julho 20, 2009 Olá Equipe IMaster tem um site http://jeitomoleque.com.br minha duvida é um script que gera esse movimento de acordo com o mouse, e a realidade com que o fundo e parte da frente se movimentam... quem puder me ajudar desde já agradeço Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Julho 21, 2009 Guto para conseguir esse movimento você precisa primeiramente: Ter uma imagem maior que a tela, transformá-la em MC e instancia-la; Mapear a posição do mouse e atribui ações diferentes para quando o mouse for maior que a metade da tela (levando a imagem para a esquerda) e o contrário quando o mouse for menor que a metade da tela (levando a imagem para a esquerda); Tente usar o onMouseMove ou mesmo o onEnterFrame, ambos funcionam. Qualquer coisa posta ae! Compartilhar este post Link para o post Compartilhar em outros sites
guto_samba 0 Denunciar post Postado Julho 23, 2009 Olá Jerfs Souza obrigado pela resposta... eu andei fazendo uma pesquisa, sobre isso, e estou montando um site em flash AS2 achei um script chamado "image panning" no site kirupa.com e estou montando um site para o grupo de pagode do meu irmão, o problema é que esse script faz a ação de se movimentar somente para os esquerda e direita, e o site do jeitomoleque.com.br, ele movimentasse para todos os lados.... segue o site que estou desenvolvendo http://faclubepapel.com/papel_com aguardo retorno Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 24, 2009 Bom então você teria que ver o código como é feito para movimentar para a direita e para esquerda... no caso vai estar usando a posição X do clip... E você deve fazer o mesmo para a posição Y. Assim você vai ter a possibilidade de movimentar para cima e para baixo. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
guto_samba 0 Denunciar post Postado Julho 25, 2009 berseck Segue o Script que eu usei... porem pelos estudos que fiz não consegui movimentar para cima/baixo. Pois o clip ultrapassa o limite da tela. Segue o script usado: this.onMouseMove = function() { constrainedMove(bg_mc, 4, 1); }; function constrainedMove(target:MovieClip, speed:Number, dir:Number) { var mousePercent:Number = _xmouse/Stage.width; var mSpeed:Number; if (dir == -1) { mSpeed = 1-mousePercent; } else { mSpeed = mousePercent; } target.destX = Math.round(-((target._width-Stage.width)*mSpeed)); target.onEnterFrame = function() { if (target._x == target.destX) { delete target.onEnterFrame; } else { target._x += Math.ceil((target.destX-target._x)*(speed/100)); } }; } Apenas gostaria de saber como fazer para movimentar paras os lados de cima e baixo. Vlw Compartilhar este post Link para o post Compartilhar em outros sites
inx 4 Denunciar post Postado Julho 25, 2009 tenta trocar o x pelo y.. =D.. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 25, 2009 Faça como o inx falou use o mesmo código na parte do target._x e troque por target._y ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
guto_samba 0 Denunciar post Postado Julho 31, 2009 Galera valeu pela ajuda... mais não consegui, a tela ultrapassa, e quando você muda o mouse para esquerda/direita a imagem corre para cima/baixo/esquerda/direita ao mesmo tempo, sendo que ultrapassa o limite da Stage (palco de trabalho) Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Julho 31, 2009 Galera valeu pela ajuda... mais não consegui, a tela ultrapassa, e quando você muda o mouse para esquerda/direita a imagem corre para cima/baixo/esquerda/direita ao mesmo tempo, sendo que ultrapassa o limite da Stage (palco de trabalho) tem jeito de você passar o FLA pra eu dar uma olhada? Compartilhar este post Link para o post Compartilhar em outros sites
guto_samba 0 Denunciar post Postado Agosto 10, 2009 tem jeito de você passar o FLA pra eu dar uma olhada? Consegui o que queria, a minha dúvida é só uma outra coisa, tenho um swf externo que carrega no principal, o swf externo tem 2580px de largura, é o pricipal é de 1680px, gostaria que o preload ficasse no centro da stage da swf principal. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 10, 2009 Coloque o código para x e y relacionado ao stage Tipo: mc._x = Stage.width/2 mc._y = Stage.height/2 Abraços Compartilhar este post Link para o post Compartilhar em outros sites