2012-11-26 2 views
0

스프라이트가 있습니다. 일부 var에 바인드하고 싶습니다. 내가 이해할 수있는 문서에서 함수 "setUserData"및 "getUserData"를 사용하십시오. 그러나 잘못된 것이 있습니다.스프라이트에 var를 바인딩하는 방법

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

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

답변

0

사용자 데이터는 동적으로 메모리를 할당하기 위해 포인터를 저장합니다. 다음과 같이 시도하십시오.

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

... 

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

일반적으로 스프라이트에 저장하려는 모든 데이터가 들어있는 구조체를 만듭니다. 하나의 번호 만 저장하려는 경우이 방법이 효과적입니다. 두 경우 모두 메모리를 삭제하십시오!

관련 문제