很简单的问题,但我不确定答案。
我应该开发使用鼠标的用户控件,还是完全忽略鼠标而仅使用按钮控件。
一个例子是:
单击某个项目以将其拾取,然后移至靠近该项目并按一个按钮以将其拾取。
您对此有何看法,特别是如果您想针对的平台不只是PC呢?
很简单的问题,但我不确定答案。
我应该开发使用鼠标的用户控件,还是完全忽略鼠标而仅使用按钮控件。
一个例子是:
单击某个项目以将其拾取,然后移至靠近该项目并按一个按钮以将其拾取。
您对此有何看法,特别是如果您想针对的平台不只是PC呢?
Answers:
是的,当您想让游戏在PC上运行时,应该从设计的早期阶段就如何最好地利用鼠标进行思考。这同样适用于您考虑定位的所有其他平台的输入功能。
一个好的端口和一个到另一个平台的坏端口之间的主要区别之一是您投入了多少精力来适应不同的输入样式:
因此,当您想移植到其他平台时,需要重新考虑输入法。这通常意味着您需要从头开始重新设计用户界面。从开发的早期就可以减轻痛苦,并确保可以使用不同的输入方法正确实现所有游戏功能。
视情况而定。
什么类型?你有多少钱/时间?您是否开发应用程序来赚钱?
通常,用户通常会惊讶于利基游戏中不良的输入控制(例如,独立开发商的JRPG),但是如果您想销售更多产品,更好的输入控制仍然是一个加号。
如果您的预算非常紧张并且没有直接从销售中获利(例如,慈善基金向您支付固定的时间来开发教育软件),明智的做法是坚持一种输入法-做好多种输入法需要花费大量时间。
如果您想以合理的价格($ 20 +)出售游戏并希望吸引相当多的购买者(50,000'000 +),则绝对应牢记*鼠标,键盘,触摸屏和鼠标的不同要求游戏手柄设备从一开始就是如此。无法简单地“改造”鼠标/键盘游戏上的游戏手柄输入,反之亦然。
*在考虑如何使游戏具有触摸感,游戏手柄和鼠标友好性时,您可能会发现实际上并没有一个好的解决方案。这种情况非常普遍(实时策略游戏很少跨平台)。在这种情况下,通常的解决方案是仅在支持游戏所需输入形式的设备上发布。
这完全取决于工作日的发展状况。
3D游戏
如果您看大多数第一人称游戏,则鼠标仅用于环顾四周。当移植到控制台时,将使用模拟摇杆和按钮,而在移动设备上,通过滑动即可查看屏幕上的其他按钮。为了更好地进行比较,请观看Minecraft不同版本的视频。
2D游戏。
适用于互动在2D空间中的游戏。然后可以使用您所描述的鼠标交互方式;但是要考虑的最重要的事情是您必须多久一次将手从键盘移动到鼠标并向后移动一次。在移动设备上,您别无选择,因为您可能要使用的所有按钮都必须在屏幕上。尽管您可以考虑让按钮仅在移动设备上需要时才显示,例如:当您接近某个项目时,仅当有可能捡起按钮时,该按钮才可以在屏幕上显示。在2D游戏中,点斧在PC和移动设备上都能很好地工作,但由于可能会使用模拟摇杆,因此在控制台上可能有些笨拙。
但是,对于您的问题,在多平台PC上进行开发时要考虑的最重要的事情是,与其他平台相比,您拥有的按钮拥有更多的财富。因此,如果您只需要最少的按钮数量(对于PC而言),请确保一只手Chan放在鼠标上,一只手放在键盘上,那么将游戏控件打印到其他平台上不会出现问题。
是的你应该。但是,我将针对抽象的输入类或接口进行开发,然后根据硬件类型,实现用户可与之交互的各种方式。
我不特别了解您的游戏,但是举个例子,使用诸如
bool lookingUp();
bool shooting();
然后在一个具体的类中实现它们,例如:
bool lookingUp() {
return mouseIsMovingUp(); // e.g. PC
}
bool lookingUp() {
return isTrianglePressed(); // e.g. Gamepad
}
bool shooting() { // e.g. phone
return screenPressedAt(10, 10);
}
然后在您的游戏中,根据硬件类型创建具体的类。这将使您的代码更整洁,并且您可以轻松地迎合不同的平台。
我要扮演魔鬼的拥护者。我最近从根源角度报告了问题,与PC相比,更多的人使用蜂窝应用程序。没错,不仅移动设备被接管,而且移动应用程序的总数已经超过了台式机用户。
话虽如此,消费者喜欢方便,他们可能需要使用鼠标的设备。只是一个想法。