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更新
    }
}  
时间: 2024-11-05 13:31:39

cocos2d-x 获取SD卡图片 线程 UI的相关文章

根据Uri获取sd卡图片

<pre name="code" class="java">String mBigImage = URLEncoder.encode(mImageUrl.replace("*", ""), "UTF-8"); String mBigImagePath = LoveHealthConstant.FILE_PATH + "images/" + mBigImage; File ge

Android - 通过系统数据库获取SD卡音乐媒体信息

当写一些东西(比如音乐播放器)的时候,就需要SD卡的mp3列表了-开始我是使用列文件来着,但是再获取文件的信息(歌手,专辑,图片,时长等..)很麻烦,所以直接用这个函数了- 1 private void getMusicPaths(){ 2 // 3 // 获取音乐列表 4 // 5 Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, M

Android 获取SD卡的图片资源

首先我先获得SD卡下的根目录路径: privateString isSdcard(){ File sdcardDir=null; boolean isSDExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); if(isSDExist){ //如果存在SDcard 就找到跟目录 sdcardDir=Environment.getExternalStorageDirectory(); return

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

获取sd卡的内存空间和可用空间

protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);     //或sd的路径   File file=Environment.getExternalStorageDirectory();   //获取sd卡的所有信息   StatFs fs=new StatFs(file.getPat

Android 获取SD卡路径和判断SD卡是否存在

android获取sd卡路径方法: 不建议直接写死android sd卡的路径. public String getSDPath(){ File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState() .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在 if (sdCardExist) { sdDir = Environment.getEx

Android获取SD卡总容量,可用大小,机身内存总容量及可用大小

public long getSDTotalSize() { /*获取存储卡路径*/ File sdcardDir= Environment.getExternalStorageDirectory(); /*StatFs 看文件系统空间使用情况*/ StatFs statFs=new StatFs(sdcardDir.getPath()); long blockSize= statFs.getBlockSizeLong(); long totalSize=statFs.getBlockCount

Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?

本文主要介绍如何写数据到sd卡,这里主要到的技术是Environment中的方法. 1. 2.实现代码: /datasave/src/com/amos/datasave/savePasswordService.java //写数据到sdcard public void savePasswordToSDCard(String name, String password) { // android 2.1 /sdcard/xx.txt // android 2.2 /mnt/sdcard/xx.tx

android获取sd卡路径方法

public String getSDPath(){  File sdDir = null;  boolean sdCardExist = Environment.getExternalStorageState()  .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在  if (sdCardExist)  {  sdDir = Environment.getExternalStorageDirectory();//获取跟目录  }