Thon 0 Denunciar post Postado Agosto 1, 2012 Eae galera. Sou iniciante no AS3, já entendo um pouco sobre a lógica da programação e tenho um conhecimento já sobre variáveis, switchs, estruturas de repetição e afins. Estou fazendo um game bem iniciante no flash, se trata de como personagem um Avião e um Barco. O objetivo do jogo é você atingir o barco (player 1) com uma bomba que vai sair do avião, e o player 2 desviar podendo andar só para frente. Eu defini as teclas para ambos os movieclip, fazendo o avião ter 3 direções e o navio 1 com suas respectivas velocidades. O problema mesmo é que não estou conseguindo fazer um código no qual faria a bomba "cair" do avião e atingir o navio. Minha estrutura seria para atirar, caso pegasse a bomba "explodiria" e o jogo fosse para uma tela de "end game", se o player 2 conseguisse desviar durante 10 segundos, o player 1 perdia. Vou postar o código do que já fiz até agora, deem uma olhada: import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.events.Event; //============================================================ //Variaveis de ações ========================================= var pressSpace:Boolean = false; //bomba atirada //Variaveis de controle do player 1 e 2 ========================== var pressLeft:Boolean = new Boolean(false); //pressionar left var pressRight:Boolean = new Boolean(false);//pressionar right var pressUp:Boolean = new Boolean(false); //pressionar up var pressDown:Boolean = new Boolean(false); //pressionar Down var pressA:Boolean = new Boolean(false); //pressionar A var pressD:Boolean = new Boolean(false); //pressionar D //============================================================== Mouse.hide(); //ocultar seta addEventListener(Event.ENTER_FRAME, eframe); //atualizar frames function eframe(event:Event):void { aviao.x -= 4 navio.x += 3 if (aviao.x < -80){ aviao.x = stage.stageWidth + 50 } if (navio.x > stage.stageWidth + 50){ navio.x = -25 } } //================================================================= //Eventos de movimento ============================== stage.addEventListener(KeyboardEvent.KEY_DOWN, pressionar) stage.addEventListener(KeyboardEvent.KEY_UP, despressionar) stage.addEventListener(Event.ENTER_FRAME, movee) stage.addEventListener(KeyboardEvent.KEY_DOWN, pressnavio) stage.addEventListener(KeyboardEvent.KEY_UP, despressnavio) stage.addEventListener(Event.ENTER_FRAME, movebarco) stage.addEventListener(Event.ENTER_FRAME, movetwo) stage.addEventListener(Event.ENTER_FRAME, moveone) //================================================================= //PLAYER 1 function pressionar(event:KeyboardEvent):void{ switch (event.keyCode) { case 37: //esquerdo pressLeft = true; break; case 38: //cima pressUp = true; break; case 40: //baixo pressDown = true; break; } } function despressionar(event:KeyboardEvent):void{ switch (event.keyCode){ case 37: //esquerdo pressLeft = false; break; case 38: //cima pressUp = false; break; case 40: //baixo pressDown = false; break; } } function movee(e:Event):void { if (pressLeft){ if (this.aviao.x -= 5); } if (pressUp) { (this.aviao.y -= 5); } if (pressDown) { (this.aviao.y += 5); } } function movetwo(e:Event):void { if (pressUp) { if(this.aviao.y > 320) { this.aviao.y -= 0; } } } function moveone(e:Event):void { if (pressDown) { if(this.aviao.y < 110) { this.aviao.y +=5; } } } //========================================================================= //PLAYER 2 function pressnavio(event:KeyboardEvent):void { switch (event.keyCode) { case 65: //tecla A pressA = true; break; case 68: //tecla D pressD = true; break; } } function despressnavio(event:KeyboardEvent):void { switch (event.keyCode) { case 68: //tecla D pressD = false; break; } } //========================================================================= Preciso muito de um help aí. Agradeço desde já. Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 4, 2012 Para a colisão sugiro pesquise sobre HitTest. Abs Compartilhar este post Link para o post Compartilhar em outros sites