掌桥专利:专业的专利平台
掌桥专利
首页

游戏中控制虚拟对象移动的方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:04:09


游戏中控制虚拟对象移动的方法、装置、电子设备及存储介质

技术领域

本公开涉及人机交互领域,具体而言,涉及一种游戏中控制虚拟对象移动的方法、装置、电子设备以及计算机可读存储介质。

背景技术

随着移动通信技术的发展,用户使用手机、平板电脑等智能的用户终端运行各种游戏程序逐渐普及。在一些游戏程序中,为了使游戏角色在移动中显得更加灵活,需要满足玩家随时可以控制游戏角色从一种移动状态快速切换到另一种移动状态。以“滑铲”为例,其作为一种战术操作,具体描述为:游戏中玩家的角色在奔跑状态下,通过某个按键实现向奔跑方向以较低姿态快速滑行一段距离。当触发此战术操作后,玩家可以在移动的过程中随时进行攻守转换(通过触发滑铲动作躲避对方的瞄准攻击并且同时反击对方)。这属于游戏中的高频操作,且战术性极高。

在这种包括例如滑铲动作的游戏中,以手机端游戏为例,相关技术提供了一种通过在用户界面上提供虚拟摇杆控件、虚拟攻击控件和虚拟下蹲控件的方案来控制玩家角色移动、攻击以及滑铲。具体实现滑铲操作的方法为:用户的左手负责控制位于屏幕左侧的虚拟摇杆,使游戏中玩家的角色进入奔跑状态;用户的右手负责控制位于屏幕右侧的下蹲或者其他虚拟控件,从而在奔跑状态对其进行触控以实现滑铲动作。也就是说,用户在游戏过程中,为了实现滑铲,需要双手操作的结合,例如:左手控制角色进入奔跑状态,同时右手负责单击、双击或者长按“下蹲”按钮来实现滑铲。然而,上述这种实现滑铲的操作,通常攻击命令和滑铲命令这两个触控操作由于均需要右手负责,因而产生互斥。这会导致玩家在触发攻击命令时,无法同时触发滑铲命令,或反之亦然。而且,触发滑铲的操作是在玩家角色移动的过程中通过触控下蹲控件的方式实现,该控件操作方式的设计没有与执行游戏动作相关联,无法提升玩家的沉浸感。

在另一种相关技术中,还提供一种了通过左手实现“滑铲”操作,解放右手以便进行攻击操作的方案。具体实现的方法是:计算并比较左手触控点在使角色进入奔跑状态时分别向下滑动以及向上滑动的加速度,如果判断向上滑动的加速度比向下滑动的加速度大则触发角色的滑铲动作。这种方案在紧急情况下容易出现误操作或者空白操作,而且在功能实现层面上使逻辑判定异常复杂。

综上所述,在现有技术中,滑铲动作的实现本身操作复杂,影响玩家操控的连贯性,并且容易引起期望的动作触发失败。因此,如何能够提供一种用户操作简单、容错率高且判定逻辑得到简化的角色移动状态快速切换方案,成为本领域技术人员亟待解决的技术问题。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

鉴于上述现有技术的不足,本公开提供了一种游戏中控制虚拟对象移动的方法、装置、电子设备及存储介质。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一个方面,提供了一种游戏中控制虚拟对象移动的方法,所述游戏包含游戏场景和位于所述游戏场景的所述虚拟对象,其中所述游戏场景的至少一部分显示在用户终端的用户界面中,所述方法包括:在所述用户界面提供移动控制区域和移动状态控制控件;根据第一触控操作,控制所述虚拟对象在所述游戏场景中处于第一移动状态,其中所述第一触控操作是初始触控点位于所述移动控制区域、最终触控点位于所述移动状态控制控件的滑动操作;在所述虚拟对象处于所述第一移动状态的过程中,响应于针对所述移动状态控制控件的第二触控操作,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态,其中所述第二触控操作是所述第一触控操作的触控点离开所述移动状态控制控件之后发生的触控操作。

在本公开的一种示例性实施例中,所述方法还包括:所述第二触控操作和所述第一触控操作在操作上连续。

在本公开的一种示例性实施例中,所述方法还包括:所述第二触控操作和所述第一触控操作在操作上连续包括:所述第二触控操作是滑动操作,并且所述第二触控操作的初始触控点为所述第一触控操作滑动离开所述移动状态控制控件时的最终触控点,所述响应于针对所述移动状态控制控件的第二触控操作,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态,包括:响应于所述第一触控操作的最终触控点离开所述移动状态控制控件的响应区域,开始检测所述第二触控操作的触控点在所述用户界面的滑动;响应于检测到所述第二触控操作的触控点在预设时间内回到所述移动状态控制控件的响应区域,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态。

