200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 游戏对象的控制方法 装置 可读存储介质及电子设备与流程

游戏对象的控制方法 装置 可读存储介质及电子设备与流程

时间:2020-06-23 13:35:07

相关推荐

游戏对象的控制方法 装置 可读存储介质及电子设备与流程

本申请属于电子游戏技术领域,具体涉及一种游戏对象的控制方法、装置、可读存储介质及电子设备。

背景技术:

目前,随着智能手机及移动互联网的发展,手机网络游戏成为了当前又一热点领域,一些经典手机单机游戏进行网络对战化开发后,重新焕发了活力,受到玩家的追捧。例如,将经典的贪吃蛇游戏进行再开发,在传统玩法的基础上增加了网络对战要素,实现多个玩家操作各自的贪之蛇进行对战,来增加游戏的可玩性。

但传统的贪吃蛇开发实现中,贪之蛇移动功能的实现中,需根据玩家操作的方向,计算蛇头的节点的下一个位置的坐标并渲染在屏幕上,蛇头后面的节点依次获取它们前一个节点坐标和方向并以此更新自己的坐标和方向并渲染在屏幕上,来最终完成一帧的移动。该种实现方法,蛇越长计算时间越长,容易造成游戏画面卡顿,特别是针对多蛇对抗的场景,游戏卡顿会严重影响玩家的体验。

技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供游戏对象的控制方法、装置、可读存储介质及电子设备,有助于降低游戏实现中的计算量,高效实现游戏对象的移动。

为实现以上目的,本申请采用如下技术方案:

第一方面,

本申请提供一种游戏对象的控制方法,适用于蛇形游戏模型的移动实现和增长实现,游戏模型映射为一节点数组,节点数组中数组元素与模型的各节点一一对应;针对移动实现,在每一渲染帧前的逻辑计算中:

读取模型头部节点所对应的第一数组元素;

基于所述第一数组元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标;

基于所述新坐标对模型尾部节点所对应的第二数组元素进行更新,将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前。

可选地,数组元素包含有用于存储节点方向角的方向域,以及存储节点坐标的坐标域,所述基于所述第一数组位置元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标,具体为,

计算所述第一数组元素方向域中节点方向角的正、余弦值;

将所述余弦值与所述固定间距相乘得到横坐标变化值,将所述正弦值与所述固定间距相乘得到纵坐标变化值;

将所述第一数组元素坐标域中横、纵坐标分别对应与所述横坐标变化值、纵坐标变化值相加,以计算得到下一渲染时刻模型头部节点的新坐标。

可选地,所述第一数组元素方向域中的节点方向角为模型头部节点运动方向与坐标轴的夹角,模型头部节点运动方向基于用户输入的操控指令确定。

可选地,基于所述新坐标对模型尾部节点所对应的第二数组元素进行更新,具体为,

将所述第二数组元素坐标域中的坐标值更新为所述新坐标的值,将所述第二数组元素方向域中的节点方向角值更新为第一数组元素方向域中的节点方向角值。

可选地,针对增长实现,在每一渲染帧前的逻辑计算中:

读取模型尾部第一位置节点对应的第三数组元素,以及模型尾部第二位置节点所对应的第四数组元素;

根据所述第三数组元素和第四数组元素所包含的坐标信息,确定模型尾部的指向;

根据所述指向和所述第三数组元素包含的坐标信息,以及模型节点间的固定间距,计算得到新增节点的坐标;

根据所述新增节点的坐标创建新增节点对应的数组元素,将该数组元素添加到节点数组中第三数组元素之后。

可选地,所述基于所述第三数组元素和第四数组元素所包含的坐标信息,确定模型尾部的指向,具体为,

对应计算所述第四数组元素和第三数组元素的横坐标的差值及纵坐标的差值;

基于正切三角函数,根据得到的纵坐标差值与横坐标差值的比值,计算得到模型尾部指向与坐标轴的方向夹角,以确定模型尾部的指向。

可选地,所述根据所述指向和所述第三数组元素包含的坐标信息,以及模型节点间的固定间距,计算得到新增节点的坐标,具体为,

计算所述方向夹角的正、余弦值;

将方向夹角的余弦值与所述固定间距相乘得到横坐标增长值,将方向夹角的正弦值与所述固定间距相乘得到纵坐标增长值;

将所述第三数组元素所包含的节点横、纵坐标分别对应与所述横坐标增长值、纵坐标增长值相加,以计算得到新增节点的坐标。

