赞 | 204 |
VIP | 13 |
好人卡 | 7 |
积分 | 122 |
经验 | 52899 |
最后登录 | 2021-6-29 |
在线时间 | 4435 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 12157
- 在线时间
- 4435 小时
- 注册时间
- 2014-4-11
- 帖子
- 5955
|
本帖最后由 yang1zhi 于 2020-2-22 15:30 编辑
我也不建议这么搞。
这样就是,我要是中途要离开,那不就只能死了吗。
方法嘛,就是在scene_battle类的update方法里面,加个方法。
这是每一贞都被执行到的。
由于60贞是一秒。所以还要建立个变量来倒计时。
MEIMIAO_KOUXUE = Scene_Battle.prototype.update
Scene_Battle.prototype.update = function() {
MEIMIAO_KOUXUE.call(this);
}
这样子写,可以继承前面的Scene_Battle.prototype.update函数,而不是替代。
$gameParty.aliveMembers() 这个方法可以获得我军所有活着的战斗角色
target.gainHp(-value); 这个方法是给角色扣血的
然后写个新的函数
Scene_Battle.prototype.mei_miao_kou_hp = function() {
//建立一个变量来倒计时
//判断倒计时变量不存在或者为0时
if (!this._meimiao_kou_hp_time) {
//设定倒计时变量
this._meimiao_kou_hp_time = 60
} else {
//其他情况
//倒计时减去1
this._meimiao_kou_hp_time -= 1
//判断倒计时为0
if (this._meimiao_kou_hp_time === 0) {
//遍历所有角色
for (var i=0;i<$gameParty.aliveMembers().length;i++) {
//获得角色
var actor = $gameParty.aliveMembers()
//角色扣血
actor.gainHp(-1);
//把倒计时恢复
this._meimiao_kou_hp_time = 61
}
}
}
}
这个扣血的函数就写好了
然后把他放到update里
MEIMIAO_KOUXUE = Scene_Battle.prototype.update
Scene_Battle.prototype.update = function() {
MEIMIAO_KOUXUE.call(this);
this.mei_miao_kou_hp()
}
|
|