在本公开的一种示例性实施例中,所述方法还包括:所述第二触控操作和所述第一触控操作在操作上不连续。

在本公开的一种示例性实施例中,所述方法还包括:所述第二触控操作和所述第一触控操作在操作上不连续包括:所述第二触控操作是点击操作,并且所述第一触控操作的最终触控点从所述移动状态控制控件的所在位置离开所述用户界面,所述响应于针对所述移动状态控制控件的第二触控操作,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态,包括:当所述第一触控操作的最终触控点从所述移动状态控制控件的所在位置离开所述用户界面时,变更所述移动状况控制控件的显示状态;响应于针对显示状态变化后的所述移动状态控制控件的所述第二触控操作,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态。

在本公开的一种示例性实施例中,所述方法还包括:所述第一移动状态包括以下项中的一项:行走、蹲走、奔跑、蹲跑、匍匐、游泳、驾驶;所述第二移动状态包括以下项中的一项:滑铲、前滚翻、上浮、下潜、漂移、跳出载具。

在本公开的一种示例性实施例中,所述方法还包括:所述第一移动状态是奔跑,所述第二移动状态是滑铲,所述方法还包括:在所述虚拟对象完成滑铲时,响应于检测到所述第二触控操作的触控点没有离开所述用户界面,使所述虚拟对象从滑铲切换回到奔跑。

在本公开的一种示例性实施例中,所述方法还包括:所述第一移动状态是奔跑,所述第二移动状态是滑铲,所述方法还包括:在所述虚拟对象完成滑铲时,响应于检测到所述第二触控操作的触控点离开所述用户界面,控制所述虚拟对象在原地保持静止。

在本公开的一种示例性实施例中,所述方法还包括:所述根据第一触控操作,控制所述虚拟对象在所述游戏场景中处于第一移动状态,包含:使所述移动状态控制控件一直保持隐藏状态或未激活状态,直到所述第一触控操作在所述移动控制区域中滑动达到预设距离才使所述移动状态控制控件在所述用户界面中显示和激活。

在本公开的一种示例性实施例中,所述方法还包括:响应于所述第一触控操作在所述移动控制区域中滑动达到预设距离,使所述虚拟对象在所述第一移动状态中加速。

根据本公开的另一个方面,提供了一种游戏中控制虚拟对象移动的装置,所述游戏包含游戏场景和位于所述游戏场景的所述虚拟对象,其中所述游戏场景的至少一部分显示在用户终端的用户界面中,所述装置包括:提供模块,用于在所述用户界面提供移动控制区域和移动状态控制控件;控制模块,用于根据第一触控操作,控制所述虚拟对象在所述游戏场景中处于第一移动状态,其中所述第一触控操作是初始触控点位于所述移动控制区域、最终触控点位于所述移动状态控制控件的滑动操作;切换模块,用于在所述虚拟对象处于所述第一移动状态的过程中,响应于针对所述移动状态控制控件的第二触控操作,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态,其中所述第二触控操作是所述第一触控操作的触控点离开所述移动状态控制控件之后发生的触控操作。

根据本公开的又一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述游戏中控制虚拟对象移动的方法。

根据本公开的又一个方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行程序,所述计算机可执行程序在被处理器加载并执行时实现上述任意一项所述游戏中控制虚拟对象移动的方法。

在本公开一种示例性实施例提供的游戏中控制虚拟对象移动的方法、装置、电子设备及计算机可读存储介质中,通过对用户界面上的移动控制区域和移动状态控制控件的组合触控操作,使玩家凭借单只手指就能使游戏中的虚拟角色在控制移动方向的同时在不同移动状态之间进行快速切换,从而提高游戏操作上的连贯性和可玩性。除此之外,通过提供移动状态控制控件这一明确的操作区域,解决了单手操作可能存在的误操作或空白操作问题,并且还进一步简化了系统的判定逻辑。

应当理解的是,以上的一般描述和下文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

通过参照附图来详细描述其示例实施例,本公开的上述和其他特征及优点将变得更加明显。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示意性示出本公开示例性实施例中的游戏中控制虚拟对象移动的方法流程图;

图2为本公开示例性实施例中用户终端的用户界面示意图;

图3为本公开示例性实施例提供的游戏中控制虚拟对象移动的准备阶段的示意图;

图4为本公开示例性实施例提供的游戏中控制虚拟对象移动的逻辑判定图;

图5为本公开一种实施例提供的游戏中控制虚拟对象移动的执行阶段的示意图;

