GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


Objeto definido [RESOLVIDO]

+2
CRP-Max
rafarubim
6 participantes

Ir para baixo

Objeto definido [RESOLVIDO] Empty Objeto definido [RESOLVIDO]

Mensagem por rafarubim Seg 03 Out 2011, 21:51

Sempre tive esse problema mas nunca consegui resolver... Alguém pode ajudar?

É o seguinte: Vou criar um jogo com vários inimigos iguais, mas não consigo fazer ele perder vida. Esse é o código que uso, e é muito simples: (gastly_selvagem é o inimigo)

Código:
if attack=true
{
if direction=180
{
if place_meeting(x-5,y,gastly_selvagem)
{
with(gastly_selvagem)
{
vida-=1
}
}
}

if direction=0
{
if place_meeting(x+5,y,gastly_selvagem)
{
with(gastly_selvagem)
{
vida-=1
}
}
}

if direction=90
{
if place_meeting(x,y-5,gastly_selvagem)
{
with(gastly_selvagem)
{
vida-=1
}
}
}

if direction=270
{
if place_meeting(x,y+5,gastly_selvagem)
{
with(gastly_selvagem)
{
vida-=1
}
}
}
}

A solução que arrangei foi essa, mas não deu certo: (vou postar apenas parte do código)

Código:
if direction=180
{
if place_meeting(x-5,y,gastly_selvagem)
{
inimigo=gastly_selvagem
with(inimigo)
{
vida-=1
}
}
}

O que faço para que apenas o inimigo que esteja na posição (x-5,y) perca vida?


Última edição por rafarubim em Ter 04 Out 2011, 13:09, editado 1 vez(es)
rafarubim
rafarubim

Data de inscrição : 20/01/2011
Reputação : 0
Número de Mensagens : 65
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por CRP-Max Seg 03 Out 2011, 22:00

Não seria mais fácil colocar um evento no inimigo e quando ele for atingido perder energia?
Mas neste caso, você esta definindo "todos" os objetos "gastly_selvagem" como inimigo, por isso que todos perdem energia.
Talvez isso possa ajudar.

......
if place_meeting(x-5,y,gastly_selvagem)
{
other.vida-=1;
}
.......
CRP-Max
CRP-Max

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 28/10/2008
Reputação : 29
Número de Mensagens : 822
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por y_Tiago Seg 03 Out 2011, 22:03

Código:
var i;
i=instance_postion(x-5,y,gastly_selvagem)
i.vida-=1
y_Tiago
y_Tiago

Data de inscrição : 13/10/2010
Reputação : 1
Número de Mensagens : 149
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por rafarubim Seg 03 Out 2011, 22:39

CRP-Max escreveu:Não seria mais fácil colocar um evento no inimigo e quando ele for atingido perder energia?
Mas neste caso, você esta definindo "todos" os objetos "gastly_selvagem" como inimigo, por isso que todos perdem energia.
Talvez isso possa ajudar.

......
if place_meeting(x-5,y,gastly_selvagem)
{
other.vida-=1;
}
.......
Na verdade não é um evento de colisão, mas quero que ele perca vida se estiver em determinada posição.
@ Tiago> Não deu certo, por um momento achei que ia dar Sad
@EDIT> Eu usei assim:

Código:
if direction=180
{
if place_meeting(x-5,y,gastly_selvagem)
{
inimigo=instance_position(x-5,y,gastly_selvagem)
with(inimigo)
{
vida-=1
}
}
}
rafarubim
rafarubim

Data de inscrição : 20/01/2011
Reputação : 0
Número de Mensagens : 65
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por CRP-Max Seg 03 Out 2011, 22:44

rafarubim escreveu:
Na verdade não é um evento de colisão, mas quero que ele perca vida se estiver em determinada posição.
@ Tiago> Não deu certo, por um momento achei que ia dar Sad
@EDIT> Eu usei assim:

