0

スプライトがあり、変数をバインドしたい。ドキュメントから私は何かを理解し、関数「setUserData」と「getUserData」を使用します。しかし、間違っていることがあります。

float nums = 2.3f;
pSprite->setUserData((void*)nums); // wrong??

// how to get the var from pSprite.  float some_float = *(pSprite->getUserData());??
4

1 に答える 1

0

ユーザー データにはポインターが格納されるため、メモリを動的に割り当てる必要があります。次のようなことを試してください:

float* nums = new float(2.3f);
pSprite->setUserData((void*)nums); 

...

float* data = (float*)pSprite->getUserData();
printf("%f", *data);
delete data;

通常、スプライトに格納するすべてのデータを含む構造体を作成します。1 つの数値だけを保存したい場合は、これでうまくいきます。どちらの場合も、必ずメモリを削除してください。

于 2012-11-26T08:12:29.827 に答える