Pular para o conteúdo

setElementDynamicPhysics

Compartilhada Objetos OOP objeto:setDynamicPhysics(...)objeto.dynamicPhysics = ...

Liga ou desliga a física dinâmica de um objeto.

bool setElementDynamicPhysics ( element oElemento, bool ligada )
NomeTipoPadrãoDescrição
oElementoelement—O objeto a entregar ao motor de física, ou a tirar dele.
ligadabool—true para deixar o motor de física simular o objeto, false para prendê-lo de volta no lugar.

true quando o estado foi definido, false caso contrário. As falhas dão aviso no console de debug: um argumento que não é um objeto e, ao ligar, um objeto travado (Unfreeze the object before entering dynamic physics) ou que recusa o estado: um moveObject roteirizado em andamento, um objeto de longa distância, um objeto com colisões desativadas ou o limite de objetos em física já ocupado (max_dynamic_physics_objects, 128 por padrão).

No servidor o estado vai para todos os jogadores: cada máquina passa a simular (ou para de simular) o objeto, e quem entrar depois também é avisado. No cliente, só os objetos desta máquina podem ser alterados — objetos criados pelo servidor devolvem false em silêncio.

Enquanto o estado estiver ligado, moveObject recusa o objeto no servidor. Dê velocidade a ele com setElementVelocity e setElementAngularVelocity, ou chute-o com impulseDynamicProp. Quando o objeto para, a máquina do jogador mais próximo informa onde ele ficou e o servidor dispara onDynamicObjectRest.

Ligar o estado zera a gravidade do objeto de volta para ligada — isObjectGravityEnabled volta a ler true.

-- derruba a caixa: destrave-a primeiro, depois entregue-a ao motor de física
setElementFrozen(caixa, false)
setElementDynamicPhysics(caixa, true)