是否可以在 kivy 应用程序中创建虚拟屏幕 Dpad?我不认为这是可能的,因为 Window 一次只接受一个触摸事件,所以没有办法让 Dpad 和两个操作按钮一起使用(使用画布上的图像,而不是实际的按钮小部件)。
我什至想过让标签接受 Dpad 的触摸,但在标签上绘制 Dpad 的实际图像会导致标签无法捕捉到任何触摸(猜测)。
然后我考虑在角落创建一个较小的窗口,它可能会记录自己的风格,但我在 kivy 文档中没有看到任何关于使用主窗口创建窗口的内容。
解决了。问题不是我的代码,毫不奇怪,多年来一直在编程。提出逻辑是容易的部分。我的问题是由于对所使用的 API 集缺乏了解而出现的。这就像在工具棚里用手锯切割木头,却不知道角落里有一个电动链锯,被木板覆盖。
我不知道有一种方法可以“触摸”一下,从而将它们分开。现在我可以从下一个触摸中识别出一个触摸,一切看起来都很好。我只需要在我的“Dpad”上工作,直到感觉足够流畅。这部分不是那么容易,因为您希望 Dpad 在屏幕上的正确位置,并且您希望很少移动以改变方向……否则玩家的拇指将在屏幕上滑动,哈哈。以我的经验,我觉得我很快就会变得完美。
Kivy 很棘手,期间。我注意到,如果您不每次都为 touch 分配一个 id 值,那么它自己的 id 将不存在(但确实存在!),这将引发异常。这很奇怪,因为您使用的属性已经在 touch 中退出,那么为什么不为未分配的属性返回“None”呢?
哦,好吧,至少我可以停止把绳子绕在脖子上。:D