cocos2d-x 获取SD卡图片 线程 UI

获取SD卡图片:

CCSprite* pSprite = CCSprite::create("/mnt/sdcard/x.png");

/mnt/sdcard 是SD卡的根目录,有的机子是/sdcard,所以最好用内部函数获取SD卡的根目录。

 

UI更新是不能在子线程里的,这样会出现黑块或白块或直接挂掉

弄个定时器schedule实时监听是否要更新UI

.h文件

class A: public cocos2d::CCLayer  
{  
public:  
    virtual bool init();    
    static cocos2d::CCScene* scene();  
    CREATE_FUNC(A);
    void setImagePath(const char * ImagePath);
    bool m_UI;  // 是否更新UI
virtual void update(float fDelta); // UI更新 };

.cpp文件

bool A::init()
{
    if ( !CCLayer::init() )
    {
        return false;
    }

    this->scheduleUpdate();    // 每帧调用一次
}    

void A::setImagePath(const char * ImagePath)   // 子线程调用
{
    m_UI = true;
}

void A::update( float fDelta )   
{  
    if (m_UI)
    {
        m_UI = false;
        // UI更新
    }
}  

 

posted @ 2014-10-28 14:26  猿走天下  阅读(1137)  评论(0编辑  收藏  举报