Reeniciar objeto quando colidir

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

Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qua 09 Fev 2011, 11:24

Queria que quando a bola colidice com o gol ela voltace para onde ela começa no inicio da room , mas só ela e não todos os objetos voltar pra o lugar , apenas a bola.

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Luiz A. Oliveira em Qua 09 Fev 2011, 11:35

coloca na ação depois que faz o gol
Código:
with (obj_bola)
{
y=ystart
x=xstart
}

Luiz A. Oliveira

Ranking : Nota C
Número de Mensagens : 914
Idade : 19
Data de inscrição : 08/09/2010
Notas recebidas : D-B-C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://luizgm.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Markituh em Qua 09 Fev 2011, 11:36

Olá! Existem variáveis que se chamam xstart e ystart, elas armazenam a posição inicial do objeto. Interessante, não? Então quando a bola colidir com o gol, só é definir as coordenadas X e Y dela como as variáveis.
Código:
x = xstart
y = ystart
Se estiver trabalhando com D&D, só é ir na aba Move e pegar o quadrado Jump to Start Position. Se não souber qual é, só passar o mouse por cima que aparece.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qua 09 Fev 2011, 11:55

Vei , mas é assim , o jogo é de futebol , então a bola começa no meio , o jogador pega a bola , então a bola deixa de existir e se torna obj_JogadoBola , quando ele chuta a bola aparece novamente , quando pûs esse codigo , depois que a bola colide com o gol ela volta para o pé do jogador.

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por irlansn em Qua 09 Fev 2011, 12:06

Tente assim assim!:
Código:
instance_create(x,y,obj_bola)//cria o objeto bola onde quizer.
instance_destroy(obj_JogadoBola)//destrói obj_JogadoBola.

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Markituh em Qua 09 Fev 2011, 12:11

irlansn escreveu:Tente assim assim!:
Código:
instance_create(x,y,obj_bola)//cria o objeto bola onde quizer.
instance_destroy(obj_JogadoBola)//destrói obj_JogadoBola.
Isso está errado, a função instance_destroy não possui argumentos. Então, já que existem duas bolas, o que você pode fazer é destruir o objeto obj_JogadoBola, e depois criar o objeto bola no lugar que começa
Código:
instance_destroy()
instance_create(xl,yl,obj_BolaParada)
xl seria X do lugar que começa, e yl seria Y do lugar que começa.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por irlansn em Qua 09 Fev 2011, 12:19

mais não da no mesmo? bom que seja

irlansn

Ranking : Nota C
Número de Mensagens : 482
Idade : 18
Data de inscrição : 18/01/2011
Notas recebidas : B+D
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Markituh em Qua 09 Fev 2011, 12:25

irlansn escreveu:mais não da no mesmo? bom que seja
Não, pois a função instance_destroy não possui argumentos, ela é Call-At-Once, como podemos chamar.
instance_destroy() <--- Não se coloca nada dentro, ela não tem argumentos. Vai ser destruído o objeto que tiver essa função declarada, para destruir objetos que não é você, usa-se o With. Pode encontrar um tutorial de With aqui no fórum, que eu postei, inclusive está fixado na categoria Iniciante e Intermediário(Índice de aulas e tutoriais por Dharrison)

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Super Games em Qua 09 Fev 2011, 12:28

Não é a mesma coisa Irlansn...Isto fará o objeto aparecer no lugar onde morreu depedendo do número do X e do Y.

Tópico:
Coloque isto na colisão:
Código:
instance_destroy()
x=xstart
y=ystart
Simples não?O X é o local da esquerda e direita e Y o de cima é de baixo, e o xstart é o local X onde iniciou o objeto e o ystar é o local Y onde iniciou o objeto, juntos eles fazem uma ação completa.


Espero ter ajudado...

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Markituh em Qua 09 Fev 2011, 12:33

kbcaecb escreveu:Vei , mas é assim , o jogo é de futebol , então a bola começa no meio , o jogador pega a bola , então a bola deixa de existir e se torna obj_JogadoBola , quando ele chuta a bola aparece novamente , quando pûs esse codigo , depois que a bola colide com o gol ela volta para o pé do jogador.
Ele tem dois objetos bola, um quando tá parado e outro quando tá no pé do jogador, então o correto seria destruir o objeto do pé e criar o objeto da bola parada no canto inicial. E se tu não vistes:
quando pûs esse codigo , depois que a bola colide com o gol ela volta para o pé do jogador.
Happy

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qua 09 Fev 2011, 18:10

nenhum deu certo , o ultimo , a bola era destruida e não nascia mais.

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por gustavo ferreira em Qua 09 Fev 2011, 19:16

mann faz assim coloca na colisão da bola com o gol assim
Código:
instance_destroy()
ae vc add um event Destroy no obj bola e coloca assim
Código:
x=xstart
y=ystart
blz?! espero ter ajudado falow!!

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qua 09 Fev 2011, 19:27

Tbm não funcionou , a bola é destruida e não aparece mais.

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Godsil4 em Qua 09 Fev 2011, 19:35

no evento Destroy coloca:
instance_create(x,y,Bola)

x e y os pontos da faze em
q vc que q ela apareça

Godsil4

Ranking : Nota B
Número de Mensagens : 474
Data de inscrição : 26/11/2010
Notas recebidas : B+A
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

http://www.google.com.br

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por gustavo ferreira em Qua 09 Fev 2011, 19:38

entaum tenta colocar no event Destroy assim
Código:
instance_create(xstart,ystart,obj_bola)

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qua 09 Fev 2011, 20:02

