设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 捕食者
打印 上一主题 下一主题

[有事请教] 一个技能 对的人造成两次不同类型的伤害

[复制链接]

Lv2.观梦者

梦石
0
星屑
697
在线时间
325 小时
注册时间
2013-5-31
帖子
74
1
发表于 2022-9-16 14:07:22 | 显示全部楼层
本帖最后由 橙光 于 2022-9-16 14:24 编辑

技能发动实际上一个技能行动的模拟。
Game_Action的内容其实就是在对一次行动的模拟,在实例化的时候会指定一个行动主体,意为行动者,也就是技能的发动者,这个技能行动的.subject()就可以获取技能的行动者。如果玩家是技能行动的发起者,那么就是玩家,同理敌人。
然后是行动的setTarget(targetIndex)指定了在目标队列(Game_Troop/Game_Party)的序列编号。他是在makeTargets()的时候 作为作用单体目标的一个指引。你可以理解为单体目标行动的敌人编号。
最后是对这个行动设置是什么行动,就有四种行动setAttack(攻击行动) setSkills(skillId)技能行动 setGuard()防御行动 setItem(itemId)道具行动 实际上在MZ这些除了道具都整合为了技能行动。
也就是说当设置了一个Game_Action 并指定了上述的参数,通过对action的apply方法即可发动应用效果。
executeDamage() 是执行伤害效果的方法 主要内容包括对物理攻击还是魔法攻击判定补正的一系列内容,如果对数值的计算 也可以找makeDamageValue()方法。

最后由于对画面的视觉显示以及伤害文字的显示由sprite控制并非action直接控制,所以可能你还需要对Sprite_Damage和调用他的Sprite_Battler有所了解。
回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
697
在线时间
325 小时
注册时间
2013-5-31
帖子
74
2
发表于 2022-9-16 14:28:06 | 显示全部楼层
本帖最后由 橙光 于 2022-9-16 14:50 编辑
橙光 发表于 2022-9-16 14:07
技能发动实际上一个技能行动的模拟。
Game_Action的内容其实就是在对一次行动的模拟,在实例化的时候会指定 ...


楼主的问题对于法力等一个词没有描述清楚,所以无法给出详细方案,你可以参考一下以上思路进行修改。

你可以在同一个行动内直接扣除两次伤害,也可以做两次行动分别触发不同的技能。思路有很多,但每个思路都需要对Game_Action有一定基础了解。
想要获取到上个行动者 只需要在这次行动执行的时候 把行动者的索引(就是编辑器里面那个序号) 返回出去到游戏变量$gameVariables里或者某个可重复访问的变量也行。
比如在生成也好还是apply里加也好,$gameVariables.setValue(10,$gameParty.index(action.subject())) //action代表Game_Action实例对象 然后去指定这个变量存储的索引的角色就差不多了吧。
其实嫌麻烦 会点代码 也可以直接简略一点,直接代码控制。
回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
697
在线时间
325 小时
注册时间
2013-5-31
帖子
74
3
发表于 2022-9-16 15:08:34 | 显示全部楼层
apple5740 发表于 2022-9-16 14:55
$gameVariables.setValue(10,$gameParty.index(action.subject()));
//action代表Game_Action实例对象
这 ...


可以那么理解,他会遍历这个数组直到没有行动可以执行了,就进行下一阶段。原来rgss也是这流程。
回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
697
在线时间
325 小时
注册时间
2013-5-31
帖子
74
4
发表于 2022-9-19 13:42:02 | 显示全部楼层
针对良好结构而言,建议在Game_Action额外添加一个额外效果的方法,然后在这个方法里面组合之前的方法自己写逻辑会比较好。触发时机可以在apply的末端,然后记得updateLastTarget()接上就OK。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-7 12:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表