zoukankan      html  css  js  c++  java
  • 【Cocos2d-X开发学习笔记】第27期:游戏背景之贴图地图类(CCTileMapAtlas)的使用

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010



    一、贴图地图类CCTileMapAtlas


           除了利用CCTMXTiledMap类创建地图对象外,还有一种创建地图的方法,就是使用贴图地图类

    CCTileMapAtlas。CCTileMapAtlas类的继承关系如下图所示。



    CCTileMapAtlas类的常用函数见下图所示。




    二、项目实例


    1、首先新建Cocos2D-X项目,取名为“MyCCTileMapAtlas”,然后在HelloWorldScene.cpp文件的init函数中添加如下代码。

    bool HelloWorld::init()
    {
        bool bRet = false;
        do 
        {
            CC_BREAK_IF(! CCLayer::init());
    
            CCTileMapAtlas* map = CCTileMapAtlas::create("tiles.png",  "levelmap.tga", 16, 16);
    		// Convert it to "alias" (GL_LINEAR filtering)
    		map->getTexture()->setAntiAliasTexParameters();
           
    		// If you are not going to use the Map, you can free it now
    		// NEW since v0.7
    		map->releaseMap();
        
    		addChild(map, 0, 1);
        
    		map->setAnchorPoint( ccp(0, 0.5f) );
    
    		CCScaleBy *scale = CCScaleBy::create(4, 0.8f);
    		CCActionInterval *scaleBack = scale->reverse();
    
    		CCSequence* seq = CCSequence::create(scale, scaleBack, NULL);
    
    		map->runAction(CCRepeatForever::create(seq));
    
            bRet = true;
        } while (0);
    
        return bRet;
    }
    

          定义 CCTileMapAtlas需要两个参数,第一个参数是类似于之前使用的地图图素集的图片路径,第二个参数是TGR

    图片的路径。TGR类似于地图图素排列的数据,也可以由相应的编辑器编辑。但是,现在使用Tiled编辑器更加方便,

    而且贴图地图类的功能也比Tiled编辑器的少,所以目前这种方法不被推荐使用,这里我们只要理解这种方法就可以

    了。


    2、实例效果图




     


    源码下载地址

  • 相关阅读:
    Windowless controls
    System进程无法创建一个Administrator用户的子进程
    PE文件分析工具
    使用IHTMLDocument3 的getElementById获取控件总是返回空的解决方法
    Windows Sockets2 详解2——堵塞与非堵塞模式
    CopySourceAsHtml外部工具版
    像使用C#一样使用C++
    Windows Sockets2 提供者专用扩展机制
    Windows Sockets2 详解1——服务器客户端通讯
    腾讯实习面试(二)
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3275413.html
Copyright © 2011-2022 走看看