Project1

标题: 关于血条和减血的问题 [打印本页]

作者: 大放异彩    时间: 2019-4-22 08:17
标题: 关于血条和减血的问题
本帖最后由 大放异彩 于 2019-4-22 22:03 编辑

已经自己解决 版主可对本帖进行分类

QQ截图20190422080836.png (7.13 KB, 下载次数: 8)

QQ截图20190422080836.png

作者: 灯笼菜刀王    时间: 2019-4-22 08:17
大放异彩 发表于 2019-4-22 22:01
没办法了,只能用最笨的办法了,脚本实在是不怎么在行
就这样了吧 ...

你这脑洞也够新奇的

窗口描绘血条,原理就是利用"矩形框" 来限制图片宽度,形成槽的效果,  从右往左, 通过改变矩形宽度来实现, 这个时候, 血条图的矩形是 X,Y,高都不动, 宽度随着血量百分比变化, 从下往上一样, X,Y,宽不动, 高度变化

而逆向血条, 做法就是 宽高不变, XY变动

Rect.new(x,y+ height - hp/maxhp * height,width,height)

这样就是从上往下缩的血槽了
作者: 大放异彩    时间: 2019-4-22 09:21
可以改成:   bitmap.width,actor.hp*1.0/actor.maxhp*bitmap.height
但却是从下往上减的
作者: 灯笼菜刀王    时间: 2019-4-22 09:43
本帖最后由 灯笼菜刀王 于 2019-4-22 09:45 编辑

有没有想过 Rect.new(x,y,width,height) 这两个参数是干嘛用的么

作者: 大放异彩    时间: 2019-4-22 22:01


没办法了,只能用最笨的办法了,脚本实在是不怎么在行
就这样了吧
作者: miantouchi    时间: 2019-4-23 12:16
本帖最后由 miantouchi 于 2019-4-23 20:52 编辑

RUBY 代码复制
  1. rect = Rect.new(0, 0, @bmp_bak.width,@bmp_bak.height) #图片黑色背景条
  2. self.contents.blt(0, 0, @bmp_bak, rect) #图片黑色背景条
  3. rect = Rect.new(0, 0, @bmp_hp.width,actor.hp.to_f/actor.maxhp.to_f*@bmp_hp.height.to_f) #图片红色血条,截取血条变化的高度
  4. self.contents.blt(0, @bmp_hp.height.to_f-actor.hp.to_f/actor.maxhp.to_f*@bmp_hp.height.to_f,@bmp_hp, rect)  #图片血条blt,0,y值变化
  5. 刚刚研究的,大家交流交流,感觉也不是太好,但是能实现这个功能

作者: 大放异彩    时间: 2019-4-23 16:42
miantouchi 发表于 2019-4-23 12:16
rect = Rect.new(0, 0, @bmp_bak.width,@bmp_bak.height) #图片黑色背景条
self.contents.blt(0, 0, @bmp_b ...

RUBY 代码复制
  1. actor = $game_party.actors[0]
  2.     bitmap = RPG::Cache.character(actor.character_name,actor.character_hue)
  3.     bitmap = RPG::Cache.picture("XT/HP")
  4.     @图标.bitmap.blt(16,9,bitmap,Rect.new(0,0- bitmap.height + actor.hp*1.0/actor.maxhp * bitmap.height,bitmap.width,bitmap.height))
  5.     bitmap = RPG::Cache.picture("XT/MP")
  6.     @图标.bitmap.blt(751,9,bitmap,Rect.new(0,0- bitmap.height + actor.sp*1.0/actor.maxsp * bitmap.height,bitmap.width,bitmap.height))
  7.     bitmap = RPG::Cache.picture("XT/血条2")
  8.     @图标.bitmap.blt(0,0,bitmap,Rect.new(0,0,bitmap.width,bitmap.height))


由于血槽是从上到下来减少,如果想做成球状的血槽,每次减血血槽都会往下挪,球状也会跟着向下移动,然后我将球状血槽素材改成方形,再额外增加1层“球型血槽框”的素材来覆盖上去,这样看上去就是球状的了,再次感谢灯笼前辈的帮忙,我脚本还在学习当中,目前也只是练习部分修改,特别复杂的功能目前还不敢想
作者: 灯笼菜刀王    时间: 2019-4-23 18:05
不好意思,之前算法有误, 这才是正确的

圆形血槽.rar (193.92 KB, 下载次数: 135)




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