|
发表于 2020-7-13 16:49:18
|
显示全部楼层
我还是来对号入座回答问题吧
问题1
其实你的思路已经非常正确了,如果想扔掉判定区域,就需要用到子弹机制
同样,我们可以利用子弹机制制作上砍,或者跳起来,向下砍等操作
当然我们还可以修改脚本
在LActor中this.getAtkRect函数中修改,大概462行
问题2
有僵直,只是时间很短,都可以调整
主角的僵直时间在
SMain中160行 actor.stiff(10);
意思就是收到攻击造成10帧的硬直
Tips
161行的actor.invincible(60);
就是角色收到攻击的无敌时间,是60帧,也就是一秒
敌人的硬直修改
LEnemy的98行 char.stiff(10);
问题3:
其实当前的物理环境中,没有“力”的概念,有的只是加速度概念
比如重力系数52,其实在游戏算法中的解释就是 向下速度增加 0.52像素/帧
而比如跳跃为10 相当于 直接给予了一个向上的 10的速度,这时候,由于受向下加速度的影响,就会看起来升高速度越来越慢,随后下落,形成一个抛物线运动规则。
所以如果想要达成你的需求,就需要重力与跳跃初速度一起修改,比如我们将重力系数改为 26,跳跃高度改为6,这样我们在让跳跃高度保持不变的情况下,下落速度又变慢了
问题4:
抓取其实很简单啊,如果击退设置为负数,不就相当于靠近角色了么?
问题5:
想要特别细致的制作某一个动作帧无敌,这个确实是很有难度的,主要的难点在于目前的资源编辑器,资源数据结构是锁死的,无法扩展。如果要用逐帧检测效率又很低,如此想想,不如还是做一个叫做翻滚的技能,然后附加一个短暂的无敌buff好了= =
|
|