在Cocos2d-X3.0中使用瓦片地图中的对象层

在Cocos2d-X3.0中使用瓦片地图中的对象层,第1张

概述在Cocos2d-X中使用瓦片地图是非常常见的,例如在跑酷和塔防游戏中通常会用到瓦片地图,在前面的博客中我也介绍了瓦片地图的使用,这篇博客主要介绍在Cocos2d-X3.0中使用瓦片地图中的对象层,因为3.0和2.0中调用瓦片地图的对象层的方式有所不同   对于瓦片地图的使用可以参考我的博客 瓦片地图编辑器的使用:http://www.voidcn.com/article/p-brgdymtl-z

在Cocos2d-X中使用瓦片地图是非常常见的,例如在跑酷和塔防游戏中通常会用到瓦片地图,在前面的博客中我也介绍了瓦片地图的使用,这篇博客主要介绍在Cocos2d-X3.0中使用瓦片地图中的对象层,因为3.0和2.0中调用瓦片地图的对象层的方式有所不同

对于瓦片地图的使用可以参考我的博客

瓦片地图编辑器的使用:http://www.jb51.cc/article/p-brgdymtl-za.html

在Cocos2d-X中使用瓦片地图《一》:http://www.jb51.cc/article/p-kfthyfqc-za.html

Cocos2d-X中使用瓦片地图《二》:http://www.jb51.cc/article/p-gpqbjzpb-za.html

首先使用瓦片地图编辑器编辑好一张地图

创建一个MapScene类用于加载地图,并且在MapScene.h中添加下面的代码

#ifndef _MapScene_H_#define _MapScene_H_#include "cocos2d.h"USING_NS_CC;class MapScene : public Layer{public:	MapScene(voID);	~MapScene(voID);	static Scene* createScene();	bool init();	CREATE_FUNC(MapScene);};#endif

在MapScene.cpp中添加下面的代码

#include "MapScene.h"MapScene::MapScene(voID){}MapScene::~MapScene(voID){}Scene* MapScene::createScene(){	auto scene = Scene::create();	auto layer = MapScene::create();	scene->addChild(layer);	return scene;}bool MapScene::init(){	if(!Layer::init())	{		return false;	}	//创建tmx地图	TMXTiledMaP* map = TMXTiledMap::create("obj.tmx");	addChild(map);	 //获得对象数组    TMXObjectGrouP* objG = map->getobjectGroup("OBJEC");    //获得对象数组中的一个对象    auto object = objG->getobject("0");	//获得对象的坐标	float x = object["x"].asfloat();	float y = object["y"].asfloat();	 //在对象上创建一个精灵    Sprite* sprite = Sprite::create("1.png");    map->addChild(sprite);    //设置精灵的位置    sprite->setposition(Vec2(x,y));    //设置精灵的描点为左下角    sprite->setAnchorPoint(Vec2(0,0));	return true;}

执行结果:

总结

以上是内存溢出为你收集整理的在Cocos2d-X3.0中使用瓦片地图中的对象层全部内容,希望文章能够帮你解决在Cocos2d-X3.0中使用瓦片地图中的对象层所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1054175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存