- Data de inscrição : 10/04/2012
Número de Mensagens : 63
Insígnias de JAM :x 0
x 0
x 0
Reputação : 3
Prêmios: 0
: 0
: 0
Como fazer o obj arremessado deslocar outro ?
em Ter 03 Jun 2014, 20:17
Beleza,
Estou com um game de Aventura com fases estilo plataforma.
Em alguns pontos das fases meu player precisará atirar em uma caixa e essa caixa irá se deslocar em uma determinada velocidade para atingir um inimigo.
Parecido com o que acontece em jogos estilos Angry Birds, para poder visualizar o que estou querendo.
Arremessa o pássaro e ele bate em um objeto que se desloca etc.
Vi uma engine que vem com o GMS mas não encontrei o que faz isso..
O meu game não é estilo Angry Birds, acredito que tenha alguma forma mais simples.
Estou com um game de Aventura com fases estilo plataforma.
Em alguns pontos das fases meu player precisará atirar em uma caixa e essa caixa irá se deslocar em uma determinada velocidade para atingir um inimigo.
Parecido com o que acontece em jogos estilos Angry Birds, para poder visualizar o que estou querendo.
Arremessa o pássaro e ele bate em um objeto que se desloca etc.
Vi uma engine que vem com o GMS mas não encontrei o que faz isso..
O meu game não é estilo Angry Birds, acredito que tenha alguma forma mais simples.
- Data de inscrição : 15/08/2010
Número de Mensagens : 1599
Insígnias de JAM :x 0
x 0
x 0
Reputação : 147
Prêmios: 0
: 0
: 0
Re: Como fazer o obj arremessado deslocar outro ?
em Ter 03 Jun 2014, 20:27
na colisao
if(other.speed>speed){
speed=other.speed
direction=other.direction
}else{
speed=-speed
}
fiz de cabeça, acho que funciona :p
if(other.speed>speed){
speed=other.speed
direction=other.direction
}else{
speed=-speed
}
fiz de cabeça, acho que funciona :p
- Data de inscrição : 10/04/2012
Número de Mensagens : 63
Insígnias de JAM :x 0
x 0
x 0
Reputação : 3
Prêmios: 0
: 0
: 0
Re: Como fazer o obj arremessado deslocar outro ?
em Sab 07 Jun 2014, 12:24
Essa deu certo...
Mas eu tenho um fase onde possui varias caixas (mesmo objeto) e quando o tiro acerta uma caixa, todas as outras se movem hehehe.
Fiz outro objeto ser criado quando o tiro acerta a caixa e fazer o deslocamento através dele. dessa forma funcionou, mas não sei se é certo.
Como eu faria para que quando o tiro acertar a caixa ela girar, ter mais física no impacto?
Mas eu tenho um fase onde possui varias caixas (mesmo objeto) e quando o tiro acerta uma caixa, todas as outras se movem hehehe.
Fiz outro objeto ser criado quando o tiro acerta a caixa e fazer o deslocamento através dele. dessa forma funcionou, mas não sei se é certo.
Como eu faria para que quando o tiro acertar a caixa ela girar, ter mais física no impacto?
- Ranking :
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :x 0
x 0
x 0
Reputação : 106
Prêmios: 0
: 0
: 0
Re: Como fazer o obj arremessado deslocar outro ?
em Sab 07 Jun 2014, 12:40
Pô, aí você já precisaria de uma engine de física, fazer manualmente em GML é perda de tempo. Na GMToolbox tem uma seção de Physics la que pode ser interessante dar uma olhada. E o GMS já vem com um sistema de física embutido, mas não posso te dar muitos detalhes já que nunca o usei, sem falar que é pouco documentado nos docs da YoyoGames. Segue aí alguns links que achei:
- Tutoriais de um gringo
- Tópico na GMC discutindo sobre as funções de física.
- Tutoriais de um gringo
- Tópico na GMC discutindo sobre as funções de física.
- Ranking :
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :x 0
x 0
x 0
Reputação : 71
Prêmios: 1
: 2
: 1
Re: Como fazer o obj arremessado deslocar outro ?
em Sab 07 Jun 2014, 14:31
ative um alarm no impacto e enquanto ele estiver ativo coloque no step:Como eu faria para que quando o tiro acertar a caixa ela girar, ter mais física no impacto?
if alarm[0]>-1 image_angle+=5;
Lembre-se de ajustar também a gravidade e friction para dar mais realismo.
Voce pode checar também o ponto de colisão na caixa pra determinar pra que lado ela vai girar. Se acertar na parte de baixo gira pra cima e em cima gira pra baixo.
Pra caixa desacelerar o giro use algo como:
if alarm[0]>-1 image_angle+=150/alarm[0]
Vá testando os valores pra ver o que funciona melhor no seu jogo.
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum