网站地图新闻内玉兔传奇迷失传奇皓月传奇火龙传奇

传奇数字飘血补丁_风暴战区暴血补丁_魔兽世界 飘血

更新时间:2021-03-15 02:50来源:网络整理 作者:嗯哒哒 浏览:

MUGEN中,关于伤害飘血的实现,方法很多。

这里选定一种全版本通用的方式进行讲解。

(注:该方式对使用helper进行模拟受击的人物无效,对生命操作导致的伤害无效)

伤害飘血演示:

本节教程所需工具:

FF3,0~9的数字素材,小学语文。

示例人物在文末有链接,可以进去下载。该示例人物仅供学习交流使用。

正文部份:

我们选择KFM作为示例人物。

首先,打开FF3.

给他加上0~9十个数字素材.

传奇数字飘血补丁

然后将0~9分别在动漫号4000~4009中展示.

传奇数字飘血补丁

为了让伤害数字作为一个explod又具有非平移的联通疗效,我在anim动漫号里早已定义好了伤害数字的联通。

好了传奇数字飘血补丁_风暴战区暴血补丁_魔兽世界 飘血,准备工作已经完成了!现在,让我们打开KFM的CNS文件,在-2下定义一个变量:当对手受击顿时,这个变量的值为对手本次受击伤害;否则为0。教程中定义的变量为var(17)。

传奇数字飘血补丁

魔兽世界 飘血_风暴战区暴血补丁_传奇数字飘血补丁

现在请记住:教程中,var(17)对应的是对手顿时倍受的伤害。这会有助于你理解后文的内容。

然后创建一个player型helper作为定位helper,并将其锁在你自己定义的一个状态号X里。在X内将helper绑定到对手本体并进行基本的绑定helper处理。

为了确保弹出的伤害数字只朝着一个方向,我们将helper保持在朝向一个方向,这里我选择朝向的是左侧。

接下来是数字飘血的处理,这一步须要运用到我们学过的高中语文知识。

首先创建用于显示伤害的explod。为了显示确切的伤害数字,需要进行分类讨论。

以下是教程中阐述到的explod参数:

#Explod

anim = [F]anim_no (int)//这是实现数字飘血的主要参数

pos = off_ x, off_ y (int)//这是避免explod重叠的主要参数

random = rand_x, rand_y (int,int)//千万不要使用这个参数随机伤害数字的位置!!!

我们先阐述当伤害为个位数时的情况(即root,var(17)>0 && root,var(17)

如果伤害超过个位数,就须要多个explod控制器来实现数字的显示了。

以伤害为三位数时举例:我们应该打算三个explod,每一个explod对应一位数。

先阐述显示个位数的explod。此时,不能直接用4000+var(17)作为动漫号,因为var(17)的值赶超了个位数,这会使anim的值超过4009,但我们的伤害数字动漫只定义在4000~4009之间。如果你一直使用上述表达式作为动漫号,会使你的explod步入一个未定义的动漫号,导致你的伤害数字难以显示。

更糟糕的情况是传奇数字飘血补丁,如果4000+var(17)这个动漫号刚好被你定义了,但它并不是伤害数字,而是别的哪些东西,比如你的受击动漫。毫无疑问,这会使战斗显得非常滑稽...

好了,回归题外话。为了使伤害正确显示,可以使用取余运算符"%"。这个符号的作用是使你求得乘法中的余数。举个事例:

传奇数字飘血补丁_风暴战区暴血补丁_魔兽世界 飘血

11 % 4

这个多项式的意思是:将被除数11与除数4相除。显然,这个多项式未能除尽,最后会余下3,所以这个算式将会得到3。

与加法运算不同的是,除法运算取得的是商,取余运算取得的是余数。下面的事例可以帮助理解取余:

a / b = (int)(a / b) ...x//这是乘法运算

a % b = x//这是取余运算

了解取余运算符之后,我们就可以对多位数的每一位进行显示了。为了显示个位数,我们直接使动画号anim=4000+(var(17) % 10)就可以了。

然后是十位数的显示。为了使十位数显示它该有的数值,不可以直接用取余运算符"%"进行处理。应当先进行一次除法运算,让它退一位再进行取余运算。

(责任编辑:admin)

行业信息推荐
热点资讯新闻
杀神恶魔传奇

↓★★★★★★★★↓
★★★★★★★ ★★★★★★★ ★★★★ ★★★★ ★★★★★★★★★★★★★★★★- ★★ ★★★★★★ ★★★★★★★★