Vei , nesses dois codigos acontecia assim : eu pegava a bola então aparecia o obj_JogadoBola e a bola continuava la , quando eu tocava ela pra frente e pegava ela denovo ela ficava se multiplicando e não destruia.

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Shadow10 em Qua 09 Fev 2011, 20:59

A melhor coisa a ser feita é quando o obj_jogador_bola chutar a bola o obj_jogador_bola tranforma em obj_jogador e cria o obj_bola.
Mais ou menos assim:
Código:
if keyboard_check(ord("X")){
instance_change(obj_bola,perfomevents);//passa de obj_jogador_bola para obj_bola
}

no step da bola:
Código:
if (codição da direção que o obj_player chutou a bola){
motion_set(dir,spee)
}

Caso não funcione use a função "instance_destroy() e instance_create(x,y,object)".

E pra bola voltar pro meio campo:
Código:

if gol = true{
gol = false //aqui o gol tem que voltar a ser false se não da erro
place_meeting(x,y,obj_ponto_inicial) //faz a bola encontrar seu ponto inicial
}

Se nada disso der certo me passa a engine por MP que eu vejo as condições pra concertar o erro.

Valeu essa?

Shadow10

Ranking : Nota C
Número de Mensagens : 429
Data de inscrição : 07/11/2010
Notas recebidas : C
Reputação : 19
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Bolonheze em Qua 09 Fev 2011, 21:04

Poim no evento colisão com o gol, instance_destroy() e instance_create(x,y,Bola).

para não ter erro, eu iria ver na room em qual x e qual y é o meio do campo para não deixar espaço para erros.

Mas cara, se for gol, n deveria todos os objetos voltarem para a posição inicial?


Última edição por Bolonheze em Qua 09 Fev 2011, 21:09, editado 1 vez(es)

Bolonheze

Número de Mensagens : 6
Data de inscrição : 07/02/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Bolonheze em Qua 09 Fev 2011, 21:08

Ow no meu aconteçe de quando pego a bola, cria o objeto jogadorbola mas a bola continua se multiplicando.

Como vc fez para ficar certo?

Bolonheze

Número de Mensagens : 6
Data de inscrição : 07/02/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Shadow10 em Qua 09 Fev 2011, 21:14

Ve em que evento a bola se multiplica e nele faz ela se destruir.

Shadow10

Ranking : Nota C
Número de Mensagens : 429
Data de inscrição : 07/11/2010
Notas recebidas : C
Reputação : 19
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qua 09 Fev 2011, 21:31

Conseguiu agora , eu coloquei pra destruir o objeto e depois criar a instancia nas cordenadas do meio campo , mas pelo gml não funcionou.

mas assim galera , agora quando a bola sai do pé do jogador abaixa um gol no placar , n sei pq ...

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Shadow10 em Qua 09 Fev 2011, 22:49

Cria um objeto pra ser a linha do gol e só quando a bola passar da linha é que o placar vai mudar.
no create da bola fica assim + ou - :
Código:
if self.x < obj_linha_esquerda.x{
gol+=1
}

Tenho sertesa que se você fizer desse jeito, vai funcionar.

Shadow10

Ranking : Nota C
Número de Mensagens : 429
Data de inscrição : 07/11/2010
Notas recebidas : C
Reputação : 19
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qua 09 Fev 2011, 23:03

eu fiz isso já , criei um objeto chamado obj_gol , quando a bola colide com o obj_gol almenta um gol no placar na parte de cima da tela , mas agora que consegui fazer pra a bola voltar pra o meio campo depois do gol , agora ta tirando um gol toda vez q a bola sai do pé do jogador.

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por gustavo ferreira em Qui 10 Fev 2011, 00:06

tipo vc colocou na colisisão com o gol né
Código:
global.gols+=1
??

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qui 10 Fev 2011, 10:20

foi

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por gustavo ferreira em Qui 10 Fev 2011, 12:25

tenta criar uma variavel pros pontos, tipo assim no create:
Código:
entrou=false
no step
Código:
if place_meeting(x,y,obj_gol){
entrou=true}
else
entrou=false

if entrou=true{
global.gols+=1}
else
entrou=false
tenta isso blz num sei se vai dar certo pois num testei
mais acho que deve reslover!! num esquece de tira o global.gols+=1 da colisão com o gol blz?! falow

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qui 10 Fev 2011, 12:40

não funcionou , desse jeito o placar não altera em nada , fica sempre no 0 Sad

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por gustavo ferreira em Qui 10 Fev 2011, 13:52

entaum no step vc coloca só isso
Código:
if entrou=true{
global.gols+=1}
else
entrou=false
ae na colisão vc coloca
Código:
entrou=true
e no create vc deixa o
Código:
entrou=false

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qui 10 Fev 2011, 14:12

isso ai coloca no obj_Bola é ?

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por gustavo ferreira em Qui 10 Fev 2011, 14:16

naum no obj que marca o placar!!

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por kbcaecb em Qui 10 Fev 2011, 14:31

ñ pegou ...
oxe lol

kbcaecb

Número de Mensagens : 34
Data de inscrição : 28/10/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por peixoto em Qui 10 Fev 2011, 17:37

Faça o seguinte: crie um evento de colision da bola com o gol, ai coloca o seguinte codigo:
Código:

instance_creat(posição x do meio, posição y do meio, nome da bola)
instance_destroy()

peixoto

Ranking : Nota D
Número de Mensagens : 911
Idade : 21
Data de inscrição : 14/02/2010
Notas recebidas : D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Reeniciar objeto quando colidir

Mensagem por Conteúdo patrocinado Hoje à(s) 01:58


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