首页 > 其他 > 详细

Cocos2dx 中大量读取图片的实现

时间:2014-03-09 20:28:26      阅读:563      评论:0      收藏:0      [点我收藏+]

       首先肯定得对图片进行分类,如一款卡牌游戏,图片有角色,角色icon,武器,武器icon等;这里用枚举对其分类标识:

enum UIIMAGE
{
      ARMOR_IMG,
      ARMOR_ICON,
      EQUIP_IMG,
      EQUIP_ICON,
      ITEM_ICON,

      MAX_UIIMAGE
}

       有了图片分类,其加载路径也是一一对应的,故路径分类也如下:

static const char * UIIMAGEPATH[MAX_UIIMAGE] = 
{
      "armorImg\\",
      "armorIcon\\",
      "equipImg\\",
      "equipIcon\\",
      "itemIcon\\",
}

       接着就是实现图片加载的方法了:

void UIDepository::bindToUIImg(gui::UIImageView * img, UIIMAG type, int stuffID)
{
      if(NULL == img)
      {
            return;
      }

      int imgID = 0;
      switch(type)
      {
            case ARMOR_IMG:
            {
                  const xxx armor = xxx->getArmor(stuffID);            //这个通过固有的方法获取其角色对象(包括iconID)
                  imgID = armor->IconID;
            }
            break;
            // 下面类比上面
            case ARMOR_ICON:...
            case EQUIP_IMG:...
            case EQUIP_ICON:...
            case ITEM_ICON:...
      }

      std::string filePath = UIIMAGEPATH[type];
      filePath += CCString::createWithFormat("%d.png", imgID)->getCString();
      //由此可见,图片保存的名字必须是与其ID对应,即名字为:ID.png(如:110.png)
      img->loadTexture( filePath.c_str() );
}


      方法调用如下:

      UIDepository::bindToUIImg(img, ARMOR_ICON, armor->armorID);

      各个参数是什么意思,相信大家是能看得懂的。


      至此,已实现cocos2dx游戏中的图片加载。


Cocos2dx 中大量读取图片的实现,布布扣,bubuko.com

Cocos2dx 中大量读取图片的实现

原文:http://blog.csdn.net/zhanzhan0329/article/details/20849181

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!