查看: 2232|回复: 2

[已经解决] 血槽的绘制求教

[复制链接]
梦石
0
星屑
606
在线时间
797 小时
注册时间
2014-7-1
回帖
501

开拓者

发表于 2016-1-14 16:42:22 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 jiushiainilip19 于 2016-1-14 16:50 编辑

一直以来都非常热衷这种血槽的显示 却不知道如何绘制  
所以提出来看看有没有高手来绘制一下
费用可以留言给我
或者也可以直接需要的VIP  ---------------希望不要超过本人的承受范围{:2_283:}
QQ截图20160114163327.png
QQ截图20160114164931.png

点评

不用动态效果 血值的显示直接描绘就可以 就是不知道该怎么去计算从上到下的减血的方式  发表于 2016-1-15 01:47
需要动态效果?如果只需要纵向血槽的话范例应该能找到,要动态效果的话起码套提供素材……  发表于 2016-1-14 22:17

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
梦石
7
星屑
1113
在线时间
334 小时
注册时间
2008-1-28
回帖
1506
发表于 2016-1-14 23:54:25 | 显示全部楼层
本帖最后由 未命名 于 2016-1-15 06:22 编辑

如果你仅仅只是希望绘制纵向血条的话,还是蛮容易的。

我曾经提问过图片显示切割的问:
https://rpg.blue/thread-337843-1-1.html

你可以用其中一种方法实现。

具体实现过程则一般需要你用三张图片,HP、MP和外框。
外框要求优先于HPMP,并在显示HPMP的地方透明,然后HPMP就可以在外框的背后肆无惮忌的显示了。

————————————————————————————————————————————————

按切割的方法可以实现看上去楼主你贴出来的血条效果。
yuan 上下.png

但是你说半圆形?
yuan 圆形.png

半圆形的方法就是利用图片的旋转角度。
angle
精灵的旋转角度。以逆时针方向 360 度系统来指定。在旋转图画时会花费时间,所以要尽量避免。


事件只有旋转速度,要用角度就直接在生成图片时调用这个函数,然后将HPMP条旋转进遮罩物里以表示消耗。


点评

原来窝回答过这个问题………………  发表于 2016-1-15 14:14
基本上都是从上到下,然后圆形只是装饰,透明或遮盖掉不要的就好了。半圆形是指圆形血条吗?  发表于 2016-1-15 05:50
我也有想到过这种方法 但是不会计算 从上到下实现起来可能还勉强能行但是要计算一个半圆形我就不会了  发表于 2016-1-15 01:54

评分

参与人数 2星屑 +15 梦石 +1 收起 理由
RyanBern + 1 认可答案
jiushiainilip19 + 15 精品文章

查看全部评分

终于有可以放在这里的游戏了……
极短13 新生 《箱子新世界》
回复

使用道具 举报

梦石
0
星屑
606
在线时间
797 小时
注册时间
2014-7-1
回帖
501

开拓者

 楼主| 发表于 2016-1-15 16:10:38 | 显示全部楼层
本帖最后由 jiushiainilip19 于 2016-1-15 16:16 编辑

自己弄好了  可惜大小方面不好弄  小了在观看上就不美观了

大了位置不够 算了 感谢各位指点

我是直接更改height的算法 :结果血量是从下往上减少!{:2_276:}
[pre lang="ruby"]
#--------------------------------------------------------------------------
  # ●描绘 HP
  #--------------------------------------------------------------------------
   def draw_actor_hp_bar(actor, x, y, width = 144 , height = 68)
    #描绘HP字符
      self.contents.font.size = 18
      self.contents.draw_text(x-25, y+76, 70, 32,actor.hp.to_s, 2)
       self.contents.draw_text(x-10, y+76, 70, 32, "体:")

    #描绘HP
      self.contents.fill_rect(x+2, y+2, width,height, Color.new(0,0,0,255))
      w1 =  1.0 * actor.hp / actor.maxhp * height
      self.contents.fill_rect(x+2, y+2, width,w1, Color.new(255,0,0,255))
  end
[/pre]
QQ截图20160115160826.png
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部