Project1

标题: 经验条用图片显示 [打印本页]

作者: 黑米馒头    时间: 2014-7-29 17:59
标题: 经验条用图片显示
求经验条用图片显示的脚本,当前经验/最大经验,然后有个图片显示增幅效果。
作者: 冰水金刚    时间: 2014-7-29 18:26
RUBY 代码复制
  1. class Window_Status < Window_Base
  2.   def refresh
  3.     self.contents.clear
  4.     draw_actor_graphic(@actor, 40, 112)
  5.     draw_actor_name(@actor, 4, 0)
  6.     draw_actor_class(@actor, 4 + 144, 0)
  7.     draw_actor_level(@actor, 96, 32)
  8.     draw_actor_state(@actor, 96, 64)
  9.     draw_actor_hp(@actor, 96, 112, 172)
  10.     draw_actor_sp(@actor, 96, 144, 172)
  11.     draw_actor_parameter(@actor, 96, 192, 0)
  12.     draw_actor_parameter(@actor, 96, 224, 1)
  13.     draw_actor_parameter(@actor, 96, 256, 2)
  14.     draw_actor_parameter(@actor, 96, 304, 3)
  15.     draw_actor_parameter(@actor, 96, 336, 4)
  16.     draw_actor_parameter(@actor, 96, 368, 5)
  17.     draw_actor_parameter(@actor, 96, 400, 6)
  18.     self.contents.font.color = system_color
  19.     self.contents.draw_text(320, 48, 80, 32, "EXP")
  20.     self.contents.draw_text(320, 80, 80, 32, "NEXT")
  21.     self.contents.font.color = normal_color
  22.     self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
  23.     self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
  24.     self.contents.font.color = system_color
  25.     self.contents.draw_text(320, 160, 96, 32, "装备")
  26.     draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208)
  27.     draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256)
  28.     draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304)
  29.     draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352)
  30.     draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400)
  31.     @exp_a = nil
  32.     @exp_b = nil
  33.     @exp_a = Sprite.new
  34.     @exp_b = Sprite.new
  35.     @exp_a.bitmap = Bitmap.new(130,5)
  36.     @exp_b.bitmap= Bitmap.new(130,5)
  37.     color1 = Color.new(150,150,150,255)
  38.     color2 = Color.new(255,100,100,255)
  39.     @exp_a.x = 60
  40.     @exp_a.y = 50
  41.     @exp_a.z = 10000
  42.     @exp_a.bitmap.fill_rect(0,0,120,32,color1)
  43.     @exp_c = 120*@actor.exp/@actor.next_rest_exp_s.to_i
  44.     @exp_b.x = 60
  45.     @exp_b.y = 50
  46.     @exp_b.z = 10000
  47.     @exp_b.bitmap.fill_rect(0,0,@exp_c,32,color2)
  48.   end
  49.   def dispose
  50.     super
  51.     @exp_a.bitmap.dispose
  52.     @exp_b.bitmap.dispose
  53.     @exp_a.dispose
  54.     @exp_b.dispose
  55.     @exp_a = nil
  56.     @exp_b = nil
  57.   end
  58. end

35到47行调坐标 ,LZ根据自己的窗口调吧
作者: 恐惧剑刃    时间: 2014-7-29 18:38
本帖最后由 恐惧剑刃 于 2014-7-29 20:02 编辑

刚看了一下,果然还是我在这一块。。。

下一等级需要的经验 @exp_list[@level + 1]
角色当前的经验 @exp

这样就很好描绘了

指定一个 width

直接 @exp * width / @exp_list[@level + 1]

大概就是这样吧??




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1