[RESOLVIDO] escolher um inimigo para atacar

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[RESOLVIDO] escolher um inimigo para atacar

Mensagem por JoaoVanBlizzard em Sab 31 Jan 2015, 16:44

Olá pessoal, geralmente eu crio minhas próprias gambiarras para criar sistemas dos meus jogos,entretanto alguns métodos são muito mais complexos que na forma original de se fazer no meu caso , eu gostaria de criar um sistema tipo de batalhas em rpg onde os inimigos ficam posicionados em lugares aleatórios, eu gostaria de um sistema que com o teclado move-se um cursor que marquasse o inimigo que eu queria atacar, antes que alguem me pergunte por que não faço isso com o mouse que seria mais facil, é que na verdade eu não vou usar esse sistema para isso, mas explicando assim fica melhor de entendder, se eu tiver essa lógica já vai me servir.

Resumindo a pergunta: como faço para escolher um inimigo usando o teclado em um rpg mesmo que eles estejam em distancias aleatórias um do outro?

JoaoVanBlizzard

Ranking : Nota B
Número de Mensagens : 1925
Idade : 38
Data de inscrição : 04/03/2012
Notas recebidas : B+B
Reputação : 144
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] escolher um inimigo para atacar

Mensagem por Dotted Chaos em Sab 31 Jan 2015, 17:13

Você pode popular uma ds list com todas as instâncias dos inimigos na batalha e então processar essa lista pra obter os dados (id, coordenadas, variáveis...).

Depois é apenas uma questão de você trabalhar esses valores pra fazer o cursor ciclar entre os inimigos e marcar a instância à ser atacada/etc.

Dotted Chaos

Número de Mensagens : 241
Data de inscrição : 27/11/2012
Reputação : 42
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] escolher um inimigo para atacar

Mensagem por Ufrarion em Sab 31 Jan 2015, 18:16

Ficou difícil te ajudar eficientemente por falta de dados (RPG top-down, isométrico e etc), todavia a alternativa do Dotted Chaos é uma possibilidade, armazenando e comparando dados para mover o cursor. Uma extensão que já me ajudou em um caso similar e que potencialmente poderá fazer o mesmo é a Instance Nearest Extended que estende as funções de comparação de distância entre instâncias entre outras funções.

Link: http://gmc.yoyogames.com/index.php?showtopic=284288

Ufrarion

Número de Mensagens : 222
Data de inscrição : 06/06/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] escolher um inimigo para atacar

Mensagem por Mr.Brum em Sab 31 Jan 2015, 19:05

Procure utilizar as funções de seleção de instância:

instance_id[0..n-1] : pega a instância pela ordem que foi criada. Ex: instance_id[0], pega a primeira instância colocada na room (de qualquer objeto).

instance_find(obj,n) : pega a instância de determinado objeto, na ordem que foi colocada na room.

instance_nearest(x,y,obj) : pega a instância mais próxima do ponto x,y .


Mr.Brum

Ranking : Nota C
Número de Mensagens : 913
Idade : 25
Data de inscrição : 28/04/2011
Notas recebidas : D + D + C + C + D + B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://mrbrumgames.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] escolher um inimigo para atacar

Mensagem por JoaoVanBlizzard em Sab 31 Jan 2015, 22:09

Dotted Chaos e Ufrarion valeu por ajudar Smile mas a função do Mr.brum funcionou que foi o instance_find(obj,n)


eu fiz assim:

criei 3 inimigos e um cursor e no cursor coloquei esse codigo:

Create:

Código:

Enemy=instance_find(obj_inimigo,0)
Selecao=0;
x=Enemy.x
y=Enemy.y

e para selecionar o inimigo que eu queria eu coloquei esse codigo no step:

Código:

//aqui troca de inimigo de acordo com a quantia que tem
if keyboard_check_pressed(vk_right){
if  (Selecao < instance_number(obj_inimigo)-1)
{
Selecao+=1
}
else
Selecao=0;

}


//aqui atualiza as funcoes de selecionar inimigos
Enemy=instance_find(obj_inimigo,Selecao)
x=Enemy.x
y=Enemy.y


deixei o código aqui caso alguém precise de algo assim também, grato a todos que responderam e tentaram ajudar. Smile

JoaoVanBlizzard

Ranking : Nota B
Número de Mensagens : 1925
Idade : 38
Data de inscrição : 04/03/2012
Notas recebidas : B+B
Reputação : 144
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: [RESOLVIDO] escolher um inimigo para atacar

Mensagem por Conteúdo patrocinado Hoje à(s) 09:15


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum