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

Project1

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

[已经解决] 请教一个关于血条

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-11-9
帖子
19
跳转到指定楼层
1
发表于 2009-11-10 13:58:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

~琉璃の雪~<

梦石
0
星屑
49
在线时间
36 小时
注册时间
2008-11-6
帖子
3678
2
发表于 2009-11-10 14:07:09 | 只看该作者
去框:
Spriteset_Battle里所有的320改成480,然后再换一张640*480的图片.

敌人血条:
在脚本里改改坐标就好.

我方血条:
LZ上传下工程吧,看我能不能写一个.
~现在开始自绘头像~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-11-9
帖子
19
3
 楼主| 发表于 2009-11-10 14:32:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

~琉璃の雪~<

梦石
0
星屑
49
在线时间
36 小时
注册时间
2008-11-6
帖子
3678
4
发表于 2009-11-10 14:53:45 | 只看该作者
本帖最后由 夏季冰川 于 2009-11-10 14:55 编辑

你把横板战斗脚本放到最后一个。
关于我方血条坐标在这段:
  1. def refresh
  2.    if self.contents != nil
  3.      self.contents.dispose
  4.      self.contents = nil
  5.    end
  6.    @item_max = $game_party.actors.size
  7.    self.contents = Bitmap.new(width - 32, self.row_max * 116 - 16)
  8.    for i in 0...$game_party.actors.size
  9.      x = 64
  10.      y = i * 116
  11.      actor = $game_party.actors[i]
  12.      draw_actor_graphic(actor, x - 40, y + 80)
  13.      draw_actor_name(actor, x, y)
  14.      draw_actor_class(actor, x + 144, y)
  15.      draw_actor_level(actor, x, y + 32)
  16.      draw_actor_state(actor, x + 90, y + 32)
  17.      draw_actor_exp(actor, x, y + 64)
  18.      draw_actor_hp(actor, x + 236, y + 32)
  19.      draw_actor_sp(actor, x + 236, y + 64)
  20.    end
  21. end
复制代码
敌人血条坐标在这里:
  1. def refresh
  2.    self.contents.clear
  3.    self.contents.font.color = system_color
  4. #    self.contents.font.size = 18
  5. #    self.contents.draw_text(0, 32, 24, 32, "HP")
  6. #    self.contents.draw_text(0, 64, 24, 32, "MP")
  7.    @item_max = $game_party.actors.size
  8. #    self.contents.font.size = 20
  9.    for i in 0...$game_party.actors.size
  10.      actor = $game_party.actors[i]
  11.      actor_x = i * SPRITES_BATTLER + 4
  12.     # draw_actor_name(actor, actor_x, 0)
  13.    #  draw_actor_hp(actor, actor_x, 32, 120)
  14.     # draw_actor_sp(actor, actor_x, 64, 120)
  15.     if @level_up_flags[i]
  16.        self.contents.font.color = normal_color
  17.        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
  18.      else
  19.        #draw_actor_state(actor, actor_x, 96)
  20.      end
  21.    end
  22. end
  23. end
复制代码
但是没工程我无法调试。
~现在开始自绘头像~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-11-9
帖子
19
5
 楼主| 发表于 2009-11-10 15:13:22 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

~琉璃の雪~<

梦石
0
星屑
49
在线时间
36 小时
注册时间
2008-11-6
帖子
3678
6
发表于 2009-11-10 15:17:04 | 只看该作者
早就说要发上来了,再说我在LSS给你的是坐标的位置,你要改才有用啊。
~现在开始自绘头像~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-11-9
帖子
19
7
 楼主| 发表于 2009-11-10 15:18:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-11-9
帖子
19
8
 楼主| 发表于 2009-11-10 15:23:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

~琉璃の雪~<

梦石
0
星屑
49
在线时间
36 小时
注册时间
2008-11-6
帖子
3678
9
发表于 2009-11-10 15:53:04 | 只看该作者
我这上传速度就像渣一样,算了,我把脚本贴出来,坐标只能你自己调了。

首先,给战斗背景换张大图片(640*480)。

怪物血量显示41-42行替换成:
  1.      x = @battler.screen_x - width / 2
  2.      y = @battler.screen_y - height + PLAN_HPSP_DRAW::DRAW_Y