第二方面,

本申请提供一种游戏对象的控制装置,包括:

读取模块,用于读取模型头部节点所对应的第一数组元素;

计算模块,用于基于所述第一数组元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标;

更新操作模块,用于基于所述新坐标对模型尾部节点所对应的第二数组元素进行更新,将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前。

第三方面,

本申请提供一种可读存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现上述所述方法的步骤。

第四方面,

本申请提供一种电子设备,包括:

存储器,其上存储有可执行程序;

处理器,用于执行所述存储器中的所述可执行程序,以实现上述所述方法的步骤。

本申请采用以上技术方案,至少具备以下有益效果:

针对蛇形游戏模型的移动实现,本发明的技术方案,在每一帧移动中,通过将蛇的尾部节点拼接到蛇头部,在逻辑计算只涉及头、尾两个节点,跟蛇长度没有关系,可大幅减少移动实现中逻辑计算带来的性能消耗,减少卡顿和发热,保证用户的游戏体验。

本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方案,但并不构成对本申请技术方案的限制。

图1为本申请一个实施例提供的游戏对象的控制方法中移动实现的流程示意图;

图2为本申请一个实施例中模型移动实现的说明示意图;

图3为本申请一个实施例中模型增长实现的说明示意图;

图4为本申请一个实施例提供的游戏对象的控制装置的结构示意图;

图5为本申请一个实施例提供的电子设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

如背景技术中所述,现有贪之蛇游戏中,蛇移动的实现,蛇越长计算时间越长,容易造成游戏画面卡顿,在多蛇对抗的场景中,这种卡顿会严重影响玩家的体验。

针对现有技术中的上述问题,本申请提供一种游戏对象的控制方法,适用于蛇形游戏模型的移动实现和增长实现。下面以一实施例对本发明中的控制方法进行说明。

在该实施例中,游戏为贪之蛇游戏,游戏模型映射为一节点数组,节点数组中数组元素与模型的各节点一一对应。

众所周知,游戏中模型的移动和增长实现涉及相关图形的逻辑计算和渲染显示。本申请中技术方案,如图1和图2所示,针对移动实现,在每一渲染帧前的逻辑计算中,分别执行以下步骤:

步骤s110,读取模型头部节点1所对应的第一数组元素;

步骤s120,基于第一数组元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标;

具体的,该实施例中,节点数组中的数组元素包含有用于存储节点方向角的方向域,以及存储节点坐标的坐标域。这里的节点方向角为节点运动方向与坐标轴的夹角,节点坐标为模型节点在显示区域的xy平面坐标系中的绝对坐标。

且容易理解的是,模型头部节点1对应的第一数组元素的方向域中的节点方向角为模型头部节点运动方向与坐标轴的夹角,而模型头部节点运动方向基于用户输入的操控指令确定,即根据用户输入的转向操控指令和头部节点原有运动方向来计算确定。

例如,该实施例中,第一数组元素坐标域中存储有节点坐标(x1,y1),第一数组元素方向域中存储有节点方向角a(如图2所示,头部节点确定后的运动方向为垂直向上,则a为90度),则步骤s120中计算得到下一渲染时刻模型头部节点的新坐标,具体过程为,

计算第一数组元素方向域中节点方向角的正、余弦值,即计算sina和cosa;

将计算得到的余弦值cosa与固定间距相乘得到横坐标变化值dx,将计算得到正弦值sina与固定间距相乘得到纵坐标变化值dy;

将第一数组元素坐标域中横坐标x1、纵坐标y1分别对应与横坐标变化值dx、纵坐标变化值dy相加,以计算得到下一渲染时刻模型头部节点的新坐标。即计算得到新坐标(x1+dx,y1+dy)。

之后进行步骤s130,基于新坐标对模型尾部节点2所对应的第二数组元素进行更新,将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前。

具体的,在该实施例中,对第二数组元素进行更新具体包括,将第二数组元素坐标域中的坐标值更新为新坐标的值(x1+dx,y1+dy),将第二数组元素方向域中的节点方向角值更新为第一数组元素方向域中的节点方向角值a。之后再将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前,至此逻辑计算完成。

逻辑计算完成后,进行渲染帧,即基于游戏模型所对应的节点数组数据进行渲染显示。这里与现有技术相同,对逻辑计算后的节点数组的各数组元素进行渲染,基于各数组元素包含的数据信息,各节点在该帧中对应显示,从而完成了一帧中的移动实现。

