定義完bodyDef之後,透過b2World建立了body,那怎麼使用它呢?
body有以下幾種特性:
mass
accessing position
velocity
applying force
transforming points and vectors
mass(scalar)
center of mass(2-vector)
rotational inertia(scalar)
static body的mass = rotational inertia = 0。
一般來說body的質量是直接由附在上面的fixture所定義的density計算出來的。也可以自己重新設定body的質量:
void SetMassData(const b2MassData* data);
改回原先由fixture定出的質量可以使用:
void ResetMassData();
可參考fixture密度改變的做法:
fixture->SetDensity(5.0f);
body->ResetMassData();
所以ResetMassData();本來就是把body的質量依照fixture的設定去設定的方法。
其他的特性的set和get方法可以參考官方手冊。
特性
body有以下幾種特性:
mass
accessing position
velocity
applying force
transforming points and vectors
質量
共有三種數值:mass(scalar)
center of mass(2-vector)
rotational inertia(scalar)
static body的mass = rotational inertia = 0。
一般來說body的質量是直接由附在上面的fixture所定義的density計算出來的。也可以自己重新設定body的質量:
void SetMassData(const b2MassData* data);
改回原先由fixture定出的質量可以使用:
void ResetMassData();
可參考fixture密度改變的做法:
fixture->SetDensity(5.0f);
body->ResetMassData();
所以ResetMassData();本來就是把body的質量依照fixture的設定去設定的方法。
其他的特性的set和get方法可以參考官方手冊。
留言
張貼留言