对于tiledmap的一些操作
来源:互联网 发布:折装导轮的工具的数据 编辑:程序博客网 时间:2024/06/17 15:56
1.
<span style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">auto map = TMXTiledMap::create("TileMaps/orthogonal-test1.tmx");</span>
<span style="font-size:14px;">addChild(map, 0, 0);</span> <span style="font-size:14px;"> Size CC_UNUSED s = map->getContentSize(); CCLOG("ContentSize: %f, %f", s.width,s.height); //遍历地图上的全部对象,并开启搞锯齿 auto& children = map->getChildren(); SpriteBatchNode* child = nullptr; for(const auto &obj : children) { child = static_cast<SpriteBatchNode*>(obj); child->getTexture()->setAntiAliasTexParameters(); }</span>
2.得到地图上的单个图块对象并从地图上移除:
<span style="font-size:14px;">auto map = static_cast<TMXTiledMap*>( getChildByTag(kTagTileMap) ); auto layer = map->getLayer("Layer 0"); auto s = layer->getLayerSize(); auto sprite = layer->getTileAt( Vec2(s.width-1,0) ); auto sprite2 = layer->getTileAt(Vec2(2,63)); layer->removeChild(sprite, true); auto sprite3 = layer->getTileAt(Vec2(2, s.height-1)); layer->removeChild(sprite3, true); layer->removeChild(sprite2, true);</span>
3.移动地图:
<span style="font-size:14px;">auto ms = map->getMapSize();auto ts = map->getTileSize();map->runAction( MoveTo::create(1.0f, Vec2( -ms.width * ts.width/2, -ms.height * ts.height/2 ) ));</span>4.精灵在地图上移动,交换Z轴
<span style="font-size:14px;">auto map = TMXTiledMap::create("TileMaps/orthogonal-test-zorder.tmx"); addChild(map, 0, 0); Size CC_UNUSED s = map->getContentSize(); CCLOG("ContentSize: %f, %f", s.width,s.height); _tamara = Sprite::create("Images/grossinis_sister1.png"); map->addChild(_tamara, (int)map->getChildren().size()); _tamara->retain(); _tamara->setAnchorPoint(Vec2(0.5f,0)); auto move = MoveBy::create(10, Vec2(400,450)); auto back = move->reverse(); auto seq = Sequence::create(move, back,nullptr); _tamara->runAction( RepeatForever::create(seq)); schedule( schedule_selector(HelloWorld::repositionSprite));</span>
<pre name="code" class="cpp"><span style="font-size:14px;">void HelloWorld::repositionSprite(float dt){ auto p = _tamara->getPosition(); p = CC_POINT_POINTS_TO_PIXELS(p); auto map = getChildByTag(0); int newZ = 4 - ( (p.y-10) / 81); newZ = std::max(newZ,0); map->reorderChild(_tamara, newZ);}</span>效果图如下:
5.遍历地图上的精灵:
<span style="font-size:14px;">auto& children = map->getChildren(); for(const auto &node : children) { auto child = static_cast<SpriteBatchNode*>(node); child->getTexture()->setAntiAliasTexParameters(); }</span>6.遍历对象层:
<span style="font-size:14px;">auto group = map->getObjectGroup("Object Group 1"); auto& objects = group->getObjects(); for (auto& obj : objects) { ValueMap& dict = obj.asValueMap(); float x = dict["x"].asFloat(); float y = dict["y"].asFloat(); float width = dict["width"].asFloat(); float height = dict["height"].asFloat(); glLineWidth(3); }</span>
0 0
- 对于tiledmap的一些操作
- 对于剪切板的一些操作
- 对于.net数据库的一些操作:
- java中对于文件属性的一些操作
- 对于Orical数据库的一些操作
- dom4j对于xml文件的一些操作
- js对于字符串的一些简单操作
- 一些对于字符串操作的函数
- 对于Recyclerview的item一些的简单操作
- (转)java中对于文件属性的一些操作
- c语言中对于文件操作的一些学习
- TiledMap地图的使用
- TiledMap的使用
- 对于位的操作
- 对于word的操作
- 对于技术的一些看法.
- 对于递归的一些探讨
- 对于游戏的一些想法
- MAC OS下配置Maven3.2.2
- dxgdfgdfg
- 黑马视频学习笔记-结构体(一)
- Velocity
- 获取网络加载数据 ios
- 对于tiledmap的一些操作
- 32位嵌入式微处理器学习
- UML常用 符号解说
- Objective-C 基础,类和对象,方法和消息,已声明的属性和存取方法,块对象,协议和范畴类,预定义类型和编码策略
- s p i C R C DMA
- SpringMVC学习(一)--框架搭建
- Oracle学习日志之sequence创建ID自增功能
- SRM 626 D1L2:CatchTheBeat,Longest increasing subsequence,O(NlogN) 算法
- UVa12700 - Banglawash(杂题)