查看: 6985|回复: 12

[原创发布] 地图显示HP条,SP条,金钱等

[复制链接]
梦石
0
星屑
1090
在线时间
324 小时
注册时间
2017-1-24
回帖
105

开拓者

发表于 2017-6-17 15:57:32 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 戴迪 于 2017-8-5 03:18 编辑

[fold]不废话直接上脚本[/fold]
不会的直接下载范例
[pre lang="ruby" line="1"]#==============================================================================
# ■地图显示HP/SP槽 + 金钱数量
# -by:戴迪
# -2017.6.17
# -本人首个脚本......大触轻喷
#------------------------------------------------------------------------------
#此脚本结构简单,可供比我还新的人学习- -
#此脚本可自行更改HP/SP槽的大小,颜色,显示的坐标,
#有能力的还可自行添加EXP,等级显示等
#HP/SP槽比较简易,本人在思考如何美化
#------------------------------------------------------------------------------
#使用方法:
#1.在Main之前插入此脚本,
#
#2.在Scene_Map里,找到"●主处理下"的       # 生成信息窗口,添加
#     @mapshow = Window_Mapshow.new
#     @mapshow.opacity = 60   #-------------------------------更改窗口透明度
#
#   再往下滑,找到                         # 释放信息窗口,添加
#          @mapshow.dispose
#
#   再往下滑.....找到"●刷新画面"下的      #刷新信息窗口,添加
#     @mapshow.update
#
#   完毕.
#   
#==============================================================================
# ■ Window_Mapshow
#------------------------------------------------------------------------------
#  显示血条的窗口。
#==============================================================================
class Window_Mapshow < Window_Base
  Hide_Window_Mapshow = 33                    #-----控制窗口的开关为33号开关
  #--------------------------------------------------------------------------
  # ● 初始化窗口
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 40 + 32)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 描绘HP槽
  #--------------------------------------------------------------------------
  def draw_actor_hp_bar(actor, x, y,width = 200)
    self.contents.fill_rect(36,4,width + 4,24,Color.new(255,255,255,255))
    self.contents.fill_rect(36 + 2,4 + 2,width ,20,Color.new(0,0,0,255))
    w1 = (1.0 * $game_party.actors[0].hp  / $game_party.actors[0].maxhp) * width
    self.contents.fill_rect(36 + 2,4 + 2,w1 ,20,Color.new(200,0,0,255))
  end
  #--------------------------------------------------------------------------
  # ● 描绘SP槽
  #--------------------------------------------------------------------------
  def draw_actor_sp_bar(actor, x, y,width = 200)
    self.contents.fill_rect(36 + 240 ,4,width + 4,24,Color.new(255,255,255,255))
    self.contents.fill_rect(36 + 2 + 240 ,4 + 2,width ,20,Color.new(0,0,0,255))
    w2 = (1.0 * $game_party.actors[0].sp / $game_party.actors[0].maxsp) * width
    self.contents.fill_rect(36 + 2 + 240,4 + 2,w2 ,20,Color.new(248,112,0,255))
  end
  #--------------------------------------------------------------------------
  # ● 描绘金钱数目
  #--------------------------------------------------------------------------
  def draw_actor_gold(actor, x, y,width = 200)
    cx = contents.text_size($data_system.words.gold).width  #cx = 11
    self.contents.font.color = normal_color
    self.contents.draw_text(538, 0, 64-cx-2 ,32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(600-cx, 0, cx, 32, $data_system.words.gold, 2)
  end
  #--------------------------------------------------------------------------
  # ● 刷新--通常在这绘制位图
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_actor_hp_bar($game_party.actors[0], 0, 20)
    draw_actor_sp_bar($game_party.actors[0], 0, 20)
    draw_actor_gold($game_party.gold.to_s, 0, 20)
    self.contents.font.color = Color.new(255,255,255,255)
    self.contents.draw_text(0,0 , 36, 32, "HP:")
    self.contents.draw_text(70,0 , 36, 32,$game_party.actors[0].hp.to_s)
    self.contents.draw_text(70 + 63,0 + 1, 36, 32, "/")
    self.contents.draw_text(70 + 63 + 42,0 + 1, 36, 32,$game_party.actors[0].maxhp.to_s)
    self.contents.draw_text(0 + 240,0 , 36, 32, "SP:")
    self.contents.draw_text(70 + 240,0 , 36, 32,$game_party.actors[0].sp.to_s)
    self.contents.draw_text(70 + 63 + 240,0 + 1, 36, 32, "/")
    self.contents.draw_text(70 + 105 + 240,0 + 1, 36, 32,$game_party.actors[0].maxsp.to_s)
  end
  def update
    super
    self.visible = !$game_switches[Hide_Window_Mapshow]
    return unless self.visible                 #-----unless相当于if not
    rest_hp = $game_party.actors[0].hp
    max_hp = $game_party.actors[0].maxhp
    rest_sp = $game_party.actors[0].sp
    max_sp = $game_party.actors[0].maxsp
    gold = $game_party.gold
    if $l7_old_hp != rest_hp || ($l7_old_maxhp != max_hp) || $l7_old_sp != rest_sp || ($l7_old_maxsp != max_sp) || $l7_old_gold != gold
       $l7_old_hp = rest_hp
       $l7_old_maxhp = max_hp
       $l7_old_sp = rest_sp
       $l7_old_maxsp = max_sp
       refresh
    end
  end
end
[/pre]
[pre lang="ruby" line="14"]    # 生成信息窗口----------------------------------在此处添加窗口
    @message_window = Window_Message.new
    @mapshow = Window_Mapshow.new
    @mapshow.opacity = 20   #------------------------更改窗口透明度[/pre]
[pre lang="ruby" line="37"]    # 释放信息窗口--------------------------------记得在此处释放窗口
    @message_window.dispose
    @mapshow.dispose[/pre]
[pre lang="ruby" line="75"]    # 刷新信息窗口----------------------------记得在此处刷新窗口
    @message_window.update
    @mapshow.update[/pre]
[fold=截图] QQ截图20170617174058.png QQ截图20170617174121.png QQ截图20170617174109.png QQ截图20170617174130.png [/fold]
地图显示HP SP 条.rar (192.2 KB, 下载次数: 288)

评分

参与人数 2星屑 +70 收起 理由
铅笔描绘的思念 + 40 塞糖
钓鱼的岛 + 30 精品文章

查看全部评分

梦石
0
星屑
604
在线时间
105 小时
注册时间
2015-9-4
回帖
35
发表于 2017-6-18 10:23:05 | 显示全部楼层
好东西 ,谢谢楼主的付出,抱走了。
回复

使用道具 举报

梦石
0
星屑
1090
在线时间
324 小时
注册时间
2017-1-24
回帖
105

开拓者

 楼主| 发表于 2017-6-18 10:54:07 | 显示全部楼层
花天酒地 发表于 2017-6-18 10:23
好东西 ,谢谢楼主的付出,抱走了。

随便拿,对你有用就行.有BUG请反馈给我,好改正.
回复

使用道具 举报

梦石
0
星屑
604
在线时间
105 小时
注册时间
2015-9-4
回帖
35
发表于 2017-6-18 10:57:04 | 显示全部楼层
戴迪 发表于 2017-6-18 10:54
随便拿,对你有用就行.有BUG请反馈给我,好改正.

我想更换下你画面上显示的血蓝条和金钱条。但是没找到在哪里更换图标。能否增加个头像上去
回复

使用道具 举报

梦石
0
星屑
1090
在线时间
324 小时
注册时间
2017-1-24
回帖
105

开拓者

 楼主| 发表于 2017-6-18 11:08:50 | 显示全部楼层
本帖最后由 戴迪 于 2017-6-18 11:19 编辑
花天酒地 发表于 2017-6-18 10:57
我想更换下你画面上显示的血蓝条和金钱条。但是没找到在哪里更换图标。能否增加个头像上去 ...


HP,SP条只能改颜色,大小,坐标,金钱显示的效果就跟在菜单栏里的显示效果一样。至于头像,等我有时间的时候弄下。思路就是使用在位图里添加图片的方法。Color.new(255,255,255,255)是显示颜色,最后一个数字是透明度。想把颜色改成自己想要的就改下数字就行了,至于怎么改。至于怎么改参考RGB色彩
回复

使用道具 举报

梦石
0
星屑
604
在线时间
105 小时
注册时间
2015-9-4
回帖
35
发表于 2017-6-18 11:18:43 | 显示全部楼层
戴迪 发表于 2017-6-18 11:08
HP,SP条只能改颜色,大小,坐标,金钱显示的效果就跟在菜单栏里的显示效果一样。至于头像,等我有时间的 ...

HP和SP是系统自带的还是你弄得血槽,
回复

使用道具 举报

梦石
0
星屑
1090
在线时间
324 小时
注册时间
2017-1-24
回帖
105

开拓者

 楼主| 发表于 2017-6-18 11:20:12 | 显示全部楼层
花天酒地 发表于 2017-6-18 11:18
HP和SP是系统自带的还是你弄得血槽,

当然是自己描绘的啦,就是画几个色条上去而已
回复

使用道具 举报

梦石
0
星屑
604
在线时间
105 小时
注册时间
2015-9-4
回帖
35
发表于 2017-6-18 11:23:35 | 显示全部楼层
戴迪 发表于 2017-6-18 11:20
当然是自己描绘的啦,就是画几个色条上去而已

我也有很多漂亮的血蓝条,但是不知道在哪里放进去。替换原来的血槽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1 小时
注册时间
2017-5-30
回帖
1
发表于 2017-6-18 13:19:37 | 显示全部楼层
谢谢楼主~
回复

使用道具 举报

梦石
0
星屑
915
在线时间
5 小时
注册时间
2016-2-21
回帖
3
发表于 2018-4-21 13:33:38 | 显示全部楼层
感谢提供~抱走
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部