2 dúvidas quanto a posição do jogador [resolvido]

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

2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Fenrir em Qua 06 Jan 2010, 16:53

Fala pessoal, tô com dois probleminhas no meu jogo quanto a posição x e y do jogador. É o seguinte:

Quando você entra na room do chefe, eu gostaria que o obj_chefe muda-se de sprite de acordo com a sprite do personagem, ou seja, se eu estou a direita, o chefe vira para a direita, se estou a esquerda, o chefe vira para a esquerda, o mesmo valendo para cima e para baixo. Tentei fazer isso, e estou utilizando o seguinte código no obj_chefe:

Código:
if obj_jogador.x<x
{
sprite_index=spr_chefe_PE
}
else
{
sprite_index=spr_chefe_PD
}

Ai que está o problema, eu consigo somente fazer ele virar para os lados. Se quero fazer com que ele olhe pra cima, preciso apagar o código e substituir o x pelo y, porque os dois juntos não funcionam! D:

Agora minha segunda dúvida é a seguinte:

Quando o chefe ataca o jogador e o mesmo morre, aparece uma tela de erro dizendo que a posição x não existe (já que o obj_jogador não existe mais, pois é trocado pelo obj_morto). Como eu posso resolver isso? Tentei usar instance_exist() e não adiantou, deu o mesmo erro. =/


Última edição por Fenrir em Qui 07 Jan 2010, 18:40, editado 1 vez(es)

Fenrir

Número de Mensagens : 14
Idade : 24
Data de inscrição : 05/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Denis Lemos em Qua 06 Jan 2010, 18:07

A primeira dúvida, baixe essa engine que eu fiz, pois não sei explicar, então fiz uma:

Engine Aqui !!!

Já a segunda dúvida, verifique na mensagem de erro a localização onde está o erro e coloque a condição na função para ela ser feita somente se o objeto jogador existir !!!

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por diassis em Qua 06 Jan 2010, 18:20

NO STEP DO INIMIGO COLOCA ISSO:
Código:

if instance_number(obj_play)>0
{

if obj_play.direction==0
{
sprite_index=spr_chefe_PD
hspeed=3
}

if obj_play.direction==180
{
sprite_index=spr_chefe_PE
hspeed=-3
}

if obj_play.direction==90
{
sprite_index=spr_chefe_PC
vspeed=-3
}

if obj_play.direction==270
{
sprite_index=spr_chefe_PB
vspeed=3
}
}
ver se funciona e me diz

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Fenrir em Qua 06 Jan 2010, 19:06

diassis escreveu:NO STEP DO INIMIGO COLOCA ISSO:
Código:

if instance_number(obj_play)>0
{

if obj_play.direction==0
{
sprite_index=spr_chefe_PD
hspeed=3
}

if obj_play.direction==180
{
sprite_index=spr_chefe_PE
hspeed=-3
}

if obj_play.direction==90
{
sprite_index=spr_chefe_PC
vspeed=-3
}

if obj_play.direction==270
{
sprite_index=spr_chefe_PB
vspeed=3
}
}
ver se funciona e me diz

Tentei pelo jeito que você disse e não funcionou. O chefe ficava olhando pra lados aleatórios toda hora. o.O

denis L. escreveu:A primeira dúvida, baixe essa engine que eu fiz, pois não sei explicar, então fiz uma:

Engine Aqui !!!

Já a segunda dúvida, verifique na mensagem de erro a localização onde está o erro e coloque a condição na função para ela ser feita somente se o objeto jogador existir !!!

Então, dei uma olhada na sua engine e consegui aqui fazer ele virar para os lados e pra cima, agora o problema está em virar pra baixo. Quando vi sua engine, eu deduzi que era apenas inverter alguns sinais do código que faz ele virar pra cima, mas eu não consegui aqui. :/
Ficou assim:

