游戏中的刀光设计方法
技术领域
本发明属于信息技术,尤其涉及游戏中的刀光设计方法。
背景技术
目前,随着智能手机的普及,手机游戏业也蓬勃兴起,大量新的游戏不断产生,同时大量旧的游戏被淘汰。游戏在严酷的竞争环境中生存下来,必须具备几个特点:题材好、开发周期短、开发成本低等。其中,缩短开发周期,就必须设计合适的简单算法,在满足一定的效果的前提下,简化开发过程。本发明就涉及一种在类似《水果忍者》中,用户手指滑过触摸屏,产生一个刀光的效果的算法。
发明内容
为了克服上述问题,本发明提供一种算法简单、效果好的游戏中的刀光设计方法。
本发明的技术方案是提供一种游戏中的刀光设计方法,其是一种应用于游戏的根据用户输入的连续轨迹产生刀光效果的方法,其特征在于:其包括以下步骤:
1)根据设定的固定频率采集用户输入的连续轨迹中离散点的坐标,记为a(i),其中1≤i;
2)以上述离散点中的第一个点a(1)为起始点,以离散点a(j)作为中间点,其中1<j;在一经过中间点a(j)的一直线上选择两扩散点,记为b1(j)和b2(j),两扩散点b1(j)和b2(j)分别设置在该中间点a(j)的两侧,且距离该中间点a(j)的距离均为l(j);两扩散点b1(j)和b2(j)之间的连线垂直于该中间点a(j)与其前一个离散点a(j-1)之间的连线;
3)当j=2时,画直线,依次连接a(1)、b1(j)和b2(j),获得一三角形S(j),填充该三角形;当N>j>2时,画直线,依次连接b1(j-1)、b2(j-1)、b2(j)和b1(j)获得一梯形S(j),填充该梯形;当j=N时,画直线依次连接b1(j-1)、b2(j-1)和a(N),获得一三角形S(j),填充该三角形,其中,N为一设定值,N满足:N>10;
4)步骤3)中的S(j)第一次填充时刻为t1(j),此后,持续填充S(j),直至当前时刻t> t1(j)+T时,S(j)停止填充,其中T为预先设定的固定值。
优选的,所述步骤2)中的l(j)满足下列a)和b):
a)递增,1<j≤N/2时;
b)递减,N>j>N/2时。
优选的,其还包括以下步骤:
3.5.1)以离散点a(j)作为中间点,其中1<j;在一经过中间点a(j)的一直线上选择两扩散点,记为c1(j)和c2(j),两扩散点c1(j)和c2(j)分别设置在该中间点a(j)的两侧,且距离该中间点a(j)的距离均为l(j)+L,其中L>0;两扩散点c1(j)和c2(j)之间的连线垂直于该中间点a(j)与其前一个离散点a(j-1)之间的连线;扩散点c1(j)和b1(j)设置在该中间点a(j)的同侧; 扩散点c2(j)和b2(j)设置在该中间点a(j)的同侧;
3.5.2)当j=1时,画直线,依次连接a(1)、c1(j)和c2(j),获得一三角形S(j),填充该三角形;当1<j≤N/2时,画直线,依次连接c1(j-1)、c2(j-1)、c2(j)和c1(j)获得一梯形S(j),填充该梯形;当j=N时,画直线依次连接c1(j-1)、c2(j-1)和a(N),获得一三角形S(j),填充该三角形;
步骤3)和3.5.2)中填充三角形和梯形的颜色不同。
优选的,所述步骤2)中的l(j)满足下列a)和b):
a) l(j)=j * k,j≤N/2时;
b) l(j)=K - j * k,j>N/2时;
式中,K和k均为预先设定的固定值,且K>0、k>0。
优选的,N=16,K=16,k=0.5。
优选的,T=0.1~0.5秒。
优选的,所述游戏应用于带触摸屏的手机或平板电脑上,用户通过手指在触摸屏上滑动的方式输入连续轨迹。
本发明的游戏中的刀光设计方法将采用简单的算法来实现游戏中,刀光的实现方法。本发明的游戏中的刀光设计方法算法简单、有效且显示效果具有层次和立体感。
附图说明
图1是本发明当N=5时的算法原理示意图。
具体实施方式
下面对本发明的具体实施方式作进一步详细的描述。
如图1所示,本发明是一种游戏中的刀光设计方法,该游戏软件是可以运行于智能平板电脑或智能手机的游戏软件,包括运行于安卓或IOS、windowphone或其他移动操作系统的游戏软件。该游戏通过触摸屏或者鼠标等接收用户的操作时的移动轨迹,并根据该轨迹产生刀光的效果。
其包括以下步骤:
1)根据设定的固定频率采集用户输入的连续轨迹中离散点的坐标,记为a(i),其中1≤i;
2)以上述离散点中的第一个点a(1)为起始点,以离散点a(j)作为中间点,其中1<j;在一经过中间点a(j)的一直线上选择两扩散点,记为b1(j)和b2(j),两扩散点b1(j)和b2(j)分别设置在该中间点a(j)的两侧,且距离该中间点a(j)的距离均为l(j);两扩散点b1(j)和b2(j)之间的连线垂直于该中间点a(j)与其前一个离散点a(j-1)之间的连线;
3)当j=2时,画直线,依次连接a(1)、b1(j)和b2(j),获得一三角形S(j),填充该三角形;当N>j>2时,画直线,依次连接b1(j-1)、b2(j-1)、b2(j)和b1(j)获得一梯形S(j),填充该梯形;当j=N时,画直线依次连接b1(j-1)、b2(j-1)和a(N),获得一三角形S(j),填充该三角形,其中,N为一设定值,N满足:N>10;
3.5.1)以离散点a(j)作为中间点,其中1<j;在一经过中间点a(j)的一直线上选择两扩散点,记为c1(j)和c2(j),两扩散点c1(j)和c2(j)分别设置在该中间点a(j)的两侧,且距离该中间点a(j)的距离均为l(j)+L,其中L>0;两扩散点c1(j)和c2(j)之间的连线垂直于该中间点a(j)与其前一个离散点a(j-1)之间的连线;扩散点c1(j)和b1(j)设置在该中间点a(j)的同侧; 扩散点c2(j)和b2(j)设置在该中间点a(j)的同侧;
3.5.2)当j=1时,画直线,依次连接a(1)、c1(j)和c2(j),获得一三角形S(j),填充该三角形;当1<j≤N/2时,画直线,依次连接c1(j-1)、c2(j-1)、c2(j)和c1(j)获得一梯形S(j),填充该梯形;当j=N时,画直线依次连接c1(j-1)、c2(j-1)和a(N),获得一三角形S(j),填充该三角形;
步骤3)和3.5.2)中填充三角形和梯形的颜色不同,这样就可以在产生刀光的区域再扩大显示区域,从而进行其他颜色的填充,以获得不同的层次感和立体感。
4)步骤3)和3.5.2)中的S(j)第一次填充时刻为t1(j),此后,持续填充S(j),直至当前时刻t> t1(j)+T时,S(j)停止填充,其中T为预先设定的固定值。这样就可以使得最早填充的刀光,随着时间逐步消失,消失的速度约为1秒钟,2~5个离散点,T=0.1~0.5秒。
进一步地,步骤2)中的l(j)满足下列a)和b):
a)递增,1<j≤N/2时;
b)递减,N>j>N/2时。这样就可以产生一个锥形结构的刀光,更加逼真。
进一步地,步骤2)中的l(j)满足下列a)和b):
a) l(j)=j * k,j≤N/2时;
b) l(j)=K - j * k,j>N/2时;
式中,K和k均为预先设定的固定值,且N=16,K=16,k=0.5。经过反复试验,当取值为N=16,K=16,k=0.5时,可以获得较好的显示效果。当然,也可以根据实际情况,经过一定次数的试验,得到其他参数值。同理,也可以根据不同的设备,经过一定次数的试验,得到L的最佳值,L可以为固定值,也可以为一线性变动的值,或和l(j)一致的值。
以上实施例仅为本发明其中的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。