图2所示,为移动实现的说明示意图,如图2中“移动前”、到“移动中”、到“移动后”所示,本申请中一帧中移动实现其实质是通过将蛇的尾部节点拼接到蛇头部。这种拼接,逻辑计算只涉及头、尾两个节点,跟蛇长度没有关系,其他位置节点保持原样不需要计算,可大幅减少移动实现中逻辑计算带来的性能消耗,减少卡顿和发热,保证用户的游戏体验。

类似的,在各个渲染帧间的逻辑计算中重复步骤s110至s130,例如图2中下一帧移动准备之后的逻辑计算中继续重复步骤s110至s130,就可实现游戏对象的连续移动了。

本申请中的游戏对象的控制方法,还包括增长实现,在该实施例中的贪之蛇游戏中,针对增长实现,如图3所示,在每一渲染帧前的逻辑计算中:

首先,读取模型尾部第一位置节点3对应的第三数组元素,以及模型尾部第二位置节点4所对应的第四数组元素;

之后,根据第三数组元素和第四数组元素所包含的坐标信息,确定模型尾部的指向(图3中虚线指向);

具体的,对应计算第四数组元素和第三数组元素的横、纵坐标的差值,例如第三数组元素包含的节点坐标为(x3,y3),第三数组元素包含的节点坐标为(x4,y4),即计算得到纵坐标差值δy=y4-y3,横坐标差值δx=x4-x3;

基于正切三角函数,根据得到的纵坐标差值δy与横坐标差值δx的比值,计算得到模型尾部指向与坐标轴的方向夹角b(即根据tanb=δy/δx计算b),以确定模型尾部的指向。

再之后,根据该指向和第三数组元素包含的坐标信息,以及模型节点间的固定间距,计算得到新增节点5的坐标;

具体的,计算方向夹角的正弦值sinb、余弦值cosb;

将方向夹角的余弦值cosb与固定间距相乘得到横坐标增长值gx,将方向夹角的正弦值sinb与固定间距相乘得到纵坐标增长值gy;

再之后,将第三数组元素所包含的节点横坐标x3、纵坐标y3分别对应与横坐标增长值gx、纵坐标增长值gy相加,以计算得到新增节点的坐标(x5=x3+gx,y5=y3+gy)。

最后,根据新增节点的坐标(x5,y5)创建新增节点对应的数组元素,将该数组元素添加到节点数组中第三数组元素之后,至此逻辑计算完成。

逻辑计算完成后,进行渲染帧,对逻辑计算后的节点数组的各数组元素进行渲染,基于各数组元素包含的数据信息,各节点在该帧中对应显示,从而完成了一帧中的增长实现。

图3所示,为增长实现的说明示意图,如图3中“增长前”、到“增长中”、到“增长后”所示,本申请一帧中增长实现,以蛇最后两个节点确定的方向,将新增节点添加到蛇尾部,蛇头并没有瞬间的长度变化,不会影响玩家对蛇方向的控制,也不会存在现有增长实现中头部长度突然变化影响玩家转向的问题,从而提升了玩家的游戏体验.

图4为本申请一个实施例提供的游戏对象的控制装置的结构示意图,如图4所示,该游戏对象的控制装置400包括:

读取模块401,用于读取模型头部节点所对应的第一数组元素;

计算模块402,用于基于第一数组元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标;

更新操作模块403,用于基于新坐标对模型尾部节点所对应的第二数组元素进行更新,将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前。

关于上述相关实施例中的游戏对象的控制装置400,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

在一个实施例中,本申请提供还一种可读存储介质,其上存储有可执行程序,可执行程序被处理器执行时实现上述方法的步骤。

关于上述实施例中的可读存储介质,其存储的执行程序执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5为本申请一个实施例提供的电子设备的结构示意图,如图5所示,该电子设备500包括:

存储器501,其上存储有可执行程序;

处理器502,用于执行存储器501中的可执行程序,以实现上述方法的步骤。

关于上述实施例中的电子设备500,其处理器502执行存储器501中的程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

技术特征:

1.一种游戏对象的控制方法,适用于蛇形游戏模型的移动实现和增长实现,其特征在于,游戏模型映射为一节点数组,节点数组中数组元素与模型的各节点一一对应;针对移动实现,在每一渲染帧前的逻辑计算中:

