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

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

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

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

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

https://study.congcong.us/t/135617

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

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

© 2021 V2EX