图6和7为本公开另一种实施例提供的游戏中控制虚拟对象移动的执行阶段的示意图;

图8为本公开示例性实施例提供的游戏中控制虚拟对象移动的结束阶段的示意图;

图9示意性示出本公开示例性实施例中一种游戏中控制虚拟对象移动的装置的框图;

图10示意性示出本公开示例性实施例中一种电子设备的结构示意图;

图11示意性示出本公开示例性实施例中一种程序产品。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其他的方法、组元、材料、装置、步骤等。在其他情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免使本公开的各方面晦涩难懂。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

首先对本公开涉及的若干术语进行解释:

游戏场景:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的三维环境,还可以是纯虚构的三维环境。游戏场景还可以是二维虚拟环境和三维虚拟环境中的任意一种。可选地,该游戏场景还用于供至少两个虚拟对象在其间进行对战,且在该游戏场景中具有可供虚拟对象使用的虚拟资源。

虚拟对象:也可理解为虚拟角色,是指在游戏场景中的可活动对象。该可活动对象可以包括但不限于:虚拟人物、虚拟动物、虚拟载具等。可选地,当游戏场景为三维虚拟世界时,虚拟对象可以是三维立体模型,每个虚拟对象在三维虚拟世界中具有自身的形状和体积,占据三维虚拟世界中的一部分空间。可选地,虚拟对象是基于三维人体骨骼技术构建的三维角色,该虚拟对象通过穿戴不同的皮肤来实现不同的外在形象。在一些实现方式中,虚拟对象也可以采用2维模型来实现,本公开的实施例对此不加以限定。在本公开的一个或多个实施例中,虚拟对象可以指能够被用户玩家控制在游戏场景中行动的对象。

视野范围:是指采用相对于主控虚拟对象设置的虚拟摄像机采集到的部分游戏场景,并且在终端的用户界面上显示该采集到的部分游戏场景。相对于主控虚拟对象设置的虚拟摄像机指的是,虚拟摄像机与主控虚拟对象具有预设的绑定关系,虚拟摄像机可以跟随主控虚拟对象的移动而移动,和/或,虚拟摄像机的朝向可以跟随主控虚拟对象的转动而转动。例如,在第三人称游戏中,虚拟摄像机可以设置在虚拟对象的后上方(例如45度斜后上方)或正上方,此时,视野范围为虚拟摄像机以俯视的角度采集到的、包括主控虚拟对象在内的部分游戏场景;又如,在第一人称游戏中,虚拟摄像机设置于主控虚拟对象的头部(例如眼睛位置),此时,视野范围为虚拟摄像机以采集到的、主控虚拟对象前方预设范围的部分游戏场景。

移动状态:是指虚拟对象在游戏场景中移动时的姿态/动作,通过动画播放的方式显示在用户终端的用户界面上。一般而言,移动状态存在两种类型,第一移动状态是指从虚拟对象的静止状态开始直接被触发的、可持续的移动状态,包括但不限于:行走、蹲走、奔跑、蹲跑、匍匐、游泳、飞行、攀爬、驾驶等等;第二移动状态是指虚拟对象处于第一移动状态时才会被触发从而快速切换得到的、即时的移动状态,由此达到在移动过程中突然改变身位躲开敌人攻击的效果,包括但不限于:滑铲或前滚翻(例如,从行走、蹲走、奔跑、蹲跑等状态快速切换得到)、上浮或下潜(例如,从游泳状态快速切换得到)、漂移或跳出载具(例如,从驾驶状态快速切换得到)。

目前游戏中控制虚拟对象移动的相关技术中也存在通过单根手指操作时虚拟对象在不同移动状态之间快速切换的方案,具体实现如下:在虚拟对象处于奔跑过程的同时,手指在虚拟摇杆上方的区域向下滑动并向上滑动以分别计算这两个滑动的加速度,如果向下滑动的加速度小于向上滑动的加速度则触发虚拟对象执行从奔跑切换到滑铲的动作。然而,本案申请人在长期的研发过程中发现,上述相关技术中的方案存在以下不足:1、对于玩家来说缺少滑铲功能如何触发以及是否被触发的提示,因而容易造成误操作或空白操作;2、系统无法实时检测触控点在移动控制区域的临界值;3、监听判定逻辑及计算加速度的路径十分冗杂。

根据本公开一个或多个实施例,提供了一种游戏中控制虚拟对象移动的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

请参阅图1,其示出根据本公开一个或多个实施例的游戏中控制虚拟对象移动的方法。该方法可以包括如下步骤,如图1所示:

