您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> ios >> 正文

ios双摇杆射击游戏的设计原理

作者:佚名    责任编辑:admin    更新时间:2022-06-22

  今天就给大家介绍一篇关于iOS游戏开发的文章。本文原作者是用户体验工作室Vertical Slice的主管雷格汉姆·麦卡里斯特(Graham McAllister),他以一些双摇杆射击游戏为例,详细解析了开发者针对iOS触摸屏移动设备创建这类游戏时需注意的事项。

  什么是双摇杆射击游戏?

ios双摇杆射击游戏的设计原理 三联

  图:左侧VJR控制移动方式,右侧VJR执行射击任务

  双摇杆射击游戏是一种需使用手指操纵两种控制方式的游戏类型,其中一个摇杆负责控制游戏角色的移动,另一个摇杆的作用则是执行射击任务。

  这类游戏的摄像视角一般都是直接向下俯视,或者从一个略为倾斜的视角向下俯视。它们基本上是2D游戏,没有前进(或者Z轴线)的动作。

  控制方式的布局

  动作控制摇杆一般是分布在左侧,但也有些游戏考虑到了左撇子玩家的需求,也会支持玩家对该设置进行调整。这种布局与Xbox 360和PS3平台的双摇杆射击游戏相同。

  下图是iPhone游戏《迷你戈尔》(Minigore)的控制设置方式。

图:minigore

  图:minigore

  不同游戏设置存在区别

  虽然触摸屏上仅有两个控制系统,但并非所有的双摇杆射击游戏运行效果都完全相同,游戏设计中的细微差别可能会极大地影响用户体验。

  专用术语

  目前还没有标准的术语来定义这种触摸控制方式,所以我们尽量用可描述的语言来形容相关操作。

  下文将介绍的四个组件都有一个共同的功能,那就是虚拟摇杆区(游戏邦注:the virtual joystick region ,以下简称VJR)。

  只要手指接触了这个区域,就算是输入了一个控制动作,如果手指接触的是这个区域外的屏幕,那就不算执行控制操作。

图:红色的核心代表手指在屏幕上的接触点,外围圆圈代表VJR的有限控制区

  图:红色的核心代表手指在屏幕上的接触点,外围圆圈代表VJR的有限控制区

  四个组件

  在开发iOS双摇杆射击游戏之前,有四种主要的控制系统设计可供选择:

  1.静态或动态控制方式

  2.一直可视的VJR

  3.VJR之外的活跃控制方式

  4.靠近屏幕边缘的控制方式

  这四个组件可以混搭形成不同的控制设置方式,在介绍它们的各种混搭效果之前,要先分别描述这四者的特点。

  首先要强调的是,本文主要以动作控制系统为例进行说明,但射击控制系统的操作也同此理。每一个组件都是针对动作、射击这两个选项的综合设计,下文将分别对此进行说明。

  组件1:动态或静态控制方式

  静态控制:触摸屏控制系统会设置在iOS设备的固定角落(如下图所示),之后我们还将解释第三种组件“VJR之外的活跃控制方式”是如何延伸静态控制方式的可用性。

图:静态控制:VJR仅显示在屏幕固定位置

  图:静态控制:VJR仅显示在屏幕固定位置

  动态控制:无论玩家的手指触摸到屏幕的哪个位置,该控制系统都会自动以手指接触面为中心,形成一个VJR。

  这正是动态控制方式最为重要的一个特点,这里就会涉及到第二个组件“一直可视的VJR”。

图:动态控制:玩家接触零屏幕任意一点均可形成VJR

  图:动态控制:玩家接触零屏幕任意一点均可形成VJR

  组件2:一直可视的VJR

  动态控制方式有两种显示选项:一直可视方式,或者仅接触可视方式。

  一直可视方式:只要玩家动过手指,屏幕上就会一直显示VJR,即使玩家随后松手也是如此。

  系统将根据玩家手指接触屏幕的位置,决定是否画出一个新的VJR,还是显示原来的VJR(游戏邦注:我们将在下文中举例详述)。

  将VJR设置为一直可视方式时一定要考虑周全,因为玩家松手的时候,屏幕上的VJR仍然存在,他们过后还得将手指准确无误地按在原点,方可避免出现不自然的人物动作,或者摄像角度偏位等现象。

  现在就来详细说明玩家手指接触屏幕、松开手指,再次接触屏幕的操作情况。

  步骤1:首次接触

  假设游戏刚刚开始,玩家的手指是第一次点击屏幕,VJR也是首次显示在屏幕上。

