Conectar-se
Quem está conectado
27 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 26 Visitantes

Rodrigo Santiago

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 05/01/2010
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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)
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

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

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 !!!
avatar
Data de inscrição : 07/11/2009
Número de Mensagens : 312
Insígnias de JAM :

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

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

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

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
avatar
Data de inscrição : 05/01/2010
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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
avatar
Data de inscrição : 07/11/2009
Número de Mensagens : 312
Insígnias de JAM :

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

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

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

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.
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

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

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 !!!
avatar
Data de inscrição : 05/01/2010
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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:
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

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

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 !!!
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

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

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...
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

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

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 ???
avatar
Data de inscrição : 17/12/2009
Número de Mensagens : 217
Insígnias de JAM :

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

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

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

em Qui 07 Jan 2010, 14:55
Tem diferença entre um ponto?
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

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

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" !!!
avatar
Data de inscrição : 17/12/2009
Número de Mensagens : 217
Insígnias de JAM :

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

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

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

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
avatar
Data de inscrição : 05/01/2010
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

em Qui 07 Jan 2010, 18:39
Consegui já resolver os dois problemas! Obrigado a todos que me ajudaram! Very Happy
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

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

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}
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