Pular para o conteúdo principal

Canal do telegram com Varios cursos gratuitos de programação

Como criar um jogo de nave no flash?

Abaixo confira um vídeo mostrando como fazer um jogo em flash, os códigos encontram-se abaixo do vídeo.

o jogo do vídeo é o Space Combat e pode ser jogado online em:

http://megaswf.com/serve/1110165/








códigos:



Frame 1:


stop();


var cont:Number = new Number();
var cont2:Number = new Number();
var atirar:Boolean = true;  // <= VARIÁVEL QUE ADICIONEI PARA CONTROLAR O FLUXO DE TIROS

vida2=4
cont=0; //contadores de tiros
count2=0; //contadores de explosões
onEnterFrame=function()
{
    /*verificamos quais teclas o usuário está precionando
    E também verificando quais os limites da tela
    */
    if(Key.isDown(Key.LEFT) && nave._x >=20)
        nave._x -=20;
    if(Key.isDown(Key.RIGHT) && nave._x <500)
        nave._x +=20;
 
 
   
    if (!(inimigo.hitTest(nave))){
vida = false;
//Se a nave for atingida
} else if (inimigo.hitTest(nave)){
if (vida!=true){
vida2 -= 1;
vida = true;
}

_parent.vida2=false
//Se a vida chegar a zero:
if (vida2<=0) {
//vai para a frame 12
this.gotoAndStop(2);
}

 
   
   
}
onMouseDown = function()
{
    /*Verifica se eu posso atirar*/
    if(atirar)
    {
        _root.cont++;
        _root.tiro.duplicateMovieClip("tiro"+_root.cont,_root.cont,_root.cont); //duplicamos o tiro
        /*fazemos com que a réplica apareça na frente da nave*/
        _root["tiro"+_root.cont]._y = nave._y+10;
        _root["tiro"+_root.cont]._x = nave._x+10;
        atirar = false;   // <= ÚNICO MOMENTO QUE SETO ATIRAR PARA FALSE, não permitindo um tiro após o outro
    }
}
}




tiro:

onClipEvent(enterFrame)
{
 musica = new Sound();
musica.attachSound("som");
sound = new Sound();
sound.attachSound("laser");

_parent.playing = true
    if(_name != "tiro")
    {
        this._y-=30;
        if(this._y < 0) // VERIFICAÇÃO NOVA, eu defini que quando o tiro chegar no limite superior que poderei atira novamente
            _root.atirar = true;
   sound.start(0, 1);
           
        if(this._y <0)//se o tiro passou do y=0 removemos do filme
            this.removeMovieClip();
       
        if(this.hitTest(_root.inimigo)) //verifica se tiro colidiu com o inimigo
        {
   musica.start(0, 1);
            _root.atirar = true; //QUANDO ACERTAR O INIMIGO TAMBÉM PODEREI ATIRAR NOVAMENTE
            _root.inimigo.life=0; //zeramos o life, um tiro só é fatal
            this.removeMovieClip(); //sumimos com o tiro da tela
           
        }
    }
}


inimigo:



onClipEvent(enterFrame)
{

   /*Verificamos se o inimigo morreu, vendo se o seu life é menor ou igual a zero*/
   if(life<=0)
   {
      _root.cont2++;
      /*Criamos uma explosão, pois o inimigo morreu*/
     
      this._x = random(200); //o inimigo volta numa posição randômica
      this._y = -150;
      this.life = 100; //voltamos o life do inimigo
   }
   else
   {
      this._y+=10; //avança o inimigo em sua direção
      if(this._y > 300) //verifica se o inimigo ultrapassou o limite máximo da tela
      {
         /*Se o inimigo ultrapassou sua nave, vc pode fazer o que quizer a partir daqui
         eu optei por fazer o inimigo começa de novo a descer.
         */
         this._y = -20;
         this.removeMovieClip();
      }
   }
}

Faça seu game de nave e hospede no mega swf também.


Por Cícero Joceilton da Silva Gomes

Qualquer dúvida ou dica pode postar comentários

até a próxima!!!

Comentários

Postagens mais visitadas deste blog

Como Criar Formulários HTML5 Semânticos com Validação e Envio ao Backend

Como Criar Formulários HTML5 Semânticos com Validação e Envio ao Backend Os formulários são parte essencial de qualquer site moderno, permitindo que usuários enviem informações, realizem cadastros, façam login ou interajam com o conteúdo. No HTML5, surgiram novas tags, atributos e boas práticas que tornam os formulários mais semânticos , acessíveis e fáceis de validar. Por que usar formulários semânticos? A semântica no HTML ajuda tanto os mecanismos de busca quanto tecnologias assistivas a compreenderem o significado do conteúdo. Isso melhora a acessibilidade, a indexação e a experiência do usuário. Além disso, navegadores modernos oferecem suporte nativo para validações simples. Estrutura básica de um formulário semântico em HTML5 O HTML5 introduziu novos tipos de campos que tornam os formulários mais inteligentes, como email , url , number , date , entre outros. ...

Canal do telegram com Varios cursos gratuitos de programação

 [CANAL PRINCIPAL]( https://t.me/tecnodrives ) 🚀 **LISTA DE CURSOS GRATUITOS DISPONÍVEIS NO CANAL!** Entre, aprenda e evolua 📚💡 💻 **Programação e Tecnologia** 🔥 Programação ⚡ Flutter 🐙 Git e GitHub 🟢 NodeJS 📱 React Native ☕ Kotlin 💎 Ruby 🐘 PHP 🧠 TypeScript 💻 C / C++ / C# ☕ Java 🐍 Python ✨ JavaScript 🅰️ Angular 🗄️ Banco de Dados 🧩 Engenharia de Software 🎨 **Design e Edição** 🎨 Figma 🖌️ Photoshop 📊 Power BI 🎭 Design 📈 Excel 🎬 Premier 📰 InDesign 💫 After Effects ✏️ Illustrator 💡 UX / UI 🌍 **Outros** 🗣️ Idiomas 🎓 Alura 💻 B7Web 🎨 Origamid 💀 Hacking 🔗 **Canal Principal:** @tecnodrives 👉 Acesse e veja os conteúdos completos! | [PROGRAMAÇÃO]( https://t.me/+TkbY6DJCnEM2MmRh%20 ) | [FLUTTER]( https://t.me/+6ggVP-EU39ViY2Ix ) | [FIGMA]( https://t.me/+rE7jsLIVYoM4NTZh ) | [GIT E GITHUB]( https://t.me/ImperioDrivegit ) | [PHOTOSHOP]( https://t.me/imperiodrivephotoshop ) | [POWERBI]( https://t.me/+NU879ENirL5mYTQx ) | [DESIGN]( https://t.me/imperiodrivedesign%20 ...