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