【Cocos2D-X 】初窥门径(7)无限地图滚动
2013-04-13 23:20
991 查看
地图的滚动原理很简单,就是持续设置地图的位置即可。具体实现用schedule()函数。
schedule()函数的作用就是根据指定时间,持续调用一个函数。
然后再updateMap()中更新地图的位置。
Ctrl + F5,就可以看到地图持续向左边滚动了,
还有个问题就是滚动到地图最右边,就会没有背景,在updateMap()中加个限制就好。
这里只写了地图向左滚动,向右滚动同理。
如果在场景中在加一个动态的角色,然后滚动地图,就会造成人物行走的效果,2D锁视角的游戏就是这个原理。
效果图:
转载请注明出处:http://blog.csdn.net/Vestigge
pMap = CCSprite::create("MapHenn.png"); pMap->setPosition(ccp(mSize.width/2, mSize.height/2)); this->addChild(pMap, 0); schedule(schedule_selector( SpriteScene::updateMap),0.1f);
schedule()函数的作用就是根据指定时间,持续调用一个函数。
然后再updateMap()中更新地图的位置。
void SpriteScene::updateMap(float dt) { pMap->setPositionX(pMap->getPositionX()-5); }
Ctrl + F5,就可以看到地图持续向左边滚动了,
还有个问题就是滚动到地图最右边,就会没有背景,在updateMap()中加个限制就好。
void SpriteScene::updateMap(float dt) { pMap->setPositionX(pMap->getPositionX()-5); //如果地图滚动到最右边,让其恢复初始位置 if(pMap->getPositionX() < -pMap->getContentSize().width/2+mSize.width) { pMap->setPosition(ccp(mSize.width/2, mSize.height/2)); } }
这里只写了地图向左滚动,向右滚动同理。
如果在场景中在加一个动态的角色,然后滚动地图,就会造成人物行走的效果,2D锁视角的游戏就是这个原理。
效果图:
转载请注明出处:http://blog.csdn.net/Vestigge
相关文章推荐
- 【Cocos2D-X 游戏引擎】初窥门径(7)无限地图滚动
- Cocos2d-x地图随精灵无限滚动与边缘检测----之游戏开发《赵云要格斗》(3)
- Cocos2d-x《雷电大战》(1)-双层地图无限滚动
- cocos2d-x游戏开发(三)无限滚动地图
- Cocos2d游戏开发无限滚动地图--以Cocos2d-x游戏开发之旅为例课本第5章little runner
- Cocos2d-X 3.4版-地图无限滚动与边缘检测《赵云要格斗》
- Cocos2d-x《雷电大战》(1)-双层地图无限滚动
- cocos2d-x游戏开发(三)无限滚动地图
- cocos2d-x游戏开发(三)无限滚动地图
- Cocos2d-x地图随精灵无限滚动与边缘检测----之游戏开发《赵云要格斗》(3) cocos2dx 3.3移植版
- cocos2d-x 无限地图滚动
- Cocos2d-X3.0实现地图的无限滚动
- Cocos2d-x《雷电大战》-双层地图无限滚动 推荐
- 【Cocos2D-X 】初窥门径(12)游戏中的对话框
- 【Cocos2D-X 游戏引擎】初窥门径(1) 制作一个动态的精灵
- 文件、格式-【Cocos2D-X 】初窥门径(10)解决中文乱码-by小雨
- 【Cocos2d-x】实现可上下左右无限滚动的背景
- 【Cocos2D-X 游戏引擎】初窥门径(3)图片文字显示
- 判断、转载-【Cocos2D-X 】初窥门径(8)判断精灵点击-by小雨
- 添加生成【Cocos2D-X 】初窥门径(14)CCTableView