Como criar o jogo de laminação de mármore em seu jogo html5

Este tipo de jogo HTML5 é projetado especificamente para dispositivos móveis com um acelerômetro (embora ele funciona em um desktop). A ideia é a ponta do dispositivo para mover a bola para o gol azul sem bater qualquer um dos blocos. Cada vez que o usuário atinge o objetivo, o jogo é redesenhada com um bloco adicional, tornando o jogo mais difícil.

Gerenciar dupla entrada do seu jogo

Talvez a parte mais interessante deste jogo é o seu novo mecanismo de entrada. É uma sensação muito natural para inclinar a tela para o movimento bola.

  1. Criar um Accel objeto.

    Ligue o acelerômetro, criando uma instância do Accel objeto.

  2. Construir um checkAccel () método.

    Um método foi adicionado ao Bola objeto que verifica o acelerómetro.

  3. Obter a rotação acelerômetro.

    Use o getAX () e getAY () métodos para encontrar a quantidade de rotação em torno destes eixos.

  4. Converter rotação para dx e dy valores.

    Você pode usar mecanismos para converter rotação para valores de movimento apropriadas.

  5. Adicionar uma entrada de teclado opcional.

    É muito mais fácil de depurar um programa em uma área de trabalho do que em um dispositivo móvel, assim você pode adicionar uma opção de entrada alternativo para que você possa testar tanto do programa quanto possível antes de se mudar para a plataforma móvel. Use o Cena classe de palpável propriedade para determinar se você estiver usando um dispositivo móvel. Essa abordagem também torna o jogo jogável para uma ampla gama de usuários.

Aqui está o código (no principal atualizar() função) para a verificação de qual o tipo de entrada está disponível:

 // obter a entrada de acelerômetro ou keyboardif (game.touchable) {ball.checkAccel () -} else {ball.checkKeys () -}


E aqui está a checkAccel () método do Bola objeto:

 tBall.checkAccel = function () {// usar o acelerômetro para obter inputnewDX = accel.getAY () - newDY = accel.getAX () - newDX * = -5-newDY * = -5-ball.setDX (newDX) - ball.setDY (newDY) -} // fim checkAccel

Como construir obstáculos jogo

Outra característica interessante deste jogo é o crescente nível de dificuldade. Obtendo o nível de dificuldade de um jogo correto é muito desafiador. Você quer que o jogo seja superável, mas vencer o jogo precisa se sentir como uma realização. Uma maneira de alcançar este objetivo é começar com um nível muito fácil de dificuldade e, em seguida, rampa acima até que o jogo se torna mais difícil.

Para o jogo de mármore, usar uma matriz de blocos como o obstáculo. Quando o jogo começa, há apenas dez blocos na tela, por isso é muito fácil para chegar à meta sem bater nos blocos. Cada vez que o jogador atinge o alvo, cena do jogo é redesenhada com mais um bloco.

Os blocos eo objetivo são desenhados em posições aleatórias na tela. No entanto, você precisa ter cuidado para não criar uma situação impossível. o Quadra objeto de restabelecer() método tenta colocar um bloco em uma posição aleatória na tela.

No entanto, se o bloco colide com o gol, o jogo vai ser difícil ganhar. Da mesma forma, se o bloco colide com a posição atual da bola, o jogador perderá imediatamente. Se qualquer uma destas condições ocorrer, o bloco é redesenhada até uma posição legal está disponível.

Os blocos se sobrepor uns aos outros livremente, mas você pode adicionar essa restrição também. Aqui está o bloco redefinir rotina:

 tBlock.reset = function () {// não me deixe se sobrepõem a meta ou ballkeepGoing = true-while (keepGoing) {newX = Math.random () * this.cWidth-newY = Math.random () * isso. cHeight-this.setPosition (newX, newY) -keepGoing = false-se (this.collidesWith (meta)) {keepGoing = true-} // final IFIF (this.distanceTo (bola) lt; 150) {keepGoing = true- } // end if} // fim do while} // reinicialização final

Como melhorar o jogo de mármore

O jogo de mármore é bastante jogável como ele é, mas qualquer jogo pode ser melhorado. Aqui estão algumas sugestões:

  • Adicionar um limite de tempo. Exigir que o utilizador atingir o alvo com um tempo especificado.

  • Adicionar novos tipos de barreiras. Barreiras de diferentes tamanhos vai mudar o jogo.

  • Alterar ação do limite da bola. Nesta versão do jogo, a bola envolve em torno da tela. Isso adiciona um elemento tático adicional para o jogo, mas você pode preferir parar na fronteira.

  • Adicionar powerups. Você sempre pode adicionar elementos especiais que mudam temporariamente gameplay. Talvez considere fazer a bola invencível por alguns segundos, ou invertendo a gravidade (multiplicar dx e dy tanto por -1). Você também pode alterar temporariamente o tamanho da bola ou ter uma energização que redefine o nível atual.

  • Criar blocos em movimento. O jogo muda por completo, se os blocos também se movem. Você provavelmente quer que eles se movem muito lentamente em uma direção aleatória, porque esse recurso poderia tornar o jogo muito mais difícil.

    Video: Aleatórios #16. Jogos em HTML5

  • Fazer melhorias cosméticas. Claro, você sempre pode adicionar efeitos sonoros, um mecanismo de alta pontuação, e gráficos melhorados.


Publicações relacionadas