Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

[Game Maker] Como um colisor pode acompanhar um objeto.

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

[Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Qua Mai 30, 2018 11:10 am

Bom dia
Desenvolvedores.

Então tenho um objeto que aprendi a fazer neste fórum. Segue o link https://tgmbrasil.com.br/viewtopic.php?f=108&t=1766&p=7141&hilit=image_scale#p7141

Porem o colisor(collison) não acompanha o objeto, eu preciso que este colisor "estique" igual ao objeto. (cima/baixo)

Como fazer isso?

Desde  agradeço.

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por None » Qua Mai 30, 2018 12:05 pm

Olá
Eu não sei se entendi o que você quer fazer, parece que você quer que o seu colisor acompanhe o tamanho do objeto que colide com ele, certo?
Eu nunca fiz isso, mas acho que há riscos disso quebrar o jogo (não sei como seu jogo funciona, então posso estar falando bobeira), acho (não tenho certeza) que você pode usar as funções de sprite widh/height para isso, de novo nunca tentei fazer algo do tipo, depois posso fazer uns testes e ver se consigo fazer funcionar.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Qua Mai 30, 2018 12:56 pm

Blz None,

Então cara, no meu game quando o objeto esticar para cima ele vai colidir com objeto power up e ativa-loo mesmo vale para baixo.

Como fazer isso? Uso o image_scale?

Obrigado None.




 

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por None » Qua Mai 30, 2018 10:28 pm

O que eu não consigo entender é o espaço físico do seu jogo.
Tem como você tirar um print de como o jogo é e explicar o que você quer daí?

Porque o que você deseja é que ele seja dependente do objeto que estica, se for apenas isso, você pode usar uma variável global para aumentar todos ao mesmo tempo, ou tentar espelhar os atributos do seu objeto aos colisores, mas não tenho certeza do que você quer porque não faço ideia do espaço do seu jogo.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Qui Mai 31, 2018 6:30 pm

Blz None

Segue o link da área do game https://uploaddeimagens.com.br/imagens/area_do_game-png/mostrar-codigo

Fiz uma room especifica para o Power Up.

Obrigado pela ajuda None.

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por None » Sex Jun 01, 2018 1:15 am

Eu dei uma fuçada e consegui fazer usando duas variáveis globais, uma cuida da parte superior da sprite e outra da parte inferior, e no draw_sprite_pos tanto do player quanto do sensor eu usei estas variáveis globais como base para os valores do y, vou colocar aqui o código.

Create_event

Código: Selecionar todos

global.cima = 0;
global.baixo = 0;
//Isso deveria ficar em um objeto de controle


Step_event

Código: Selecionar todos

/// @description Insert description here
// Movimento
if (keyboard_check(ord("W"))) y -= 5;
if (keyboard_check(ord("S"))) y += 5;
if (keyboard_check(ord("A"))) x -= 5;
if (keyboard_check(ord("D"))) x += 5;



//Aumentando

if (keyboard_check(vk_shift))
{
 if (keyboard_check(vk_up)) global.cima--;
 if (keyboard_check(vk_down)) global.baixo++;
}

//Diminuindo

if (keyboard_check(vk_control))
{
 if (keyboard_check(vk_up)) global.cima++;
 if (keyboard_check(vk_down)) global.baixo--;
}




Draw_event

Código: Selecionar todos

draw_sprite_pos(sprite_index, image_index,
x, y+global.cima, 
x+sprite_width, y + global.cima, 
x+sprite_width, y+sprite_height + global.baixo, 
x, y+sprite_height + global.baixo, 
1);


Tudo isso é código do player, note que a sprite que eu usei inicia na parte superior esquerda, por isso eu não precisei criar o xx e yy como no outro post, mas se você modificou a origem de sua sprite isso é necessário.
Eu criei dois metodos para alterar o tamanho, um para aumentar e outro para diminuir (não sei como você trata nada disso, então isto pode ser inútil para você).
Conforme eu altero meu tamanho as variáveis globais que cuidam disso, e quando eu desenho o jogador eu aplico estas informações a elas, o draw event do jogador e do sensor é IDENTICO, então é só copiar e colar que funciona.

Espero ter ajudado, qualquer coisa é só falar =)
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Sex Jun 01, 2018 11:31 am

Blz None

Então cara não funcionou, ele aumenta de uma forma estranha e o colisor também continua a mesma coisa.

Obrigado pela ajuda.

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Sex Jun 01, 2018 11:31 am

Blz None

Então cara não funcionou, ele aumenta de uma forma estranha e o colisor também continua a mesma coisa.

Obrigado pela ajuda.

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por None » Sex Jun 01, 2018 6:09 pm

