Drumente 0 Denunciar post Postado Junho 16, 2011 Olá a todos! Estou a desenvolver 1 jogo de tabuleiro em AS2. Vejam em http://nelio-hlapic.salamander-studios.com/boardgame (entrem com user: nelio e pass: nelio) Gostava que me dissessem qual o melhor metodo para fazer o movieclip andar pelas casas depois de sair 1 numero no dado e como seria o codigo. Por ex: Estou na casa 1, sai 3 no dado, o movieclip movimenta até a casa 4 (atravessa a casa 2 e 3 e para no 4) O nome de instancia das casas e tile1, tile2, tile3, tile4 .... Usando _x e _y para movimentar tenho que ter em atencao as curvas para o movieclip nao sair da trajectoria das casas. Compartilhar este post Link para o post Compartilhar em outros sites
Drumente 0 Denunciar post Postado Junho 17, 2011 Ola! Sera que o melhor metodo para fazer o movieclip pelas casas e criando 1 caminho em que ande por esse caminho ou e possivel pelos pontos de referencia dos movieclips das casas? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
brunobispo 20 Denunciar post Postado Junho 17, 2011 Você pode usar tweens para fazer com que seu MovieClip ande pelas casas que você definir até chegar na casa destino. Nos dois exemplos seguintes, eu usei a library da Greensock para AS3, mas as mesmas devem funcionar para a versão para AS2. Usando TimelineLite: Veja o código em funcionamento aqui. import flash.display.MovieClip; import com.greensock.TimelineMax; import com.greensock.TweenLite; import com.greensock.easing.Expo; import com.greensock.easing.Linear; var bola:MovieClip; var point1:MovieClip; var point2:MovieClip; var point3:MovieClip; var timeline:TimelineMax = new TimelineMax(); timeline.append(new TweenLite(bola, 2, {x:point1.x, y:point1.y, ease:Linear.easeNone}), 5); timeline.append(new TweenLite(bola, 2, {x:point2.x, y:point2.y, ease:Linear.easeNone})); timeline.append(new TweenLite(bola, 2, {x:point3.x, y:point3.y, ease:Linear.easeNone})); timeline.tweenTo(11, {ease:Expo.easeOut}); Usando bezier: Veja o código em funcionamento aqui. import flash.display.MovieClip; import com.greensock.plugins.TweenPlugin; import com.greensock.plugins.BezierPlugin; import com.greensock.TweenLite; var bola:MovieClip; var point1:MovieClip; var point2:MovieClip; var point3:MovieClip; TweenPlugin.activate([bezierPlugin]); TweenLite.to(bola, 6, {bezier:[{x:point1.x, y:point1.y}, {x:point2.x, y:point2.y}, {x:point3.x, y:point3.y}]}); Os dois funcionam, mas de formas diferentes. Enquanto com a TimeliteLite, o efeito é mais preciso, com bezier "pode" ser mais fácil. Lembrando que Bezier funciona como a ferramenta caneta dos programas de vetor. Cada bezier não representa um ponto em que seu MovieClip deve passar, mas apenas uma "orientação" da direção que deve seguir. Mais pontos podem fazer um efeito mais preciso. Veja esse link para mais detalhes. Compartilhar este post Link para o post Compartilhar em outros sites