查看: 1415|回复: 3

[已经解决] 如何在地图上显示主角头像,血,法,经验条?谢谢各位亲

[复制链接]

笑问情缘

梦石
0
星屑
68
在线时间
238 小时
注册时间
2006-5-3
回帖
544
发表于 2012-12-29 12:29:57 来自手机 | 显示全部楼层 |阅读模式

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

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

×
如何在地图上显示主角头像,血,法,经验条?谢谢各位亲
梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
回帖
846
发表于 2012-12-29 14:15:20 | 显示全部楼层
在scene_map 内新建窗口,然后描绘角色的数值。具体怎么写可以参考游戏内自带的菜单类脚本就可以办到。
湿滑落式骑!
回复

使用道具 举报

笑问情缘

梦石
0
星屑
68
在线时间
238 小时
注册时间
2006-5-3
回帖
544
 楼主| 发表于 2012-12-29 17:05:16 来自手机 | 显示全部楼层
表示脚本一个,谁能提供一个呢?谢谢啦
回复

使用道具 举报

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

发表于 2012-12-29 17:17:08 | 显示全部楼层
本帖最后由 美丽晨露 于 2012-12-29 17:25 编辑

有个脚本,不过要自己提供素材
否则会出错的
  1. class Game_Actor < Game_Battler

  2.   def now_exp

  3.     return [url=home.php?mod=space&uid=13302]@exp[/url] - @exp_list[@level]

  4.   end

  5.   def next_exp

  6.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0

  7.   end

  8. end

  9. class Sprite_Bar < Sprite

  10.   def initialize(v,actor)

  11.     super(v)

  12.     self.bitmap = RPG::Cache.picture("人物#{actor.id}")

  13.     self.visible = false

  14.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor

  15.     refresh

  16.   end

  17.   def refresh

  18.     self.bitmap.clear

  19.     self.bitmap.dispose

  20.     self.bitmap = nil

  21.     bar = RPG::Cache.picture("人物#{@actor.id}")

  22.     self.bitmap = bar.dup

  23.     bitmap = RPG::Cache.picture("1")

  24.     hp_w = @actor.hp * bitmap.width / @actor.maxhp

  25.     rect = Rect.new(0, 0, hp_w,bitmap.height)

  26.     self.bitmap.blt(48, 3, bitmap, rect)

  27.    

  28.     bitmap = RPG::Cache.picture("2")

  29.     hp_w = @actor.sp * bitmap.width / @actor.maxsp

  30.     rect = Rect.new(0, 0, hp_w,bitmap.height)

  31.     self.bitmap.blt(48, 16, bitmap, rect)

  32.    

  33.     bitmap = RPG::Cache.picture("3")

  34.     if @actor.next_exp == 0

  35.       hp_w = @actor.now_exp

  36.     else

  37.       hp_w = @actor.now_exp * bitmap.width / @actor.next_exp

  38.     end

  39.     rect = Rect.new(0, 0, hp_w,bitmap.height)

  40.     self.bitmap.blt(48, 29, bitmap, rect)

  41.    

  42.     # 3 16 29

  43.    

  44.     @hp = @actor.hp

  45.     @sp = @actor.sp

  46.     @exp = @actor.now_exp

  47.   end

  48.   def update

  49.     super

  50.     self.visible = $game_switches[2]

  51.     return unless self.visible

  52.     refresh if @hp != @actor.hp || @sp != @actor.sp || @exp != @actor.now_exp

  53.   end

  54. end

  55. class Scene_Map

  56.   alias new_main main unless method_defined?("new_main")

  57.   alias new_update update unless method_defined?("new_update")

  58.   def main

  59.     @bar = []

  60.     @vie = []

  61.     for actor in $game_party.actors

  62.       v = Viewport.new(640-((actor.index+1) * 129), 0, 129, 45)

  63.       v.z += 1000

  64.       @bar.push(Sprite_Bar.new(v, actor))

  65.       @vie.push(v)

  66.     end

  67.     new_main

  68.     @bar.each{|bar|bar.dispose}

  69.     @vie.each{|vie|vie.dispose}

  70.   end

  71.   def update

  72.     @bar.each{|bar|bar.update}

  73.     new_update

  74.   end

  75. end
复制代码

评分

参与人数 1星屑 +100 收起 理由
hcm + 100 认可答案

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部