Conectar-se
Quem está conectado
27 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 26 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 26/12/2012
Número de Mensagens : 152
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 8

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[01]Conhecendo Physics(Fisica nativa do GMS)

em Seg 27 Jul 2015, 22:06
Reputação da mensagem: 100% (1 votos)

Olá como dito no outro tópico começarei a fazer tutoriais sobre Physics(Física nativa do Game Maker Studio).
Bom...
Introdução leve

Em Physics, nós não usamos x e y, usamos phy_position_x e phy_position_y, com Physics não usamos hspeed e vspeed, usamos phy_speed_x e phy_speed_y, a função place_free é também anulada.


Bom. vamos ao ponto:

Para fazer um objeto ser físico temos que marcar o objeto como físico para isso iremos no objeto e marcaremos a aba "Uses Physics", a aba do lado > será onde iremos definir as propriedades do objeto, essas são:

Density = Massa do nosso objeto, por exemplo uma pedra é bem densa, já um balão não é tão denso, quanto mais denso um objeto mais dificuldade terá a inércia de vencer o objeto.

Restitution = Basicamente o pulo que o nosso objeto dará enquanto estiver em contato com o chão, nunca deixe como 0 pois o personagem poderá bugar quando for alternar de um bloco para o outro, podem chamar de efeito coelho(e sim, eu gostei do nome yes) para saber melhor, observe essa imagem:

Spoiler:

Colision Group = Grupo de colisão do nosso objeto, vamos supor que o Collision Group do nosso objeto player seja 1 e o Collision Group do nosso bloco seja 1 eles iram colidir, caso o o Collision Group do nosso objeto player seja 1 e o do nosso bloco seja 2 eles não colidiriam, caso o numero seja negativo ou zero não terão colisões, amenos que você crie um script sem nada no evento de colisão.
Nota: O Game Maker Studio não faz colisões com dois objetos com densidade 0.

Linear Damping
= Será o amortecimento do nosso objeto.

Angular Damping
= Será a perda de velocidade e rotação que nosso objeto perdera, devido as forças, como o ar, por exemplo, sem essa propriedade o nosso objeto rodaria sem parar.

Friction = O efeito creme do nosso objeto, ou seja o tanto que irá escorregar.

Caixinhas inferiores:

Sensor        | não terá colisões.
Start Awake | Será se estado inicial do objeto, se o objeto participara ou não da simulação de física, caso seja desmarcado, indicara que o nosso objeto será dado como dormindo até que haja interação com ele.
Kinemact     | Fará com que nosso objeto não faça parte da nossa simulação de física.

Mas sinhô, como declaro minha room como um mundo físico?

É simples, note que na room tem uma aba com nome Physics, vá nela e marque a Opção "Room is Physics World" isso declarará nossa room como um mundo físico, em "gravity" será a direção em que nossa gravidade irá ser aplicada, "Pixel To Meters" é basicamente quantos pixels equivalerá 1 metro.

Exemplo:
Código:
physics_apply_force(x,y,0,-1) //aplicará uma força sobre a instância, com a força de 1 metro para cima - inércia, caso fosse +1 a força seria aplicada para baixo - inércia.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum