Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
2 dúvidas quanto a posição do jogador [resolvido]
5 participantes
Página 1 de 1
2 dúvidas quanto a posição do jogador [resolvido]
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:
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. =/
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- Data de inscrição : 05/01/2010
Reputação : 0
Número de Mensagens : 14
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
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 !!!
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- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: 2 dúvidas quanto a posição do jogador [resolvido]
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
}
}
diassis- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
diassis escreveu:NO STEP DO INIMIGO COLOCA ISSO:ver se funciona e me diz
- 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
}
}
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.
Fenrir- Data de inscrição : 05/01/2010
Reputação : 0
Número de Mensagens : 14
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
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.
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- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
Subistitua esse seu código ácima por este então, é que eu pensei que você queria, que o chefe apenas olhasse para cima !!!
E aqui está a engine atualizada !!!
DOWNLOAD AQUI !!!
- 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
}
E aqui está a engine atualizada !!!
DOWNLOAD AQUI !!!
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: 2 dúvidas quanto a posição do jogador [resolvido]
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 !!!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 !!!
- 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
}
E aqui está a engine atualizada !!!
DOWNLOAD AQUI !!!
Obrigado Denis. L! Funcionou certinho graças a sua engine!
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!
Fenrir- Data de inscrição : 05/01/2010
Reputação : 0
Número de Mensagens : 14
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
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 !!!
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- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: 2 dúvidas quanto a posição do jogador [resolvido]
O codigo que eu sempre uso é esse:
Global heroi x é o x do heroi claro...
claro que direita e esquerda sao variaveis que mudam os sprites do inimigo...
- 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...
Re: 2 dúvidas quanto a posição do jogador [resolvido]
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:
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}
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: 2 dúvidas quanto a posição do jogador [resolvido]
Tem diferença entre um ponto?
juao230- Data de inscrição : 17/12/2009
Reputação : 0
Número de Mensagens : 217
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
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 !juao230 escreveu:Tem diferença entre um ponto?
E o mesmo serve para "hspeed" e "vspeed" !!!
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: 2 dúvidas quanto a posição do jogador [resolvido]
Aaaaaaaaaaaaaaataaaaaa, entendi.
Vlw por responder.
_______________________________-
denis L. a sua engine q vc postou no começo ficou muito legal!
Vlw por responder.
_______________________________-
denis L. a sua engine q vc postou no começo ficou muito legal!
juao230- Data de inscrição : 17/12/2009
Reputação : 0
Número de Mensagens : 217
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
Consegui já resolver os dois problemas! Obrigado a todos que me ajudaram!
Fenrir- Data de inscrição : 05/01/2010
Reputação : 0
Número de Mensagens : 14
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: 2 dúvidas quanto a posição do jogador [resolvido]
é 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}
Tópicos semelhantes
» Dúvidas com jogador digitar texto
» [Resolvido]Bug de surface luz nao segue jogador
» [PLATAFORMA]Jogador trava no chão[RESOLVIDO]
» [Resolvido]Inimigo não ver o jogador pela parede
» [Resolvido]Porque meu jogador gruda na parede?
» [Resolvido]Bug de surface luz nao segue jogador
» [PLATAFORMA]Jogador trava no chão[RESOLVIDO]
» [Resolvido]Inimigo não ver o jogador pela parede
» [Resolvido]Porque meu jogador gruda na parede?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos