在触摸屏上制作(或模拟)“ D-Pad”;虚拟键盘


12

随着基于触摸的设备的泛滥,许多设备都缺少真正的D-Pad,我想知道是否有人在如何在触摸屏上模拟D-Pad方面有任何资源?我对XNA和/或Android代码示例特别感兴趣。

Answers:



16

我可以阻止您尝试在触摸屏设备上模拟D-pad吗?

在触摸屏上模拟D-pad的问题是:

  • D-pad占用了您可能用于游戏的屏幕空间;
  • 与真正的D-pad不同,模拟的D-pad几乎不提供反馈:作为播放器,您既无法凭感觉也无法通过视觉辨别所按的方向(因为手指遮住了D-垫在屏幕上)。因此,您的手指很容易从D-pad滑落或滑到D-pad的错误部分,从而导致摸索和沮丧。

就像您所说的,触摸屏设备不仅仅是“缺少真正的D-pad”的设备。触摸屏设备允许玩家触摸屏幕上的任何位置,从而与任何可见的游戏元素进行交互。这提供了广泛的游戏设计可能性,并且这些设计的使用可能比模拟D-pad更令人愉悦。


1
同样,为这样的小屏幕实现Pathing是微不足道的。缩放并滚动游戏地图,然后点击并选择路径!
Stephen Furlani 2010年

9

我知道这不是最有用的答案,但是除非您要从另一个平台移植项目,否则建议您在虚拟D-Pad上重新考虑。虚拟D-Pads的大多数实现充其量都是糟糕的,缺乏触觉反馈使它们成为该平台的不佳选择。

您最好将精力放在构建游戏界面上,以突出平台的优势,而不是构建平台的劣势。


显然Gareth的回答方式与我键入时相同。这里没什么好看的,离开。
wkerslake 2010年

很高兴看到我并不孤单!
加雷斯·里斯

3

就像其他人所说的那样,最好提出一个适合环境的设计,而不是强迫环境适合您的设计,但是如果您坚持使用D-Pad,则可以按照以下方法进行操作:

如果将“接触点”视为鼠标光标,则基本上就是在创建“热点”,以对光标移动做出反应。

我认为最好/最简单的方法是在底角之一的位置制作一个半透明(记住,您正在遮盖游戏屏幕)框或圆圈,在此位置,玩家最有可能已经用手指了。然后,您只需跟踪玩家手指相对于热点中心的位置即可,这就是您输入的增量值。


这是大多数游戏解决d-pad控制器问题的方式。虽然它吸引了精确的平台。
Nailer

2

我看到这里的大多数人都认为D-Pad是个坏主意,而且大多数时候他们都是对的。Android版Gameloft的Dungeon Hunter是出色的触摸屏D-Pad的一个很好的例子。它反应灵敏,具有360度方向,不是“哑巴”。我的意思不是说它是“哑巴”,而是当您按下D-Pad并将手指从D-Pad区域滑出时,它与屏幕上发生的事情不相关-它只是在延伸。因此,如果您意外滑出D-Pad区域,则不会松动。

我认为360度方向和越界响应能力很重要,如果您能够做到这一点,那么您将有机会正确做D-Pad。


1

如果要实现D-Pad,最简单的方法是创建四个矩形(每个D-Pad方向一个矩形),然后检查触摸位置是否在任何矩形的范围内。

正如其他人所说的;在触摸屏上实现D-Pad之前请三思。另一方面,我看到人们整天在他们的iPhone上玩这些GBA模拟器。

由您决定...您能告诉我们您打算做什么涉及模拟D-Pad吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.