Python 制作重力感应 2048,如何控制移动次数?

2014-09-25 13:52:18 +08:00
 qianyue19921003
RT。一般的重力感应游戏 都是持续获得加速,例如赛车游戏,将手机向右倾斜,相当于PC版本中按住右键。 如果我要开发2048游戏的重力版本,假设我手机一直向右倾斜,那么如何使得它不会连续向右2次或者2次以上。
3200 次点击
所在节点    Python
13 条回复
qianyue19921003
2014-09-25 13:54:15 +08:00
@kokdemo 我看到过你发的2048重力版但是 操作有些问题。有什么解决办法么
kokdemo
2014-09-25 14:28:54 +08:00
@qianyue19921003 连续的这个问题可以这么来搞:

加一个时间间隔,每1s检测一次。
kmcool
2014-09-25 14:58:36 +08:00
改成计算加速度的一阶导数好了
qianyue19921003
2014-09-25 15:30:53 +08:00
@kmcool 感觉用加速度可能会出现很多问题啊。
qianyue19921003
2014-09-25 15:31:53 +08:00
@kokdemo 可能用户体验可能差一点。 我也想不出其他办法实现。
wisatbff
2014-09-25 15:35:42 +08:00
2048一次操作不就触底了么,两次结果一样阿
kokdemo
2014-09-25 15:36:09 +08:00
@kmcool 计算加速度的效果更差的……
Daniel65536
2014-09-25 15:49:06 +08:00
一直向右倾斜只移动一次,必须回正手机之后才计算下一次移动。

向右倾斜一下,回来,再倾斜一下,回来对应 向右移动一次,向右再移动一次。
qianyue19921003
2014-09-25 15:53:18 +08:00
@wisatbff 不一样的啊。新出现的2或者4的方块 也会移动过去。
sammo
2014-09-25 21:35:23 +08:00
开始时 水平粗略校准一次 作为复位,如果没有复位这个步骤则不算开始
kmcool
2014-09-26 07:35:29 +08:00
@kokdemo 用的不是加速度 而是用加速度计求导出来的角速度 当然如果楼主直接用陀螺仪的值也行
edire
2014-09-26 09:37:31 +08:00
不会用python,但是可以用js的思维回答一下。
第一步,给一个变量布尔值,开始是true,代表可以运行。
第二部,当右倾侧时候右滑方块,并且变量变成false,当变量变成false的时候,右滑的函数不能运行。
第三部,当右滑后再次平衡手机的时候,变量再次变成true,代表右滑动可以继续使用了。
这是我的想法。可能帮不上忙,轻喷。
GhostFlying
2014-09-26 10:41:05 +08:00
同ls,相当于用软件实现个上升下降沿触发

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/135617

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX