Project1

标题: 仿真·仙剑状态(效果见图) [打印本页]

作者: 天涯    时间: 2008-1-31 00:25
标题: 仿真·仙剑状态(效果见图)
准备工作:
新建一个文件夹
名叫:Status
放状态图片进去(必须是仙剑一的状态图)
名:主角的名字
和一张空图片
主角的名字_s

先用这个把Window_Status的脚本内容替换
  1. #==============================================================================
  2. # ■ Window_Status
  3. #------------------------------------------------------------------------------
  4. #  显示状态画面、完全规格的状态窗口。
  5. #==============================================================================

  6. class Window_Status < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     actor : 角色
  10.   #--------------------------------------------------------------------------
  11.   def initialize(actor)
  12.     super(-16, -16, 800, 600)
  13.     self.back_opacity = 0
  14.     self.opacity = 0
  15.     self.contents = Bitmap.new(width - 32, height - 32)
  16.     @actor = actor
  17.     self.contents.font.size = 20
  18.     refresh
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 刷新
  22.   #--------------------------------------------------------------------------
  23.   def refresh
  24.     #======================================================
  25.     testname = @actor.name.to_s
  26.     self.contents.clear
  27.     bitmap=Bitmap.new("Graphics/Status/#{testname}")
  28.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  29.     self.contents.blt(0, 0, bitmap, src_rect)
  30.     bitmap=Bitmap.new("Graphics/Status/#{testname}"+"_s")
  31.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  32.     self.contents.blt(40, 380, bitmap, src_rect)
  33.     #======================================================
  34.     draw_actor_level(@actor, 120, 80)
  35.     draw_actor_hp(@actor, 34, 157, 172)
  36.     draw_actor_sp(@actor, 34, 182, 172)
  37.     draw_actor_parameter(@actor, 20, 266, 1)
  38.     draw_actor_parameter(@actor, 20, 210, 3)
  39.     draw_actor_parameter(@actor, 20, 322, 4)
  40.     draw_actor_parameter(@actor, 20, 294, 5)
  41.     draw_actor_parameter(@actor, 20, 238, 6)
  42.     self.contents.font.color = Color.new(64,70,124,255)
  43.     self.contents.draw_text(90, 108, 84, 32, @actor.exp_s, 2)
  44.     self.contents.font.color = Color.new(168,232,160,255)
  45.     self.contents.draw_text(90, 128, 84, 32, @actor.next_rest_exp_s, 2)
  46.   end
  47. end
复制代码

再用这个脚本内容Scene_Status替换
  1. #==============================================================================
  2. # ■ Scene_Status
  3. #------------------------------------------------------------------------------
  4. #  处理状态画面的类。
  5. #==============================================================================

  6. class Scene_Status
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     actor_index : 角色索引
  10.   #--------------------------------------------------------------------------
  11.   def initialize(actor_index = 0, equip_index = 0)
  12.     @actor_index = actor_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 主处理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # 获取角色
  19.     @actor = $game_party.actors[@actor_index]
  20.     # 生成状态窗口
  21.     @status_window = Window_Status.new(@actor)
  22.     # 执行过渡
  23.     Graphics.transition
  24.     # 主循环
  25.     loop do
  26.       # 刷新游戏画面
  27.       Graphics.update
  28.       # 刷新输入信息
  29.       Input.update
  30.       # 刷新画面
  31.       update
  32.       # 如果画面被切换的话就中断循环
  33.       if $scene != self
  34.         break
  35.       end
  36.     end
  37.     # 准备过渡
  38.     Graphics.freeze
  39.     # 释放窗口
  40.     @status_window.dispose
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 刷新画面
  44.   #--------------------------------------------------------------------------
  45.   def update
  46.     # 按下 B 键的情况下
  47.     if Input.trigger?(Input::B)
  48.       # 演奏取消 SE
  49.       $game_system.se_play($data_system.cancel_se)
  50.       # 切换到菜单画面
  51.       $scene = Scene_Menu.new(0)
  52.       return
  53.     end
  54.     # 按下 R 键的情况下
  55.     if Input.trigger?(Input::R)
  56.       # 演奏光标 SE
  57.       $game_system.se_play($data_system.cursor_se)
  58.       # 移至下一位角色
  59.       @actor_index += 1
  60.       @actor_index %= $game_party.actors.size
  61.       # 切换到别的状态画面
  62.       $scene = Scene_Status.new(@actor_index)
  63.       return
  64.     end
  65.     # 按下 L 键的情况下
  66.     if Input.trigger?(Input::L)
  67.       # 演奏光标 SE
  68.       $game_system.se_play($data_system.cursor_se)
  69.       # 移至上一位角色
  70.       @actor_index += $game_party.actors.size - 1
  71.       @actor_index %= $game_party.actors.size
  72.       # 切换到别的状态画面
  73.       $scene = Scene_Status.new(@actor_index)
  74.       return
  75.     end
  76.   end
  77. end
复制代码


作者: 圣痕    时间: 2008-1-31 00:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 天涯    时间: 2008-1-31 00:50
以下引用圣痕于2008-1-30 16:36:39的发言:

载图

已发图
作者: ONEWateR    时间: 2008-1-31 04:56
这是虾米意思~偶怎么看不懂!~
作者: q2571875    时间: 2008-2-1 02:32
仙剑标题不是有吗?{/jy}
作者: yangff    时间: 2008-2-1 03:09
已有.
共享




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