我正在创建一个2D平台游戏,例如Super Meat Boy,在该游戏中,主角的动作精度至关重要。我正在使用libgdx。PC上的键盘控件工作正常,但是在加速度计处理方面,要精确处理字符确实非常困难。随着交通安全路线的拥挤,这种情况会逐步恶化。我曾考虑实现一个屏幕上的模拟球来处理输入,但在互联网上却读到了很多不良后果。
用于触摸设备上的平台游戏的直观但精确的输入方法是什么?
我正在创建一个2D平台游戏,例如Super Meat Boy,在该游戏中,主角的动作精度至关重要。我正在使用libgdx。PC上的键盘控件工作正常,但是在加速度计处理方面,要精确处理字符确实非常困难。随着交通安全路线的拥挤,这种情况会逐步恶化。我曾考虑实现一个屏幕上的模拟球来处理输入,但在互联网上却读到了很多不良后果。
用于触摸设备上的平台游戏的直观但精确的输入方法是什么?
Answers:
一句话:刷卡。
我在Android手机上玩了《吃豆人》冠军版,我认为真正有用的是,尽管屏幕上有一个操纵杆,但实际上您不必触摸它即可将《吃豆人》向正确的方向移动。如果您的手指从操纵杆上掉下来,没关系。重要的是您向哪个方向移动了手指。
要向上移动,请向上滑动。要向下移动,请向下滑动。要向左移动,请向左滑动。要向右移动,请向右滑动。
您也可以轻松使滑动上下文对屏幕区域和游戏中当前正在发生的动作敏感。假设您的手机处于横向模式,并且像视频游戏控制器一样握着它。屏幕的左半部分可以保留,以便使用我上面所述的滑动来移动。屏幕的右半部分可用于执行诸如跳跃,射击,屏蔽之类的动作,以及您想以非常相似的方式使用滑动给玩家提供的任何游戏功能。或者,如果您只有一种能力(例如在“超级肉品男孩”中跳跃),则只需将屏幕的右半部分当作按钮即可。
更新资料
我们在聊天中讨论了这个问题,看来我的解决方案(上面描述的方法很像一个虚拟的棍子,当您抬起并放下手指时会移动)。我想说明的是事实并非如此,实际上比这要灵活得多。
上图显示了人们可以在板上移动Pacman的滑动方式。请注意,所采取的操作根本不是基于您第一次放下手指的位置。如果在向右滑动时不小心将手指移得太远,或者向下滑动时手指移得不够远,则可以。使用此实现,只要您滑动足够的距离使其可以正确地在软件中注册,它就会使用它并使用您手指最终到达的位置作为下一个起点,或者如果您将手指移开,它将使用下一个位置放下手指。
就像我之前说过的那样,您可以通过将控件拆分到单独的区域中来将其应用于平台游戏,以便您的滑动和点击操作可以根据执行操作的屏幕位置来执行不同的操作。显而易见的途径是仅通过滑动即可使左侧手柄运动。然后,可以使用右侧的任意滑动和轻击组合来处理玩家的动作和能力。
如果您将屏幕的一半像虚拟轨迹球一样对待,角色的位置/速度与球的位置/速度直接相关,该怎么办?滑动和释放会使您的角色保持恒定的运动(并导致轨迹球旋转)。按住屏幕上的手指就像握住轨迹球一样,这样您就可以对角色的位置进行微小的调整,或者阻止角色移动。我认为这在Super Meat Boy的那些疯狂时刻中非常有效,在该时刻中您尝试奔跑,跳跃然后停下来一角钱。这将是一种实验性的方法,因为我以前从未见过这样做,但是任何事情都比虚拟棒更好。
编辑:Steam Controller像模拟轨迹球一样处理其触控板,但我还没有进行足够的实验来找到一款将其像对待游戏一样的游戏。
我发现触摸屏游戏的最佳输入是在那些非常简单的平台游戏上,而您所要做的就是触摸屏幕即可跳跃!任何使用加速度计向我输入运动的游戏都非常令人迷惑!
如果只有流行的D-pad附件,这是在触摸屏上开发时的常见难题。我认为您将不得不尝试屏幕上的球创意。
也许您可以在屏幕的最左侧和最右侧输入左右输入,并使用左右输入的上下部分进行上下输入。我认为这有意义吗?