Pular para o conteúdo principal

🧠 SQL Não é Código: É Raciocínio (Guia Completo com JOIN e GROUP BY)

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

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 ...

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. ...