Código:
if direction=180
{
if place_meeting(x-5,y,gastly_selvagem)
{
inimigo=instance_position(x-5,y,gastly_selvagem)
with(inimigo)
{
vida-=1
}
}
}
Você já tentou mudar as linhas no seu código da forma que eu mostrei?
Código:
if direction=180
{
if place_meeting(x-5,y,gastly_selvagem)
{
other.vida-=1
}
}
CRP-Max
CRP-Max

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 28/10/2008
Reputação : 29
Número de Mensagens : 822
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por rafarubim Seg 03 Out 2011, 22:48

Não adianta colocar other porque esse codigo ta no step, e não colisão, fora que vida é uma variável que eu crieientão não pode colocar other.vida.
Sad

EDIT:
O que eu quero saber é simplismente qual função eu uso para minha variável.
exemplo, se eu coloco:

ASSIM DARIA CERTO:
var objeto_que_quero;
objeto_que_quero=INSTANCE_CREATE(x+10,y,objeto_tal)
with(objeto_que_quero)
{
vida-=1
}

ASSIM NÃO DARIA CERTO:
var objeto_que_quero;
objeto_que_quero=PLACE_MEETING(x+10,y,objeto_tal)
with(objeto_que_quero)
{
vida-=1
}

Qual função uso já que place_meeting e instance_position não deram certo?
rafarubim
rafarubim

Data de inscrição : 20/01/2011
Reputação : 0
Número de Mensagens : 65
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por Mr.Brum Ter 04 Out 2011, 02:29

Código:
if objeto_tal.x-objeto_que_quero.x==10 objeto_que_quero.vida-=1
De acordo com o código acima, seria isso ^
Mr.Brum
Mr.Brum

Games Ranking : Nota C

Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Reputação : 41
Número de Mensagens : 915
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mrbrumgames.blogspot.com/

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por Luiz A. Oliveira Ter 04 Out 2011, 08:03

Simple and Easy!
Código:
i=instance_nearest(x,y,obj_inimigo)
if place_meeting(x,y,i)
{
i.vida-=1
}
Adapte isso ao seu código.
ATÉ+
Luiz A. Oliveira
Luiz A. Oliveira

Games Ranking : Nota C

Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Reputação : 5
Número de Mensagens : 914
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://luizgm.blogspot.com/

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por saim Ter 04 Out 2011, 11:31

O que você quer é simular um evento de colisão no step.
Seu problema é que você está usando um "with" e incluindo o objeto, não a instância do objeto.
Você precisa, dentro do step, dar um jeito de descobrir a intância do objeto e aplicar o código naquela instância.
Existem funções que te retornam a id da instância. instance_place é uma delas. O Alex FC tem um tutorial sobre essas funções, vou dar uma procurada e dou edit. Até lá, o código do luiz_100juizo deve funcionar (você só vai precisar alterar o valor de x, pra ser adaptado ao seu código).

PS: Isso não vai te ajudar por enquanto, mas "other" não é usado só em eventos de colisão.

Edit: Me enganei. O tutorial que eu estava lembrando é do Pedro Henrique (o Alex FC também tem alguns tutoriais de colisão, mas não vi as funções que você procura). Ele está aqui
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por rafarubim Ter 04 Out 2011, 13:08

Obg pessoal, já descobri: eu usei tanto a instance_nearest quanto a instance_placement Smile
ficou assim:

if direction=180
{
if place_meeting(x-5,y,gastly_selvagem)
{
var inimigo;
inimigo=instance_place(x-5,y,gastly_selvagem)
with(inimigo)
vida-=1
}
}
rafarubim
rafarubim

Data de inscrição : 20/01/2011
Reputação : 0
Número de Mensagens : 65
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por saim Ter 04 Out 2011, 13:57

sugiro mudar um pouco, acho que desse jeito fica mais eficiente:
if direction=180
{
var inimigo;
inimigo=instance_place(x-5,y,gastly_selvagem)
if inimigo!=noone{
with(inimigo)
vida-=1
}
}
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Objeto definido [RESOLVIDO] Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Objeto definido [RESOLVIDO] Empty Re: Objeto definido [RESOLVIDO]

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos