设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 6531|回复: 13
打印 上一主题 下一主题

[RMVX发布] 美丽的血条加地图显示

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
跳转到指定楼层
1
发表于 2011-10-27 18:35:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
好想以前有人发过了...

System:里
GaugeHP.png
GaugeMP.png
GaugeEXP.png












美丽血条显示

  1. #==============================================================================
  2. # ■ Window_Status
  3. #==============================================================================
  4. class Window_Status < Window_Base
  5.   def draw_exp_info(x, y)
  6.     s_next = sprintf(Vocab::ExpNext, Vocab::level)
  7.     self.contents.font.color = system_color
  8.     self.contents.draw_text(x, y + WLH * 0, 180, WLH, Vocab::ExpTotal)
  9.     self.contents.draw_text(x, y + WLH * 2, 180, WLH, s_next)
  10.     draw_actor_exp(@actor, x, y + WLH * 1)
  11.     draw_actor_next_exp(@actor, x, y + WLH * 3)
  12.   end
  13. end
  14. module KGC
  15. module GenericGauge
  16.   # 图像   >>> Graphics/System
  17.   HP_IMAGE  = "GaugeHP"   # HP
  18.   MP_IMAGE  = "GaugeMP"   # MP
  19.   EXP_IMAGE = "GaugeEXP"  # EXP
  20.   # 位置坐标 [x, y]
  21.   HP_OFFSET  = [-23, -2]  # HP
  22.   MP_OFFSET  = [-23, -2]  # MP
  23.   EXP_OFFSET = [-23, -2]  # EXP
  24.   # 长度
  25.   HP_LENGTH  = -4  # HP
  26.   MP_LENGTH  = -4  # MP
  27.   EXP_LENGTH = -4  # EXP
  28.   # 倾斜度
  29.   # 数值指定:(-89~89)
  30.   HP_SLOPE  = 30  # HP
  31.   MP_SLOPE  = 30  # MP
  32.   EXP_SLOPE = 30  # EXP
  33. end
  34. end
  35. #==============================================================================
  36. $imported = {} if $imported == nil
  37. $imported["GenericGauge"] = true

  38. #==============================================================================
  39. # ■ Bitmap
  40. #==============================================================================
  41. unless $imported["BitmapExtension"]
  42. class Bitmap
  43. #--------------------------------------------------------------------------
  44. # 倾斜...
  45. #--------------------------------------------------------------------------
  46.   def skew_blt(x, y, src_bitmap, src_rect, slope, opacity = 255)
  47.     slope = [[slope, -90].max, 90].min
  48.     sh    = src_rect.height
  49.     off  = sh / Math.tan(Math::PI * (90 - slope.abs) / 180.0)
  50.     if slope >= 0
  51.       dx   = x + off.round
  52.       diff = -off / sh
  53.     else
  54.       dx   = x
  55.       diff = off / sh
  56.     end
  57.     rect = Rect.new(src_rect.x, src_rect.y, src_rect.width, 1)
  58.     sh.times { |i|
  59.       blt(dx + (diff * i).round, y + i, src_bitmap, rect, opacity)
  60.       rect.y += 1
  61.     }
  62.   end
  63. end
  64. end

  65. #==============================================================================
  66. # ■ Game_Actor
  67. #==============================================================================
  68. class Game_Actor < Game_Battler
  69.   def next_exp
  70.     return @exp_list[@level+1]
  71.   end
  72.   def next_diff_exp
  73.     return (@exp_list[@level+1] - @exp_list[@level])
  74.   end
  75.   def next_rest_exp
  76.     return (@exp_list[@level+1] - @exp)
  77.   end
  78. end

  79. #==============================================================================
  80. # ■ Window_Base
  81. #==============================================================================
  82. class Window_Base < Window
  83.   GAUGE_SRC_POS = {
  84.     :normal   => [ 0, 24],
  85.     :decrease => [ 0, 48],
  86.     :increase => [72, 48],
  87.   }
  88.   @@__gauge_buf = Bitmap.new(320, 24)
  89.   def draw_gauge(file, x, y, width, value, limit, offset, len_offset, slope,
  90.       gauge_type = :normal)
  91.     img    = Cache.system(file)
  92.     x     += offset[0]
  93.     y     += offset[1]
  94.     width += len_offset
  95.     draw_gauge_base(img, x, y, width, slope)
  96.     gw = width * value / limit
  97.     draw_gauge_bar(img, x, y, width, gw, slope, GAUGE_SRC_POS[gauge_type])
  98.   end
  99.   def draw_gauge_base(img, x, y, width, slope)
  100.     rect = Rect.new(0, 0, 24, 24)
  101.     if slope != 0
  102.       self.contents.skew_blt(x, y, img, rect, slope)
  103.       rect.x = 96
  104.       self.contents.skew_blt(x + width + 24, y, img, rect, slope)
  105.       rect.x     = 24
  106.       rect.width = 72
  107.       dest_rect = Rect.new(0, 0, width, 24)
  108.       @@__gauge_buf.clear
  109.       @@__gauge_buf.stretch_blt(dest_rect, img, rect)
  110.       self.contents.skew_blt(x + 24, y, @@__gauge_buf, dest_rect, slope)
  111.     else
  112.       self.contents.blt(x, y, img, rect)
  113.       rect.x = 96
  114.       self.contents.blt(x + width + 24, y, img, rect)
  115.       rect.x     = 24
  116.       rect.width = 72
  117.       dest_rect = Rect.new(x + 24, y, width, 24)
  118.       self.contents.stretch_blt(dest_rect, img, rect)
  119.     end
  120.   end
  121.   def draw_gauge_bar(img, x, y, width, gw, slope, src_pos, start = 0)
  122.     rect = Rect.new(src_pos[0], src_pos[1], 72, 24)
  123.     dest_rect = Rect.new(0, 0, width, 24)
  124.     @@__gauge_buf.clear
  125.     @@__gauge_buf.stretch_blt(dest_rect, img, rect)
  126.     dest_rect.x     = start
  127.     dest_rect.width = gw
  128.     x += start
  129.     if slope != 0
  130.       self.contents.skew_blt(x + 24, y, @@__gauge_buf, dest_rect, slope)
  131.     else
  132.       self.contents.blt(x + 24, y, @@__gauge_buf, dest_rect)
  133.     end
  134.   end
  135.   def draw_actor_hp_gauge(actor, x, y, width = 120)
  136.     draw_gauge(KGC::GenericGauge::HP_IMAGE,
  137.       x, y, width, actor.hp, actor.maxhp,
  138.       KGC::GenericGauge::HP_OFFSET,
  139.       KGC::GenericGauge::HP_LENGTH,
  140.       KGC::GenericGauge::HP_SLOPE
  141.     )
  142.   end
  143.   def draw_actor_mp_gauge(actor, x, y, width = 120)
  144.     draw_gauge(KGC::GenericGauge::MP_IMAGE,
  145.       x, y, width, actor.mp, [actor.maxmp, 1].max,
  146.       KGC::GenericGauge::MP_OFFSET,
  147.       KGC::GenericGauge::MP_LENGTH,
  148.       KGC::GenericGauge::MP_SLOPE
  149.     )
  150.   end
  151.   def draw_actor_exp(actor, x, y, width = 180)
  152.     self.contents.font.color = normal_color
  153.     self.contents.draw_text(x, y, width, WLH, actor.exp_s, 2)
  154.   end
  155.   def draw_actor_next_exp(actor, x, y, width = 180)
  156.     draw_actor_exp_gauge(actor, x, y, width)
  157.     self.contents.font.color = normal_color
  158.     self.contents.draw_text(x, y, width, WLH, actor.next_rest_exp_s, 2)
  159.   end
  160.   def draw_actor_exp_gauge(actor, x, y, width = 180)
  161.     diff = [actor.next_diff_exp, 1].max
  162.     rest = [actor.next_rest_exp, 1].max
  163.     draw_gauge(KGC::GenericGauge::EXP_IMAGE,
  164.       x, y, width, diff - rest, diff,
  165.       KGC::GenericGauge::EXP_OFFSET,
  166.       KGC::GenericGauge::EXP_LENGTH,
  167.       KGC::GenericGauge::EXP_SLOPE
  168.     )
  169.   end
  170. end
