我使用'pthread'來創建一個新的線程。它從服務器加載精靈。但是,精靈是黑色的!爲什麼cocos2d-x使用來自服務器的多線程加載精靈是黑色的
class Test: public CCLayer
{
public:
Test();
~Test();
virtual bool init();
...
private:
pthread_t _tid;
static void* _loadSprite(void*);
void _doSth();
CCSprite* _loadSpriteFromServer(); // load sprite from server.
};
void* Test::_loadSprite(void* param)
{
Test* pThis = (Test*)param;
pThis->_doSth();
return NULL;
}
bool Test::init()
{
pthread_create(&_tid, NULL, _loadSprite, this);
}
void Test::_doSth()
{
CCSprite* pSprite = _loadSpriteFromServer();
addSprite(pSprite); // the sprite is 'black'
}
誰能幫幫我,這讓我困擾了三天!