Como mudar sprite num jogo de equipe

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

Como mudar sprite num jogo de equipe

Mensagem por Tiger em Qua 31 Ago 2011, 14:12

Eae pessoal blza, hey eu tenho uma dúvida tipo eu queria que quando eu posicionar um determinado lugar, o grupo muda de sprite de acordo quando o mause estiver posicionado, tipo se o grupo ta no meio e o mause posicionado na direita, eles vão mudar de sprite e vão ficar no lado direito, se o mause tiver no meio ou embaixo deles, eles mudam de sprite para baixo, tipo eu já tenho o code para eles movimentarem em grupo, mas eu queria se possivel uma engine ou arrumar esse code que eu usei.

Evento create
Código:

selected = 0
image_speed = 0.5
target_x = x
target_y = y
shooting = 0
ss = 0
hp=10

Evento step:
Código:
move_towards_point(target_x-half_a_range+random(range),target_y-half_a_range+random(range),soldier_speed)

if hp <= 0 {
effect_create_above(ef_ring,x,y,.1,c_black)
instance_destroy()
}

var d,k; k = instance_nearest(x,y,objini_parent)
if distance_to_object(k) < view_distance {

d = point_direction(x,y,k.x,k.y)
if d <= direction + view_range && d >= direction - view_range
&& !collision_line(x,y,k.x,k.y,block,0,0) && !collision_line(x,y,k.x,k.y,objini_parentB,0,1) {
shooting = 1
} else {shooting = 0}

if shooting && !ss {
var d; d = direction
with(instance_create(x,y,shot)) {motion_set(d,25); image_angle = d}
ss = random(max_shooting_time)
}

}

if ss ss -= 1

O shot é o objeto que o grupo atira, nesse caso eu quero que quando eles ve a presença de inimigo e se tiver por exemplo no lado direito eles mudam de sprite atirando, mas pra não da conflito no caso dos inimigos aparecerem em todos os cantos, eu queria que cada soldado olhase para o inimigo que tiver mais perto e mudar de sprite de acordo onde o inimigo estiver.
Agora o objini_parent é o objeto pai dos inimigos, e o objini_parentB é o do grupo, objeto block é a parede da colisão. Flw!

Tiger

Ranking : Nota C
Número de Mensagens : 852
Idade : 23
Data de inscrição : 26/09/2009
Notas recebidas : D+C+A
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 2

Voltar ao Topo Ir em baixo

Re: Como mudar sprite num jogo de equipe

Mensagem por saim em Qua 31 Ago 2011, 14:58

Acho que o que você quer pode ser alcançado com div. div te dá o resultado de uma divisão ignorando o resto. Mescle isso num sistema de 360°, divida por (360/númeroDeSprites) e voilà. Tipo, se você tem 8 sprites, cada um abrangerá 45°. Defina pra que lado seu(s) personagem(s) deve estar olhando e use um switch.
Código:
switch(d div 45){
    case 0: olha pra direita; break;
    case 1: olha na diagonal direita/cima; break;
    case 2: olha pra cima; break;
    etc
    }

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

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