Código:
if obj_jogador.x<x and obj_jogador.y+1>y-32
{
sprite_index=spr_chefe_PE
}
if obj_jogador.x>x and obj_jogador.y+1>y-32
{
sprite_index=spr_chefe_PD
}
if obj_jogador.x<x and obj_jogador.y+1<y-32
{
sprite_index=spr_chefe_PC
}
if obj_jogador.x>x and obj_jogador.y+1<y-32
{
sprite_index=spr_chefe_PB

Tentei mexer, como disse, mas dai começou a influenciar na hora de virar pra direita e tal, dai voltei pra esse código acima. Razz

Fenrir

Número de Mensagens : 14
Idade : 24
Data de inscrição : 05/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por diassis em Qua 06 Jan 2010, 19:20

esses códigos deveriam dar certo! devem ter outros códigos dando conflitos, "I.A." não se deve jogar muita coisa aleatoriamente, e sempre que um código der certo faça uma cópia do jogo.
no seu lugar eu limparia tudo do chefe e faria de novo com mais calma. ficar intupindo o personagem de códigos fica dificil reorganizar, pare um pouco e use o "raciocínio lógico" (se eu fizer isso, vai acontecer aquilo) e por aí vai.

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Denis Lemos em Qua 06 Jan 2010, 19:30

Subistitua esse seu código ácima por este então, é que eu pensei que você queria, que o chefe apenas olhasse para cima !!!
Código:
if obj_jogador.x<x && obj_jogador.y+1>y-32
{
sprite_index=spr_chefe_PE
}
if obj_jogador.x>x && obj_jogador.y+1>y-32
{
sprite_index=spr_chefe_PD
}
if obj_jogador.y+1<y-64
{
sprite_index=spr_chefe_PC
}
if obj_jogador.y-1>y+64
{
sprite_index=spr_chefe_PB
}
Alí nos dois últimos códigos, onde está "y+64" e "y-64" você regula do seu gosto, mude para 108 ou 32, para notar a diferença em que o chefe vira !!!

E aqui está a engine atualizada !!!
DOWNLOAD AQUI !!!

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Fenrir em Qua 06 Jan 2010, 19:57

denis L. escreveu:Subistitua esse seu código ácima por este então, é que eu pensei que você queria, que o chefe apenas olhasse para cima !!!
Código:
if obj_jogador.x<x && obj_jogador.y+1>y-32
{
sprite_index=spr_chefe_PE
}
if obj_jogador.x>x && obj_jogador.y+1>y-32
{
sprite_index=spr_chefe_PD
}
if obj_jogador.y+1<y-64
{
sprite_index=spr_chefe_PC
}
if obj_jogador.y-1>y+64
{
sprite_index=spr_chefe_PB
}
Alí nos dois últimos códigos, onde está "y+64" e "y-64" você regula do seu gosto, mude para 108 ou 32, para notar a diferença em que o chefe vira !!!

E aqui está a engine atualizada !!!
DOWNLOAD AQUI !!!

Obrigado Denis. L! Funcionou certinho graças a sua engine! Happy
Agora, quanto a segunda dúvida, quando o chefe acerta um ataque em mim, como eu disse, o objeto muda de "obj_jogador" para "obj_morto", resultando no erro Unknown variable x. Gostaria de saber como que eu posso resolver isso, pois com o código instance_exist() não consegui! :cry:

Fenrir

Número de Mensagens : 14
Idade : 24
Data de inscrição : 05/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Denis Lemos em Qua 06 Jan 2010, 20:34

Só vendo mesmo a tua engine para saber, pois assim fica difícil descobrir, pois pode ser várias hipóteses, como por exemplo, onde você programou para o chefe pra dar os tiros no player, certamente você deu as coordenadas "X" e "Y" do player, e quando ele morre e muda para ele morto, essas coordenadas deixam de existir, então fica sem sentido o código e dá o erro !

Então nesse caso você tem que colocar a condição do chefe atirar somente se o player existir, mas esse é apenas uma das hipoteses !!!

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Anderson3d em Qua 06 Jan 2010, 21:23

O codigo que eu sempre uso é esse:

Código:
//muda de lado esquerda ou direita
if x > global.heroix {direita = false; esquerda = true} else {direita = true; esquerda = false}

Global heroi x é o x do heroi claro...

claro que direita e esquerda sao variaveis que mudam os sprites do inimigo...

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Denis Lemos em Qui 07 Jan 2010, 14:49

Bom se o seu código está exatamente como o de cima, ele tem um errinho !

Faltou colocar um ponto entre o nome do "heroi" e o "X" ! Então ficaria assim:
Código:
//muda de lado esquerda ou direita
if x > global.heroi.x {direita = false; esquerda = true} else {direita = true; esquerda = false}
Não seria isso ???

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por juao230 em Qui 07 Jan 2010, 14:55

Tem diferença entre um ponto?

juao230

Número de Mensagens : 217
Data de inscrição : 17/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Denis Lemos em Qui 07 Jan 2010, 15:33

juao230 escreveu:Tem diferença entre um ponto?
Sim ! Porque se você deixar o "X" junto, grudado com o nome, o computador achará que o nome do objeto é "heroix", o que não existe um objeto com esse nome, por isso quando for utilizar a posição "X" ou "Y" de outro objeto, se coloca o nome, depois um ponto e depois o "X" ou o "Y" seguidamente !
E o mesmo serve para "hspeed" e "vspeed" !!!

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por juao230 em Qui 07 Jan 2010, 15:40

Aaaaaaaaaaaaaaataaaaaa, entendi.

Vlw por responder. Very Happy

_______________________________-

denis L. a sua engine q vc postou no começo ficou muito legal! Very Happy

juao230

Número de Mensagens : 217
Data de inscrição : 17/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Fenrir em Qui 07 Jan 2010, 18:39

Consegui já resolver os dois problemas! Obrigado a todos que me ajudaram! Very Happy

Fenrir

Número de Mensagens : 14
Idade : 24
Data de inscrição : 05/01/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Anderson3d em Sex 08 Jan 2010, 12:34

é pq eu transformei o x do heroi em global, mas nem precisa...

Código:
//muda de lado esquerda ou direita
if x > heroi.x {direita = false; esquerda = true} else {direita = true; esquerda = false}

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: 2 dúvidas quanto a posição do jogador [resolvido]

Mensagem por Conteúdo patrocinado Hoje à(s) 08:28


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