CN107233733B - 目标对象的处理方法和装置 - Google Patents
目标对象的处理方法和装置 Download PDFInfo
- Publication number
- CN107233733B CN107233733B CN201710332072.XA CN201710332072A CN107233733B CN 107233733 B CN107233733 B CN 107233733B CN 201710332072 A CN201710332072 A CN 201710332072A CN 107233733 B CN107233733 B CN 107233733B
- Authority
- CN
- China
- Prior art keywords
- pixel position
- distance
- game
- scene
- pixel
- 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
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种目标对象的处理方法和装置。其中,该方法包括:确定第一目标对象进入游戏场景中的第一位置;获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;根据重合区域对第一目标对象进行预设处理。本发明解决了相关技术中对目标对象的处理过程非常耗时的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种目标对象的处理方法和装置。
背景技术
目前,在游戏运行环境中,目标对象每走进一个像素位,都会穷举出场景中所有的区域(mask),检测该目标对象和每个区域的像素位距离是否小于目标对象自身的大小,例如,目标对象为游戏人物。这样,在目标对象每走进游戏场景中的一个像素位,都需要判断该像素位和所有区域之间的关系,然后选出与目标对象的像素位距离最近的区域,其时间复杂度为O(n),其中,n为游戏场景中的区域的数目。
由于在游戏中,上述n值普遍较大,因而时间复杂度O(n)不可接受,导致对目标对象的处理过程非常耗时的问题。另外,再考虑到距离计算非常耗时,会导致客户端的画面不流畅的问题。
针对上述对目标对象的处理过程非常耗时的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种目标对象的处理方法和装置,以至少解决相关技术中对目标对象的处理过程非常耗时的技术问题。
根据本发明实施例的一个方面,提供了一种目标对象的处理方法。该目标对象处理方法包括:确定第一目标对象进入游戏场景中的第一位置;获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;根据重合区域对第一目标对象进行预设处理。
根据本发明实施例的另一方面,还提供了一种目标对象的处理装置。该目标对象的处理装置包括:第一确定单元,用于确定第一目标对象进入游戏场景中的第一位置;第一获取单元,用于获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;第二确定单元,用于在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;第一处理单元,用于根据重合区域对第一目标对象进行预设处理。
在本发明实施例中,采用确定第一目标对象进入游戏场景中的第一位置;获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;根据重合区域对第一目标对象进行预设处理的方式。由于当第一目标对象进入游戏场景中的第一位置时,直接获取第一位置与第二位置之间预先存储的目标距离,达到了快速确定第一目标对象是否与第二目标对象重合的目的,可以解决了相关技术中对目标对象的处理过程非常耗时的技术问题,进而达到了对第一目标对象进行快速处理的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种目标对象的处理方法的硬件环境的示意图;
图2是根据本发明实施例的一种目标对象的处理方法的流程图;
图3是根据本发明实施例的一种确定第一目标对象进入游戏场景中的第一位置的方法的流程图;
图4是根据本发明实施例的另一种目标对象的处理方法的流程图;
图5是根据本发明实施例的另一种目标对象的处理方法的流程图;
图6是根据本发明实施例的一种获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离的方法的流程图;
图7是根据本发明实施例的一种目标对象的处理方法的流程图;
图8是根据本发明实施例的一种目标对象的处理装置的示意图;
图9是根据本发明实施例的另一种目标对象的处理装置的示意图;
图10是根据本发明实施例的另一种目标对象的处理装置的示意图;
图11是根据本发明实施例的一种目标对象的处理装置的示意图;
图12是根据本发明实施例的另一种目标对象的处理装置的示意图;以及
图13是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种目标对象的处理方法实施例。
可选地,在本实施例中,上述目标对象的处理方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。图1是根据本发明实施例的一种目标对象的处理方法的硬件环境的示意图。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的目标对象的处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的目标对象的处理方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种目标对象的处理方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤S202,确定第一目标对象进入游戏场景中的第一位置。
在本申请上述步骤S202提供的技术方案中,确定第一目标对象进入游戏场景中的第一位置。
在游戏场景中,第一目标对象可以为游戏场景中能够移动的对象,比如,第一目标对象为游戏场景中的游戏人物(actor),可选地,该游戏场景为二维游戏中的游戏场景。在游戏画面显示的过程中,对处于游戏场景中的第一目标对象进行绘制。在第一目标对象进入游戏场景中时,确定第一目标对象进入游戏场景中的第一位置。可选地,游戏场景中的游戏画面由像素构成,确定第一目标对象进入游戏场景中的像素位。
步骤S204,获取第一位置与第二位置之间的预先存储的目标距离。
在本申请上述步骤S204提供的技术方案中,获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象。
游戏场景中包括多个预设对象,不仅有可以移动的第一目标对象,还可以有固定的、可以用于遮挡第一目标对象的对象,比如,第一目标对象可以为游戏人物,可以通过树、岩石、池塘等对象进行遮挡。
在该实施例中,在游戏场景中,除了第一对目标对象之外,还可以有能够遮挡第一目标对象的n个对象,第二目标对象为游戏场景n个对象中距离第一目标对象最近的对象,可以为游戏场景中的一些区域,比如,游戏场景中的树、岩石、池塘等对象,此处不做限定。
游戏场景中的位置可以通过游戏场景中的像素位表示。在游戏运行之前,可以先用矩阵形式表示场景中所有像素位以确定游戏场景中的位置,并将能够遮挡第一目标对象的n个对象对应的像素位在矩阵位置中的位置按照第一标识信息进行标识,将除能够遮挡第一目标对象的n个对象之外的矩阵位置都标记为0。利用宽度优先搜索提前计算出每一个像素位和能够遮挡第一目标对象的n个对象之间的像素位距离,得到多个像素位距离,从多个像素位距离中找出每个像素位对应的最短距离,并进行存储。
在确定第一目标对象进入游戏场景中的第一位置之后,获取第一位置与第二位置之间的预先存储的目标距离,第二位置为第二目标对象在游戏场景中所处的位置,也即,在游戏程序运行之前,提前存储游戏场景中每个位置与可以用于遮挡其它对象的对象之间的像素位距离关系,第一目标对象在游戏场景中所处的第一位置和第二目标对象在游戏场景中所处的第二位置之间的像素位距离预先存储过。在确定第一目标对象进入游戏场景中的第一位置之后,直接调取第一位置与第二位置之间的目标距离,该目标距离为第一目标对象与距离第一目标对象最近的对象之间的最短距离,使得判断第一目标对象是否与第二目标对象重合的时间的复杂度由O(n)降为O(1),大大提高了游戏画面的流畅度,避免了在第一目标对象每处于游戏场景中的一个位置时,都需要遍历游戏场景中所有除第一目标对象之外的其它对象,重新计算第一目标对象与其它对象之间的像素位距离,比如,避免了在游戏人物actor每进入一个像素时,遍历游戏场景中的所有mask区域,计算游戏人物actor与所有mask区域之间的像素位距离,所导致的目标对象处理耗时的问题。
可选地,第一位置和第二位置为游戏场景中的像素位,可以用于确定第一目标对象和第二目标对象在游戏场景中的位置。
步骤S206,在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域。
在本申请上述步骤S206提供的技术方案中,在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域。
第一目标对象在游戏场景中的预设尺寸可以用于衡量第一目标对象在游戏场景中所处区域的位置,比如,第一目标对象在游戏场景中自身的大小。该第一目标对象自身的大小可以为第一目标对象在游戏场景中的宽度。在获取预先存储的第一目标对象在游戏场景中所处的第一位置与第二目标对象在游戏场景中所处的第二位置之间的目标距离之后,判断该目标距离是否小于第一目标对象在游戏场景中的预设尺寸。在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域,也即,第一目标对象能够被第二目标对象遮挡。
可选地,在目标距离大于等于第一目标对象在游戏场景中的预设尺寸的情况下,对第一目标对象在游戏场景中的显示画面正常绘制。
步骤S208,根据重合区域对第一目标对象进行预设处理。
在本申请上述步骤S208提供的技术方案中,根据重合区域对第一目标对象进行预设处理。
在游戏应用的游戏画面显示的过程中,在确定第一目标对象与第二目标对象具有重合区域之后,确定第一目标对象被第二目标对象遮挡,根据重合区域对第一目标对象进行预设处理,也即,可以根据重合区域对第一目标对象进行特殊的绘制方式。
可选地,在第一目标对象上对重合区域进行处理,第一目标对象上的重合区域完全不显示,或者在第一目标对象上对重合区域进行半透处理,以表明第一目标对象处于第二目标对象的后面。
在对第一目标对象进行预设处理之后,得到第三目标对象,该第三目标对象为第一目标对象的不完全显示对象,从而呈现出第一目标对象被第二目标对象遮挡的游戏画面。
通过上述步骤S202至步骤S208,通过确定第一目标对象进入游戏场景中的第一位置;获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;根据重合区域对第一目标对象进行预设处理,由于第一目标对象进入游戏场景中的第一位置时,直接获取第一位置与第二位置之间的预先存储的目标距离,达到了快速确定第一目标对象是否与第二目标对象重合的目的,可以解决了相关技术中对目标对象的处理过程非常耗时的技术问题,进而达到了对第一目标对象进行快速处理的技术效果。
作为一种可选的实施方式,步骤S202,确定第一目标对象进入游戏场景中的第一位置包括:确定第一目标对象进入游戏场景中的第一目标像素位,其中,第一位置包括第一目标像素位;步骤S204,获取第一位置与第二位置之间的预先存储的目标距离包括:获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的像素位距离作为目标距离,其中,第二位置包括第二目标像素位。
图3是根据本发明实施例的一种确定第一目标对象进入游戏场景中的第一位置的方法的流程图。该方法包括以下步骤:
步骤S301,确定第一目标对象进入游戏场景中的第一目标像素位。
在本申请上述步骤S301提供的技术方案中,确定第一目标对象进入游戏场景中的第一目标像素位,其中,第一位置包括第一目标像素位。
在显示游戏场景的画面时,可以通过像素位表示游戏场景的位置。在第一目标对象进入游戏场景中时,确定第一目标对象进入游戏场景中的第一目标像素位,也即,确定第一目标对象进入游戏场景后,所处位置的像素位,该第一目标像素位可以用矩阵中的(行,列)进行确定。
步骤S302,获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的像素位距离作为目标距离。
在本申请上述步骤S302提供的技术方案中,获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的像素位距离作为目标距离,其中,第二位置包括第二目标像素位。
在该实施例中,预先计算游戏场景中每一个像素位和预设对象对应的像素位之间的像素位距离,找出每个像素和最近的预设对象对应的像素位之间的像素位距离,并存储下来。第二目标对象在游戏场景中的第二位置包括第二目标像素位,也即,通过第二目标像素位可以表示第二目标对象在游戏场景中的位置,预先存储第一目标像素位和第二目标像素之间的像素位距离。
在确定第一目标对象进入游戏场景中的第一目标像素位之后,获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将像素位距离作为第一目标对象的目标距离。
该实施例通过确定第一目标对象进入游戏场景中的第一目标像素位,其中,第一位置包括第一目标像素位;获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的像素位距离作为目标距离,其中,第二位置包括第二目标像素位,进而在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;根据重合区域对第一目标对象进行预设处理,达到了对第一目标对象进行快速处理的技术效果。
作为一种可选的实施方式,在步骤S302,获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,获取游戏场景中包括第一目标像素位、多个预设对象对应的像素位的所有像素位和包括第二目标对象的多个预设对象;获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离;从多个像素位距离中确定并存储每个像素位对应的目标距离。
图4是根据本发明实施例的另一种目标对象的处理方法的流程图。如图4所示,该方法还包括以下步骤:
步骤S401,获取游戏场景中的所有像素位和多个预设对象。
在本申请上述步骤S401提供的技术方案中,获取游戏场景中的所有像素位和多个预设对象,其中,所有像素位包括第一目标像素位、多个预设对象对应的像素位,多个预设对象包括第二目标对象。
在获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,在预先计算游戏场景中每一个像素位和预设对象对应的像素位之间的像素位距离,找出每个像素和最近的预设对象对应的像素位之间的像素位距离时,获取游戏场景中的所有像素位和多个预设对象,该所述有像素位包括第一目标对象进入游戏场景的第一目标像素位,多个预设对象对应的像素位,也即,多个预设对象在游戏场景中所处位置的像素位。多个预设对象包括游戏中的一些区域,比如,树、岩石、池塘等,当第一目标对象进入这些区域,其身体或者身体的一部分可能会被区域遮挡。
步骤S402,获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离。
在本申请上述步骤S402提供的技术方案中,获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离。
在获取游戏场景中的所有像素位和多个预设对象之后,计算每个像素位和预设对象对应的像素位之间的距离,得到多个像素位距离。举例而言,游戏场景中有第一预设对象和第二预设对象,计算像素位1与第一预设对象之间的距离为a,计算像素位1与第二预设对象之间的距离为b,计算像素位2与第一预设对象之间的距离为c,像素位2与第二预设对象之间的距离d,从而得到多个像素位距离。
步骤S403,从多个像素位距离中确定每个像素位对应的目标距离。
在本申请上述步骤S403提供的技术方案中,从多个像素位距离中确定每个像素位对应的目标距离,其中,每个像素位对应的目标距离为每个像素位与多个预设对象中距离每个像素位最近的预设对象对应的像素位之间的像素位距离。
在获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离之后,从多个像素位距离中确定每个像素位对应的目标距离,该每个像素位对应的目标距离为每个像素位与多个预设对象中距离每个像素位最近的对象对应的像素位之间的距离,从而确定每个像素位和与其最近的预设对象之间的像素位距离,得到多个像素位距离。
可选地,在从多个像素位距离中确定每个像素位对应的目标距离时,每次计算出一个像素位与预设对象对应的像素位之间的像素位距离时,对其进行存储,当计算出该像素位与下一个预设对象对应的像素位之间的像素位距离时,将当前计算出的该像素位对应的像素位距离与上一次计算出的像素位距离进行比较,如果当前计算出的像素位距离小于上一次计算出的像素位距离,则存储当前计算出的该像素位对应的像素位距离,否则,不进行存储,如此每次将该像素位当前存储的像素位距离与下一个计算出的像素位距离进行比较,直至找到该像素位对应的目标距离。
步骤S404,存储每个像素位对应的目标距离。
在本申请上述步骤S404提供的技术方案中,存储每个像素位对应的目标距离。
在从多个像素位距离中确定每个像素位对应的目标距离之后,存储每个像素位的目标距离,从而实现了预先存储每个像素位对应的目标距离的目的。当第一目标对象进入预设场景的第一目标像素位时,直接取出该第一目标像素和第二目标对象对应的第二目标像素位之间的像素位距离,并将获取的像素位距离作为每个像素位对应的目标距离。
该实施例通过获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,获取游戏场景中的所有像素位和多个预设对象;获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离;从多个像素位距离中确定每个像素位对应的目标距离;存储每个像素位对应的目标距离,实现了预先获取每一个像素位和预设对象之间的距离,找出每个像素位和距离每个像素位最近的预设对象对应的像素位之间的距离,并存储下来,从而在目标对象进入游戏场景中的像素位时,直接获取该像素位和距离最近的预设对象对应的像素位之间的距离,进而在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;根据重合区域对第一目标对象进行预设处理,达到了对第一目标对象进行快速处理的技术效果。
作为一种可选的实施方式,在步骤S401,获取游戏场景中的所有像素位和多个预设对象之后,获取用于表示所有像素位的第一矩阵;在第一矩阵上,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位,第三目标像素位包括第一目标像素位。
图5是根据本发明实施例的另一种目标对象的处理方法的流程图。如图5所示,该方法还包括以下步骤:
步骤S501,获取用于表示所有像素位的第一矩阵。
在本申请上述步骤S501提供的技术方案中,获取用于表示所有像素位的第一矩阵。
在游戏应用运行之前,获取用于标识所有像素位的第一矩阵,可以先用第一矩阵表示游戏场景中所有像素位。比如,该矩阵为2*2矩阵第一矩阵的第一行第一列表示第一像素位,第一行第二列表示第二像素位,第二行第一列表示第三像素位,第二行第二列表示第四像素位。
步骤S502,在第一矩阵上,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位,第三目标像素位包括第一目标像素位。
在本申请上述步骤S502提供的技术方案中,在第一矩阵上,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位,第三目标像素位包括第一目标像素位。
游戏场景中的所有像素位包括预设对象对应的像素位,通过第一标识信息标识多个预设对象对应的像素位,比如,对于所有像素位中的mask区域的像素位,用第一标识信息“1”进行标识,此处不做限定。对于所有像素位中除预设对象对应的像素位之外的第三目标像素位,可以通过第二标识信息进行标识,比如,对于所有像素位中的非mask区域,通过第二标识信息“0”进行标识,此处不做限定。第三目标像素位包括第一目标像素位,也即,第一目标对象在进入游戏场景之后,可以处于第三目标像素位上。进而可以根据第一矩阵中的标识信息提前计算出每一个像素位和预设对象对应的像素位之间的距离,找出每个像素和距离每个像素位最近的预设对象对应的像素位之间的距离,并存储下来。当actor进入某个像素位时,直接取出该像素位和最近mask区域的距离,
该实施例通过获取游戏场景中的所有像素位和多个预设对象之后,方法还包括:获取用于表示所有像素位的第一矩阵;在第一矩阵上,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位,第三目标像素位包括第一目标像素位。
作为一种可选的实施方式,步骤S402,获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离包括:当遍历到第一个第一标识信息时,通过宽度优先搜索算法获取第一个第一标识信息对应的像素位与所有像素位之间的像素位距离;当遍历到第二个第一标识信息时,通过宽度优先搜索算法获取第二个第一标识信息对应的像素位与所有像素位之间的像素位距离。
图6是根据本发明实施例的一种获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离的方法的流程图。如图6所示,该方法包括以下步骤:
步骤S601,遍历第一矩阵中的所有像素位对应的标识信息。
在本申请上述步骤S601提供的技术方案中,遍历第一矩阵中的所有像素位对应的标识信息。
第一矩阵中的所有像素位通过标识信息进行标识,比如,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位。遍历第一矩阵中的所有像素位对应的标识信息。
步骤S602,当遍历到第一个第一标识信息时,通过宽度优先搜索算法获取第一个第一标识信息对应的像素位与所有像素位之间的像素位距离。
步骤S603,当遍历到第二个第一标识信息时,通过宽度优先搜索算法获取第二个第一标识信息对应的像素位与所有像素位之间的像素位距离。
该实施例查找第一矩阵中的多个预设对象对应的第一标识信息,当查找到第一个第一标识信息时,获取所有像素位与第一预设对象对应的像素位之间的像素位距离,其中,第一个第一标识信息用于标识多个预设对象中的第一预设对象,当查找到第二个标识信息时,获取所有像素位与第二预设对象对应的像素位之间的像素位距离,其中,第二个第一标识信息用于标识多个预设对象中的第二预设对象,以此类推,直至获取到游戏场景中每一个像素位与多个预设对象之间的距离,确定每一个像素位与距离每一个像素位最近的预设对象对应的像素位之间的像素位距离,进而获取到每一个像素位对应的目标距离。
该实施例通过宽度优先搜索算法获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离的目的,进而将第一像素位距离和第二像素位距离中最小的像素位距离确定为第一目标像素位对应的目标距离,其中,宽度优先搜索算法对不同的游戏场景具有普适性,会避免在大游戏场景时导致栈溢出等问题。考虑到宽度优先搜索必须借用数据结构队列,为了规避实现队列的复杂性,该实施例可以利用两个数组代替队列。可选地,利用数组的遍历过程如下:每次遍历A数组时,将A数组中每个元素的后继节点放入B数组,遍历完A数组后清空A数组,然后再遍历B数组,将B数组中每个元素后继节点放入A数组,遍历完B数组后清空B数组,然后再遍历A数组,如此循环往复,其中,A数组和B数组存储的是遍历的结果。因为是游戏运行的预处理,在预处理完之后可以直接释放数组,因而不需要考虑空间的成本。
可选地,在该实施例中,当遍历到第一目标像素位对应的标识信息时,在第一矩阵中查找第一标识信息。由于预设对象通过第一标识信息进行标识,因而查找预设对象对应的像素位。当在第一矩阵中查找到第一个第一标识信息时,获取第一目标像素位对应的标识信息与第一个第一标识信息之间的第一距离,并将第一距离作为第一目标像素位与第一预设对象对应的像素位之间的第一像素位距离,其中,第一个第一标识信息用于标识第一预设对象。当在第一矩阵中查找到第二个第一标识信息时,获取第一目标像素位对应的标识信息与第二个第一标识信息之间的第二距离,并将第二距离作为第一目标像素位与第二预设对象对应的像素位之间的第二像素位距离,其中,第二个第一标识信息用于标识第二预设对象。
需要说明的是,上述宽度优先搜索算法仅为本发明实施例的优选实施方式,并不限于本发明实施例获取标识信息对应的像素位与所有像素位之间的像素位距离仅限于上述方式,任何可以实现获取标识信息对应的像素位与所有像素位之间的像素位距离,进而获取到每一个像素位对应的目标距离的方法都在本发明的保护范围之内,此处不再一一举例说明。
该实施例通过当遍历到第一个第一标识信息时,通过宽度优先搜索算法获取第一个第一标识信息对应的像素位与所有像素位之间的像素位距离;当遍历到第二个第一标识信息时,通过宽度优先搜索算法获取第二个第一标识信息对应的像素位与所有像素位之间的像素位距离,实现了获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离的目的。
作为一种可选的实施方式,步骤S208,根据重合区域对第一目标对象进行预设处理包括:对第一目标对象的重合区域进行半透明处理。
在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域,在根据重合区域对第一目标对象进行预设处理时,可以对第一目标对象的重合区域进行半透明处理,也即,以表明第一目标对象在第二目标对象的后面。
作为一种可选的实施方式,在步骤S204,获取第一位置与第二位置之间的预先存储的目标距离之后,在目标距离不小于第一目标对象在游戏场景中的预设尺寸的情况下,在游戏场景中正常绘制第一目标对象对应的游戏画面,从而确保游戏画面中的第一目标对象正常显示。
实施例2
下面结合优选的实施例对本发明的技术方案进行说明,具体以第一目标对象为游戏对象actor,第二目标对象为mask区域进行举例说明。
在游戏场景中,游戏人物和物体之间的前后关系在二维和三维游戏中具有不同的处理方式,三维游戏可以利用深度解决这个问题,而二维游戏没有深度概念,所以只能通过提前标记一些区域,并规定当游戏人物处于这些区域时,对其做些半透效果等特殊化处理,以表明该人物是在物体后面。
图7是根据本发明实施例的一种目标对象的处理方法的流程图。如图7所示,该方法包括以下步骤:
步骤S701,用矩阵形式表示游戏场景中的所有像素位。
在游戏运行之前,先用矩阵表示场景中的所有像素位。
步骤S702,在矩阵中,将游戏场景中的所有mask区域用“1”表示,将非mask区域的矩阵位置都标记为0。
在用矩阵形式表示游戏场景中的所有像素位时,将mask区域的矩阵位置都标记为1,非mask区域的矩阵位置都标记为0。
步骤S703,遍历矩阵,查找矩阵中标识为“1”的位置。
在将游戏场景中的所有mask区域用“1”表示,将非mask区域的矩阵位置都标记为0之后,遍历矩阵,查找矩阵中标识为“1”的位置。
步骤S704,利用宽度优先搜索提前计算出每一个像素和mask区域的像素位距离。
在遍历矩阵,查找到矩阵中标识为“1”的位置时,利用宽度优先搜索提前计算出每一个像素位和mask区域的像素位之间的像素位距离。
步骤S705,找出每个像素位和最近mask区域的像素位之间的像素位距离。
找出每个像素位和最近mask区域的像素位之间的像素位距离,并存储下来。
步骤S706,获取actor进入游戏场景中的目标像素位。
当游戏物actor进入游戏场景中的某个像素位时,直接取出该像素和最近mask区域的像素位距离,时间复杂度为O(1)。
步骤S707,获取目标像素位与距离目标像素位最近的mask区域的像素位之间的目标距离。
在获取actor进入游戏场景中的目标像素位之后,获取目标像素位与距离目标像素位最近的mask区域的像素位之间的目标距离。
步骤S708,判断目标距离是否比actor自身的大小大。
在获取目标像素位与距离目标像素位最近的mask区域的像素位之间的目标距离之后,判断目标距离是否比actor自身的大小大。如果判断目标距离比actor自身的大小大,则执行步骤S709,如果判断出目标距离小于等于actor自身的大小,则执行步骤S710。
步骤S709,正常绘制actor。
如果判断目标距离比actor自身的大小大,正常绘制actor。
步骤S710,半透绘制actor。
如果判断目标距离小于等于actor自身,则说明actor在某些mask区域中,对actor做半透效果等。
该实施例采用宽度优先搜索,是因为其对不同的游戏场景大小具有普适性,其它的譬如深度优先搜索,在大场景时会导致栈溢出等问题。考虑到宽度优先搜索必须借用数据结构队列,为了规避实现队列的复杂性,本文该实施例直接释放数组,所以不需要考虑空间成本。利用数组的遍历过程如下:每次遍历A数组时,将A数组中每个元素后继节点放入B数组,遍历完A数组后清空A数组,然后再遍历B数组,将B数组中每个元素后继节点放入A数组,遍历完B数组后清空B数组,然后再遍历A数组,如此循环往复。
该实施例在游戏画面的显示过程中,利用宽度优先搜索,提前判断每个像素和mask区域之间距离关系,使得判断actor是否在mask区域的时间复杂度降为O(1),从而快速判断actor是否在mask区域,进而通过判断游戏对象actor是否在mask区域来确定对actor的绘制方式。
实施例3
本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述目标对象的处理方法的一种可选的具体应用。
在该实施例中,假设游戏场景由3*3共9个像素位组成。用矩阵表示该游戏场景中的所有像素位,可以用“0”表示游戏场景中的非mask区域的像素,用“1”表示游戏场景中的mask区域的像素位。表1为一种对场景实例中的像素位进行标识的标识表。
表1 对场景实例中的像素位进行标识的标识表
0 | 1 | 0 |
0 | 0 | 0 |
1 | 0 | 0 |
在表1中,游戏场景中的mask区域只有两个,分别为第一行第二列的像素位(1,2)和第三行第一列的像素位(3,1),其它为游戏场景中的非mask区域。遍历表1中所有的像素位的标识信息,如果像素位的标识信息为1,开始宽度优先搜索所有像素点,计算标识信息为1对应的像素位和其他所有像素位之间的距离。
首先,采用宽度优先搜索像素位(1,2)和其他所有像素位之间的距离。
表2 像素位(1,2)和其他所有像素位之间的距离表
采用宽度优先搜索像素位(1,2)和其他所有像素位之间的距离。如表2所示,设定矩阵中元素与元素之间的距离单位为“1”,则:
像素位(1,1)与像素位(1,2)之间的距离为1;
像素位(1,2)与像素位(1,2)之间的距离为0;
像素位(1,3)与像素位(1,2)之间的距离为1;
像素位(2,1)与像素位(1,2)之间的距离为
像素位(2,2)与像素位(1,2)之间的距离为1;
像素位(2,3)与像素位(1,2)之间的距离为
像素位(3,1)与像素位(1,2)之间的距离为
像素位(3,2)与像素位(1,2)之间的距离为2;
像素位(3,3)与像素位(1,2)之间的距离为
然后,采用宽度优先搜索像素位(3,1)和其他所有像素位之间的距离。
表3 像素位(3,1)和其他所有像素位之间的距离表
采用宽度优先搜索像素位(3,1)和所有其他像素的像素位距离,如表3所示:
像素位(1,1)与像素位(3,1)之间的距离为2;
像素位(1,2)与像素位(3,1)之间的距离为
像素位(1,3)与像素位(3,1)之间的距离为
像素位(2,1)与像素位(3,1)之间的距离为1;
像素位(2,2)与像素位(3,1)之间的距离为
像素位(2,3)与像素位(3,1)之间的距离为
像素位(3,1)与像素位(3,1)之间的距离为0;
像素位(3,2)与像素位(3,1)之间的距离为1;
像素位(3,3)与像素位(3,1)之间的距离为2。
然后对每个像素位,查询表2和表3(需要说明的是,在实际算法中,实时比较,每次计算出一个距离dis即和最小的距离minDis进行比较,这里为了展示方便用两个表说明),比较其与像素位(1,2)之间的像素位距离dis1和其与像素位(3,1)之间的像素位距离dis2,得到每个像素位和最近mask区域的像素位之间的最短距离minDis。
表4 每个像素位和最近mask区域的像素位之间的最短距离minDis表
表4为一种每个像素位和最近mask区域的像素位之间的最短距离minDis表,如表4所示:
第一行第一列中的“1”由表2中的像素位(1,1)与像素位(1,2)之间的距离1与表3中的像素位(1,1)与像素位(3,1)之间的距离2中取最小值1得到;
第一行第二列中的“0”由表2中的像素位(1,2)与像素位(1,2)之间的距离0与表3中的像素位(1,2)与像素位(3,1)之间的距离中取最小值0得到;
第一行第三列中的“1”由表2中的像素位(1,3)与像素位(1,2)之间的距离1与表3中的像素位(1,3)与像素位(3,1)之间的距离中取最小值1得到;
第二行第一列中的“1”由表2中的像素位(2,1)与像素位(1,2)之间的距离与表3中的像素位(2,1)与像素位(3,1)之间的距离1中取最小值1得到;
第二行第二列中的“1”由表2中的像素位(2,2)与像素位(1,2)之间的距离1与表3中的像像素位(2,2)与像素位(3,1)之间的距离中取最小值1得到;
第二行第三列中的由表2中的像素位(2,3)与像素位(1,2)之间的距离与表3中的像素位(2,3)与像素位(3,1)之间的距离之间的距离中取最小值得到;
第三行第一列中的“0”由表2中的像像素位(3,1)与像素位(1,2)之间的距离与表3中的像素位(3,1)与像素位(3,1)之间的距离0中取最小值0得到;
第三行第二列中的“1”由表2中的像素位(3,2)与像素位(1,2)之间的距离2与表3中的像素位(3,2)与像素位(3,1)之间的距离1中取最小值1得到;
第三行第三列中的“2”由表2中的像素位(3,3)与像素位(1,2)之间的距离与表3中的像素位(3,3)与像素位(3,1)之间的距离2中取最小值2得到。
举例而言,actor自身的大小为1.5,如果actor在游戏场景中的位置对应于矩阵中的第一行第一列(1,1),则O(1)查询到actor对应的像素位与距离actor对应的像素位最近的mask区域对应的像素位之间的距离为1,该距离1小于actor大小1.5,所以actor处于mask区域,对actor进行半透处理;再比如,如果actor在游戏场景中的位置对应于矩阵中的第三行第三列(3,3),O(1)查询到actor对应的像素位与距离actor对应的像素位最近的mask区域对应的像素位之间的距离为2,该距离2大于actor自身大小1.5,所以actor不处于mask区域,对actor进行正常绘制即可。
该实施例在游戏画面显示过程中,需要判断actor是否在mask区域来决定actor绘制方式,可以采用宽度优先搜索,提前判断每个像素和mask区域之间距离关系,使得判断actor是否在mask区域的时间复杂度降为O(1),进而达到快速判断actor是否在mask区域的技术效果,从而大大提高了画面的流畅度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例4
根据本发明实施例,还提供了一种用于实施上述目标对象的处理方法的目标对象的处理装置。图8是根据本发明实施例的一种目标对象的处理装置的示意图。如图8所示,该装置可以包括:第一确定单元10、第一获取单元20、第二确定单元30和第一处理单元40。
第一确定单元10,用于确定第一目标对象进入游戏场景中的第一位置。
第一获取单元20,用于获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象。
第二确定单元30,用于在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域。
第一处理单元40,用于根据重合区域对第一目标对象进行预设处理。
图9是根据本发明实施例的另一种目标对象的处理装置的示意图。如图9所示,该装置可以包括:第一确定单元10、第一获取单元20、第二确定单元30和第一处理单元40。其中,第一确定单元10包括:第一确定模块11,第一获取单元20包括:第一获取模块21。
需要说明的是,该实施例的第一确定单元10、第一获取单元20、第二确定单元30和第一处理单元40与图8所示实施例的目标对象的处理装置中的作用相同,此处不再赘述。
第一确定模块11,用于确定第一目标对象进入游戏场景中的第一目标像素位,其中,第一位置包括第一目标像素位。
第一获取模块21,用于获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的像素位距离当作目标距离,其中,第二位置包括第二目标像素位。
图10是根据本发明实施例的另一种目标对象的处理装置的示意图。如图10所示,该装置可以包括:第一确定单元10、第一获取单元20、第二确定单元30和第一处理单元40。其中,第一确定单元10包括:第一确定模块11,第一获取单元20包括:第一获取模块21。该装置还包括:第二获取单元50、第三获取单元60、第三确定单元70和存储单元80。
需要说明的是,该实施例的第一确定单元10、第一获取单元20、第二确定单元30、第一处理单元40,第一确定模块11和第一获取模块21与图9所示实施例的目标对象的处理装置中的作用相同,此处不再赘述。
第二获取单元50,用于在获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,获取游戏场景中的所有像素位和多个预设对象,其中,所有像素位包括第一目标像素位、多个预设对象对应的像素位,多个预设对象包括第二目标对象。
第三获取单元60,用于获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离。
第三确定单元70,用于从多个像素位距离中确定每个像素位对应的目标距离,其中,每个像素位对应的目标距离为每个像素位与多个预设对象中距离每个像素位最近的预设对象对应的像素位之间的像素位距离。
存储单元80,用于存储每个像素位对应的目标距离。
图11是根据本发明实施例的一种目标对象的处理装置的示意图。如图11所示,该装置可以包括:第一确定单元10、第一获取单元20、第二确定单元30和第一处理单元40。其中,第一确定单元10包括:第一确定模块11,第一获取单元20包括:第一获取模块21。该装置还包括:第二获取单元50、第三获取单元60、第三确定单元70和存储单元80。该装置还包括:第四获取单元90和标识单元100。
需要说明的是,该实施例的第一确定单元10、第一获取单元20、第二确定单元30、第一处理单元40、第一确定模块11、第一获取模块21、第二获取单元50、第三获取单元60、第三确定单元70和存储单元80与图10所示实施例的目标对象的处理装置中的作用相同,此处不再赘述。
第四获取单元90,用于在获取游戏场景中的所有像素位和多个预设对象之后,获取用于表示所有像素位的第一矩阵。
标识单元100,用于在第一矩阵上,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位,第三目标像素位包括第一目标像素位。
图12是根据本发明实施例的另一种目标对象的处理装置的示意图。如图12所示,该装置可以包括:第一确定单元10、第一获取单元20、第二确定单元30和第一处理单元40。其中,第一确定单元10包括:第一确定模块11,第一获取单元20包括:第一获取模块21。该装置还包括:第二获取单元50、第三获取单元60、第三确定单元70和存储单元80。该装置还包括:第四获取单元90和标识单元100。其中,第三获取单元60包括:遍历模块61、第二获取模块62和第三获取模块63。
需要说明的是,该施例的第一确定单元10、第一获取单元20、第二确定单元30和第一处理单元40,第一确定模块11、第一获取模块21,第二获取单元50、第三获取单元60、第三确定单元70和存储单元80,第四获取单元90和标识单元100与图11所示实施例的目标对象的处理装置中的作用相同,此处不再赘述。
遍历模块61,用于遍历第一矩阵中的所有像素位对应的标识信息。
第二获取模块62,当遍历到第一个第一标识信息时,通过宽度优先搜索算法获取第一个第一标识信息对应的像素位与所有像素位之间的像素位距离。
第三获取模块63,当遍历到第二个第一标识信息时,通过宽度优先搜索算法获取第二个第一标识信息对应的像素位与所有像素位之间的像素位距离。
可选地,对于上述任意一项装置,第一处理单元40包括:半透明处理模块,用于对第一目标对象的重合区域进行半透明处理。
可选地,对于上述任意一项装置,该装置还包括:第二处理单元,用于在获取第一位置与第二位置之间的预先存储的目标距离之后,在目标距离不小于第一目标对象在游戏场景中的预设尺寸的情况下,在游戏场景中正常绘制第一目标对象对应的游戏画面。
需要说明的是,该实施例中的第一确定单元10可以用于执行本申请实施例1中的步骤S202,该实施例中的第一获取单元20可以用于执行本申请实施例1中的步骤S204,该实施例中的第二确定单元30可以用于执行本申请实施例1中的步骤S206,该实施例中的第一处理单元40可以用于执行本申请实施例1中的步骤S208。
通过上述单元和模块,通过第一确定单元10确定第一目标对象进入游戏场景中的第一位置,通过第一获取单元20获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象,通过第二确定单元30在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域,通过第一处理单元40根据重合区域对第一目标对象进行预设处理,由于当第一目标对象进入游戏场景中的第一位置时,直接获取第一位置与第二位置之间预先存储的目标距离,达到了快速确定第一目标对象是否与第二目标对象重合的目的,可以解决了相关技术中对目标对象的处理过程非常耗时的技术问题,进而达到了对第一目标对象进行快速处理的技术效果。
此处需要说明的是,上述单元和模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。其中,硬件环境包括网络环境。
实施例5
根据本发明实施例,还提供了一种用于实施上述目标对象的处理方法的服务器或终端。
图13是根据本发明实施例的一种终端的结构框图。如图13所示,该终端可以包括:一个或多个(图中仅示出一个)处理器131、存储器133、以及传输装置135,如图13所示,该终端还可以包括输入输出设备137。
其中,存储器133可用于存储软件程序以及模块,如本发明实施例中的目标对象的处理方法和装置对应的程序指令/模块,处理器131通过运行存储在存储器133内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的目标对象的处理方法。存储器133可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器133可进一步包括相对于处理器131远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置135用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置135包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置135为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器133用于存储应用程序。
处理器131可以通过传输装置135调用存储器133存储的应用程序,以执行下述步骤:
确定第一目标对象进入游戏场景中的第一位置;
获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;
在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;
根据重合区域对第一目标对象进行预设处理。
处理器131还用于执行下述步骤:确定第一目标对象进入游戏场景中的第一目标像素位,其中,第一位置包括第一目标像素位;获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的像素位距离当作目标距离,其中,第二位置包括第二目标像素位。
处理器131还用于执行下述步骤:在获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,获取游戏场景中的所有像素位和多个预设对象,其中,所有像素位包括第一目标像素位、多个预设对象对应的像素位,多个预设对象包括第二目标对象;获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离;从多个像素位距离中确定每个像素位对应的目标距离,其中,每个像素位对应的目标距离为每个像素位与多个预设对象中距离每个像素位最近的预设对象对应的像素位之间的像素位距离;存储每个像素位对应的目标距离。
处理器131还用于执行下述步骤:在获取游戏场景中的所有像素位和多个预设对象之后,获取用于表示所有像素位的第一矩阵;在第一矩阵上,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位,第三目标像素位包括第一目标像素位。
处理器131还用于执行下述步骤:当遍历到第一个第一标识信息时,通过宽度优先搜索算法获取第一个第一标识信息对应的像素位与所有像素位之间的像素位距离;当遍历到第二个第一标识信息时,通过宽度优先搜索算法获取第二个第一标识信息对应的像素位与所有像素位之间的像素位距离。
处理器131还用于执行下述步骤:对第一目标对象的重合区域进行半透明处理。
处理器131还用于执行下述步骤:在获取第一位置与第二位置之间的预先存储的目标距离之后,在目标距离不小于第一目标对象在游戏场景中的预设尺寸的情况下,在游戏场景中正常绘制第一目标对象对应的游戏画面。
采用本发明实施例,提供了一种目标对象的处理方法。通过确定第一目标对象进入游戏场景中的第一位置;获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;根据重合区域对第一目标对象进行预设处理的方式。由于当第一目标对象进入游戏场景中的第一位置时,直接获取第一位置与第二位置之间预先存储的目标距离,达到了快速确定第一目标对象是否与第二目标对象重合的目的,可以解决了相关技术中对目标对象的处理过程非常耗时的技术问题,进而达到了对第一目标对象进行快速处理的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图13所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图13其并不对上述电子装置的结构造成限定。例如,终端还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例6
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行目标对象的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
确定第一目标对象进入游戏场景中的第一位置;
获取第一位置与第二位置之间的预先存储的目标距离,其中,第二位置为第二目标对象在游戏场景中所处的位置,第二目标对象为游戏场景中距离第一目标对象最近的对象;
在目标距离小于第一目标对象在游戏场景中的预设尺寸的情况下,确定第一目标对象与第二目标对象具有重合区域;
根据重合区域对第一目标对象进行预设处理。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:确定第一目标对象进入游戏场景中的第一目标像素位,其中,第一位置包括第一目标像素位;获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的像素位距离当作目标距离,其中,第二位置包括第二目标像素位。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在获取第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,获取游戏场景中的所有像素位和多个预设对象,其中,所有像素位包括第一目标像素位、多个预设对象对应的像素位,多个预设对象包括第二目标对象;获取每个像素位分别与多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离;从多个像素位距离中确定每个像素位对应的目标距离,其中,每个像素位对应的目标距离为每个像素位与多个预设对象中距离每个像素位最近的预设对象对应的像素位之间的像素位距离;存储每个像素位对应的目标距离。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在获取游戏场景中的所有像素位和多个预设对象之后,获取用于表示所有像素位的第一矩阵;在第一矩阵上,通过第一标识信息标识多个预设对象对应的像素位,且通过第二标识信息标识所有像素位中除多个预设对象对应的像素位之外的第三目标像素位,第三目标像素位包括第一目标像素位。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:当遍历到第一个第一标识信息时,通过宽度优先搜索算法获取第一个第一标识信息对应的像素位与所有像素位之间的像素位距离;当遍历到第二个第一标识信息时,通过宽度优先搜索算法获取第二个第一标识信息对应的像素位与所有像素位之间的像素位距离。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对第一目标对象的重合区域进行半透明处理。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在获取第一位置与第二位置之间的预先存储的目标距离之后,在目标距离不小于第一目标对象在游戏场景中的预设尺寸的情况下,在游戏场景中正常绘制第一目标对象对应的游戏画面。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个第一处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种目标对象的处理方法,包括:确定第一目标对象进入游戏场景中的第一位置;在目标距离小于所述第一目标对象在所述游戏场景中的预设尺寸的情况下,确定所述第一目标对象与第二目标对象具有重合区域;根据所述重合区域对所述第一目标对象进行预设处理,其特征在于,
在确定所述第一目标对象与所述第二目标对象具有重合区域之前,还包括:获取所述第一位置与第二位置之间的预先存储的所述目标距离,其中,所述第二位置为所述第二目标对象在所述游戏场景中所处的位置,所述第二目标对象为所述游戏场景中距离所述第一目标对象最近的对象。
2.根据权利要求1所述的方法,其特征在于,
确定所述第一目标对象进入所述游戏场景中的第一位置包括:确定所述第一目标对象进入所述游戏场景中的第一目标像素位,其中,所述第一位置包括所述第一目标像素位;
获取所述第一位置与所述第二位置之间的预先存储的所述目标距离包括:获取所述第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的所述像素位距离作为所述目标距离,其中,所述第二位置包括所述第二目标像素位。
3.根据权利要求2所述的方法,其特征在于,在获取所述第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,所述方法还包括:
获取所述游戏场景中的所有像素位和多个预设对象,其中,所述所有像素位包括所述第一目标像素位、所述多个预设对象对应的像素位,所述多个预设对象包括所述第二目标对象;
获取每个像素位分别与所述多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离;
从所述多个像素位距离中确定所述每个像素位对应的目标距离,其中,所述每个像素位对应的目标距离为所述每个像素位与所述多个预设对象中距离所述每个像素位最近的预设对象对应的像素位之间的像素位距离;
存储所述每个像素位对应的目标距离。
4.根据权利要求3所述的方法,其特征在于,在获取所述游戏场景中的所有像素位和所述多个预设对象之后,所述方法还包括:
获取用于表示所述所有像素位的第一矩阵;
在所述第一矩阵上,通过第一标识信息标识所述多个预设对象对应的像素位,且通过第二标识信息标识所述所有像素位中除所述多个预设对象对应的像素位之外的第三目标像素位,所述第三目标像素位包括所述第一目标像素位。
5.根据权利要求4中所述的方法,其特征在于,获取所述每个像素位分别与所述多个预设对象对应的像素位之间的像素位距离,得到所述多个像素位距离包括:
遍历所述第一矩阵中的所述所有像素位对应的标识信息;
当遍历到第一个所述第一标识信息时,通过宽度优先搜索算法获取第一个所述第一标识信息对应的像素位与所述所有像素位之间的像素位距离;
当遍历到第二个所述第一标识信息时,通过宽度优先搜索算法获取第二个所述第一标识信息对应的像素位与所述所有像素位之间的像素位距离。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,根据所述重合区域对所述第一目标对象进行预设处理包括:
对所述第一目标对象的重合区域进行半透明处理。
7.根据权利要求1至5中任意一项所述的方法,其特征在于,在获取所述第一位置与第二位置之间的预先存储的目标距离之后,所述方法还包括:
在所述目标距离不小于所述第一目标对象在所述游戏场景中的预设尺寸的情况下,在所述游戏场景中正常绘制所述第一目标对象对应的游戏画面。
8.一种目标对象的处理装置,包括:第一确定单元,用于确定第一目标对象进入游戏场景中的第一位置;第二确定单元,用于在目标距离小于所述第一目标对象在所述游戏场景中的预设尺寸的情况下,确定所述第一目标对象与第二目标对象具有重合区域;第一处理单元,用于根据所述重合区域对所述第一目标对象进行预设处理,其特征在于,还包括:
第一获取单元,用于获取所述第一位置与第二位置之间的预先存储的所述目标距离,其中,所述第二位置为所述第二目标对象在所述游戏场景中所处的位置,所述第二目标对象为所述游戏场景中距离所述第一目标对象最近的对象。
9.根据权利要求8所述的装置,其特征在于,
所述第一确定单元包括:第一确定模块,用于确定所述第一目标对象进入所述游戏场景中的第一目标像素位,其中,所述第一位置包括所述第一目标像素位;
所述第一获取单元包括:第一获取模块,用于获取所述第一目标像素位与第二目标像素位之间的预先存储的像素位距离,并将获取的所述像素位距离作为所述目标距离,其中,所述第二位置包括所述第二目标像素位。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于在获取所述第一目标像素位与第二目标像素位之间的预先存储的像素位距离之前,获取所述游戏场景中的所有像素位和多个预设对象,其中,所述所有像素位包括所述第一目标像素位、所述多个预设对象对应的像素位,所述多个预设对象包括所述第二目标对象;
第三获取单元,用于获取每个像素位分别与所述多个预设对象对应的像素位之间的像素位距离,得到多个像素位距离;
第三确定单元,用于从所述多个像素位距离中确定所述每个像素位对应的目标距离,其中,所述每个像素位对应的目标距离为所述每个像素位与所述多个预设对象中距离所述每个像素位最近的预设对象对应的像素位之间的像素位距离;
存储单元,用于存储所述每个像素位对应的目标距离。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第四获取单元,用于在获取所述游戏场景中的所有像素位和所述多个预设对象之后,获取用于表示所述所有像素位的第一矩阵;
标识单元,用于在所述第一矩阵上,通过第一标识信息标识所述多个预设对象对应的像素位,且通过第二标识信息标识所述所有像素位中除所述多个预设对象对应的像素位之外的第三目标像素位,所述第三目标像素位包括所述第一目标像素位。
12.根据权利要求11中所述的装置,其特征在于,所述第三获取单元包括:
遍历模块,用于遍历所述第一矩阵中的所述所有像素位对应的标识信息;
第二获取模块,用于当遍历到第一个所述第一标识信息时,通过宽度优先搜索算法获取第一个所述第一标识信息对应的像素位与所述所有像素位之间的像素位距离;
第三获取模块,用于通过宽度优先搜索算法获取第二个所述第一标识信息对应的像素位与所述所有像素位之间的像素位距离。
13.根据权利要求8至12中任意一项所述的装置,其特征在于,所述第一处理单元包括:
半透明处理模块,用于对所述第一目标对象的重合区域进行半透明处理。
14.根据权利要求8至12中任意一项所述的装置,其特征在于,所述装置还包括:
第二处理单元,用于在获取所述第一位置与第二位置之间的预先存储的目标距离之后,在所述目标距离不小于所述第一目标对象在所述游戏场景中的预设尺寸的情况下,在所述游戏场景中正常绘制所述第一目标对象对应的游戏画面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710332072.XA CN107233733B (zh) | 2017-05-11 | 2017-05-11 | 目标对象的处理方法和装置 |
PCT/CN2018/085340 WO2018205872A1 (zh) | 2017-05-11 | 2018-05-02 | 目标对象的处理方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710332072.XA CN107233733B (zh) | 2017-05-11 | 2017-05-11 | 目标对象的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107233733A CN107233733A (zh) | 2017-10-10 |
CN107233733B true CN107233733B (zh) | 2018-07-06 |
Family
ID=59985517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710332072.XA Active CN107233733B (zh) | 2017-05-11 | 2017-05-11 | 目标对象的处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107233733B (zh) |
WO (1) | WO2018205872A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107233733B (zh) * | 2017-05-11 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 目标对象的处理方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7336276B2 (en) * | 2000-12-14 | 2008-02-26 | Sega Corporation | Game device, recording medium, and image processing method for displaying a projected image object |
TWI387473B (zh) * | 2008-04-03 | 2013-03-01 | Hon Hai Prec Ind Co Ltd | 物件碰撞檢測系統及方法 |
WO2011091717A1 (en) * | 2010-01-29 | 2011-08-04 | The Hong Kong University Of Science And Technology | Architectural pattern detection and modeling in images |
CN102662292B (zh) * | 2012-04-20 | 2016-03-02 | Tcl集团股份有限公司 | 一种3d场景成像方法、装置及显示终端 |
KR101459565B1 (ko) * | 2013-04-10 | 2014-11-10 | (주)위메이드엔터테인먼트 | 모바일 게임에서의 스킬 동작 수행방법 및 그 단말장치. |
KR101514178B1 (ko) * | 2014-01-09 | 2015-04-22 | (주)스마일게이트엔터테인먼트 | 온라인 게임의 캐릭터 위치 제어 장치 및 방법 |
KR101494150B1 (ko) * | 2014-01-09 | 2015-02-23 | (주)스마일게이트엔터테인먼트 | 온라인 게임의 게임 승패 결정 방법 및 시스템 |
KR20150110283A (ko) * | 2014-03-21 | 2015-10-02 | 삼성전자주식회사 | 객체들 사이의 충돌을 방지하는 방법 및 장치. |
CN105243268B (zh) * | 2015-09-18 | 2018-06-22 | 网易(杭州)网络有限公司 | 一种游戏地图定位方法、装置及用户终端 |
CN105488851B (zh) * | 2015-11-30 | 2017-07-07 | 腾讯科技(深圳)有限公司 | 实时虚拟场景中碰撞体之间碰撞探测的方法和装置 |
CN106201266B (zh) * | 2016-07-06 | 2019-05-28 | 广东小天才科技有限公司 | 一种虚拟角色移动的控制方法及装置、电子设备 |
CN106582024B (zh) * | 2016-10-14 | 2020-05-29 | 网易(杭州)网络有限公司 | 对象发生撞击的处理方法及装置 |
CN107233733B (zh) * | 2017-05-11 | 2018-07-06 | 腾讯科技(深圳)有限公司 | 目标对象的处理方法和装置 |
-
2017
- 2017-05-11 CN CN201710332072.XA patent/CN107233733B/zh active Active
-
2018
- 2018-05-02 WO PCT/CN2018/085340 patent/WO2018205872A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2018205872A1 (zh) | 2018-11-15 |
CN107233733A (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108629180B (zh) | 异常操作的确定方法和装置、存储介质、电子装置 | |
CN105915650B (zh) | 负载均衡方法和装置 | |
CN107913521B (zh) | 虚拟环境画面的显示方法和装置 | |
US20240241206A1 (en) | Sound source determining method and apparatus, and storage medium | |
CN107042018B (zh) | 控制对象的空间位置确定方法和装置 | |
CN110147710A (zh) | 人脸特征的处理方法、装置和存储介质 | |
CN109618372A (zh) | 数据传输方法及相关装置 | |
US10843081B2 (en) | Method and apparatus for virtual walking | |
CN107103089A (zh) | 对象的匹配方法和装置 | |
CN110149551A (zh) | 媒体文件播放方法和装置、存储介质及电子装置 | |
CN107233733B (zh) | 目标对象的处理方法和装置 | |
CN108452526A (zh) | 游戏故障原因的查询方法和装置、存储介质、电子装置 | |
CN108295470B (zh) | 虚拟应用控制方法和装置、存储介质及电子装置 | |
CN107454040A (zh) | 应用的登录方法和装置 | |
CN103581317B (zh) | 一种网络资源共享的方法 | |
CN108211363A (zh) | 一种信息处理方法及装置 | |
CN114024746A (zh) | 网络报文的处理方法、虚拟交换机以及处理系统 | |
CN103973747B (zh) | 一种获取内容的方法和装置 | |
CN114210065A (zh) | 对象控制方法和装置、存储介质及电子设备 | |
CN108335008A (zh) | 网络信息处理方法和装置、存储介质及电子装置 | |
CN111097170B (zh) | 吸附框的调整方法和装置、存储介质及电子装置 | |
CN106682014A (zh) | 游戏展示数据的生成方法和装置 | |
CN109999497A (zh) | 虚拟对象的控制方法和装置、存储介质和电子装置 | |
CN107609065A (zh) | 一种游戏分类方法、装置及电子设备 | |
CN108710514A (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 |