Box2d对象有一个
void* m_userData
用户可以存储数据的字段。通常,您存储指向另一个对象的指针,例如指向精灵的指针,该精灵应在每个系统滴答时使用位置信息进行更新。
我想存储指向另一个对象的指针,但如果我还可以存储一些额外的信息,我会很高兴。我可以在指针的最重要位置执行此操作吗?可以设置对象指针的最重要位吗?我的意思是内部内存只有512 MB(我猜)。
也许应用程序会被拒绝?这不是完全未来的证据,而且它有点像黑客......
答案 0 :(得分:0)
指向“另一个对象”的指针可以是您喜欢的任何内容,因此执行此操作的典型方法是使结构/类保存您要存储在用户数据中的任何内容,例如:
struct myUserData {
Object* anObject;
AnotherObject* anotherObject;
bool oneExtraBit;//okay, 8 extra bits :)
}
然后,您可以将其中一个设置为用户数据...
myUserData* mud = new myUserData;
mud->anObject = ...;
mud->oneExtraBit = ...;
myBody->SetUserData( mud );