cocos2d-x-3.2塔防游戏开发1:背景,地图,obj,产生移动NPC的实现

塔防游戏的开发:

1,        准备资源:

2,        一般的游戏开发中我们用到的都是大图,首先简单的介绍下图片的裁切,

3,        纹理打包工具的使用,Texturepacker工具,它会自动的把图片摆放图片,把多张图片整合到一张图片上,这样的话可以减少图片的开销,这样加载图片是只需要加载一张图片就好了,它导出的时cocos2d的plist格式。

4,        使用TexturePacker打包多张小图

5,         

 

 1,将多张小图拖动到TextPacker中

 2.定义导出格式     

   导出plist文件名     

   导出合成图的png文件名

3. 选择publish发布   生成一个xxx.plist           xxx.png

4.拷贝这2个文件到Resource目录

 5.使用SpriteFrameCatch一次性加载到缓存

 

//使用plist实现动画的创建,使用SpriteFrameCache::加载所有帧在内存

 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("xxx.plist");

 SpriteFrame*sf=SpriteFrameCache::getInstance()->getSpriteFrameByName("key");key就是在第一步拖动过去小图片的文件名。

 

6.屏幕的适配:

•      在applicationDidFinishLaunching方法中添加以下几行代码:

•      glview->setDesignResolutionSize(1136.0f,640.0f, ResolutionPolicy::FIXED_HEIGHT);

•      std::vector<std::string>searchPath;

•      searchPath.push_back("height_864");

•      CCFileUtils::getInstance()->setSearchPaths(searchPath);

•      director->setContentScaleFactor(864.0f/ 640.0f);//注意:这里需要加上.0f

•      特别要说明的是,本游戏的地图资源大小为1536 * 864。我们要制作一个高度方向上全部显示的游戏,所以选择分辨率模式为:FIXED_HEIGHT。

7.  接下来我们会做如下的操作

 

    1.背景添加

    2.地图添加

    3.加载解析地图中的对象层数据

     4.创建怪物

     5.让怪物自动从第一个点移动到最后一个点

-------------------

//加载背景

    auto sp=Sprite::create("playbg.png");

    this->addChild(sp);

   sp->setPosition(Vec2(Director::getInstance()->getWinSize().width/2,

                         Director::getInstance()->getWinSize().height/2));

    //加载地图

    auto map=TMXTiledMap::create("tilemap0.tmx");

    this->addChild(map);

this->setTag(888);

 //加载所有点:按照这个路径走下去

initAllPoint(map);

 

 

 

TDPoint。h

TDPoint。Cpp

//前提:可以做一个对象层的类

#include"cocos2d.h"

USING_NS_CC;

//定义每一个点

class TDPoint:public Ref

{

public:

    int px;

    int py;

    static TDPoint *createPoint(int x,int y);

};

 

 

#include"TDPoint.h"

TDPoint * TDPoint::createPoint(int x,int y){

    TDPoint * td=new TDPoint();

    td->autorelease();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值