zoukankan      html  css  js  c++  java
  • 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更新
        }
    }  
  • 相关阅读:
    [c language] getopt
    编程经典问题
    一些常用的正则表达式
    [Head First Python]6. summary
    Java多线程
    JVM运行原理
    Struts2---自定义拦截器
    SpringMVC框架初步
    测试基本问题
    自动化测试
  • 原文地址:https://www.cnblogs.com/C-Plus-Plus/p/4056736.html
Copyright © 2011-2022 走看看