Conectar-se
Quem está conectado
18 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 18 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : D+C+A
Data de inscrição : 26/09/2009
Número de Mensagens : 854
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

Prêmios
   : 0
   : 0
   : 2
Ver perfil do usuário

Como mudar sprite num jogo de equipe

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!
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Como mudar sprite num jogo de equipe

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
    }
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum