objCirnoLife(蓝色部分):
Create:
curScale = 0; //当前百分比
instance_create(x,y,objCirnoLifeR); //创建红色血条
timer = 0; //计时器
Step:
scale=objCirno.nowHp/objCirno.maxHp; //目标百分比
timer+=1;
if timer<=50{ //在第一秒,将血条充满
if curScale<scale{
curScale+=0.02;
}
}
else{
if curScale>scale{
curScale-=0.005; //否则缓慢变化到目标血量
}
}
Draw:
if instance_exists(objCirno){
//画出需要画出的血量部分
draw_sprite_part(sprite_index,-1,0,0,sprite_width*curScale,sprite_height,x,y);
}
objCirnoLifeR(红色部分):
Create:
curScale = 0; //当前百分比
timer = 0; //计时器
Step:
scale[i]=objCirno.nowHp/objCirno.maxHp; //将当前血量数据储存在数组中,也就是保存了每时每刻的血量数据,可以随时调用
i+=1;
if i>=31900 instance_destroy(); //由于数组下标i超过32000之后GM会报错(也就是十多分钟之后),但此boss战基本打不到十分钟(除了挂机),所以就直接destroy掉算了
timer+=1;
if timer<=50{ //在第一秒,将血条充满
if curScale<scale{
curScale+=0.02;
}
}
else{
if curScale>scale[i-40]{ //如果当前的百分比大于40步之前的百分比
curScale-=0.005; //再执行变化血量的命令
}
}
Draw:
if instance_exists(objCirno){
//画出需要画出的血量部分
draw_sprite_part(sprite_index,-1,0,0,sprite_width*curScale,sprite_height,x,y);
}
Create:
curScale = 0; //当前百分比
instance_create(x,y,objCirnoLifeR); //创建红色血条
timer = 0; //计时器
Step:
scale=objCirno.nowHp/objCirno.maxHp; //目标百分比
timer+=1;
if timer<=50{ //在第一秒,将血条充满
if curScale<scale{
curScale+=0.02;
}
}
else{
if curScale>scale{
curScale-=0.005; //否则缓慢变化到目标血量
}
}
Draw:
if instance_exists(objCirno){
//画出需要画出的血量部分
draw_sprite_part(sprite_index,-1,0,0,sprite_width*curScale,sprite_height,x,y);
}
objCirnoLifeR(红色部分):
Create:
curScale = 0; //当前百分比
timer = 0; //计时器
Step:
scale[i]=objCirno.nowHp/objCirno.maxHp; //将当前血量数据储存在数组中,也就是保存了每时每刻的血量数据,可以随时调用
i+=1;
if i>=31900 instance_destroy(); //由于数组下标i超过32000之后GM会报错(也就是十多分钟之后),但此boss战基本打不到十分钟(除了挂机),所以就直接destroy掉算了
timer+=1;
if timer<=50{ //在第一秒,将血条充满
if curScale<scale{
curScale+=0.02;
}
}
else{
if curScale>scale[i-40]{ //如果当前的百分比大于40步之前的百分比
curScale-=0.005; //再执行变化血量的命令
}
}
Draw:
if instance_exists(objCirno){
//画出需要画出的血量部分
draw_sprite_part(sprite_index,-1,0,0,sprite_width*curScale,sprite_height,x,y);
}