复制代码



地图血条显示:开关18打开时:
if $game_switches[18] == true

  1. class Scene_Map < Scene_Base
  2.   alias hpmpwindow_start start
  3.   def start
  4.     hpmpwindow_start
  5.     @hpmpwindow = Window_Base.new(395, 337, 160, 80)   
  6.   end
  7.   alias hpmpwindow_update update
  8.   def update
  9.     actor = $game_party.members[0]
  10.     if @temp_hp != actor.hp or @temp_mp != actor.mp
  11.       @hpmpwindow.contents.clear
  12.       @hpmpwindow.draw_actor_hp(actor, 0, 0)
  13.       @hpmpwindow.draw_actor_mp(actor, 0, 25)
  14.       @temp_hp = actor.hp
  15.       @temp_mp = actor.mp
  16.     end
  17.     @hpmpwindow.update
  18.     hpmpwindow_update
  19.         if $game_switches[18] == true
  20.     @hpmpwindow.opacity = 255
  21.     @hpmpwindow.back_opacity = 255
  22.     @hpmpwindow.contents_opacity = 255
  23.     else
  24.     @hpmpwindow.opacity = 0
  25.     @hpmpwindow.back_opacity = 0
  26.     @hpmpwindow.contents_opacity = 0
  27.     end
  28.   end
  29.   alias hpmpwindow_terminate terminate
  30.   def terminate
  31.     @hpmpwindow.dispose
  32.     hpmpwindow_terminate
  33.   end
  34. end
