如何在精灵上绑定变量

How to bind a var on a sprite

本文关键字:绑定 变量 精灵      更新时间:2023-10-16

有一个精灵,我想在上面绑定一些var。从文档我了解一些东西,使用函数"setUserData"和"getUserData"。但是有一些错误。

float nums = 2.3f;
pSprite->setUserData((void*)nums); // wrong??
// how to get the var from pSprite.  float some_float = *(pSprite->getUserData());??

用户数据存储一个指针,因此您需要动态分配内存。尝试这样的事情:

float* nums = new float(2.3f);
pSprite->setUserData((void*)nums); 
...
float* data = (float*)pSprite->getUserData();
printf("%f", *data);
delete data;

通常,您创建一个结构,其中包含要存储在精灵中的所有数据。如果您只想存储一个数字,这将起作用。无论哪种情况,请确保删除内存!