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

Project1

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

[已经解决] 如何在地圖上顯示HP

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2012-5-24
帖子
6
跳转到指定楼层
1
发表于 2012-5-24 21:51:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我上網找了別人寫的公共事件
照著做了一次可是顯示不出來我要的
這是我寫的內容
http://album.blog.yam.com/show.p ... ;i=20878008&p=1

裡面的圖1~圖3在這裡
http://adminblog.yam.com/album.p ... r=7864547&page=

我是參照這篇寫的
http://forum2.gamer.com.tw/G2.ph ... =1213&lorder=35

請問是哪裡出問題??

Lv3.寻梦者

梦石
0
星屑
2019
在线时间
1871 小时
注册时间
2009-8-17
帖子
256
2
发表于 2012-5-25 14:55:35 | 只看该作者
http://rpg.blue/forum.php?mod=viewthread&tid=214509
有你需要的。善用搜索啊。。。
回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

3
发表于 2012-5-25 19:19:06 | 只看该作者
插入Main前 打开17号开关 HP条显示。  下面可以改开关的编号@bars.visible = $game_switches[17]
  1. #-----------------------------------------------------------------
  2. class Scene_Map
  3. #-----------------------------------------------------------------
  4.   alias sk_bar_main main
  5.   def main
  6.     @bars = Window_Sk_Bars.new
  7.     sk_bar_main
  8.     @bars.dispose if @bars != nil
  9.   end
  10. #-----------------------------------------------------------------
  11.   alias sk_bar_update update
  12.   def update
  13.     @bars.update
  14.     sk_bar_update
  15.     @bars.visible = $game_switches[17] #开关打开HP条显示
  16.   end
  17. #-----------------------------------------------------------------
  18. end
  19. #-----------------------------------------------------------------
  20. class Window_Base < Window
  21. #-----------------------------------------------------------------
  22.   def sk_initialize(font=0,size=22)
  23.     font = "Tahoma" if font == 0
  24.     self.contents = Bitmap.new(self.width-32,self.height-32)
  25.     self.contents.font.name = font
  26.     self.contents.font.size = size
  27.   end
  28. #-----------------------------------------------------------------
  29.   def draw_text_outline(x,y,w,h,str,c=normal_color,a=0)
  30.     self.contents.font.color = Color.new(0,0,0,255)
  31.     self.contents.draw_text(x-1,y,w,h,str,a)
  32.     self.contents.draw_text(x+1,y,w,h,str,a)
  33.     self.contents.draw_text(x,y+1,w,h,str,a)
  34.     self.contents.draw_text(x,y-1,w,h,str,a)
  35.     self.contents.font.color = c
  36.     self.contents.draw_text(x,y,w,h,str,a)
  37.   end
  38. #-----------------------------------------------------------------
  39. end
  40. #-----------------------------------------------------------------
  41. class Window_Sk_Bars < Window_Base
  42. #-----------------------------------------------------------------
  43.   def initialize
  44.     super(444,-8,206,96)
  45.     sk_initialize("Arial")
  46.     self.opacity = 0
  47.   end
  48. #-----------------------------------------------------------------
  49.   def update
  50.     self.contents.clear
  51.     actor = $game_party.actors[0]
  52.     return if actor.nil?
  53.     draw_text_outline(0,-4,64,26,"HP")
  54.     draw_actor_hp(actor,30,0)
  55.   end
  56. #-----------------------------------------------------------------
  57.   def draw_actor_hp(actor,x,y)
  58.     width = 128
  59.     y += 4
  60.     white = Color.new(255,255,255,255)
  61.     black = Color.new(0,0,0,255)
  62.     w = width * actor.hp / actor.maxhp
  63.     # White border
  64.     self.contents.fill_rect(x+1, y-1, width-2, 1, white)
  65.     self.contents.fill_rect(x, y, width, 1, white)
  66.     self.contents.fill_rect(x-1, y+1, width+2, 9, white)
  67.     self.contents.fill_rect(x, y+10, width, 1, white)
  68.     self.contents.fill_rect(x+1, y+11, width-2, 1, white)
  69.     # Black back
  70.     self.contents.fill_rect(x+2, y, width-4, 1, black)
  71.     self.contents.fill_rect(x+1, y+1, width-2, 1, black)
  72.     self.contents.fill_rect(x, y+2, width, 7, black)
  73.     self.contents.fill_rect(x+1, y+9, width-2, 1, black)
  74.     self.contents.fill_rect(x+2, y+10, width-4, 1, black)
  75.     # Generating the color
  76.     val = 255 * ((actor.hp*100)/actor.maxhp)
  77.     green = 255 - val/100
  78.     color = Color.new(224,green,0,255)
  79.     w_color = Color.new(255,green+32,96,255)
  80.     if green > 64 then green -= 32
  81.     elsif green > 128 then green -= 64 end
  82.     b_color = Color.new(172,green,0,255)
  83.     # Making the bar
  84.     self.contents.fill_rect(x+2, y, w-4, 1, w_color)
  85.     self.contents.fill_rect(x+1, y+1, w-2, 1, w_color)
  86.     self.contents.fill_rect(x, y+2, w, 7, color)
  87.     self.contents.fill_rect(x+1, y+9, w-2, 1, color)
  88.     self.contents.fill_rect(x+2, y+10, w-4, 1, b_color)
  89.   end
  90. #-----------------------------------------------------------------
  91. end
  92. #-----------------------------------------------------------------
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2012-5-24
帖子
6
4
 楼主| 发表于 2012-5-26 16:05:10 | 只看该作者
希望不要用腳本
有點難理解


後面的血條範例沒辦法執行
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 06:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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