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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 13/03/2012
Número de Mensagens : 293
Insígnias de JAM :

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

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

Colisão, Ajudem Urgente !

em Dom 22 Abr 2012, 16:04
Olá pessoal, tudo bom !? Estou para com mais uma dúvida ! desta vez de colisão, já tem 1dia e meio que estou tentando fazer dar certo, porém não estou conseguindo !!! :S

Eu criei uma room e coloquei vários blocos sólidos(AreiaComGrama, e AreiaSemGrama), fiz para que quando o player estiver em cima do bloco Areia com grama, uma var detectar que esta no bloco com grama, e mudar a spirte dele para (AreiaComGramaMUDOU ) ... e Se estiver no bloco sem grama, mudar sprite para ( AreiaSemGramaMUDOU ) ...


Código do STEP Player.
Código:
if keyboard_check(vk_down) and keyboard_check(ord('X')) // Se (SetaBaixo) e 'X' pressionados
{
quebrando = 'sim' // Ativar var Quebrando

};
else {quebrando = 'nao'
quebrar =  0
};






if quebrando = 'sim' {
quebrar += 1
};







if quebrar >=10{

// Quebrar AreiaCom Grama

OBJID = instance_place(x,y+8,all)

if (OBJID=obj_AreiaG){}{
OBJID.sprite_index=Areia_Quebrada}


quebrar = 0
quebrando='nao'

}

Quando fico no OBJ_AreiaComGrama... ele faz certinho, muda a sprite do objeto AreiaComGrama, para AreiaComGramaMUDOU, mas se eu for para OBJ_AreiaSemGrama, ele muda a sprite para AreiaComGramaMUDOU :S

E outra coisa, quando eu quebro o bloco ( Mudo a Sprite ) o personagem pode passar por cima, e se ele quizer quebrar o bloco de baixo, deveria fazer o mesmo, mas ele não faz nada, a ação e feita como se ele estivesse em cima do bloco já quebrado ?!

Ajudem pf..
Atenciosamente Luan.Alc
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: Colisão, Ajudem Urgente !

em Seg 23 Abr 2012, 13:00
1 - Apesar de, no final, você ter mudado as varáveis "quebrar" pra zero e "quebrando" pra 'nao', o que impede essas variáveis de voltar à situação anterior no step seguinte?
2 - Na variável OBJID você está armazenando a id de uma instância e tratando ela como um objeto. Não sei se o game maker entende isso sozinho, mas pode ser a causa do seu problema. Experimente usar
Código:
OBJID = instance_place(x,y+8,all); //seu código
if (OBJID != noone){ //se há alguma instância
  OBJID = OBJID . object_index; //pega o objeto a que ela se refere
    }
3 - Você só mostrou o código da parte que funciona. Como posso ver o que há de errado na parte que NÃO funciona?

Não entendi a segunda pergunta. Era pra ele ignorar o bloco quebrado? Talvez você precise mudar o OBJETO (e não apenas a sprite) pra chegar nesse resultado.
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