步骤S110,在所述用户界面提供移动控制区域和移动状态控制控件;

步骤S120,根据第一触控操作,控制所述虚拟对象在所述游戏场景中处于第一移动状态,其中所述第一触控操作是初始触控点位于所述移动控制区域、最终触控点位于所述移动状态控制控件的滑动操作;

步骤S130,在所述虚拟对象处于所述第一移动状态的过程中,响应于针对所述移动状态控制控件的第二触控操作,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态,其中所述第二触控操作是所述第一触控操作的触控点离开所述移动状态控制控件之后发生的触控操作。

可选地,当第一移动状态是奔跑,第二移动状态是滑铲时,该方法还可以包括如下步骤(未在附图中示出):

在所述虚拟对象完成滑铲时,响应于检测到所述第二触控操作的触控点没有离开所述用户界面,使所述虚拟对象从滑铲切换回到奔跑或切换成蹲跑;

在所述虚拟对象完成滑铲时,响应于检测到所述第二触控操作的触控点离开所述用户界面,控制所述虚拟对象在原地保持静止,例如下蹲。

应该理解的是,图1所示的方法流程图仅仅是一个示例,其中的每个步骤的执行顺序以及存在必要性不限于此。例如,某个(某些)步骤可以不必要存在,或者某个(某些)步骤可以与其他步骤并行执行。

下面,将对本示例性实施例中的游戏中进行信号播报的方法的各步骤作进一步说明。

图2为本公开示例性实施例中用户终端的用户界面示意图,在本公开的示例性实施例中,用户终端的用户界面可以包括但不限于移动控制区域(例如,虚拟摇杆控件210)和虚拟攻击控件240。该用户界面还用于显示至少部分游戏场景、由玩家用户操控的处于游戏场景中的虚拟对象230、和/或其他虚拟对象。在一个或多个实施例中,移动控制区域可以通过各种形式体现,以实现控制虚拟对象移动的功能,例如,移动控制区域可以是不具有视觉指示的触控区域,该触控区域可设置于用户界面的预设区域(如左半屏区域),响应针对左半屏的触控操作(如滑动操作),根据触控操作的操作点移动和虚拟对象移动之间的映射关系,从而控制虚拟对象在游戏场景中移动。又如,移动控制区域可以是具有视觉指示的触控区域(如图2所示的虚拟摇杆控件210),其中,虚拟摇杆控件210可固定设置于用户界面,也可动态设置于用户界面;在可选的实施例中,虚动拟摇杆控件210态设置于用户界面,通过对用户界面左半屏的任意位置进行触控来使虚拟摇杆控件210在当前触控点位置显示,并通过手指在虚拟摇杆控件210内滑动来控制虚拟对象的移动方向和/或移动速度。具体地,移动方向可以根据手指在用户界面上的触控点相对于虚拟摇杆控件210圆心的方位来确定,移动速度可以根据触控点相对于虚拟摇杆控件210圆心的距离来确定

在步骤S110中,在所述用户界面提供移动控制区域和移动状态控制控件。本公开以移动控制区域为虚拟摇杆控件210,移动状态控制控件为虚拟疾跑控件220为例,对方案进行解释说明。需要理解的是,在用户界面上提供的虚拟摇杆控件和移动状态控制控件(例如,虚拟疾跑控件220)未必一直处于可视状态或激活状态,而是在触控操作的某个触发条件下才被显示或激活(具体的触发条件将在图3进一步阐述),从而避免显示资源的浪费。

在本公开的一个或多个实施例中,如图2所示,在射击类游戏应用中,用户终端的用户界面还可以包括虚拟下蹲控件250、虚拟趴下控件260、虚拟跳跃控件270等虚拟形态控件以及虚拟瞄准控件280和虚拟换弹控件290(为了简洁,这些控件在后面的界面示意图中将被省略)。可选地,上述所有虚拟控件可以根据用户的不同布局设定而位于用户界面的任意位置。

图3为本公开示例性实施例提供的游戏中控制虚拟对象移动的准备阶段的示意图。在步骤S120中,根据第一触控操作,控制所述虚拟对象在所述游戏场景中处于第一移动状态,其中所述第一触控操作是初始触控点(例如,位点F1)位于所述移动控制区域(例如,虚拟摇杆控件210)、最终触控点(例如,位点F2)位于所述移动状态控制控件(例如,虚拟疾跑控件220)的滑动操作。

