|
本帖最后由 小八馍馍 于 2020-2-5 00:23 编辑
今天我们讲一下脚本中SMain里面的几个常用功能的修改方法
1,修改人物僵直和无敌
角色在收到攻击时,会有一个短暂的僵直和无敌时间,如果像修改两个属性,可以在脚本中的这里进行修改,
【actor.stiff(10);】僵直时间为10帧,直接修改数字就可以了
【actor.invincible(60);】无敌时间60帧,直接修改数字就可以了
2,如何使用脚本设置鼠标攻击,跳跃,移动的操作
2.1,使用脚本设置鼠标攻击
我们可以先找到SMain-攻击的脚本位置,在里面加入一行代码【IInput.down】这串代码可以在开发文档中找到具体介绍【IInput 输入】
我们在这里加入了两串【||IInput.down】,它们的作用是分别控制近战攻击和远程攻击,(其中||代表的意思就是逻辑:或,&&代表的意思就是逻辑:与)
不过这样设置,鼠标左右键,都会进行攻击,如果只需要左键攻击,我们可以在后面加一句【IInput.mouseButton == 0】
后面这个数字代表的分别是,0 为鼠标左键, 1 为鼠标右键, 2 为鼠标中键
2.2,使用脚本设置鼠标跳跃
同理,我们就可以设置一下使用鼠标右键进行跳跃了
在攻击的上面,控制跳跃的这里,加入这行代码就可以了
【IInput.up && IInput.mouseButton == 1】
2.3,act下如何使用脚本设置鼠标移动角色
如果我们要做鼠标控制角色移动,可以这样实现,想要鼠标在角色左边按下,角色可以往左移动,鼠标再角色右边按下,角色可以往右移动
我们可以先找一下,控制就是移动的位置上面这两行是向右移动,下面两行是向左移动,我们只需要将鼠标操作的代码加进去就可以了
当鼠标在角色左侧任意位置按下时
【||(((IInput.x + Math.abs(map.getView().ox)) > actor.getCharacter().x)&& IInput.down && IInput.mouseButton == 0)】
当鼠标在角色右侧任意位置按下时
【||(((IInput.x + Math.abs(map.getView().ox)) < actor.getCharacter().x)&& IInput.down && IInput.mouseButton == 0)】
其中【IInput.x + Math.abs(map.getView().ox)】这一段脚本的意思是鼠标按下时X的数值
【actor.getCharacter().x】这一段是角色的位置
【IInput.down && IInput.mouseButton == 0】这一段就是鼠标左键按下
3,修改伤害字体和伤害数字掉落时候的路线
3.1,替换资源
资源的具体位置在工程文件夹下的 我的游戏\Graphics\System,可以在运行软件的时候,使用ctrl+D快速打开工程文件夹,找到对应资源直接替换就可以了,其中
miss就是未命中,
number_0是普通伤害的数字,
number_1,是恢复血量的数字,
number_2,是恢复蓝量的数字,
number_3,是暴击伤害的数字,
这里需要注意的是,伤害字体图片的尺寸要求是长度被10整除,因为需要等分成十份
3.2,伤害数字的掉落路线、
相关的脚本在逻辑执行里面的LNum,我们其实需要做出的修改,就是红框里面的这些
其中
sprite.speedY = -1 * rand(3,5);这里代表的就是伤害字体的Y轴初始速度,-1是方向向上,rand(3,5)就是随机3-5
sprite.speedX = rand(1,2);这里代表的就是伤害字体的X轴初始速度为向右,rand(1,2)随机1-2
sprite.aSpeedY = 0.3;这里代表的是Y轴有个0.3的加速度,伤害自己就有一个跳动的感觉
之前有人问怎么可以做出来伤害字体不要现在这么单调的同一个方向掉落,我们只用稍微修改下各个速度就可以实现了,例如:(这里我把角色受伤无敌先关了,看起来就清楚一些)
要注意的一点是,这里如果修改了伤害字体的跳动方式,miss是不受影响的,需要在type==3这里同步设置一下就可以了
今天的课到这里就结束啦,大家可以试着做一下,如何在arpg模式下,使用鼠标进行移动
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
查看全部评分
|