Project1

标题: 镜头驱动下的敌人战斗图显示血条 [打印本页]

作者: 阿尔卑斯    时间: 2021-1-24 15:56
标题: 镜头驱动下的敌人战斗图显示血条
用的RTAB脚本,想在敌人战斗图下显示血条和at条。目前遇到问题就是,有镜头驱动,敌人精灵坐标和大小都是会变化的,所以得实现血条的位置也要随之变化。想用精灵的bitmap来绘制血条,但当敌人战斗图宽度较小,血条就没法完全显示了。
要怎么解决。之前尝试独立用窗口来绘制,但是意味着要把镜头驱动坐标改变的那套逻辑,在窗口上也要实现。好复杂啊。有大佬提供一下思路吗?



作者: 阿尔卑斯    时间: 2021-1-25 12:46
用战斗精灵图的bitmap绘制血条,然后再绘制数字,发现数字绘制出现问题。这怎么解决

作者: 紫英晓狼1130    时间: 2021-1-26 18:41
rect框的大小问题
作者: 阿尔卑斯    时间: 2021-1-26 19:07
紫英晓狼1130 发表于 2021-1-26 18:41
rect框的大小问题

sprite有2个成员 bitmap和scr_rect。 你说的是通过改变src_rect的大小吗
作者: 阿尔卑斯    时间: 2021-1-26 19:23
紫英晓狼1130 发表于 2021-1-26 18:41
rect框的大小问题

对血条显示不完全的问题,我目前的思路是根据战斗图的大小来改变bitmap的大小。如果战斗图宽度太小,我就把bitmap宽设定为120。这样我用bitmap绘制长度100的血条时,就能完整绘制出来了。
      pbitmap = RPG::Cache.battler(@battler_name, @battler_hue)#先读取战斗图,判断宽度
      if pbitmap.width < 120
         pheight = pbitmap.height
         xplux = (120-pbitmap.width)/2
         self.bitmap = Bitmap.new(120,pheight )
         self.bitmap.blt(xplux, 0, pbitmap, Rect.new(0,0,pbitmap.width,pbitmap.height))
      else
         self.bitmap = pbitmap
      end

不过绘制文字还是不正常
作者: soulsaga    时间: 2021-1-26 22:42
血条的坐标跟着战斗图坐标呢..
作者: 阿尔卑斯    时间: 2021-1-27 12:14
soulsaga 发表于 2021-1-26 22:42
血条的坐标跟着战斗图坐标呢..

怎么取。是screen_x吗
作者: st251355    时间: 2021-1-27 15:08
如果戰鬥鏡頭會放大,血條也得跟著放大,不然看著會很奇怪
用Sprite在Sprite_Battler描繪血條會比較實際
RTAB的敵人有設置screen_x、screen_y、screen_z、real_zoom、zoom
用Sprite描繪的血條x、y、z、zoom剛好對應這幾個(記得設定ox、oy)




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