在本公开的一个或多个实施例中,根据不同的前置条件,第一移动状态包括但不限于:行走、蹲走、奔跑、蹲跑、匍匐、游泳、攀爬、驾驶。例如,第一种前置条件包括对诸如虚拟下蹲控件、虚拟趴下控件、虚拟跳跃控件等这些虚拟形态控件的触控操作,在此之前或之后针对移动控制区域的触控操作控制虚拟对象移动,然后根据所触控的形态控制控件相对应的形态在第一移动状态中发生改变。例如,蹲走对应于移动的过程或之前按下虚拟下蹲控件、匍匐对应于移动的过程或之前按下虚拟趴下控件,等等。第二种前置条件包括预先获取环境信息,然后根据环境信息确定虚拟对象的移动状态。例如,当虚拟对象移动到水中,自动改变成游泳;移动到山或楼梯面前,自动切换攀爬;进入驾驶舱,自动改变成驾驶等等。

可选地,第二移动状态可以但不限于虚拟对象的部分身体紧贴地面向指定方向滑行预设距离,例如,滑铲、前滚翻、上浮、下潜、漂移、跳出载具等。需要理解的是,第二移动状态是从虚拟对象的第一移动状态切换得到,因此两者属于一系列的连贯动作,以达到以下效果:在移动状态的快速切换之下,在一定程度上使玩家控制的虚拟对象在身位上摆脱敌方原本的瞄准路径,从而避开攻击;或者以另一种姿态快速移动一段距离。其中,处于第二移动状态下的虚拟对象可以但不限于允许执行射击、投掷、切换枪械等动作,由此可以在第二移动状态的触发过程向敌人展开反击。可选地,在虚拟对象不被允许执行移动状态切换的情况下,即使在虚拟对象处于第一移动状态的情况下获取第二触控操作,虚拟对象也不会响应第二触控操作执行从第一移动状态切换到第二移动状态的动作。

可选地,上述针对虚拟对象的控制方法不限于在射击游戏应用中使用。可选地,各种游戏应用包括但不限于角色扮演类游戏(Role Playing Game,简称RPG)、动作类游戏(Action Game,简称ACT)、冒险类游戏(Adventure Game,简称AVG)、射击类游戏等。可选地,射击类游戏可以但不限于为多人在线战术竞技游戏(Multiplayer Online Battle Arena简称为MOBA)应用,或者还可以为单人游戏(Single-Player Game简称为SPG)应用。上述目标射击游戏的类型可以包括但不限于以下至少之一:二维(Two Dimension,简称2D)游戏应用、三维(Three Dimension,简称3D)游戏应用、虚拟现实(Virtual Reality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。此外,上述目标射击游戏中的虚拟对象可以但不限于为登录该射击游戏应用客户端的当前玩家所控制的角色对象,这里射击游戏应用可以为第三人称射击游戏(Third Person Shooting Game,简称TPS)应用,例如以第三视角观察当前玩家所控制的虚拟对象来运行该射击游戏应用;还可以为第一人称射击游戏(First Person Shooting Game,简称FPS)应用,例如以当前玩家所控制的虚拟对象的视角来运行该射击游戏应用。

在本公开的一个或多个实施例中,使所述移动状态控制控件一直保持隐藏状态或未激活状态(即,显示但不响应操作的状态),直到所述第一触控操作在所述移动控制区域中滑动达到预设距离(例如触控点从用户界面的位点F1滑动到位点1’或者从位点1滑动到位点1”)才使所述移动状态控制控件在所述用户界面中显示和激活。在本公开的一个或多个实施例中,响应于所述第一触控操作在所述移动控制区域中滑动达到预设距离,使所述虚拟对象以所述第一移动状态进行加速移动。

可选地,移动状态控制控件(例如,虚拟疾跑控件220)中可以是新显示的而非在用户界面上常驻,即当虚拟对象处于某个移动状态下,才在用户界面呈现该移动状态控制控件。具体地,当虚拟对象以第一移动状态在游戏场景中移动时,第一触控操作的滑动达到预设距离(即,前文提到的触发条件)才呈现该移动状态控制控件,由此能够节约显示资源,与此同时虚拟对象在第一移动状态中开始加速,例如从行走到疾跑(两者均属于第一移动状态);如当虚拟对象处于站立状态或其他静止状态时,不呈现移动状态控制控件。

可选地,此处的移动状态控制控件(例如,虚拟疾跑控件220)可以一直呈现于用户界面中,当虚拟对象处于疾跑时,将该移动状态控制控件置于激活的状态,只有在处于激活状态时,该移动状态控制控件才能够被触发。可选地,移动状态控制控件(例如,虚拟疾跑控件220)在用户界面上一直处于显示且激活的状态,当对其进行触控时,可以控制虚拟对象直接从静止状态进入疾跑状态。

图4为本公开示例性实施例提供的游戏中控制虚拟对象移动的逻辑判定图。在步骤S130中,在虚拟对象处于第一移动状态的过程中,响应于针对移动状态控制控件的第二触控操作,控制虚拟对象在游戏场景中从第一移动状态切换成第二移动状态,其中第二触控操作是第一触控操作的触控点离开移动状态控制控件之后发生的触控操作。可选地,第二触控操作可以是与第一触控操作连续的滑动操作,此时“离开”指的是第一触控操作的触控点在保持手指始终与屏幕接触的情况下向外离开移动状态控制控件;可选地,第二触控操作也可以是与第一触控操作断开的点击操作、长按操作或者按压操作,此时“离开”指的是第一触控操作的手指在移动状态控制控件的位置处抬起离开屏幕。

根据本公开的一个或多个实施例,游戏中控制虚拟对象移动的具体判定逻辑,如下所述:

在此以虚拟对象是虚拟人物,且第一移动状态是疾跑和第二移动状态是滑铲为例。首先,当玩家用户对用户界面上的移动控制区域(例如,虚拟摇杆控件)进行第一触控操作时,使虚拟对象开始移动。然后,根据第一触控操作是否达到触发条件(例如,在虚拟摇杆控件上的滑动达到预设距离)来判定虚拟对象是否处于第一移动状态(即,是否已经触发疾跑):如果是,则开始检测第一触控操作的触控点是否落入移动状态控制控件(即,在虚拟疾跑控件的区域是否检测到触控点),否则返回继续判定。当检测到第一触控操作的触控点已经位于移动状态控制控件,则开始检测第一触控操作的触控点是否已经离开移动状态控制控件的响应区域(即,触控点是否离开虚拟疾跑控件的响应区域),由此确定第二触控操作的开始:如果是,则开始监听第二触控操作,否则返回继续检测。其中,触控点离开虚拟疾跑控件包括,触控点离开用户界面(即,触控点消失),和触控点移动到虚拟疾跑控件外。如果离开移动状态控制控件的响应区域是滑动离开而触控点未消失,则视为第二触控操作与第一触控操作是连续的,也就是说第二触控操作的初始触控点即为所述第一触控操作滑动离开移动状态控制控件时的最终触控点;如果离开移动状态控制控件的响应区域是控制第一触控操作的手指从移动状态控制控件的位置抬起离开屏幕,则视为第二触控操作与第一触控操作是非连续的。在开始监听的过程中,检测第二触控操作的触控点在预设时间内是否回到移动状态控制控件的响应区域(即,是否在阈值时间内在虚拟疾跑控件的区域再次检测到触控点):如果是,则触发虚拟对象从第一移动状态(例如,疾跑状态)切换到第二移动状态(例如,滑铲状态),否则返回继续监听。优选地,如果第二触控操作与第一触控操作是连续的,则预设时间可以设定为0.5秒;如果第二触控操作与第一触控操作是非连续的,则预设时间可以设定为以虚拟角色自动处于疾跑状态的最大时间为上限。

需要说明的是,本公开的一个或多个实施例并不限于控制虚拟对象在疾跑状态和滑铲状态之间的切换,而是可以控制虚拟对象在其他移动状态之间的切换,例如:虚拟对象作为人物可以先处于行走、蹲走、奔跑、蹲跑等第一移动状态,然后被切换成处于滑铲或前滚翻等第二移动状态;或者从游泳、太空漂浮等第一移动状态切换成上浮或下潜等第二移动状态;又或者,虚拟对象作为载具可以先处于正常驾驶状态,然后被切换成漂移或者使驾驶员跳出载具的第二移动状态。

图5为本公开示例性一种实施例提供的游戏中控制虚拟对象移动的执行阶段的示意图。

在本公开的一个或多个实施例中,第二触控操作和第一触控操作在操作上连续。可选地,第二触控操作是滑动操作(例如沿着图5中两条虚线滑动轨迹之一),并且第二触控操作的初始触控点为所述第一触控操作滑动离开(例如,触控点移动到虚拟疾跑控件之外)所述移动状态控制控件时的最终触控点。

在上述条件下,步骤S130包括以下两个子步骤:

˙响应于所述第一触控操作的最终触控点离开所述移动状态控制控件的响应区域,开始检测所述第二触控操作的触控点在所述用户界面的滑动。

˙响应于检测到在预设时间内从第一触控操作的最终触控点离开所述移动状态控制控件的响应区域到第二触控操作的触控点再次回到所述移动状态控制控件的响应区域,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态。可选地,预设时间可以是0.2秒、0.5秒或1秒。

具体请参考图5,虚拟疾跑控件220的响应区域可以是虚线圆形区域510。需要说明的是,可以根据玩家用户的设置而调整该响应区域510的大小。可选地,可以将响应区域510设置为与虚拟疾跑控件220相同大小,也可以设置为略大于虚拟疾跑控件220。可选地,一旦第一触控操作的最终触控点移动至虚拟疾跑控件220的响应区域510的边界之外,便开始监听第二触控操作并且将第二触控操作的初始触控点视为第一触控操作的最终触控点。

在本公开的一个或多个实施例中,第二触控操作可以继第一触控操作从虚拟疾跑控件220往外滑动到响应区域510的边界之后开始继续往外滑动一段距离并重新往响应区域510内滑动的滑动操作。优选地,第二触控操作可以从位点F2向上滑动一段距离再向下滑动回到虚拟疾跑控件220的响应区域510内的位点F3。具体滑动轨迹可以拆分成F2-->F2’-->F3’-->F3,其中完全离开响应区域510的位点F2’被视为第一触控操作的最终触控点,也就是第二触控操作的初始触控点,此时开始监听第二触控操作,当检测到第二触控操作先上后下滑动并回到响应区域510边界处的位点F3’时,计算从F2’到F3’的滑动时间,如果滑动时间小于等于预设时间(例如,0.5秒)则满足判定条件。另外优选地,第二触控操作可以从位点F2向下滑动一段距离再向上滑动回到虚拟疾跑控件220的响应区域510内的位点F3。具体滑动轨迹可以拆分成F2-->F2”-->F3”-->F3,其中完全离开响应区域510的位点F2”被视为第一触控操作的最终触控点,也就是第二触控操作的初始触控点,此时开始监听第二触控操作,当检测到第二触控操作先下后上滑动并回到响应区域510边界处的位点F3”时,计算从F2”到F3”的滑动时间,如果滑动时间小于等于预设时间(例如,0.5秒)则满足判定条件。在本公开的一个或多个实施例中,响应于判定条件被满足,控制虚拟对象在游戏场景中从第一移动状态(例如,疾跑)切换成第二移动状态(例如,滑铲)。

图6和7为本公开示例性另一种实施例提供的游戏中控制虚拟对象移动的执行阶段的示意图。

在本公开的一个或多个实施例中,所述第二触控操作和所述第一触控操作在操作上不连续。也就是说,在第一移动触控操作的触控点离开用户终端的用户界面之后才开始第二触控操作。可选地,第二触控操作是点击操作或长按操作,并且发生在第一触控操作的手指从移动状态控制控件所在位置抬起离开屏幕之后。

在上述条件下,步骤S130包括以下两个子步骤:

˙当第一触控操作的最终触控点从移动状态控制控件的所在位置离开用户界面时,变更移动状况控制控件的显示状态。如图6所示,当最终触控点位于移动状态控制控件(例如,图3中的虚拟疾跑控件220)的第一触控操作结束时,虚拟对象230保持疾跑状态,与此同时,移动状态控制控件从图3中显示“疾跑”文本或图标的虚拟疾跑控件220变更为图6中显示“滑铲”文本或图标的虚拟滑铲控件220。需要理解的是,虚拟疾跑控件220和虚拟滑铲控件220是位于用户界面中相同位置的同一个移动状态控制控件,只是其显示状态和触发功能发生了变化。

˙响应于针对显示状态变化后的移动状态控制控件(例如,虚拟滑铲控件220)的第二触控操作,控制虚拟对象230在游戏场景中从第一移动状态切换成第二移动状态。如图7所示,虚拟对象230保持疾跑状态的过程中,如果在移动状态控制控件(例如,虚拟滑铲控件220)的响应区域内再次检测到点击操作或长按操作(例如,检测到针对虚拟滑铲控件220的第二触控操作的触控点F3),则控制虚拟对象230从疾跑状态切换成滑铲状态。

图8为本公开示例性实施例提供的游戏中控制虚拟对象移动的结束阶段的示意图。当第二移动状态结束时(例如,在滑铲动作结束时),可以控制虚拟对象进入第三状态,本领域技术人员可根据游戏的实际需求来设定该第三状态,例如:该第三状态可以是恢复第一移动状态,从而使得虚拟对象在第二移动状态结束后持续按照执行滑铲前的动作进行移动,或者按照第一移动状态中与执行滑铲前的动作不同的其他动作进行移动;又例如,第三状态可以是静止状态,例如蹲下、站立、或趴下,由此便于根据玩家用户的后续操作来控制虚拟对象的后续动作。

下文结合图8a-8c,以第一移动状态810是奔跑,第二移动状态820是滑铲作为示例对上述内容进行详细解释:

如图8a所示,在执行完上述滑铲动作之后,可以控制虚拟对象恢复第一移动状态810,例如奔跑;也可以控制虚拟对象切换成与奔跑不同的其他第一移动状态,例如蹲走/蹲跑;还可以控制虚拟对象在原地保持静止状态830,例如蹲下。

可选地,在虚拟对象从第二移动状态进入第三状态时,根据第三状态调整用户界面上与第三状态相关的虚拟形态控件的显示状态和/或触控响应功能,从而使得对应虚拟形态控件的显示状态和/或触控响应功能与第三状态相匹配。

在本公开一个或多个实施例中,如图8b所示,当第二触控操作的后续操作是用户的手指(即,触控点F3)未离开屏幕仍停留在移动状态控制控件(例如,虚拟滑铲控件220)上时,在虚拟对象滑铲动作执行完毕之后,立即起身恢复切换滑铲之前的移动状态(例如“奔跑/行走”状态),具体视滑铲动作执行之前的具体第一移动状态决定;如图8c所示,当第二触控操作的后续操作是用户的手指离开屏幕时,在虚拟对象滑铲动作执行后,停止移动保持静止(例如,保持站立或下蹲的姿势)。如果保持下蹲姿势,此时用户界面左侧的虚拟摇杆控件上的虚拟按钮归正,右侧上的虚拟下蹲控件250的显示状态被设置为按下状态,此时点击虚拟下蹲控件250的触控响应功能为控制虚拟对象站立;相反,如果第三状态是站立状态,即滑铲后虚拟对象处于站立状态,则虚拟下蹲控件250的显示形态设置为未按下状态,此时点击虚拟下蹲控件250的触控响应功能为控制虚拟对象下蹲。也就是说,虚拟对象在原地下蹲,之后玩家用户可以通过虚拟摇杆控件210和其他虚拟形态控件(例如,虚拟下蹲控件250、虚拟趴下控件260、虚拟跳跃控件270)对虚拟对象的移动重新进行控制。

在上述实施例提供的方案中,将虚拟对象的第一移动状态和第二移动状态在手游操作控件上实现单个手指的连贯操作,提升游戏紧急情景下的易用性。例如,通过左手实现滑铲动作的操作,解放右手实现攻击操作,由此提高游戏的丰富度和可玩性,并且提高了操作便利性。

在本公开的示例性实施例中,还提供了一种游戏中控制虚拟对象移动的装置。参考图9a所示,装置900a可以包括:

提供模块910,可以用于在所述用户界面提供移动控制区域和移动状态控制控件;

控制模块920,可以用于根据第一触控操作,控制所述虚拟对象在所述游戏场景中处于第一移动状态,其中所述第一触控操作是初始触控点位于所述移动控制区域、最终触控点位于所述移动状态控制控件的滑动操作;

切换模块930,可以用于在所述虚拟对象处于所述第一移动状态的过程中,响应于针对所述移动状态控制控件的第二触控操作,控制所述虚拟对象在所述游戏场景中从所述第一移动状态切换成第二移动状态,其中所述第二触控操作是所述第一触控操作的触控点离开所述移动状态控制控件之后发生的触控操作。

可选地,参考图9b所示,装置900b除了上述模块910-930之外还可以包括:

复原模块940,可以用于在所述虚拟对象完成滑铲时,响应于检测到所述第二触控操作的触控点没有离开所述用户界面,使所述虚拟对象从滑铲切换回到奔跑;

静止模块950,可以用于在所述虚拟对象完成滑铲时,响应于检测到所述第二触控操作的触控点离开所述用户界面,控制所述虚拟对象在原地保持静止。

应该理解的是,图9a/b的装置900a/b仅仅是示例,其中的每个模块的布置顺序以及存在必要性不限于此。例如,某个(某些)模块可以不必要存在,或者某个(某些)模块的功能可以由另一个(另一些)模块代替地实现。

在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图10来描述根据本公开的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030、显示单元1040。

其中,存储单元存储有程序代码,程序代码可以被处理单元1010执行,使得处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元1010可以执行如图2所示的步骤。

存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。

存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备1000也可以与一个或多个外部设备1070(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。

参考图11所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 游戏中控制虚拟对象移动的方法、装置、电子设备及存储介质
  • 游戏中虚拟对象控制方法、装置、电子设备及存储介质
技术分类

06120113157506