Página 1 de 1
[Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qua Mai 30, 2018 11:10 am
por GhostPower
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 já
agradeço.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qua Mai 30, 2018 12:05 pm
por None
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qua Mai 30, 2018 12:56 pm
por GhostPower
Blz
None,
Então cara, no meu game quando o objeto esticar para cima ele vai colidir com objeto
power up e ativa-lo
, o mesmo vale para baixo.
Como fazer isso? Uso o image_scale?
Obrigado None.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qua Mai 30, 2018 10:28 pm
por None
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qui Mai 31, 2018 6:30 pm
por GhostPower
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Sex Jun 01, 2018 1:15 am
por None
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 =)
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Sex Jun 01, 2018 11:31 am
por GhostPower
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Sex Jun 01, 2018 11:31 am
por GhostPower
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Sex Jun 01, 2018 6:09 pm
por None
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
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Sáb Jun 02, 2018 9:17 am
por GhostPower
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Sáb Jun 02, 2018 6:35 pm
por None
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Dom Jun 03, 2018 5:22 pm
por GhostPower
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Dom Jun 03, 2018 8:10 pm
por None
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. =)
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Dom Jun 03, 2018 9:59 pm
por None
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qua Jun 06, 2018 10:40 am
por GhostPower
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.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qua Jun 06, 2018 1:28 pm
por Leyon
poderia me passar sua engine? creio que posso te ajudar.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qua Jun 06, 2018 5:13 pm
por GhostPower
Blz
Leyon
Cara to usando a engine Game Maker 1.4.
Obrigado pela sua atenção Leyon.
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Qui Jun 07, 2018 4:52 pm
por Leyon
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
Re: [Game Maker] Como um colisor pode acompanhar um objeto.
Enviado: Sáb Jun 09, 2018 1:43 pm
por GhostPower
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