不用系统血条怎么弄?
gamemaker吧
全部回复
仅看楼主
level 7
dooo12332 楼主
画血条画出来的太丑,自己PS画了一个,该怎么对应血量显示?大大们给说个思路我去研究研究。
我现在想过做个obj 一百张不同血量的图,然后计算血量显示不同的图,但貌似重复太多显得很累赘,有什么简单点的办法吗?
2014年12月07日 04点12分 1
level 6
用sprite_index【可用作字图片更换】
——————————————————————分割线——————————————————
创造精灵 sprite1、sprite2、sprite3(后面简称spr)变量 global.lifes
spr1画成[滑稽] spr2画成[喷] spr3画成[怒]
创造代码
if(global.lifes=0)
sprite_index=sprite1
if(global.lifes=1)
sprite_index=sprite2
if(global.lifes=2)
sprite_index=sprite3
——————————————————————分割线——————————————————
其实用image_index也可以,只不过我用的不是太熟练,不大会
——————————————————————分割线——————————————————
想了解更多的GM小游戏,就关注Death Horizon_Studio吧
https://tieba.baidu.com/p/3139491313
2014年12月07日 08点12分 2
谢谢 受教了
2014年12月07日 10点12分
吧务
level 13
image_index的用法如下:
将所有的图片统一大小以后导入同一个精灵,注意如果是100幅图片,编号是0到99。最好是0表示空血,99表示满血,。如果当前血量HP,总血量HPMAX的话,用floor(99*HP/HPMAX)就可以把血量统一到这个范围里。
image_index=floor(99*HP/HPMAX);
2014年12月08日 01点12分 3
谢谢,我去研究研究
2014年12月08日 01点12分
level 6
思路有二,对应两种情况:
其一,如果该血条的精灵或者你设计的时候是规则的,就比如是长方形这样的
可以用如下代码实现:
maxHp = 100 //血量上限
nowHp = 24 //当前血量
image_xscale = nowHp/maxHp;
此方法比较简单
其二,如果是不规则的血条,那这个时候可以用下面的方法:
Create Event:
nowHp=100//当前Hp
maxHp=1000//最大Hp
spr_Hp_with = 758 //血条长度
spr_Hp_heigth = 20 //血条宽度
locationX = 120 //血条绘制的横坐标
locationY = 660 //血条绘制的纵坐标
startX = 0;//血条在spr资源中位置的横坐标
startY = 0;//血条在spr资源中位置的纵坐标
subimage = 0//显示精灵的第几帧,我们只有一桢所以可以是0
Draw Event:
draw_sprite_part(spr_loadingbar, subimage , startX , startY , (nowHp/maxHp)*spr_Hp_with , spr_Hp_heigth , locationX , locationY );
以上的内容针对于GMS,GM中如何实现这个没有尝试过,但是相信差不多。[呵呵]
gisank
2014年12月26日 03点12分 4
很详细很清楚,谢谢
2014年12月26日 04点12分
1