Pular para o conteúdo

setObjectProperty

Compartilhada Objetos OOP objeto:setProperty(...)

Altera uma propriedade física de um objeto.

bool setObjectProperty ( element oObjeto, string propriedade, number valor [, number y, number z ] )
NomeTipoPadrãoDescrição
oObjetoelement—Um objeto, ou qualquer elemento com objetos abaixo dele.
propriedadestring—Uma das propriedades. "all" não vale aqui.
valornumber—Novo valor. Para "center_of_mass", é a coordenada x — ou um Vector3 no lugar dos três números.
y, znumber0Só para "center_of_mass".

true se a mudança foi aplicada. O que é conferido, e até onde vai a mudança, depende do lado:

  • no servidor, uma propriedade ausente, um nome desconhecido ou um valor não finito dão aviso (Expected finite numbers for the property value; para "center_of_mass", Expected finite numbers for center of mass), enquanto "all" e um "mass" ou "turn_mass" negativo devolvem false sem aviso. A mudança é guardada com o objeto e enviada a todos os jogadores — quem entrar depois também a recebe, enquanto o objeto estiver em física dinâmica. Só o objeto que você passou é alterado;
  • no cliente, "all" dá aviso, o valor em si não é conferido (um valor ausente ou não numérico é aplicado como 0), e a mudança vale apenas nesta máquina. Com um elemento pai, os objetos abaixo dele são alterados mas a chamada devolve false — só um objeto passado diretamente dá true.

Um "mass" ou "turn_mass" negativo devolve false sem aviso em qualquer dos lados.

-- uma bola que quica bastante e flutua
setObjectProperty(bola, "elasticity", 0.8)
setObjectProperty(bola, "buoyancy", 1)
-- centro de massa mais baixo: o objeto tomba menos
setObjectProperty(caixa, "center_of_mass", 0, 0, -0.5)
setObjectProperty(caixa, "center_of_mass", Vector3(0, 0, -0.5))