Autor Tópico: RPG Maker MV Hermes Shooting System  (Lida 65 vezes)

Offline HermesPasser

  • programador de quintal
  • Morador
  • *
  • 6/14
  • Participante do evento Natal II.
    • Ver perfil
    • Gládio Cítrico
    • Inventário
Hermes Shooting System
Online: 10 de Dezembro de 2017, 00:09:08
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: [Selecionar]
Key Code
Tecla a ser apertada para atirar, a padrão é tab.

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

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

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

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

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

Demonstração

Código
Em anexo.
« Última modificação: 10 de Dezembro de 2017, 16:30:38 por HermesPasser »
 

Offline Resque

  • Administração
  • *
  • 5/14
  • Tenha 1 ano na comunidade. Participante do evento: Lua Infectada Participante do evento: Baile das Máscaras 2017
    • Ver perfil
    • Inventário
Re:Hermes Shooting System
Resposta #1 Online: 12 de Dezembro de 2017, 00:33:47
@HermesPasser

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

Código: [Selecionar]
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: [Selecionar]
playSe(soundHit);

Código: [Selecionar]
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: [Selecionar]
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!
#TeamHero

 
   Esses usuários gostaram disto: HermesPasser

Estes usuários estão vendo este tópico:
0 Membros e 1 Visitante