复制代码

黑之结界勇士

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
2
发表于 2011-10-27 18:40:26 | 只看该作者
KGC的脚本拿来发布,没问题吗……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
3
 楼主| 发表于 2011-10-27 18:52:01 | 只看该作者
Rion幻音 发表于 2011-10-27 18:40
KGC的脚本拿来发布,没问题吗……

额...
黑之结界勇士
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1428
在线时间
1705 小时
注册时间
2011-8-17
帖子
818
4
发表于 2011-10-27 20:05:15 | 只看该作者
话说除了状态界面其他界面有变化没?(如果只有状态画面有变化那不是太不协调了)

点评

战斗里有木有啊?  发表于 2011-10-27 20:59
菜单里  发表于 2011-10-27 20:57
roguelike求生RPG研发中....
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
5
 楼主| 发表于 2011-10-27 20:59:40 | 只看该作者


战斗显示..

血条自己改改就行了
黑之结界勇士
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
271
在线时间
2088 小时
注册时间
2011-7-28
帖子
1145
6
发表于 2011-10-27 21:06:57 | 只看该作者
果断一个有用的脚本
[color=Red][b]我没有签名[/b][/color]
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
398
在线时间
972 小时
注册时间
2007-12-31
帖子
2137
7
发表于 2011-10-27 22:06:48 | 只看该作者
Rion幻音 发表于 2011-10-27 18:40
KGC的脚本拿来发布,没问题吗……
  1. KGC::
复制代码
的确呢……大概应该发到地球村什么的?

点评

看成二SI化K我自重  发表于 2011-11-16 21:50
不清楚得发到神马区= =不过KFC很喜欢吃~XD  发表于 2011-10-28 07:27
咱以为是KFC呢= =  发表于 2011-10-27 22:18
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
385
在线时间
43 小时
注册时间
2011-4-9
帖子
4
8
发表于 2011-10-28 12:42:22 | 只看该作者
好东西啊,支持一下
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
77
在线时间
692 小时
注册时间
2011-10-20
帖子
907
9
发表于 2011-11-15 13:37:13 | 只看该作者
好像很强大,不过我用的是XP`
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
457
在线时间
1409 小时
注册时间
2010-9-23
帖子
557
10
发表于 2011-11-15 15:04:47 | 只看该作者
记得还有一个怒气的脚本是一套的,也是用这种图片。
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-2 12:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表