🤔 Para Refletir :
"A vida é a caçada e o agora é o nosso campo de caça, os nossos sonhos são o alvo e as nossas lembranças são os troféus... Pois o nosso destino é sermos caçadores."
- Frank

Hermes Shooting System

HermesPasser Masculino

Duque
Membro
Membro
Vícios e amores servem para preencher o vazio
Juntou-se
23 de Março de 2017
Postagens
836
Bravecoins
92
Introdução
Primeiramente fiz esse sistema para a "Gincana: Fábrica do Noel", ele basicamente é um sistema de tiro que quando você aperta o botão selecionado ele atira no inimigo a sua frente. Se houver algo entre o inimigo e o evento (como uma parece) o tiro para antes de chegar nele, também tem uma barra de hp para cada inimigo.

Para que o evento seja um inimigo ele precisa ter escrito "enemy" ou "zombie" (esse para manter compatibilidade com o sistema de zumbi) no campo note do evento.

Comandos
Não altere o nome do arquivo pois ele usa parâmetros do plugin manager.
Código:
Key Code
Tecla a ser apertada para atirar, a padrão é tab.

Código:
Shot SE
Som ao atirar. Não deve-se colocar a extensão.

Código:
Hit SE
Som o tiro atinge o inimigo. Não deve-se colocar a extensão.

Código:
Miss SE
Som o tiro atinge atinge uma parede. Não deve-se colocar a extensão.

Código:
Animation Shot
Animação do personagem atirando. Use o id da animação. O padrão é null então nada é feito.

Código:
Animation Hit
Animação do inimigo atingido. Use o id da animação.

Demonstração
[youtube]https://www.youtube.com/watch?v=0g5DCdXzidE[/youtube]​

Código
aqui
 
[member=1330]HermesPasser[/member]

Gostei bastante da forma em que você definiu as direções utilizando switch.

Código:
var directions  = { down: 2,  left: 4, right: 6, up: 8 };

switch(direction){
  case directions.down:  posy += 1;  break;
  case directions.up:    posy += -1; break;
  case directions.left:  posx += -1; break;
  case directions.right: posx += 1;  break;
}

---------------

A forma de encapsulamento da chamada de "SE" também ficou muito boa.

Código:
playSe(soundHit);

Código:
function playSe(sound){
   AudioManager.playSe({name: sound, volume: 90, pitch: 100, pan: 0});
}

--------------

A declaração de variáveis ficou bem fácil de ler:

Código:
var posx   = 0,
posy       = 0,
mapWidth   = $gameMap.width(),
mapHeight  = $gameMap.height(),
playerX    = $gamePlayer.x,
playerY    = $gamePlayer.y,
direction  = $gamePlayer.direction(),
directions  = { down: 2,  left: 4, right: 6, up: 8 };

--------------

O código ficou bem separado em funções, isso permitiu ter uma legibilidade incrível, parabéns!
 
Voltar
Topo Inferior