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

Project1

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

怎么在事件头上显示变量条?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
跳转到指定楼层
1
发表于 2008-8-13 00:57:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
{/hx}本人终于投入了VX的怀抱
{/hx}怎么在事件头上显示变量条呢~?
可以设置上限最好~
就是在事件头上显示某个变量的条形,上面还有字~可以设置上限
比如上限是10
那么变量变成10的时候,那个条就会变满~
{/hx}最好有范例
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
2
 楼主| 发表于 2008-8-13 02:32:46 | 只看该作者
{/jy}自顶
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3427
在线时间
3629 小时
注册时间
2006-9-6
帖子
37402

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

3
发表于 2008-8-13 02:57:25 | 只看该作者
未完整的范例:
http://rpg.blue/upload_program/f ... 血条_90877848.rar
配色:
  1. #==============================================================================
  2. # ■ Sprite
  3. #==============================================================================
  4. class Sprite
  5.   #--------------------------------------------------------------------------
  6.   # ● 血条配色
  7.   #--------------------------------------------------------------------------
  8.   ALPHA      = 192                              # 不透明度
  9.   FONT_COLOR = Color.new(64,  64, 240, ALPHA)  # hp 数值
  10.   B_COLOR    = Color.new(255, 255, 255, ALPHA)  # 血条外框
  11.   BG_COLOR   = Color.new(  0,   0,   0, ALPHA)  # 血条底
  12.   HP_COLOR_1 = Color.new(255, 128,  64, ALPHA)  # 血条渐变色 1
  13.   HP_COLOR_2 = Color.new(240, 192,  64, ALPHA)  # 血条渐变色 2
  14.   #--------------------------------------------------------------------------
  15.   # ● 画血条
  16.   #--------------------------------------------------------------------------
  17.   def draw_character_hp(character, x, y, width)
  18.     draw_character_hp_gauge(character, x, y, width)
  19.     self.bitmap.font.color = FONT_COLOR
  20.     self.bitmap.font.size = 12
  21.     self.bitmap.draw_text(0,0,32,20,character.hp,2)
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 画血条的背景条
  25.   #--------------------------------------------------------------------------
  26.   def draw_character_hp_gauge(character, x, y, width)
  27.     gw = width * character.hp / character.maxhp
  28.     self.bitmap.fill_rect(x, y+16, width+2, 5, B_COLOR)
  29.     self.bitmap.fill_rect(x+1, y+17, width, 3, BG_COLOR)
  30.     self.bitmap.gradient_fill_rect(x+1, y+17, gw, 3, HP_COLOR_1, HP_COLOR_2)
  31.   end
  32. end

  33. #==============================================================================
  34. # ■ Sprite_Character
  35. #==============================================================================
  36. class Sprite_Character < Sprite_Base
  37.   #--------------------------------------------------------------------------
  38.   # ● 定义实例变量
  39.   #--------------------------------------------------------------------------
  40.   attr_accessor :character
  41.   #--------------------------------------------------------------------------
  42.   # ● 释放
  43.   #--------------------------------------------------------------------------
  44.   def dispose
  45.     dispose_balloon
  46.     super
  47.     if @hp_sprite != nil
  48.       @hp_sprite.bitmap.dispose
  49.       @hp_sprite.dispose
  50.       @hp_sprite = nil
  51.     end
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 更新画面
  55.   #--------------------------------------------------------------------------
  56.   alias old_update update
  57.   def update
  58.     old_update
  59.     if @hp_sprite == nil
  60.       unless @character.is_a?(Game_Vehicle) or @character.maxhp <= 0
  61.         hp_sprite_set(@character)
  62.       end
  63.     end
  64.     unless @character.is_a?(Game_Vehicle)
  65.       hp_update if @character.update_hp
  66.     end
  67.     hp_follow
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 显示 hp
  71.   #--------------------------------------------------------------------------
  72.   def hp_sprite_set(character)
  73.     @hp_sprite = Sprite.new
  74.     @hp_sprite.bitmap = Bitmap.new(32, 24)
  75.     @hp_sprite.draw_character_hp(character, 0, 0, width = 30)
  76.     @hp_sprite.x = self.x - @hp_sprite.width/2
  77.     @hp_sprite.y = self.y - self.height - 21
  78.     @hp_sprite.z = self.z + 1
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● 让 hp 跟随事件或角色
  82.   #--------------------------------------------------------------------------
  83.   def hp_follow
  84.     return if @hp_sprite == nil
  85.     return if @character.is_a?(Game_Vehicle)
  86.     @hp_sprite.x = self.x - @hp_sprite.width/2
  87.     @hp_sprite.y = self.y - self.height - 21
  88.     @hp_sprite.z = self.z + 1
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 刷新 hp
  92.   #--------------------------------------------------------------------------
  93.   def hp_update
  94.     return if @hp_sprite == nil
  95.     return if @character.is_a?(Game_Vehicle)
  96.     @character.update_hp = false
  97.     @hp_sprite.bitmap.clear
  98.     @hp_sprite.draw_character_hp(@character, 0, 0, width = 30)
  99.   end
  100. end

  101. #==============================================================================
  102. # ■ Game_Event
  103. #==============================================================================
  104. class Game_Event < Game_Character
  105.   #--------------------------------------------------------------------------
  106.   # ● 定义实例变量
  107.   #--------------------------------------------------------------------------
  108.   attr_reader   :hp
  109.   attr_reader   :maxhp
  110.   attr_accessor  :update_hp
  111.   #--------------------------------------------------------------------------
  112.   # ● 初始化对像
  113.   #     map_id : 地图 ID
  114.   #     event  : 事件 (RPG::Event)
  115.   #--------------------------------------------------------------------------
  116.   alias ini initialize
  117.   def initialize(map_id, event)
  118.     @maxhp = @hp = 0
  119.     @update_hp = false
  120.     ini(map_id, event)
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ● 更改 hp
  124.   #     hp : 事件自身的hp
  125.   #--------------------------------------------------------------------------
  126.   def hp=(hp)
  127.     @hp = hp
  128.     @hp = 0 if @hp < 0
  129.     @update_hp = true
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 初始化 maxhp
  133.   #     maxhp : 事件自身的最大 hp
  134.   #--------------------------------------------------------------------------
  135.   def maxhp=(maxhp)
  136.     @maxhp = @hp = maxhp
  137.   end
  138. end

  139. #==============================================================================
  140. # ■ Game_Player
  141. #==============================================================================
  142. class Game_Player < Game_Character
  143.   #--------------------------------------------------------------------------
  144.   # ● 定义实例变量
  145.   #--------------------------------------------------------------------------
  146.   attr_reader    :hp
  147.   attr_reader    :maxhp
  148.   attr_accessor  :update_hp
  149.   #--------------------------------------------------------------------------
  150.   # ● 初始化对象
  151.   #--------------------------------------------------------------------------
  152.   alias ini initialize
  153.   def initialize
  154.     @maxhp = @hp = 0
  155.     @update_hp = false
  156.     ini
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 刷新
  160.   #--------------------------------------------------------------------------
  161.   def refresh
  162.     if $game_party.members.size == 0
  163.       @character_name = ""
  164.       @character_index = 0
  165.     else
  166.       actor = $game_party.members[0]   # 获得首名角色
  167.       @character_name = actor.character_name
  168.       @character_index = actor.character_index
  169.       #获取角色 hp 和 maxhp
  170.       if @hp != actor.hp or @maxhp != actor.maxhp
  171.         @hp = actor.hp
  172.         @maxhp = actor.maxhp
  173.         @update_hp = true
  174.       end
  175.     end
  176.   end
  177. end

  178. #==============================================================================
  179. # ■ Game_Interpreter
  180. #==============================================================================
  181. class Game_Interpreter
  182.   #--------------------------------------------------------------------------
  183.   # ● 设置正在启动的事件
  184.   #--------------------------------------------------------------------------
  185.   alias old_setup_starting_event setup_starting_event
  186.   def setup_starting_event
  187.     $game_player.refresh
  188.     old_setup_starting_event
  189.   end
  190. end
复制代码

使用时请注明,这个脚本是我找人写的……{/hx} [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
4
 楼主| 发表于 2008-8-13 05:29:58 | 只看该作者
{/qiang}小柯不错哦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2008-1-15
帖子
280
5
 楼主| 发表于 2008-8-13 16:44:17 | 只看该作者
{/jy}小柯怎么没想过去发布芥过东西捏~{/jy}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
6 小时
注册时间
2006-12-18
帖子
118
6
发表于 2008-9-29 20:53:19 | 只看该作者
有XP的吗!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-23 02:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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