借鉴Temple Run的重力感应控制和手势操作的设计改进
来源:互联网 发布:syslog协议端口 编辑:程序博客网 时间:2024/04/30 04:51
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!
原文地址: http://www.cocos2dev.com/?p=225
猴子原创,欢迎转载。转载请注明出处,谢谢!
原文地址:http://blog.csdn.net/yanghuiliu/article/details/7615066
前一段时间,开发的一款类似Temple Run的跑步游戏,总感觉自己的重力感应左右滑动和手势的上下滑动操作没有Temple Run好操作。自己观察了一下Temple Run,发现自己的设计的确存在不足。
先说下我自己的设计吧。
1、在重力感应的设计:
我是把左右倾斜的重力感应值传递到游戏控制中,也就是说,我手机向左倾斜,玩家会不停的向左移动,我手机向右倾斜,玩家会不停的向右移动。
看上去没有什么问题,但是在类似Temple Run的游戏中,这就存在极大的不足。
不足之处:
玩家只要把手机左右倾斜,游戏角色就会不停的左右移动,玩家找不到一个合适的控制点,就是想把角色控制在一条道的左中右很难。(虽然玩家小幅度倾斜时,我不算作左右移动,但是还是很难控制)。
2、在手势上下滑动的设计:
Touch事件分为begin,move,end。我是在end的时候获取当前手指的坐标A以及上一帧的手指坐标B,通过A.y和B.y的差值区分玩家是上滑还是下滑。
我只能说,这个看上去也没问题。
不足之处:
不足之处就是玩家操作存在延时,玩家在看到前方有障碍物的时候,快速反应上滑手指,玩家想看到的是我手指点上去角色就应该跳动,但是程序上要等到玩家手指离开的时候才知道是上滑操作还是下滑操作。所以存在一定的延时。
自己的不足分析了,那么怎么改进呢?
其实玩玩Temple Run就可以找到答案。
1、重力感应的改进方式:
重力感应应该是将手机的左右倾斜度映射到一条道路的宽度上去,这样玩家倾斜一定角度的手机,只是将游戏角色定位到一条到道的某一点上去,玩家可以很容易的控制角色在一条道的某一点上面。
2、手势滑动的改进:
刚才也说了,手势分begin,move,end。方法还是和之前一样,只不过不是在end里面获取方向,而是当触发begin的时候记录手指坐标A,在move的第一帧就记录手指坐标B,通过A.y和B.y的差值区分玩家是上滑还是下滑。看上去没什么区别,区别就是减少了玩家move的这段时间的延时。也就是达到对了玩家希望看到的一点击屏幕,角色就应该上跳还是下滑。
- 借鉴Temple Run的重力感应控制和手势操作的设计改进
- 借鉴Temple Run的重力感应控制和手势操作的设计改进
- 基于重力感应的计步器--设计原理和模型
- Temple Run的终点
- Unity3D iphone的重力感应控制
- IOS的重力感应
- 我的雷电游戏(重力感应控制)
- android 重力感应的使用
- IOS 重力感应的实现
- Android 的重力感应DEMo
- Kinect for windows的重力感应和角度马达
- Android4.0之前和4.0之后的重力感应(加速度感应)的差别!
- Android下的重力感应应用
- Android 开发中重力感应的实例
- 关于重力感应的一个小例子
- cocos2d-x 重力感应 加速器的使用
- 使用UIDynamicAnimator创建重力感应的View
- CoreMotion.framework 重力感应的使用
- 尝试 Android Scripting Environment 之四
- Lucene教程(四)- 基本索引操作
- 接触Cocos2d-x
- Hadoop启动命令
- Gerrit为何会选择Buck
- 借鉴Temple Run的重力感应控制和手势操作的设计改进
- 用C语言程序判断一个字符是否是字母或数字
- FZU 2090 旅行社的烦恼 Floyd最小环求最短路
- 进程间同步总结(linux windows)(还要进一步一个个去写例子)
- Documentation_i2c_i2c-stub
- 匈牙利符号表示法使用的前缀代码
- 循环坐标下降(CCD)算法中对骨骼动画中膝盖等关节的特殊处理
- http bitmap传输
- cocos2d unity3d