cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(五)-地图卷动
来源:互联网 发布:数据库工程师待遇 编辑:程序博客网 时间:2024/06/07 06:51
马里奥在平移的过程中,涉及到地图的卷动问题。
在这个游戏里,地图比窗口大,窗口只是显示了地图的一部分,因此马里奥在移动的时候,移动到一定位置之后要卷动地图,否则马里奥移动到窗口右边之后......那结果将会很难看。
卷动地图的原理在于,将地图的放在窗口的位置变化下。如下图所示
地图在何时卷动呢?这个看我们的设计,在我们的代码中,卷动是这么实现的:
当右键按下,也就是前进键按下时,马里奥就向前移动,移动结束后,判断是否需要卷动地图。判断需要卷动的条件是:
1)马里奥的位置在窗口的120位置以上(横坐标),因为整个窗口时480,也就是马里奥的位置在超过1/4宽度时,地图要开始卷动
2)abs(pMario->getPositionX() - CurMarioPos.x) > 1的意思是当马里奥有移动时才需要卷动地图
3)pMario->getPostionX() < (getContentSize().Width - SCREEN_WIDTH+100)的意思是当到达地图最后末尾一部分时,不需要卷动了
如果条件成熟,需要卷动,那么改变地图的x坐标即可
也就是setPositionX(getPositionX() - 100*ft); 卷动的速度和马里奥移动的速度是一样的,都是100*ft
0 0
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(五)-地图卷动
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(二)
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(三)-按键处理
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(四)-马里奥平移
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(六)-马里奥跳跃
- cocos2d-x游戏开发系列教程-超级玛丽01-前言
- cocos2d-x游戏开发系列教程-超级玛丽04-AppDelegate
- cocos2d-x游戏开发系列教程-超级玛丽05-CMMenuScene
- cocos2d-x游戏开发系列教程-超级玛丽06-CMGameScene
- cocos2d-x游戏开发系列教程-超级玛丽02-代码结构
- cocos2d-x游戏开发系列教程-超级玛丽03-main函数
- cocos2d-x游戏开发系列教程-超级玛丽08-消息机制
- cocos2d-x游戏开发系列教程-超级玛丽09-怪物激活与移动
- cocos2d-x游戏开发系列教程-超级玛丽10-怪物与马里奥冲突检测
- 【木头Cocos2d-x 012】游戏实例-《跑跑跑》制作教程(第四篇)——地图卷动
- cocos2d-x游戏开发系列教程-坦克大战游戏加载地图的编写
- cocos2d-x游戏开发系列教程-坦克大战游戏之子弹和地图碰撞
- javascript的事件加载
- poj 1179 记忆化搜索
- ubuntu rc.local不能正常运行
- 驼峰命名法(CamelCase)和下划线风格(UnderScoreCase)字符串之间的转换工具类
- 指尖上的金矿:备战2014年游戏运营
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(五)-地图卷动
- CentOS下安装mosquitto(MQTT)
- 源码推荐(1月7日):App动态代码注入工具 灵活裁剪多边形图片
- 平衡二叉树(解惑)
- 源码推荐(1月6日):3D效果的界面转场 把刷新变成游戏的控件
- Java实现两个整数相除
- 努力吧,现在也不晚
- 利用animation-list做每隔几秒显示一张图片的动画效果
- 西川善司的3D图形技术概念和渲染管线的处理