复制代码
然后以下脚本插入main之前,放到最后:
  1. # ————————————————————————————————————
  2. # 本脚本来自http://rpg.blue/web/,转载请保留此信息
  3. # ————————————————————————————————————
  4. #==============================================================================
  5. # ■ Window_Base
  6. #------------------------------------------------------------------------------
  7. #  游戏中全部窗口的超级类。
  8. #==============================================================================

  9. class Window_Base < Window
  10. #--------------------------------------------------------------------------
  11. # ● 描绘 HP
  12. #     actor : 角色
  13. #     x     : 描画目标 X 坐标
  14. #     y     : 描画目标 Y 坐标
  15. #     width : 描画目标的宽
  16. #--------------------------------------------------------------------------
  17. def draw_actor_hp1(actor, x, y, width = 72)
  18.    # 描绘字符串 "HP"
  19.    self.contents.font.color = system_color
  20.    self.contents.draw_text(x, y, 24, 24, $data_system.words.hp)
  21.    # 计算描绘 MaxHP 所需的空间
  22.    if width - 24 >= 32
  23.      hp_x = x + 32# + width - 24
  24.    end
  25.    # 描绘 HP
  26.    self.contents.font.color = actor.hp == 0 ? knockout_color :
  27.      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  28.    self.contents.draw_text(hp_x, y, 32, 24, actor.hp.to_s, 2)
  29. end


  30. #--------------------------------------------------------------------------
  31. # ● 描绘 SP
  32. #     actor : 角色
  33. #     x     : 描画目标 X 坐标
  34. #     y     : 描画目标 Y 坐标
  35. #     width : 描画目标的宽
  36. #--------------------------------------------------------------------------
  37. def draw_actor_sp1(actor, x, y, width = 72)
  38.    # 描绘字符串 "SP"
  39.    self.contents.font.color = system_color
  40.    self.contents.draw_text(x, y, 24, 24, $data_system.words.sp)
  41.    # 计算描绘 MaxSP 所需的空间
  42.    if width - 24 >= 32
  43.      sp_x = x + 32# + width - 24
  44.    end
  45.    # 描绘 SP
  46.    self.contents.font.color = actor.sp == 0 ? knockout_color :
  47.      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  48.    self.contents.draw_text(sp_x, y, 32, 24, actor.sp.to_s, 2)
  49. end
  50. end

  51. #==============================================================================
  52. # ■ Window_BattleStatus
  53. #------------------------------------------------------------------------------
  54. #  显示战斗画面同伴状态的窗口。
  55. #==============================================================================

  56. class Window_BattleStatus < Window_Base
  57. #--------------------------------------------------------------------------
  58. # ● 初始化对像
  59. #--------------------------------------------------------------------------
  60. #$data_system_level_up_me = "Audio/ME/升级音乐"
  61. def initialize
  62.    super(0, 0, 640, 480)
  63.    self.contents = Bitmap.new(width - 10, height - 32)
  64.    self.opacity = 0
  65.    @level_up_flags = [false, false, false, false]
  66.    refresh
  67. end
  68. #--------------------------------------------------------------------------
  69. # ● 释放
  70. #--------------------------------------------------------------------------
  71. def dispose
  72.    super
  73. end
  74. #--------------------------------------------------------------------------
  75. # ● 设置升级标志
  76. #     actor_index : 角色索引
  77. #--------------------------------------------------------------------------
  78. def level_up(actor_index)
  79.    @level_up_flags[actor_index] = true
  80. end
  81. #--------------------------------------------------------------------------
  82. # ● 刷新
  83. #--------------------------------------------------------------------------
  84. def refresh
  85.    self.contents.clear
  86.    @item_max = $game_party.actors.size
  87.     for i in 0...$game_party.actors.size
  88.      actor = $game_party.actors[i]
  89.      case i
  90.        when 0
  91.         x = 500
  92.         y = 100
  93.        when 1
  94.         x = 500
  95.         y = 140
  96.        when 2
  97.         x = 500
  98.         y = 180
  99.        when 3
  100.         x = 500
  101.         y = 220
  102.         when 4
  103.         x = 500
  104.         y = 260
  105.         when 5
  106.         x = 500
  107.         y = 300
  108.         when 6
  109.         x = 500
  110.         y = 340
  111.         when 7
  112.         x = 500
  113.         y = 380
  114.         when 8
  115.         x = 500
  116.         y = 420
  117.          when 9
  118.         x = 500
  119.         y = 460
  120.       end
  121.      if @level_up_flags[i]
  122.        self.contents.font.color = normal_color
  123.        self.contents.draw_text(x, y, 80, 24, "LEVEL UP!")
  124.        Audio.me_stop
  125. #        Audio.me_play($data_system_level_up_me)
  126.      else
  127.      draw_actor_hp1(actor, x-15, y-15, 80)
  128.      draw_actor_sp1(actor, x-15, y+5, 80)
  129.     end
  130.    end
  131. end

  132. #--------------------------------------------------------------------------
  133. # ● 刷新画面
  134. #--------------------------------------------------------------------------
  135. def update
  136.    super
  137. end
  138. end





  139. #==============================================================================
  140. # ■ Window_BattleStatus
  141. #==============================================================================
  142. class Window_BattleStatus < Window_Base
  143. #--------------------------------------------------------------------------
  144. # ● 初始化
  145. #--------------------------------------------------------------------------
  146. alias xrxs_bp2_refresh refresh
  147. def refresh
  148.    xrxs_bp2_refresh
  149.    @item_max = $game_party.actors.size
  150.     for i in 0...$game_party.actors.size
  151.      actor = $game_party.actors[i]
  152.      case i
  153.        when 0
  154.         x = 500
  155.         y = 100
  156.        when 1
  157.         x = 500
  158.         y = 140
  159.        when 2
  160.         x = 500
  161.         y = 180
  162.        when 3
  163.         x = 500
  164.         y = 220
  165.         when 4
  166.         x = 500
  167.         y = 260
  168.         when 5
  169.         x = 500
  170.         y = 300
  171.         when 6
  172.         x = 500
  173.         y = 340
  174.         when 7
  175.         x = 500
  176.         y = 380
  177.         when 8
  178.         x = 500
  179.         y = 420
  180.          when 9
  181.         x = 500
  182.         y = 460
  183.       end
  184.      draw_actor_hp_meter(actor, x, y, 50)
  185.      draw_actor_sp_meter(actor, x, y + 8, 50)
  186.   end
  187. end
  188. end
  189. #==============================================================================
  190. # ■ Window_Base
  191. #==============================================================================
  192. class Window_Base < Window
  193. #--------------------------------------------------------------------------
  194. # ● HP描画
  195. #--------------------------------------------------------------------------
  196. def draw_actor_hp_meter(actor, x, y, width = 156, type = 0)
  197.    if type == 1 and actor.hp == 0
  198.      return
  199.    end
  200.    self.contents.font.color = system_color
  201.    self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 25))
  202.    w = width * actor.hp / actor.maxhp
  203.    self.contents.fill_rect(x, y+28, w,1, Color.new(255, 96, 96, 255))
  204.    self.contents.fill_rect(x, y+29, w,1, Color.new(255, 0, 0, 255))
  205.    self.contents.fill_rect(x, y+30, w,1, Color.new(128, 0, 0, 255))
  206.    self.contents.fill_rect(x, y+31, w,1, Color.new(0, 0, 0, 255))
  207. end

  208. #--------------------------------------------------------------------------
  209. # ● SP描画
  210. #--------------------------------------------------------------------------
  211. def draw_actor_sp_meter(actor, x, y, width = 156, type = 0)
  212.    if type == 1 and actor.hp == 0
  213.      return
  214.    end
  215.    self.contents.font.color = system_color
  216.    self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
  217.    w = width * actor.sp / actor.maxsp
  218.    self.contents.fill_rect(x, y+28, w,1, Color.new(128, 255, 255, 255))
  219.    self.contents.fill_rect(x, y+29, w,1, Color.new(0, 255, 255, 255))
  220.    self.contents.fill_rect(x, y+30, w,1, Color.new(0, 192, 192, 255))
  221.    self.contents.fill_rect(x, y+31, w,1, Color.new(0, 128, 128, 255))
  222. end
  223. end
复制代码
~现在开始自绘头像~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-11-9
帖子
19
10
 楼主| 发表于 2009-11-10 15:54:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 11:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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