スプライトがあり、変数をバインドしたい。ドキュメントから私は何かを理解し、関数「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;
通常、スプライトに格納するすべてのデータを含む構造体を作成します。1 つの数値だけを保存したい場合は、これでうまくいきます。どちらの場合も、必ずメモリを削除してください。