读取模型头部节点所对应的第一数组元素;

基于所述第一数组元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标;

基于所述新坐标对模型尾部节点所对应的第二数组元素进行更新,将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前。

2.根据权利要求1所述的控制方法,其特征在于,数组元素包含有用于存储节点方向角的方向域,以及存储节点坐标的坐标域,所述基于所述第一数组位置元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标,具体为,

计算所述第一数组元素方向域中节点方向角的正、余弦值;

将所述余弦值与所述固定间距相乘得到横坐标变化值,将所述正弦值与所述固定间距相乘得到纵坐标变化值;

将所述第一数组元素坐标域中横、纵坐标分别对应与所述横坐标变化值、纵坐标变化值相加,以计算得到下一渲染时刻模型头部节点的新坐标。

3.根据权利要求2所述的控制方法,其特征在于,所述第一数组元素方向域中的节点方向角为模型头部节点运动方向与坐标轴的夹角,模型头部节点运动方向基于用户输入的操控指令确定。

4.根据权利要求2所述的控制方法,其特征在于,基于所述新坐标对模型尾部节点所对应的第二数组元素进行更新,具体为,

将所述第二数组元素坐标域中的坐标值更新为所述新坐标的值,将所述第二数组元素方向域中的节点方向角值更新为第一数组元素方向域中的节点方向角值。

5.根据权利要求1所述的控制方法,其特征在于,针对增长实现,在每一渲染帧前的逻辑计算中:

读取模型尾部第一位置节点对应的第三数组元素,以及模型尾部第二位置节点所对应的第四数组元素;

根据所述第三数组元素和第四数组元素所包含的坐标信息,确定模型尾部的指向;

根据所述指向和所述第三数组元素包含的坐标信息,以及模型节点间的固定间距,计算得到新增节点的坐标;

根据所述新增节点的坐标创建新增节点对应的数组元素,将该数组元素添加到节点数组中第三数组元素之后。

6.根据权利要求5所述的控制方法,其特征在于,所述基于所述第三数组元素和第四数组元素所包含的坐标信息,确定模型尾部的指向,具体为,

对应计算所述第四数组元素和第三数组元素的横坐标的差值及纵坐标的差值;

基于正切三角函数,根据得到的纵坐标差值与横坐标差值的比值,计算得到模型尾部指向与坐标轴的方向夹角,以确定模型尾部的指向。

7.根据权利要求6所述的控制方法,其特征在于,所述根据所述指向和所述第三数组元素包含的坐标信息,以及模型节点间的固定间距,计算得到新增节点的坐标,具体为,

计算所述方向夹角的正、余弦值;

将方向夹角的余弦值与所述固定间距相乘得到横坐标增长值,将方向夹角的正弦值与所述固定间距相乘得到纵坐标增长值;

将所述第三数组元素所包含的节点横、纵坐标分别对应与所述横坐标增长值、纵坐标增长值相加,以计算得到新增节点的坐标。

8.一种游戏对象的控制装置,其特征在于,包括:

读取模块,用于读取模型头部节点所对应的第一数组元素;

计算模块,用于基于所述第一数组元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标;

更新操作模块,用于基于所述新坐标对模型尾部节点所对应的第二数组元素进行更新,将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前。

9.一种可读存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。

10.一种电子设备,其特征在于,包括:

存储器,其上存储有可执行程序;

处理器,用于执行所述存储器中的所述可执行程序,以实现权利要求1-7中任一项所述方法的步骤。

技术总结

本申请涉及游戏对象的控制方法、装置、可读存储介质及电子设备,属于电子游戏技术领域,本申请的控制方法,适用于蛇形游戏模型的移动实现和增长实现;针对移动实现,在每一渲染帧前的逻辑计算中:读取模型头部节点所对应的第一数组元素;基于第一数组元素包含的坐标、方向信息,以及模型节点间的固定间距,计算得到下一渲染时刻模型头部节点的新坐标;基于新坐标对模型尾部节点所对应的第二数组元素进行更新,将更新后的该数组元素摘除并添加到节点数组中第一数组元素之前。本申请可降低移动实现中逻辑计算带来的性能消耗,减少卡顿和发热,保证用户的游戏体验。

技术研发人员:刘志华;方波;唐路遥

受保护的技术使用者:武汉微派网络科技有限公司

技术研发日:.10.31

技术公布日:.02.21

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。