Como assim estranho? O efeito de aumentar já estava funcionando antes, correto? Eu fiz aquele modelo de aumentar porque eu não tinha qualquer projeto base, você já tem o seu.

Na prática a única coisa que você precisa fazer é guardar o quanto esta sendo crescido dentro de variáveis globais e aplicar o valor destas variáveis ao sprite_pos.

Tem como você me mostrar como esta o seu efeito de aumentar? Assim eu posso tentar fazer de um jeito melhor
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Sáb Jun 02, 2018 9:17 am

Blz None.

None, o efeito e o mesmo agora, mais o colisor continua sem funcionar, ele faz o efeito de esquitar, mas o objeto não colide como o objeto power up
e não ativar o power up. 

Duvida tenho que fazer isso usado o image_scale para o objeto?

Obrigado pela ajuda None.

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por None » Sáb Jun 02, 2018 6:35 pm

Acho que eu entendi, o efeito esta funcionando direito, mas o colisor não esta sendo colidido, é isso?
Porque o código que eu te passei faz o colisor aumentar e diminuir da mesma forma que o objeto principal.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Dom Jun 03, 2018 5:22 pm

Blz None,

Então cara, ate entendi o seu código, fiz mais testes com ele mais realmente não funciona.

O objeto atravessa o objeto power up mais nada de executar o código no collision.

Estou tentando fazer com sua ideia, caso tenha outra forma estarei testando.

Obrigado pela sua ajuda None.

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por None » Dom Jun 03, 2018 8:10 pm

Entendi perfeitamente seu problema agora.
Eu pensei que seu problema era o objeto colisor não aumentar de tamanho, mas seu problema era que ele não colidia! Vou dar uma fuçada aqui e ver se acho alguma maneira de fazer isso funcionar. =)
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por None » Dom Jun 03, 2018 9:59 pm

Eu apanhei MUITO, muito mesmo.
O game maker possui uma função que é sprite_collision_mask, que infelizmente não parece funcionar bem, talvez seja meu runtime que impediu o funcionamento dela, mas comigo ela não funcionou nenhuma vez.

O meio que eu consegui fazer funcionar é muito ruim porque ele só funciona se seus sensores não acompanharem o tamanho do objeto principal, se eles mudarem de tamanho também não funciona direito.
Mas se seus sensores forem estaticos este método funciona perfeitamente e é bem simples, basta usar o rectangle_collision no objeto principal e mandar ele seguir o tamanho de sua forma (x1 = x, y1+global.cima = x, x2 = x+sprite_width, y2 = y+sprite_height+global.baixo) e definir para ele colidir com o objeto sensor.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Qua Jun 06, 2018 10:40 am

Blz None,

Cara tentei usar o seu código e continua tudo igual, o único jeito para "esticar"o colisor foi usando image_scale, mais ele não esticar para baixo/cima igualmente.

Estarei tentando outra alternativa ate esgotar.

Muito obrigado pelo seu esforço cara.

Avatar do usuário
Leyon
Novato
Novato
Reações: 0
Mensagens: 3
Localização: Rio Brilhante, Ms

Contato:

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por Leyon » Qua Jun 06, 2018 1:28 pm

poderia me passar sua engine? creio que posso te ajudar.

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Qua Jun 06, 2018 5:13 pm

Blz Leyon

Cara to usando a engine Game Maker 1.4.

Obrigado pela sua atenção Leyon.
 

Avatar do usuário
Leyon
Novato
Novato
Reações: 0
Mensagens: 3
Localização: Rio Brilhante, Ms

Contato:

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por Leyon » Qui Jun 07, 2018 4:52 pm

GhostPower escreveu:Blz Leyon

Cara to usando a engine Game Maker 1.4.

Obrigado pela sua atenção Leyon.
assim, mas é a engine do jogo que estou falando, o código fonte no caso, faz upload em um site e me mande o link via mensagem 

Avatar do usuário
GhostPower
Membro
Membro
Reações: 0
Mensagens: 97

Re: [Game Maker] Como um colisor pode acompanhar um objeto.

Mensagem por GhostPower » Sáb Jun 09, 2018 1:43 pm

Blz Leyon

Então cara, o código fonte esta na resposta deste tópico https://tgmbrasil.com.br/viewtopic.php?f=108&t=1766&p=7141&hilit=image_scale#p7141 feito pelo None.

O que eu modifique esta abaixo:

No event collison:

Código: Selecionar todos

powerUp = other;
powerUp.poUpAprende = true;
powerUp.image_index = 1;


No event step:

Código: Selecionar todos

if level = 1
{
 if linha <= linhaMax 
     {
        ytopo++;
        linha +=0.1;
        global.lineUp += 1;      
    }
}
   
linhaMax = 8;

Obrigado pela ajuda Leyon

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes