|
||
|
|
Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Desenvolvimento » Flash » Movimento de carrinho para flash
--> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 09/11/2006Movimento de carrinho para flash
Marcio Agnelo Márcio Agnelo. Hoje com 30 anos. É músico, desenhista, designer, programador e web developer. Trabalha com internet há 9 anos e ministrou cursos em São Paulo de Flash com Actionscript e também de ASP.
Nesse tópico abordarei o que aparenta ser a coisa mais difícil do mundo. Fazer movimento de carrinho para game.
Primeiramente vamos abrir nosso Macromedia/Adobe Flash 8. Abaixo usarei esse carrinho (imagem) como referência para nosso Movie Clip. ![]() Detalhe importante do flash: O plano cartesiano do flash é diferente do que costumamos aprender em nossa aulinhas de matemática em casa. Aprendemos que, o caminho positivo da reta X é da esquerda para direita e o Y é de baixo para cima. Só que no flash o Y é de cima para baixo, quer dizer, o nosso ponto (0,0) do flash é na parte superior esquerda de nosso stage. Vamos transformá-lo em Movie Clip (F8) e instanciá-lo como "car_mc". No primeiro frame coloque o seguinte código: var speed=0 onEnterFrame = function(){ if (Key.isDown(Key.UP)) { speed += 1; } else if (Key.isDown(Key.DOWN)) { speed -= .5; } else { if (speed>0.015){speed -= 0.015} else if (speed<-0.015){speed += 0.015} else{speed=0} } if (speed>=10) {speed =10} else if (speed<-5){ speed=-5} if(Math.abs(speed)>0){ if (Key.isDown(Key.LEFT)) { _root.car_mc._rotation -= 6; } if (Key.isDown(Key.RIGHT)) { _root.car_mc._rotation += 6; } } _root.car_mc._x += Math.sin(_root.car_mc._rotation*(Math.PI/180))*speed; _root.car_mc._y += Math.cos(_root.car_mc._rotation*(Math.PI/180))*speed*-1; } Quando uso o botão para cima, a velocidade do carrinho aumenta até o limite de 10 e, quando uso a seta para baixo ele freia. Note que se você deixar de usar a seta de cima e carro naturalmente vai desacelerando até parar (Liha detalhada abaixo). if (Key.isDown(Key.UP)) { speed += 1; } else if (Key.isDown(Key.DOWN)) { speed -= .5; } else { if (speed>0.015){speed -= 0.015} else if (speed<-0.015){speed += 0.015} else{speed=0} } Limitador da velocidade do carrinho: if (speed>=10) {speed =10} else if (speed<-5){ speed=-5} Para o carrinho fazer a curva enquanto ele possuir alguma velocidade: if(Math.abs(speed)>0){ if (Key.isDown(Key.LEFT)) { _root.car_mc._rotation -= 6; } if (Key.isDown(Key.RIGHT)) { _root.car_mc._rotation += 6; } } E o mais chato de compreender, a direção que o carrinho anda (requer conhecimentos básicos de trigonometria): _root.car_mc._x += Math.sin(_root.car_mc._rotation*(Math.PI/180))*speed; _root.car_mc._y += Math.cos(_root.car_mc._rotation*(Math.PI/180))*speed*-1; // esse é negativo por causa do plano cartesiano informado no começo do artigo Espero que divirtam-se com esse código e que gerem muitos games para a gente por aeh. Até a próxima! Arquivos anexos ao artigo
Artigos relacionados
Este artigo é a parte 1 de 2 da seguinte série:
Up Grade <upgrade.ltda@hotmail.com>
Adorei a dica, espero que poste mais dicas deste tipo. Assim, nós amantes da net que não temos condições de pagar um curso avançado poderemos fazer nossos próprios jogos!!!
Valeu!!! ![]() ![]() ![]() ![]() ![]() Claudio <cklaudo@hotmail.com>
muito bom adorei,parabens muito simples de entender e rapido gostaria de receber e-mais assim tipo de como criar um joguinho negocio basico .muito obrigado
![]() ![]() ![]() ![]() ![]() Rômulo <gtstartnet@hotmail.com>
,.Totalmente rooox mesmo,! Para games isso é muUUy útil,!, vlw
![]() ![]() ![]() ![]() ![]() silvio <fbsilvio@yahoo.com.br>
So uma sugestão seria muito melhor se você ilustrasse a dica (janelas). Mas tá ótimo, valeu a a dica!!
![]() ![]() ![]() ![]() ![]() Roberto
Fino d, parábens pela matéria.
![]() ![]() ![]() ![]() ![]() ![]() |
|
|
|