
entendi um pouco da lógica dos breaks, mas ainda estou confuso em como irei definir em qual momento irei virar para leste, oeste, norte,nordeste, noroeste, sul, sudeste, sudoeste...
Obrigado por visitar a The Game Makers Brasil |
Multi direções com personagens isométricos
- leandroz3ta
- Novato
- Reações: 0
- Mensagens: 13
-
Multi direções com personagens isométricos
Olá pessoal.
Estou com uma dúvida simples.
Estou criando um jogo estilo Pokemon GO.
Criei a movimentação do personagem em 360º e preciso que seja selecionado o sprite correspondente a direção em que o personagem se desloca.
Os sprites são isométricos para facilitar este processo.
Como faço este procedimento via código?
Estou com uma dúvida simples.
Estou criando um jogo estilo Pokemon GO.
Criei a movimentação do personagem em 360º e preciso que seja selecionado o sprite correspondente a direção em que o personagem se desloca.
Os sprites são isométricos para facilitar este processo.
Como faço este procedimento via código?
Re: Multi direções com personagens isométricos
Uma maneira simples de se fazer isso é definindo constantes para as direções:
E por ai vai... Defina para cada direção seu ângulo correspondente. Depois você deve definir as configurações inicias no seu objeto "player":
Você pode fazer a verificação da direção e apontar o sprite que deve ser exibido, dessa maneira:
Obs: Este é um exemplo, meramente "ilustrativo". Tem como objetivo apenas "dar uma ideia" de como o processo, em questão pode ser executado!
Código: Selecionar todos
// Defina como macros!
RIGHT : 000
LEFT : 180
UP : 090
DOWN : 270
Código: Selecionar todos
dir := 270; // Ângulo inicial
spr := spr_down; // Sprite inicial
Código: Selecionar todos
switch (keyboard_key) {
case vk_right:
dir := RIGHT;
spr := spr_right;
break;
case vk_left:
dir := LEFT;
spr := spr_left;
break;
case vk_up:
dir := UP;
spr := spr_up;
break;
case vk_down:
dir := DOWN;
spr := spr_down;
break;
}
Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam.
- leandroz3ta
- Novato
- Reações: 0
- Mensagens: 13
-
Re: Multi direções com personagens isométricos
Cara valeu pelas dicas! Uma coisa que esqueci de mencionar no tópico é que toda a movimentação do personagem será feita por clique de mouse, ou seja, ele seguirá para a direção onde ou o clique na tela, com isso o ângulo irá variarDrako escreveu:Uma maneira simples de se fazer isso é definindo constantes para as direções:E por ai vai... Defina para cada direção seu ângulo correspondente. Depois você deve definir as configurações inicias no seu objeto "player":Código: Selecionar todos
// Defina como macros! RIGHT : 000 LEFT : 180 UP : 090 DOWN : 270
Você pode fazer a verificação da direção e apontar o sprite que deve ser exibido, dessa maneira:Código: Selecionar todos
dir := 270; // Ângulo inicial spr := spr_down; // Sprite inicial
Obs: Este é um exemplo, meramente "ilustrativo". Tem como objetivo apenas "dar uma ideia" de como o processo, em questão pode ser executado!Código: Selecionar todos
switch (keyboard_key) { case vk_right: dir := RIGHT; spr := spr_right; break; case vk_left: dir := LEFT; spr := spr_left; break; case vk_up: dir := UP; spr := spr_up; break; case vk_down: dir := DOWN; spr := spr_down; break; }

entendi um pouco da lógica dos breaks, mas ainda estou confuso em como irei definir em qual momento irei virar para leste, oeste, norte,nordeste, noroeste, sul, sudeste, sudoeste...

Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes