CN109600657B - 一种对象的控制方法、装置、终端及存储介质 - Google Patents
一种对象的控制方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN109600657B CN109600657B CN201811495128.4A CN201811495128A CN109600657B CN 109600657 B CN109600657 B CN 109600657B CN 201811495128 A CN201811495128 A CN 201811495128A CN 109600657 B CN109600657 B CN 109600657B
- Authority
- CN
- China
- Prior art keywords
- target object
- target
- attribute
- attribute value
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
Abstract
本发明实施例公开了一种对象的控制方法、装置、终端及存储介质。该方法包括:获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值;基于预设的属性调整函数调整当前属性值,得到目标属性值;根据目标属性值控制对应目标对象在显示屏幕上的行为操作。本发明实施例的技术方案,可以较大程度上降低了各目标对象的设定属性相同的可能性,使得各目标对象在显示屏幕上具有不同的行为操作,有效解决了多个目标对象容易聚集在一起,进一步导致的各目标对象的具体行为难以清楚呈现的技术问题。
Description
技术领域
本发明实施例涉及计算机领域,尤其涉及一种对象的控制方法、装置、终端及存储介质。
背景技术
在很多应用场景中,显示屏幕上可能会出现多种对象,而且每种对象的数量很可能不止一个。那么,当显示屏幕上的多个对象聚集在一起时,尤其是当各个对象之间发生行为交互时,很难将每个对象的具体行为清楚呈现。
例如,在带有弹幕的视频播放场景中,当持续出现大量弹幕时,很可能造成各弹幕之间相互重叠,使得用户无法清楚得知各弹幕的具体内容。再例如,在直播场景中,当短时间内出现大量的多种类型的礼物时,很可能造成礼物之间相互重叠,使得主播以及其它观众无法清楚得知是哪位观众送了哪个礼物。
发明内容
本发明实施例提供了一种对象的控制方法、装置、终端及存储介质,以便于控制各对象的行为操作,使得各对象的具体行为可以清楚呈现。
第一方面,本发明实施例提供了一种对象的控制方法,可以包括:
获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值;
基于预设的属性调整函数调整当前属性值,得到目标属性值;
根据目标属性值控制对应目标对象在显示屏幕上的行为操作。
可选的,所述方法还可以包括:
若上一个已调整的目标对象不存在,则获取预设的属性值作为待调整的目标对象的设定属性的当前属性值。
可选的,基于预设的属性调整函数调整当前属性值,得到目标属性值,具体可以包括:
获取待调整的目标对象的设定属性的属性值范围内相邻属性值的差值;
根据差值的整数倍数生成属性调整数据,根据属性调整数据调整当前属性值,得到目标属性值;
其中,各目标对象的设定属性的属性值范围内各相邻属性值的差值相同。
可选的,属性值范围的最值是0和N,其中N是除0以外的有理数;
根据属性调整数据调整当前属性值,得到目标属性值,具体可以包括:
当以当前属性值和属性调整数据之和的结果作为被除数,以N和差值之和的结果作为除数时,则以除数和被除数之商的余数作为目标属性值。
可选的,设定属性包括移动路线时,属性调整数据包括移动路线调整数据。
可选的,所述方法还可以包括:
当第一目标对象查找到未匹配有自身的行为对象的第二目标对象后,第一目标对象朝向第二目标对象移动,直至第一目标对象和第二目标对象的距离在预设的行为范围之内时,计算第一目标对象和除第一目标对象之外的其他对象的相距距离;
若相距距离小于预设的阈值,则第一目标对象朝向第二目标对象移动单位距离,并判断移动单位距离后的第一目标对象和第二目标对象的距离是否小于预设的最小阈值;
若是,则第一目标对象停止移动;否则,返回执行计算第一目标对象和除第一目标对象之外的其他对象的相距距离的操作,直至相距距离大于等于预设的阈值,第一目标对象停止移动。
可选的,当各目标对象的坐标存储于队列中时,计算第一目标对象和除第一目标对象之外的其他对象的相距距离,可以包括:
遍历队列中除第一目标对象之外的其他对象,根据第一目标对象之外的其他对象的坐标和第一目标对象的坐标,计算相距距离。
第二方面,本发明实施例还提供了一种对象的控制装置,该装置可以包括:
当前属性值获取模块,用于获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值;
目标属性值得到模块,用于基于预设的属性调整函数调整当前属性值,得到目标属性值;
行为操作控制模块,用于根据目标属性值控制对应目标对象在显示屏幕上的行为操作。
第三方面,本发明实施例还提供了一种终端,该终端可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的对象的控制方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的对象的控制方法。
本发明实施例的技术方案,通过获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值,使得各目标对象的设定属性的当前属性值存在差异;基于预设的属性调整函数调整当前属性值,得到目标属性值,使得各目标对象的设定属性的目标属性值存在差异;根据目标属性值控制对应目标对象在显示屏幕上的行为操作,使得各目标对象在显示屏幕上的行为操作存在差异。上述技术方案,较大程度上降低了各目标对象的设定属性相同的可能性,使得各目标对象在显示屏幕上具有不同的行为操作,有效解决了多个目标对象容易聚集在一起,进一步导致的各目标对象的具体行为难以清楚呈现的技术问题。
附图说明
图1是本发明实施例一中的一种对象的控制方法的流程图;
图2是本发明实施例一中的一种对象的控制方法中战斗系统的示意图;
图3是本发明实施例二中的一种对象的控制方法的流程图;
图4是本发明实施例二中的一种对象的控制方法中战斗系统的示意图;
图5是本发明实施例三中的一种对象的控制装置的结构框图;
图6是本发明实施例四中的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中提供的一种对象的控制方法的流程图。本实施例可适用于控制对象的行为操作的情况,尤其适合于控制容易聚集在一起的各对象的行为操作的情况。该方法可以由本发明实施例提供的对象的控制装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种用户终端或服务器上。参见图1,本发明实施例的方法具体包括如下步骤:
S110、获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值。
其中,考虑到在很多应用场景中,显示屏幕上可能会出现多种目标对象,而且每种目标对象的数量很可能不止一个。那么,至少两个目标对象肯定具有相同的设定属性,所述设定属性可以是行为范围、移动速度、初始显示位置、移动路线等。如果所述至少两个目标对象的设定属性的属性值相同,例如所述至少两个目标对象的移动速度都是10像素/秒,那么所述至少两个目标对象在移动过程中很可能一直聚集在一起。因此,可以通过调整所述至少两个目标对象的设定属性的属性值,使得各属性值存在差异,以解决所述至少两个目标对象容易聚集的问题。具体地,目标对象生成时可以对目标对象进行初始化,以便设置目标对象的设定属性的属性值。那么,可以在目标对象初始化的过程中对设定属性的属性值进行调整。
可以将具有相同的设定属性的各目标对象组成目标组,例如将都具有移动速度的各目标对象组成移动速度组。可以理解的是,属于相同目标组的各目标对象生成时可以具有先后顺序,那么每个目标对象初始化时亦可以具有先后顺序,再进一步地,每个目标对象的设定属性的属性值的调整亦可以具有先后顺序。因此,可以获取目标组中上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值。即,以上一个已调整的目标对象的设定属性的属性值为基础,对待调整的目标对象的设定属性的属性值进行调整,使得相邻生成的两个目标对象的设定属性的属性值存在差异。例如,当移动速度组中有目标对象生成时,获取移动速度组中上一个已调整的即上一个已生成的目标对象的移动速度的具体数值,作为待调整的即待生成的目标对象的移动速度的当前属性值。
一种可选的技术方案,若上一个已调整的目标对象不存在,则获取预设的属性值作为待调整的目标对象的设定属性的当前属性值。可以理解的是,若上一个已调整的目标对象不存在,即待调整的目标对象是第一个待调整的目标对象,那么可以通过获取预设的属性值的方式作为待调整的目标对象的设定属性的当前属性值。其中,预设的属性值是预先设置的与设定属性匹配的属性值。
S120、基于预设的属性调整函数调整当前属性值,得到目标属性值。
其中,预设的属性调整函数可以用于对当前属性值进行调整,得到目标属性值。可以理解的是,即使应用于各目标对象的属性调整函数是相同的函数,但是当各目标对象的设定属性的当前属性值不同时,即作为属性调整函数的输入参数不同时,得到的相应的目标属性值也可能存在差异。
其中,基于预设的属性调整函数调整当前属性值的方法可以是以当前属性值为基础的各种数学函数,例如当前属性值的平方;还可以是基于生成的随即数据与当前属性值的各种数学函数等。
S130、根据目标属性值控制对应目标对象在显示屏幕上的行为操作。
其中,在基于预设的属性调整函数对设定属性的当前属性值进行调整后,可以根据得到的目标属性值控制对应目标对象在显示屏幕上的行为操作。示例性的,当目标属性值是行为范围、移动速度、移动路线和/或初始显示位置时,可以控制目标对象在显示屏幕上的行为范围、移动速度、移动路线和/或初始显示位置。当各目标对象的目标属性值不同时,可以使得各目标对象在显示屏幕上具有不同的行为操作,有效避免了同一化的问题。
本发明实施例的技术方案,通过获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值,使得各目标对象的设定属性的当前属性值存在差异;基于预设的属性调整函数调整当前属性值,得到目标属性值,使得各目标对象的设定属性的目标属性值存在差异;根据目标属性值控制对应目标对象在显示屏幕上的行为操作,使得各目标对象在显示屏幕上的行为操作存在差异。上述技术方案,较大程度上降低了各目标对象的设定属性相同的可能性,使得各目标对象在显示屏幕上具有不同的行为操作,有效解决了多个目标对象容易聚集在一起,进一步导致的各目标对象的具体行为难以清楚呈现的技术问题。
一种可选的技术方案,基于预设的属性调整函数调整当前属性值,得到目标属性值,具体可以包括:获取待调整的目标对象的设定属性的属性值范围内相邻属性值的差值;根据差值的整数倍数生成属性调整数据,根据属性调整数据调整当前属性值,得到目标属性值;其中,各目标对象的设定属性的属性值范围内各相邻属性值的差值相同。
可以理解的是,当目标对象的设定属性的属性值是一个数值范围时,才可以对属性值进行调整,例如当设定属性包括移动速度时,例如目标对象的移动速度的属性值范围可以是0像素/秒-8像素/秒。当属性值范围内各相邻属性值的差值相同时,例如当移动速度的属性值是0像素/秒、2像素/秒、4像素/秒、6像素/秒和8像素/秒时,各相邻属性值的差值是2像素/秒。
那么,可以根据差值的整数倍数生成属性调整数据,例如,当差值是2像素/秒,整数倍数分别是1倍、2倍、3倍和4倍时,生成的属性调整数据分别是2像素/秒、4像素/秒、6像素/秒和8像素/秒。而根据属性调整数据调整当前属性值,得到目标属性值的方法可以是根据属性调整数据和当前属性值的各种数学运算得到目标属性值;还可以是将属性变化数据和当前属性值之和的结果作为中间属性值,若中间属性值大于属性值范围的最大值,则将所述属性值范围的最小值作为目标属性值;若中间属性值小于属性值范围的最小值,则将所述属性值范围的最大值作为目标属性值;否则,将中间属性值作为目标属性值。当然,可以理解的是,得到的目标属性值是在属性值范围内的数值,在属性值范围外的目标属性值是无效的数值。
一种可选的技术方案,设定属性包括移动路线时,属性调整数据包括移动路线调整数据。考虑到每个目标对象的设定属性可以包括至少一个属性,那么所述属性调整数据可以是与目标对象的设定属性所包括的各属性分别匹配的属性调整数据。可以理解的是,当设定属性包括移动路线时,属性调整数据可以包括与其匹配的移动路线调整数据;当设定属性包括行为范围时,属性调整数据可以包括与其匹配的行为范围调整数据;当设定属性包括移动速度时,属性调整数据可以包括与其匹配的移动速度调整数据。
上述步骤设置的好处在于,生成的属性调整数据可以分别与目标对象的设定属性所包括的各属性相匹配,有利于分别对目标对象的设定属性的当前属性值进行针对性的调整。
一种可选的技术方案,属性值范围的最值是0和N,其中N是除0以外的有理数;根据属性调整数据调整当前属性值,得到目标属性值,具体可以包括:当以当前属性值和属性调整数据之和的结果作为被除数,以N和差值之和的结果作为除数时,则以除数和被除数之商的余数作为目标属性值。
其中,当属性值范围的最值是0和N时,即属性值范围的最大值是0、最小值是N,或者,属性值范围的最大值是N、最小值是0时,为了保证得到的目标属性值在属性值范围内,根据属性调整数据调整当前属性值,得到目标属性值的方法可以是:将当前属性值和属性调整数据之和的结果作为被除数,将N和差值之和的结果作为除数,进一步地,将以除数和被除数之商的余数作为目标属性值。示例性的,当N=8,当前属性值是6,差值是2,倍数是3时,得到的属性调整数据是6,而目标属性值是2。
为了更好地理解上述步骤的具体实现过程,下面结合具体示例“战斗系统中士兵的控制方法”对本实施例的对象的控制方法进行示例性的说明。
示例性的,很多战斗系统中涉及到的目标对象可以是士兵,在战斗的过程中,敌我双方阵营可能会生成大量的士兵到战场上,而敌我士兵会进行短兵战斗。那么,在上述战斗场景中,尤其是各个士兵的设定属性的属性值相同时,显示屏幕上很可能会出现大量士兵聚集在一起战斗的情况,此时,很难将每个士兵的行为操作清楚地呈现出来。本示例性说明以士兵的移动路线为例,详细阐述本实施例的对象的控制方法在解决上述问题时的具体过程。
如图2所示,上述战斗系统可以安装在智能终端上,那么以智能终端的显示屏幕为基准可以建立X-Y坐标系。我方士兵可以在我方城堡10附近生成,敌方士兵可以在敌方城堡20附近生成。那么,在视觉上为了避免大量士兵聚集在一起战斗的场景出现,较大程度上提升战斗的表现效果,当以我方士兵的角度描述时,可以设置多条移动路线使得我方士兵可以到达敌方城堡。可以理解的是,各条移动路线可以相隔很近,从而呈现出一种分层的错落感。
具体地,如图2所示,可以设置3条垂直于Y轴的移动路线301-303,各相邻移动路线可以相隔30个像素,使得我方士兵可以沿着任意一条移动路线从我方城堡10移动到敌方城堡20。进一步地,为了避免处于不同移动路线上的具有相同X坐标的士兵在视觉上呈现出站位前后的效果,可以使得显示屏幕最里面的士兵缩小呈现,从而在视觉上呈现出远方的效果;使得显示屏幕最外面的士兵放大呈现或是原比例呈现,从而在视觉上呈现出近方的效果。具体地,以图2为例,可以认为用户手持智能终端的一侧为显示屏幕的最外面,那么从显示屏幕最里面到显示屏幕最外面的各条移动路线分别是移动路线303、移动路线302和移动路线301。那么处于移动路线303的士兵的体积最小,处于移动路线302的士兵的体积适中,而处于移动路线301的士兵的体积最大,从而使得各条移动路线上的士兵呈现出远近感。
那么,采取所述对象的控制方法使得每个士兵尽可能的分配到不同的移动路线上的方法可以是:每个士兵的设定属性包括移动路线标识nIndex,根据所述移动路线标识可以确定士兵的移动路线。具体地,与移动路线303匹配的nIndex=0,与移动路线302匹配的nIndex=1,与移动路线301匹配的nIndex=2。每个已生成的士兵的nIndex可以是唯一确定的,那么士兵可以只沿着与nIndex匹配的移动路线移动,在移动的中途不会更改移动路线。
具体地,与移动路线匹配的属性值范围内各属性分别是0、1和2,则N=2,差值是1;若当前属性值是上一个已生成的士兵的nIndex,假设nIndex=0,则当倍数是1时,待生成的士兵的nIndex=1;进一步,当前属性值nIndex=1,待生成的士兵的nIndex=2;再进一步,当前属性值nIndex=2,待生成的士兵的nIndex=0,以此类推,循环往复。由此可知,各待生成的士兵可以依次分配到3条移动路线上,较大程度上降低了士兵聚集的可能性。
实施例二
图3是本发明实施例二中提供的一种对象的控制方法的流程图。本实施例以上述实施例一为基础进行优化。在本实施例中,所述方法还可以包括:当第一目标对象查找到未匹配有自身的行为对象的第二目标对象后,第一目标对象朝向第二目标对象移动,直至第一目标对象和第二目标对象的距离在预设的行为范围之内时,计算第一目标对象和除第一目标对象之外的其他对象的相距距离;若相距距离小于预设的阈值,则第一目标对象朝向第二目标对象移动单位距离,并判断移动单位距离后的第一目标对象和第二目标对象的距离是否小于预设的最小阈值;若是,则第一目标对象停止移动;否则,返回执行计算第一目标对象和除第一目标对象之外的其他对象的相距距离的操作,直至相距距离大于等于预设的阈值,第一目标对象停止移动。相应的,如图3所示,本实施例的方法具体可以包括如下步骤:
S210、获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值。
S220、基于预设的属性调整函数调整当前属性值,得到目标属性值。
S230、根据目标属性值控制对应目标对象在显示屏幕上的行为操作。
S240、当第一目标对象查找到未匹配有自身的行为对象的第二目标对象后,第一目标对象朝向第二目标对象移动,直至第一目标对象和第二目标对象的距离在预设的行为范围之内。
其中,判断第一目标对象是否查找到未匹配有自身的行为对象的第二目标对象的方法可以是:基于预设的目标对象查找函数查找第一目标对象的第二目标对象,并基于预设标记位确认查找到的第二目标对象是否已经匹配有自身的行为对象;如果所述第二目标对象已经匹配有自身的行为对象,则返回执行基于预设的目标对象查找函数查找第一目标对象的第二目标对象的操作,直至查找到未匹配有自身的行为对象的第二目标对象。
具体的,所述目标对象查找函数可以根据预设的对象优先级顺序从除所述第一目标对象之外的其他对象中,查找所述第一目标对象的第二目标对象。再具体地,所述基于预设标记位确认查找到的第二目标对象是否已经匹配有自身的行为对象的方法可以是:如果查找到的第二目标对象的标记位是身份标识号码,则确认所述第二目标对象已经匹配有自身的行为对象。
当第一目标对象查找到未匹配有自身的行为对象的第二目标对象后,第一目标对象可以朝向第二目标对象移动,直至第一目标对象和第二目标对象的距离在预设的行为范围之内,而处于行为范围之内的第一目标对象和第二目标对象之间可以发生交互。在第一目标对象朝向第二目标对象移动的同时,第二目标对象当然也可以向第一目标对象移动。可以理解的是,当第一目标对象查找到未匹配有自身的行为对象的第二目标对象时,第一目标对象和第二目标对象的距离已经在预设的行为范围之内时,第一目标对象无需朝向第二目标移动。
S250、计算第一目标对象和除第一目标对象之外的其他对象的相距距离,并判断相距距离是否小于预设的阈值。
处于行为范围之内的第一目标对象和第二目标对象之间可以发生交互,但是如果目标对象周围存在大量的其他对象时,第一目标对象和第二目标对象之间的交互过程可能很难清楚呈现出来。因此,以第一目标对象的角度为例,可以计算第一目标对象和除第一目标对象之外的其他对象的相距距离,并判断相距距离是否小于预设的阈值。那么,根据相距距离和预设的阈值的大小关系可以判断出第一目标对象周围是否存在相距距离较近的其他对象。其中,上述步骤的具体实现过程可以是:遍历显示屏幕上除第一目标对象之外的其他对象,分别计算第一目标对象和其他对象的相距距离,若存在任一其他对象和第一目标对象的距离小于预设的阈值,则说明第一目标对象周围存在相距距离较近的其他对象。可以理解的是,相距距离的计算方法可以是现有的任一距离计算方法,例如,根据第一目标对象的坐标和其他对象的坐标计算相距距离。
S260、若是,则第一目标对象朝向第二目标对象移动单位距离,并判断移动单位距离后的第一目标对象和第二目标对象的距离是否小于预设的最小阈值。
其中,如果第一目标对象和除第一目标对象之外的其他对象的相距距离小于预设的阈值时,说明第一目标对象周围存在相距距离较近的其他对象,则第一目标对象继续朝向第二目标对象移动,例如移动单位距离,其中单位距离可以是10个像素、20个像素等。考虑到第一目标对象和第二目标对象不能无限接近,彼此间需要存在一定的距离后才可以相互交互。因此,当第一目标对象移动单位距离后,可以判断移动单位距离后的第一目标对象和第二目标对象的距离是否小于预设的最小阈值,其中,预设的最小阈值可以是目标对象之间可以发生交互的最小距离。当然,可以理解的是,在未产生任何移动前,当第一目标对象与查找到的第二目标对象的距离已经小于最小阈值,那么可以认为查找到的第二目标对象是无效的,需要重新查找。
其中,如果第一目标对象和除第一目标对象之外的其他对象的相距距离大于等于预设的阈值时,说明第一目标对象周围不存在相距距离较近的其他对象,此时第一目标对象可以停止移动,直接与第二目标对象相互交互。
S270、若是,则第一目标对象停止移动;否则,返回执行计算第一目标对象和除第一目标对象之外的其他对象的相距距离的操作,直至相距距离大于等于预设的阈值,第一目标对象停止移动。
其中,如果移动单位距离后的第一目标对象和第二目标对象的距离小于预设的最小阈值,则说明第一目标对象不能在朝向第二目标对象继续移动,否则无法与第二目标对象相互交互,因此第一目标对象停止移动。
其中,如果移动单位距离后的第一目标对象和第二目标对象的距离大于等于预设的最小阈值,则说明第一目标对象可以朝向第二目标对象继续移动。因此返回计算第一目标对象和除第一目标对象之外的其他对象的相距距离的操作,直至相距距离大于等于预设的阈值,以便在可以实现目标对象之间相互交互的同时,还可以避免出现各目标对象聚集的情况。
本发明实施例的技术方案,当第一目标对象朝向查找到的第二目标对象持续性移动时,反复计算第一目标对象与查找到的第二目标对象的距离,以及,第一目标对象和除第一目标对象之外的其他对象的相距距离,以便在可以实现目标对象之间相互交互的同时,还可以避免出现各目标对象聚集的情况。
一种可选的技术方案,当各目标对象的坐标存储于队列中时,计算第一目标对象和除第一目标对象之外的其他对象的相距距离,具体可以包括:遍历队列中除第一目标对象之外的其他对象,根据第一目标对象之外的其他对象的坐标和第一目标对象的坐标,计算相距距离。
其中,可以以队列的方式存储目标对象,以便通过队列管理各目标对象以及各目标对象的设定属性。当设定属性包括显示位置时,队列中可以存储各目标对象的显示位置的坐标。那么,基于队列可以遍历所有目标对象,具体的,可以遍历队列中除第一目标对象之外的其他对象。相应的,根据第一目标对象之外的其他对象的坐标和第一目标对象的坐标,可以计算相距距离。上述步骤设置的好处在于,基于队列的方式管理各目标对象,以便查找各目标对象的坐标,使得相距距离的计算过程较为便捷。
为了更好地理解上述步骤的具体实现过程,下面以实施例一中的具体示例为基础,对本实施例的对象的控制方法继续进行示例性的说明。
示例性的,我方士兵和敌方士兵可以分别存储在我方队列和敌方队列中,以管理战斗场景中的士兵。如图4所示,当我方士兵A在敌方队列中查找未匹配有自身的行为士兵的敌方士兵B,即查找到可以攻击的敌方士兵时,我方士兵A可以朝向敌方士兵B移动。当我方士兵A和匹配的敌方士兵B的距离在预设的行为范围之内时,我方士兵A可以在我方队列和敌方队列中遍历除我方士兵A以外的所有其他士兵的显示位置,确定我方士兵A和所有其他士兵的相距距离,以确定如果我方士兵A停留在当前位置是否会导致多个士兵聚集的情况。具体的,例如如果我方士兵A与任一其他士兵的相距距离都大于等于20个像素,则说明我方士兵A可以停留在当前位置,并开始攻击敌方士兵B;否则,我方士兵A朝向敌方士兵B移动,直到移动到可以停留的位置。同时为了防止我方士兵错过敌方士兵,在我方士兵A和敌方士兵B的距离小于预设的最小阈值时,我方士兵A停止移动,并开始攻击敌方士兵B。
另外,为了在视觉上呈现出落差感而将我方士兵分配至3条移动路线301-303,但是可以认为在真正的战斗系统中只有1条移动路线。因此,距离的计算可以只考虑X坐标的差值,例如我方士兵A和敌方士兵B之间的距离是x2-x1。但是,为了战斗效果的呈现,我方士兵在查找敌方士兵时,可以优先查找与我方士兵在视觉上处于1条移动路线的敌方士兵。因此,在为我方士兵分配至不同移动路线的基础上,还可以控制我方士兵在移动路线上的位置,从多方面避免多个士兵聚集在一起的情况。
实施例三
图5为本发明实施例三提供的对象的控制装置的结构框图,该装置用于执行上述任意实施例所提供的对象的控制方法。该装置与上述各实施例的对象的控制方法属于同一个发明构思,在对象的控制装置的实施例中未详尽描述的细节内容,可以参考上述对象的控制方法的实施例。参见图5,该装置具体包括:当前属性值获取模块310、目标属性值得到模块320和行为操作控制模块330。
其中,当前属性值获取模块310,用于获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值;
目标属性值得到模块320,用于基于预设的属性调整函数调整当前属性值,得到目标属性值;
行为操作控制模块330,用于根据目标属性值控制对应目标对象在显示屏幕上的行为操作。
可选的,当前属性值获取模块310,还可用于若上一个已调整的目标对象不存在,则获取预设的属性值作为待调整的目标对象的设定属性的当前属性值。
可选的,目标属性值得到模块320,具体可以包括:
差值获取单元,用于获取待调整的目标对象的设定属性的属性值范围内相邻属性值的差值;其中,各目标对象的设定属性的属性值范围内各相邻属性值的差值相同;
目标属性值得到单元,用于根据差值的整数倍数生成属性调整数据,根据属性调整数据调整当前属性值,得到目标属性值。
可选的,差值获取单元中属性值范围的最值是0和N,其中N是除0以外的有理数;目标属性值得到单元,具体可以包括:
目标属性值得到子单元,用于当以当前属性值和属性调整数据之和的结果作为被除数,以N和差值之和的结果作为除数时,则以除数和被除数之商的余数作为目标属性值。
可选的,目标属性值得到单元中设定属性包括移动路线时,属性调整数据可以包括移动路线调整数据。
可选的,在上述装置的基础上,该装置还可以包括:
相距距离计算模块,用于当第一目标对象查找到未匹配有自身的行为对象的第二目标对象后,第一目标对象朝向第二目标对象移动,直至第一目标对象和第二目标对象的距离在预设的行为范围之内时,计算第一目标对象和除第一目标对象之外的其他对象的相距距离;
距离判断模块,用于若相距距离小于预设的阈值,则第一目标对象朝向第二目标对象移动单位距离,并判断移动单位距离后的第一目标对象和第二目标对象的距离是否小于预设的最小阈值;
停止移动模块,用于若是,则第一目标对象停止移动;否则,返回执行计算第一目标对象和除第一目标对象之外的其他对象的相距距离的操作,直至相距距离大于等于预设的阈值,第一目标对象停止移动。
可选的,当各目标对象的坐标存储于队列中时,相距距离计算模块,具体可以包括:
相距距离计算单元,用于遍历队列中除第一目标对象之外的其他对象,根据第一目标对象之外的其他对象的坐标和第一目标对象的坐标,计算相距距离。
本发明实施例三提供的对象的控制装置,通过当前属性值获取模块使得各目标对象的设定属性的当前属性值存在差异;目标属性值得到模块使得各目标对象的设定属性的目标属性值存在差异;行为操作控制模块使得各目标对象在显示屏幕上的行为操作存在差异。上述装置较大程度上降低了各目标对象的设定属性相同的可能性,使得各目标对象在显示屏幕上具有不同的行为操作,有效解决了多个目标对象容易聚集在一起,进一步导致的各目标对象的具体行为难以清楚呈现的技术问题。
本发明实施例所提供的对象的控制装置可执行本发明任意实施例所提供的对象的控制方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述对象的控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
图6为本发明实施例四提供的一种终端的结构示意图,如图6所示,该终端包括存储器410、处理器420、输入装置430和输出装置440。终端中的处理器420的数量可以是一个或多个,图6中以一个处理器420为例;终端中的存储器410、处理器420、输入装置430和输出装置440可以通过总线或其它方式连接,图6中以通过总线450连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的对象的控制方法对应的程序指令/模块(例如,对象的控制装置中的当前属性值获取模块310、目标属性值得到模块320和行为操作控制模块330)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的对象的控制方法。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种对象的控制方法,该方法可以包括:
获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值;
基于预设的属性调整函数调整当前属性值,得到目标属性值;
根据目标属性值控制对应目标对象在显示屏幕上的行为操作。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的对象的控制方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种对象的控制方法,其特征在于,包括:
获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值,其中所述上一个已调整的目标对象和所述待调整的目标对象来源于同一目标组,同一所述目标组内各目标对象的设定属性相同;
基于预设的属性调整函数调整所述当前属性值,得到目标属性值;
根据所述目标属性值控制对应目标对象在显示屏幕上的行为操作;
当第一目标对象查找到未匹配有自身的行为对象的第二目标对象后,所述第一目标对象朝向所述第二目标对象移动,直至所述第一目标对象和所述第二目标对象的距离在预设的行为范围之内时,计算所述第一目标对象和除所述第一目标对象之外的其他对象的相距距离;
若所述相距距离小于预设的阈值,则所述第一目标对象朝向所述第二目标对象移动单位距离,并判断移动单位距离后的所述第一目标对象和所述第二目标对象的距离是否小于预设的最小阈值;
若是,则所述第一目标对象停止移动;否则,返回执行计算所述第一目标对象和除所述第一目标对象之外的其他对象的相距距离的操作,直至所述相距距离大于等于预设的阈值,所述第一目标对象停止移动。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述上一个已调整的目标对象不存在,则获取预设的属性值作为所述待调整的目标对象的设定属性的当前属性值。
3.根据权利要求1所述的方法,其特征在于,所述基于预设的属性调整函数调整所述当前属性值,得到目标属性值,包括:
获取待调整的目标对象的设定属性的属性值范围内相邻属性值的差值;
根据所述差值的整数倍数生成属性调整数据,根据所述属性调整数据调整所述当前属性值,得到所述目标属性值;
其中,各目标对象的设定属性的属性值范围内各相邻属性值的差值相同。
4.根据权利要求3所述的方法,其特征在于,所述属性值范围的最值是0和N,其中N是除0以外的有理数;所述根据所述属性调整数据调整所述当前属性值,得到目标属性值,包括:
当以所述当前属性值和所述属性调整数据之和的结果作为被除数,以N和所述差值之和的结果作为除数时,则以所述除数和所述被除数之商的余数作为所述目标属性值。
5.根据权利要求3所述的方法,其特征在于,所述设定属性包括移动路线时,所述属性调整数据包括移动路线调整数据。
6.根据权利要求1所述的方法,其特征在于,当各目标对象的坐标存储于队列中时,所述计算所述第一目标对象和除所述第一目标对象之外的其他对象的相距距离,包括:
遍历所述队列中除所述第一目标对象之外的其他对象,根据第一目标对象之外的其他对象的坐标和所述第一目标对象的坐标,计算所述相距距离。
7.一种对象的控制装置,其特征在于,包括:
当前属性值获取模块,用于获取上一个已调整的目标对象的设定属性的属性值,作为待调整的目标对象的设定属性的当前属性值,其中所述上一个已调整的目标对象和所述待调整的目标对象来源于同一目标组,同一所述目标组内各目标对象的设定属性相同;
目标属性值得到模块,用于基于预设的属性调整函数调整所述当前属性值,得到目标属性值;
行为操作控制模块,用于根据所述目标属性值控制对应目标对象在显示屏幕上的行为操作;
相距距离计算模块,用于当第一目标对象查找到未匹配有自身的行为对象的第二目标对象后,所述第一目标对象朝向所述第二目标对象移动,直至所述第一目标对象和所述第二目标对象的距离在预设的行为范围之内时,计算所述第一目标对象和除所述第一目标对象之外的其他对象的相距距离;
距离判断模块,用于若所述相距距离小于预设的阈值,则所述第一目标对象朝向所述第二目标对象移动单位距离,并判断移动单位距离后的所述第一目标对象和所述第二目标对象的距离是否小于预设的最小阈值;
停止移动模块,用于若是,则所述第一目标对象停止移动;否则,返回执行计算所述第一目标对象和除所述第一目标对象之外的其他对象的相距距离的操作,直至所述相距距离大于等于预设的阈值,所述第一目标对象停止移动。
8.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的对象的控制方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的对象的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811495128.4A CN109600657B (zh) | 2018-12-07 | 2018-12-07 | 一种对象的控制方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811495128.4A CN109600657B (zh) | 2018-12-07 | 2018-12-07 | 一种对象的控制方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109600657A CN109600657A (zh) | 2019-04-09 |
CN109600657B true CN109600657B (zh) | 2021-11-09 |
Family
ID=65962314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811495128.4A Active CN109600657B (zh) | 2018-12-07 | 2018-12-07 | 一种对象的控制方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109600657B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6271693B2 (ja) * | 2016-12-16 | 2018-01-31 | 株式会社東芝 | 受信装置及び受信装置の制御方法及びデジタルテレビジョン受信装置 |
CN108391154B (zh) * | 2018-01-30 | 2021-07-30 | 广州虎牙信息科技有限公司 | 弹幕显示控制方法、存储介质和终端 |
-
2018
- 2018-12-07 CN CN201811495128.4A patent/CN109600657B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109600657A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023502583A (ja) | 仮想アイテムの処理方法及び装置 | |
CN109144652B (zh) | 一种视图显示方法、装置、电子设备及存储介质 | |
KR20180009352A (ko) | 모바일 게임에 대한 데이터 처리 방법 및 장치 | |
CN108206959B (zh) | 一种显示弹幕消息的方法和装置 | |
US11918900B2 (en) | Scene recognition method and apparatus, terminal, and storage medium | |
CN107678804B (zh) | 行为执行方法和装置、存储介质及电子装置 | |
CN113617027B (zh) | 云游戏的处理方法、装置、设备以及介质 | |
CN109587540B (zh) | 一种对象的控制方法、装置、终端及存储介质 | |
CN109600657B (zh) | 一种对象的控制方法、装置、终端及存储介质 | |
CN111097170B (zh) | 吸附框的调整方法和装置、存储介质及电子装置 | |
CN110544159B (zh) | 一种地图信息处理方法、装置、可读存储介质和电子设备 | |
CN111935018B (zh) | 一种可自主配置组网规则的跳板网络路径生成方法 | |
CN115499323B (zh) | 目标虚拟场景的构建方法、装置和电子设备 | |
JP7178421B2 (ja) | 情報処理方法、装置、プログラム、及び記録媒体 | |
US10872121B2 (en) | Systems and methods for matching users | |
CN116069447A (zh) | 一种虚拟机numa拓扑生成方法、装置、设备、介质 | |
CN109597641B (zh) | 一种对象行为的控制方法、装置、终端及存储介质 | |
CN109675316B (zh) | 游戏场景图生成方法及装置 | |
CN112947748A (zh) | 增强现实ar远程交互方法及其系统 | |
WO2018205872A1 (zh) | 目标对象的处理方法、装置、存储介质及电子装置 | |
CN113438500A (zh) | 视频处理方法、装置、电子设备及计算机存储介质 | |
US20230342021A1 (en) | Performing a control operation based on multiple touch points | |
CN110515458A (zh) | 一种群组创建方法及装置、电子设备、存储介质 | |
KR102411173B1 (ko) | 태스크 할당 방법 및 장치 | |
CN109068312A (zh) | 运营商数据切换方法及装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |