在敌人头上显示血条脚本 脚本
残翼御风 发表于 2015-10-15 11:01:33 3201

本帖最后由 残翼御风 于 2017-1-7 22:09 编辑

[font=Helvetica Neue, Helvetica, Arial, sans-serif]特点:即插即用、颜色变化(绿→黄→红)、全绘制不需要素材[/font]
使用方法:在要显示血条的obj的Draw里加入draw_health();
该obj的create中需要有该对象的hp(记录当前血量的变量)maxhp(总血量)

/*-------------------------
作者信息:残翼御风
http://starcaller.lofter.com/

使用方法:在Draw里加入draw_health();
create中需要有该对象的hp和maxhp
-------------------------*/
if(global.relics_8==1){//控制血条绘制的打开和关闭
len = 30; //血条长度,可调
draw_set_alpha(0.7);
//渐变血条
var c = hp / maxhp;
//特殊绿色(比c_green亮一些……)
var c_lightgreen = make_color_rgb(0, 255, 36);
if (c > 0.7) {
    draw_set_color(c_lightgreen);
} else if (c > 0.4) {
    draw_set_color(c_yellow);
} else {
    draw_set_color(c_red);
}
//血条定位(默认是精灵原点为中心点)
s_h = sprite_height / 2;
s_w = len / 2;
//绘制
draw_rectangle(x - s_w, y - s_h, (hp * len) / maxhp + x - s_w, y - s_h - 2, 0);
draw_set_alpha(0.5);
draw_set_color(c_black);
draw_rectangle(x - s_w, y - s_h, len + x - s_w, y - s_h - 2, 0);
//绘制结束
draw_set_alpha(1);
draw_set_color(c_white);
}


链接:http://pan.baidu.com/s/1ntDzeZZ 密码:o4yd

常见问题:
1)为什么插入脚本后人物/怪物不见了?
GMS:在draw第一行写上:draw_self();
GM8:在draw第一行写上:draw_sprite(sprite_index,image_index,x,y);

最后于 2018-4-6 被yunzl编辑 ,原因:
最新回复 (6)
  • 断水 发表于 2015-10-15 11:10:50
    0 2
    已加入实例库 GM&GMS教程与实例\脚本&代码设计(非例子)\GUI
    感谢御风分享
  • MikuScarlet 发表于 2015-10-17 07:22:54
    0 3
    看起来十分方便!感谢楼主分享
  • aiboluo13 发表于 2015-11-19 10:44:10
    0 4
    已经下载,研究研究好,感谢分享。
  • mmostop 发表于 2016-01-05 11:52:07
    0 5
    mark~
  • 804185724 发表于 2016-11-13 01:35:30
    0 6
    thx