图:以手指接触点为中心画出一个VJR

  图:以手指接触点为中心画出一个VJR

  步骤2:松开手指

  玩家的手指离开屏幕后,VJR会以一直可视方式显示在屏幕上。

图:松开手指后VJR仍在屏幕显示

  图:松开手指后VJR仍在屏幕显示

  步骤3:再次接触

  当玩家的手指第二指接触 屏幕时,会有两种情况发生。

  (注:尤其要注意的是第二种情况,它是影响用户体验双摇杆射击游戏的重要原因)

  步骤3出现的第一种情况——触摸到VJR之外的区域

  如果玩家手指点到了原VJR以上的区域,屏幕就会以手指接触点为中心,形成一个新的VJR。

  换句话说,只要新的接触点与原来的VJR之间的距离超过了其半径(如下图所示),那么屏幕上就会自动生成一个新的VJR。

图:接触原VJR以外的区域,会形成一个新的VJR

  图:接触原VJR以外的区域,会形成一个新的VJR

  步骤3出现的第二种情况——触摸到原VJR范围

  在这种情况中,玩家的手指会接触到原VJR范围,会让游戏角色朝相应的方向移动。当然玩家手指也有可能准确无误地触摸到原来的VJR中心点,这时候游戏角色就不会移动,但这种概率非常之低。

  这种位置偏移给微调控制带来了极大的困难,同时也是很让玩家抓狂的一个原因。游戏角色的任何一个动作,都导致游戏中的摄像镜头移位。也就意味着这种控制结合方式,不但给微调控制带来了麻烦,而且还会造成摄像镜头的抖动。

  玩家想转移方向时经常会遇到这种摄像镜头抖动、无意的动作等烦人的问题,例如,他们原来想往左移,结果手指点触到的却是VJR的右侧。

图:手指接触到偏离VJR中心的区域,可能导致计划外的移动或摄像镜头抖动

  图:手指接触到偏离VJR中心的区域,可能导致计划外的移动或摄像镜头抖动

  仅接触可视方式:这是一种使用更为普遍的方式,只有手指接触到屏幕时,系统才会显示VJR。

  所以假如玩家松开手指时,屏幕上的VJR就会隐藏消失,当他们再次接触时,才会看到一个新的VJR。

  这种方式可以保证玩家的手指永远处于VJR的中心,可以为他们提供更舒心和人性化的控制方式。

  接下来要说明这种方式的具体操作情况,步骤同上:

  步骤1:首次接触

  第一次接触时,VJR在屏幕上的显示情况与一直可视方式相同(如下图)。

图:以手指接触点为中心画出一个VJR

  图:以手指接触点为中心画出一个VJR

  步骤2:松开手指

  这个步骤正是它与一直可视方式的最大区别,当玩家手指离开屏幕时,VJR就会隐藏起来。

图:松开手指后VJR就会在屏幕隐藏起来

  图:松开手指后VJR就会在屏幕隐藏起来

  步骤3:再次接触

  由于原来的VJR已被隐藏,所以当玩家手指再次点触时,屏幕上会出现一个以手指接触点为中心的新VJR。这确实是一种更为人性化的控制方式。

图:接触屏幕任意一点均可形成一个新的VJR

  图:接触屏幕任意一点均可形成一个新的VJR

  以下是一直可视VJR和仅接触可视VJR的优劣对比图:

图:两种可视VJR的优劣比较

  图:两种可视VJR的优劣比较

  组件3:VJR之外的活跃控制方式

  对动态控制来讲,当玩家