Project1

标题: 怎么用图片来表示HP和MP? [打印本页]

作者: 文雅夕露    时间: 2018-2-1 23:10
标题: 怎么用图片来表示HP和MP?
本帖最后由 文雅夕露 于 2018-2-1 23:40 编辑

就是用图片来代替血条。
具体效果如下:

然后把图片排成一排显示。
不知道该怎么描绘。
只需要在战斗菜单中描绘,无需在地图菜单里描绘。
附上自己的工程:
Project3.zip (1.45 MB, 下载次数: 73)
作者: MireniamuYuki    时间: 2018-2-1 23:29
变量还是好啊

QQ截图20180201232947.png (51.75 KB, 下载次数: 36)

QQ截图20180201232947.png

作者: chd114    时间: 2018-2-2 01:09
获取角色的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

}

具体的脚本则看具体的方法,相对坐标也是你自行调整
作者: 芯☆淡茹水    时间: 2018-2-2 12:06
可以多看看 F1 里面的 Sprite 和 Bitmap 里面的各种属性和函数,再参照默认脚本里面相应的用法。
生成精灵 Sprite 显示血条位图 Bitmap ,根据关联的对象随时侦测血量的变动 。
显示血条长度就用 Sprite 的 src_rect  , set 是改变显示的矩形。
比如角色共 100 血,现在 55 血。 血条总长度 200
显示的宽度就是  w = 200 x 55 / 100
实际应用就是 :src_rect.set(0,0,w,血条高度)
作者: chd114    时间: 2018-2-3 01:00
本帖最后由 chd114 于 2018-2-3 01:07 编辑


大概像这样,在你需要显示心图的地方放一个循环,这么干(图中的图片名称、变量只是随手写的···)
先默认都是显示空心,把mhp条截断,如果正好选中部分x2比你的hp少就显示满心,如果最后那段hp有1而不是0或者2就显示半心,如果不太明白的话就看一下课本上的数轴

整条数轴就是角色的mhp,你放在数轴上的线就是你角色当前的hp,这个循环是为了1厘米1厘米地去截每一段,截到线的最后一段如果不足1厘米就说明这条线的长度不能被1厘米整除(也就是角色的hp不能被2整除,用hp%2会得到不能整除时的余数1)


用截图解释一下吧···(因为是自带截屏所以线歪了···)





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1