本帖最后由 chd114 于 2018-2-3 01:07 编辑 大概像这样,在你需要显示心图的地方放一个循环,这么干(图中的图片名称、变量只是随手写的···) 先默认都是显示空心,把mhp条截断,如果正好选中部分x2比你的hp少就显示满心,如果最后那段hp有1而不是0或者2就显示半心,如果不太明白的话就看一下课本上的数轴 整条数轴就是角色的mhp,你放在数轴上的线就是你角色当前的hp,这个循环是为了1厘米1厘米地去截每一段,截到线的最后一段如果不足1厘米就说明这条线的长度不能被1厘米整除(也就是角色的hp不能被2整除,用hp%2会得到不能整除时的余数1) 用截图解释一下吧···(因为是自带截屏所以线歪了···) |
可以多看看 F1 里面的 Sprite 和 Bitmap 里面的各种属性和函数,再参照默认脚本里面相应的用法。 生成精灵 Sprite 显示血条位图 Bitmap ,根据关联的对象随时侦测血量的变动 。 显示血条长度就用 Sprite 的 src_rect , set 是改变显示的矩形。 比如角色共 100 血,现在 55 血。 血条总长度 200 显示的宽度就是 w = 200 x 55 / 100 实际应用就是 :src_rect.set(0,0,w,血条高度) |
获取角色的hp 如果hp%2==1那么最后一颗心就显示半心图片,前面的心的图片的数量用hp/2来决定 还记得你之前提问的那个要显示图片的帖子吧? 在哪里显示是你自己决定,方法依然是用那个,完整的心的数量用hp/2来决定,如果hp/2有余数(也就是hp%2!=0的情况,不过hp%2只能得出0或1)的情况就在最后追加显示一个半心,半心的后面就显示空心咯 需要显示的图片数量p=mhp/2 而显示完整心的图片数量是h=hp/2,半心数量则是h2=hp%2, 设定一个执行p次的循环大概像这样 p.times.each{|i| 里面就判断 显示完整心 if i<=h 显示半心 if i==h+h2 and h2==1 显示空心 if i>h+h2 } 具体的脚本则看具体的方法,相对坐标也是你自行调整 |
变量还是好啊 |
QQ截图20180201232947.png (51.75 KB, 下载次数: 20)
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-17 11:38
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.