'pthread'を使用して新しいスレッドを作成します。サーバーからスプライトをロードします。しかし、スプライトは黒色です!
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'
}
誰が私を助けることができますか、これは私を3日間悩ませました!