Kivy - 创建虚拟方向键

Kivy - Creating A Virtual Dpad

是否可以在 kivy 应用程序中创建虚拟屏幕方向键?我不认为这是可能的,因为 Window 似乎一次只接受一个触摸事件,所以没有办法让方向键和两个操作按钮一起使用(使用 canvas 上的图像,而不是实际的按钮小部件)。

我什至考虑过让标签接受方向键的触摸,但在标签上绘制方向键的实际图像会导致标签无法捕捉到任何触摸(猜测)。

然后我考虑在角落创建一个较小的 window,它可能会注册自己的触摸,但我在 kivy 文档中没有看到任何关于创建 window with the main window.

解决了。问题不是我的代码,毫不奇怪,多年来一直在编程。提出逻辑是容易的部分。我的问题是由于缺乏对正在使用的 API 集的理解。这就像在一个工具棚里用手锯锯木头,却不知道角落里有一把电动链锯,被木板遮住了。

我不知道有什么方法可以 'id' 触摸,从而将它们分开。现在我可以从下一个触摸中识别出来,一切看起来都很好。我只需要在我的 "Dpad" 上工作,直到感觉足够流畅为止。这部分并不那么容易,因为您需要方向键在屏幕上的正确位置,并且需要很少的移动来改变方向……否则玩家的拇指会在屏幕上滑动,哈哈。以我的经验,我觉得我很快就会完善它。

Kivy 很棘手,句号。我注意到,如果您每次都没有为 touch 分配一个 id 值,那么它自己的 id 将不存在(但它确实存在!),这将引发异常。这很奇怪,因为您正在使用一个已经存在于触摸中的属性,那么为什么不 return 'None' 代替未分配的属性呢?

哦,好吧,至少我可以停止在脖子上绕绳子了。 :D