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

Project1

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

仿仙剑效果系列(一):简单的战斗结束美化

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2007-1-6
帖子
304

短篇八橙光组季军

跳转到指定楼层
1
发表于 2007-12-15 10:56:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
话说全部归零的唯一好处就是懒人爆终于把这几帖整合了- -b
那么,由简到繁的来吧。

一、简单的战斗结束画面美化:

其实就是在战斗胜利的时候多显示一幅“战斗胜利”的图,失败的时候则多显示一幅“战斗失败”再转如数据库设置的游戏结束图。

效果截图:

胜利:


失败一:


失败二:



准备工作:在Gameovers文件夹里存入战斗失败图“失败”和胜利图“胜利”

下面是要修改的脚本:

将Scene_Gameover全部替换为以下内容:

  1. #==============================================================================
  2. # ■ Scene_Gameover
  3. #------------------------------------------------------------------------------
  4. #  处理游戏结束画面的类。
  5. #==============================================================================

  6. class Scene_Gameover
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 停止 BGM、BGS
  12.     $game_system.bgm_play(nil)
  13.     $game_system.bgs_play(nil)
  14.     # 演奏游戏结束 ME
  15.     $game_system.me_play($data_system.gameover_me)
  16.     # 准备过渡
  17.     Graphics.freeze
  18.     # 生成游戏结束图形
  19.     @sprite2 = Sprite.new
  20.     @sprite2.z = 9577
  21.     @sprite2.bitmap = RPG::Cache.gameover("失败")
  22.     # 执行过渡
  23.     Graphics.transition(60)
  24.     # 准备过渡
  25.     Graphics.freeze
  26.     # 释放游戏结束图形
  27.     @sprite2.bitmap.dispose
  28.     # 执行过度
  29.     Graphics.transition(60)
  30.     # 准备过渡
  31.     Graphics.freeze
  32.     # 生成游戏结束图形
  33.     @sprite = Sprite.new
  34.     @sprite.z = 9576
  35.     @sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)
  36.     # 执行过渡
  37.     Graphics.transition(120)
  38.     # 主循环
  39.     loop do
  40.       # 刷新游戏画面
  41.       Graphics.update
  42.       # 刷新输入信息
  43.       Input.update
  44.       # 刷新画面情报
  45.       update
  46.       # 如果画面被切换的话就中断循环
  47.       if $scene != self
  48.         break
  49.       end
  50.     end
  51.     # 准备过渡
  52.     Graphics.freeze
  53.     # 释放游戏结束图形
  54.     @sprite.bitmap.dispose
  55.     @sprite.dispose
  56.     @sprite2.dispose
  57.     # 执行过度
  58.     Graphics.transition(40)
  59.     # 准备过渡
  60.     Graphics.freeze
  61.     # 战斗测试的情况下
  62.     if $BTEST
  63.       $scene = nil
  64.     end
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 刷新画面
  68.   #--------------------------------------------------------------------------
  69.   def update
  70.     # 按下 C 键的情况下
  71.     if Input.trigger?(Input::C)
  72.       # 切换到标题画面
  73.       $scene = Scene_Title.new
  74.     end
  75.   end
  76. end
复制代码


然后将Scene_Battle 2全部替换为以下内容:(其实只改了最后两部分)
  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 2)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● 开始自由战斗回合
  9.   #--------------------------------------------------------------------------
  10.   def start_phase1
  11.     # 转移到回合 1
  12.     @phase = 1
  13.     # 清除全体同伴的行动
  14.     $game_party.clear_actions
  15.     # 设置战斗事件
  16.     setup_battle_event
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 刷新画面 (自由战斗回合)
  20.   #--------------------------------------------------------------------------
  21.   def update_phase1
  22.     # 胜败判定
  23.     if judge
  24.       # 胜利或者失败的情况下 : 过程结束
  25.       return
  26.     end
  27.     # 开始同伴命令回合
  28.     start_phase2
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 开始同伴命令回合
  32.   #--------------------------------------------------------------------------
  33.   def start_phase2
  34.     # 转移到回合 2
  35.     @phase = 2
  36.     # 设置角色为非选择状态
  37.     @actor_index = -1
  38.     @active_battler = nil
  39.     # 有效化同伴指令窗口
  40.     @party_command_window.active = true
  41.     @party_command_window.visible = true
  42.     # 无效化角色指令窗口
  43.     @actor_command_window.active = false
  44.     @actor_command_window.visible = false
  45.     # 清除主回合标志
  46.     $game_temp.battle_main_phase = false
  47.     # 清除全体同伴的行动
  48.     $game_party.clear_actions
  49.     # 不能输入命令的情况下
  50.     unless $game_party.inputable?
  51.       # 开始主回合
  52.       start_phase4
  53.     end
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 刷新画面 (同伴命令回合)
  57.   #--------------------------------------------------------------------------
  58.   def update_phase2
  59.     # 按下 C 键的情况下
  60.     if Input.trigger?(Input::C)
  61.       # 同伴指令窗口光标位置分支
  62.       case @party_command_window.index
  63.       when 0  # 战斗
  64.         # 演奏确定 SE
  65.         $game_system.se_play($data_system.decision_se)
  66.         # 开始角色的命令回合
  67.         start_phase3
  68.       when 1  # 逃跑
  69.         # 不能逃跑的情况下
  70.         if $game_temp.battle_can_escape == false
  71.           # 演奏冻结 SE
  72.           $game_system.se_play($data_system.buzzer_se)
  73.           return
  74.         end
  75.         # 演奏确定 SE
  76.         $game_system.se_play($data_system.decision_se)
  77.         # 逃走处理
  78.         update_phase2_escape
  79.       end
  80.       return
  81.     end
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 画面更新 (同伴指令回合 : 逃跑)
  85.   #--------------------------------------------------------------------------
  86.   def update_phase2_escape
  87.     # 计算敌人速度的平均值
  88.     enemies_agi = 0
  89.     enemies_number = 0
  90.     for enemy in $game_troop.enemies
  91.       if enemy.exist?
  92.         enemies_agi += enemy.agi
  93.         enemies_number += 1
  94.       end
  95.     end
  96.     if enemies_number > 0
  97.       enemies_agi /= enemies_number
  98.     end
  99.     # 计算角色速度的平均值
  100.     actors_agi = 0
  101.     actors_number = 0
  102.     for actor in $game_party.actors
  103.       if actor.exist?
  104.         actors_agi += actor.agi
  105.         actors_number += 1
  106.       end
  107.     end
  108.     if actors_number > 0
  109.       actors_agi /= actors_number
  110.     end
  111.     # 计算敌人魔法防御的平均值
  112.     enemies_mdef = 0
  113.     enemies_number = 0
  114.     for enemy in $game_troop.enemies
  115.       if enemy.exist?
  116.         enemies_mdef += enemy.mdef
  117.         enemies_number += 1
  118.       end
  119.     end
  120.     if enemies_number > 0
  121.       enemies_mdef /= enemies_number
  122.     end
  123.     # 计算角色魔法防御的平均值
  124.     actors_mdef = 0
  125.     actors_number = 0
  126.     for actor in $game_party.actors
  127.       if actor.exist?
  128.         actors_mdef += actor.agi
  129.         actors_number += 1
  130.       end
  131.     end
  132.     if actors_number > 0
  133.       actors_mdef /= actors_number
  134.     end
  135.    
  136.     # 逃跑成功判定
  137.     success = rand(100) < 40 * actors_agi / enemies_agi * actors_mdef / enemies_mdef
  138.     # 成功逃跑的情况下
  139.     if success
  140.       # 演奏逃跑 SE
  141.       $game_system.se_play($data_system.escape_se)
  142.       # 还原为战斗开始前的 BGM
  143.       $game_system.bgm_play($game_temp.map_bgm)
  144.       # 战斗结束
  145.       battle_end(1)
  146.     # 逃跑失败的情况下
  147.     else
  148.      # 清除全体同伴的行动
  149.       $game_party.clear_actions
  150.       @help_window.set_text("逃跑失败", 1)#显示『逃走失败』字样
  151.       @wait_count = 40
  152.       # 开始主回合
  153.       start_phase4
  154.     end
  155.   end
  156. #--------------------------------------------------------------------------
  157. # ● 开始结束战斗回合
  158. #--------------------------------------------------------------------------
  159. def start_phase5
  160.    # 转移到回合 5
  161.    @phase = 5
  162.    # 演奏战斗结束 ME
  163.    $game_system.me_play($game_system.battle_end_me)
  164.    # 还原为战斗开始前的 BGM
  165.    $game_system.bgm_play($game_temp.map_bgm)
  166.    # 初始化 EXP、金钱、宝物
  167.    @exp = 0
  168.    gold = 0
  169.    treasures = []
  170.    # 循环
  171.    for enemy in $game_troop.enemies
  172.      # 敌人不是隐藏状态的情况下
  173.      unless enemy.hidden
  174.        # 获得 EXP、增加金钱
  175.        @exp += enemy.exp
  176.        gold += enemy.gold
  177.        # 出现宝物判定
  178.        if rand(100) < enemy.treasure_prob
  179.          if enemy.item_id > 0
  180.            treasures.push($data_items[enemy.item_id])
  181.          end
  182.          if enemy.weapon_id > 0
  183.            treasures.push($data_weapons[enemy.weapon_id])
  184.          end
  185.          if enemy.armor_id > 0
  186.            treasures.push($data_armors[enemy.armor_id])
  187.          end
  188.        end
  189.      end
  190.    end
  191.    # 限制宝物数为 6 个
  192.    treasures = treasures[0..5]
  193.    # 获得金钱
  194.    $game_party.gain_gold(gold)
  195.    # 获得宝物
  196.    for item in treasures
  197.      case item
  198.      when RPG::Item
  199.        $game_party.gain_item(item.id, 1)
  200.      when RPG::Weapon
  201.        $game_party.gain_weapon(item.id, 1)
  202.      when RPG::Armor
  203.        $game_party.gain_armor(item.id, 1)
  204.      end
  205.    end
  206.    # 生成战斗结果窗口
  207.    @result_window = Window_BattleResult.new(@exp, gold, treasures)
  208.    # 设置等待计数
  209.    @phase5_wait_count = 10
  210. end
  211. #--------------------------------------------------------------------------
  212. # ● 画面更新 (结束战斗回合)
  213. #--------------------------------------------------------------------------
  214. def update_phase5
  215.    # 等待计数大于 0 的情况下
  216.    if @phase5_wait_count > 0
  217.      # 减少等待计数
  218.      @phase5_wait_count -= 1
  219.      # 等待计数为 0 的情况下
  220.      if @phase5_wait_count == 0
  221.     # 准备过渡
  222.     Graphics.freeze
  223.     # 生成战斗胜利图形
  224.     @sprite = Sprite.new
  225.     @sprite.z = 9999
  226.     @sprite.bitmap = RPG::Cache.gameover("胜利")
  227.     # 执行过渡
  228.     Graphics.transition(40)
  229.     @wait_count = 40
  230.     # 准备过渡
  231.     Graphics.freeze
  232.     # 释放战斗胜利图形
  233.     @sprite.bitmap.dispose
  234.     # 执行过渡
  235.     Graphics.transition(40)
  236.        # 显示结果窗口
  237.        @result_window.visible = true
  238.        # 清除主回合标志
  239.        $game_temp.battle_main_phase = false
  240.        # 刷新状态窗口
  241.        @status_window.refresh
  242.      end
  243.      return
  244.    end
  245.    # 按下 C 键的情况下
  246.    if Input.trigger?(Input::C)
  247.      # 关闭结果窗口
  248.      @result_window.visible = false
  249.      # 获得 EXP
  250.      for i in 0...$game_party.actors.size
  251.        actor = $game_party.actors[i]
  252.        if actor.cant_get_exp? == false
  253.          last_level = actor.level
  254.          actor.exp += @exp
  255.          if actor.level > last_level
  256.            @status_window.level_up(i)
  257.          end
  258.        end
  259.      end
  260.      # 战斗结束
  261.      battle_end(0)
  262.    end
  263. end
  264. end
复制代码


就是这样了。
下面是素材图:


Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2007-1-6
帖子
304

短篇八橙光组季军

2
 楼主| 发表于 2007-12-15 10:56:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
话说全部归零的唯一好处就是懒人爆终于把这几帖整合了- -b
那么,由简到繁的来吧。

一、简单的战斗结束画面美化:

其实就是在战斗胜利的时候多显示一幅“战斗胜利”的图,失败的时候则多显示一幅“战斗失败”再转如数据库设置的游戏结束图。

效果截图:

胜利:


失败一:


失败二:



准备工作:在Gameovers文件夹里存入战斗失败图“失败”和胜利图“胜利”

下面是要修改的脚本:

将Scene_Gameover全部替换为以下内容:

  1. #==============================================================================
  2. # ■ Scene_Gameover
  3. #------------------------------------------------------------------------------
  4. #  处理游戏结束画面的类。
  5. #==============================================================================

  6. class Scene_Gameover
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 停止 BGM、BGS
  12.     $game_system.bgm_play(nil)
  13.     $game_system.bgs_play(nil)
  14.     # 演奏游戏结束 ME
  15.     $game_system.me_play($data_system.gameover_me)
  16.     # 准备过渡
  17.     Graphics.freeze
  18.     # 生成游戏结束图形
  19.     @sprite2 = Sprite.new
  20.     @sprite2.z = 9577
  21.     @sprite2.bitmap = RPG::Cache.gameover("失败")
  22.     # 执行过渡
  23.     Graphics.transition(60)
  24.     # 准备过渡
  25.     Graphics.freeze
  26.     # 释放游戏结束图形
  27.     @sprite2.bitmap.dispose
  28.     # 执行过度
  29.     Graphics.transition(60)
  30.     # 准备过渡
  31.     Graphics.freeze
  32.     # 生成游戏结束图形
  33.     @sprite = Sprite.new
  34.     @sprite.z = 9576
  35.     @sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)
  36.     # 执行过渡
  37.     Graphics.transition(120)
  38.     # 主循环
  39.     loop do
  40.       # 刷新游戏画面
  41.       Graphics.update
  42.       # 刷新输入信息
  43.       Input.update
  44.       # 刷新画面情报
  45.       update
  46.       # 如果画面被切换的话就中断循环
  47.       if $scene != self
  48.         break
  49.       end
  50.     end
  51.     # 准备过渡
  52.     Graphics.freeze
  53.     # 释放游戏结束图形
  54.     @sprite.bitmap.dispose
  55.     @sprite.dispose
  56.     @sprite2.dispose
  57.     # 执行过度
  58.     Graphics.transition(40)
  59.     # 准备过渡
  60.     Graphics.freeze
  61.     # 战斗测试的情况下
  62.     if $BTEST
  63.       $scene = nil
  64.     end
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 刷新画面
  68.   #--------------------------------------------------------------------------
  69.   def update
  70.     # 按下 C 键的情况下
  71.     if Input.trigger?(Input::C)
  72.       # 切换到标题画面
  73.       $scene = Scene_Title.new
  74.     end
  75.   end
  76. end
复制代码


然后将Scene_Battle 2全部替换为以下内容:(其实只改了最后两部分)
  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 2)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● 开始自由战斗回合
  9.   #--------------------------------------------------------------------------
  10.   def start_phase1
  11.     # 转移到回合 1
  12.     @phase = 1
  13.     # 清除全体同伴的行动
  14.     $game_party.clear_actions
  15.     # 设置战斗事件
  16.     setup_battle_event
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 刷新画面 (自由战斗回合)
  20.   #--------------------------------------------------------------------------
  21.   def update_phase1
  22.     # 胜败判定
  23.     if judge
  24.       # 胜利或者失败的情况下 : 过程结束
  25.       return
  26.     end
  27.     # 开始同伴命令回合
  28.     start_phase2
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 开始同伴命令回合
  32.   #--------------------------------------------------------------------------
  33.   def start_phase2
  34.     # 转移到回合 2
  35.     @phase = 2
  36.     # 设置角色为非选择状态
  37.     @actor_index = -1
  38.     @active_battler = nil
  39.     # 有效化同伴指令窗口
  40.     @party_command_window.active = true
  41.     @party_command_window.visible = true
  42.     # 无效化角色指令窗口
  43.     @actor_command_window.active = false
  44.     @actor_command_window.visible = false
  45.     # 清除主回合标志
  46.     $game_temp.battle_main_phase = false
  47.     # 清除全体同伴的行动
  48.     $game_party.clear_actions
  49.     # 不能输入命令的情况下
  50.     unless $game_party.inputable?
  51.       # 开始主回合
  52.       start_phase4
  53.     end
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 刷新画面 (同伴命令回合)
  57.   #--------------------------------------------------------------------------
  58.   def update_phase2
  59.     # 按下 C 键的情况下
  60.     if Input.trigger?(Input::C)
  61.       # 同伴指令窗口光标位置分支
  62.       case @party_command_window.index
  63.       when 0  # 战斗
  64.         # 演奏确定 SE
  65.         $game_system.se_play($data_system.decision_se)
  66.         # 开始角色的命令回合
  67.         start_phase3
  68.       when 1  # 逃跑
  69.         # 不能逃跑的情况下
  70.         if $game_temp.battle_can_escape == false
  71.           # 演奏冻结 SE
  72.           $game_system.se_play($data_system.buzzer_se)
  73.           return
  74.         end
  75.         # 演奏确定 SE
  76.         $game_system.se_play($data_system.decision_se)
  77.         # 逃走处理
  78.         update_phase2_escape
  79.       end
  80.       return
  81.     end
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 画面更新 (同伴指令回合 : 逃跑)
  85.   #--------------------------------------------------------------------------
  86.   def update_phase2_escape
  87.     # 计算敌人速度的平均值
  88.     enemies_agi = 0
  89.     enemies_number = 0
  90.     for enemy in $game_troop.enemies
  91.       if enemy.exist?
  92.         enemies_agi += enemy.agi
  93.         enemies_number += 1
  94.       end
  95.     end
  96.     if enemies_number > 0
  97.       enemies_agi /= enemies_number
  98.     end
  99.     # 计算角色速度的平均值
  100.     actors_agi = 0
  101.     actors_number = 0
  102.     for actor in $game_party.actors
  103.       if actor.exist?
  104.         actors_agi += actor.agi
  105.         actors_number += 1
  106.       end
  107.     end
  108.     if actors_number > 0
  109.       actors_agi /= actors_number
  110.     end
  111.     # 计算敌人魔法防御的平均值
  112.     enemies_mdef = 0
  113.     enemies_number = 0
  114.     for enemy in $game_troop.enemies
  115.       if enemy.exist?
  116.         enemies_mdef += enemy.mdef
  117.         enemies_number += 1
  118.       end
  119.     end
  120.     if enemies_number > 0
  121.       enemies_mdef /= enemies_number
  122.     end
  123.     # 计算角色魔法防御的平均值
  124.     actors_mdef = 0
  125.     actors_number = 0
  126.     for actor in $game_party.actors
  127.       if actor.exist?
  128.         actors_mdef += actor.agi
  129.         actors_number += 1
  130.       end
  131.     end
  132.     if actors_number > 0
  133.       actors_mdef /= actors_number
  134.     end
  135.    
  136.     # 逃跑成功判定
  137.     success = rand(100) < 40 * actors_agi / enemies_agi * actors_mdef / enemies_mdef
  138.     # 成功逃跑的情况下
  139.     if success
  140.       # 演奏逃跑 SE
  141.       $game_system.se_play($data_system.escape_se)
  142.       # 还原为战斗开始前的 BGM
  143.       $game_system.bgm_play($game_temp.map_bgm)
  144.       # 战斗结束
  145.       battle_end(1)
  146.     # 逃跑失败的情况下
  147.     else
  148.      # 清除全体同伴的行动
  149.       $game_party.clear_actions
  150.       @help_window.set_text("逃跑失败", 1)#显示『逃走失败』字样
  151.       @wait_count = 40
  152.       # 开始主回合
  153.       start_phase4
  154.     end
  155.   end
  156. #--------------------------------------------------------------------------
  157. # ● 开始结束战斗回合
  158. #--------------------------------------------------------------------------
  159. def start_phase5
  160.    # 转移到回合 5
  161.    @phase = 5
  162.    # 演奏战斗结束 ME
  163.    $game_system.me_play($game_system.battle_end_me)
  164.    # 还原为战斗开始前的 BGM
  165.    $game_system.bgm_play($game_temp.map_bgm)
  166.    # 初始化 EXP、金钱、宝物
  167.    @exp = 0
  168.    gold = 0
  169.    treasures = []
  170.    # 循环
  171.    for enemy in $game_troop.enemies
  172.      # 敌人不是隐藏状态的情况下
  173.      unless enemy.hidden
  174.        # 获得 EXP、增加金钱
  175.        @exp += enemy.exp
  176.        gold += enemy.gold
  177.        # 出现宝物判定
  178.        if rand(100) < enemy.treasure_prob
  179.          if enemy.item_id > 0
  180.            treasures.push($data_items[enemy.item_id])
  181.          end
  182.          if enemy.weapon_id > 0
  183.            treasures.push($data_weapons[enemy.weapon_id])
  184.          end
  185.          if enemy.armor_id > 0
  186.            treasures.push($data_armors[enemy.armor_id])
  187.          end
  188.        end
  189.      end
  190.    end
  191.    # 限制宝物数为 6 个
  192.    treasures = treasures[0..5]
  193.    # 获得金钱
  194.    $game_party.gain_gold(gold)
  195.    # 获得宝物
  196.    for item in treasures
  197.      case item
  198.      when RPG::Item
  199.        $game_party.gain_item(item.id, 1)
  200.      when RPG::Weapon
  201.        $game_party.gain_weapon(item.id, 1)
  202.      when RPG::Armor
  203.        $game_party.gain_armor(item.id, 1)
  204.      end
  205.    end
  206.    # 生成战斗结果窗口
  207.    @result_window = Window_BattleResult.new(@exp, gold, treasures)
  208.    # 设置等待计数
  209.    @phase5_wait_count = 10
  210. end
  211. #--------------------------------------------------------------------------
  212. # ● 画面更新 (结束战斗回合)
  213. #--------------------------------------------------------------------------
  214. def update_phase5
  215.    # 等待计数大于 0 的情况下
  216.    if @phase5_wait_count > 0
  217.      # 减少等待计数
  218.      @phase5_wait_count -= 1
  219.      # 等待计数为 0 的情况下
  220.      if @phase5_wait_count == 0
  221.     # 准备过渡
  222.     Graphics.freeze
  223.     # 生成战斗胜利图形
  224.     @sprite = Sprite.new
  225.     @sprite.z = 9999
  226.     @sprite.bitmap = RPG::Cache.gameover("胜利")
  227.     # 执行过渡
  228.     Graphics.transition(40)
  229.     @wait_count = 40
  230.     # 准备过渡
  231.     Graphics.freeze
  232.     # 释放战斗胜利图形
  233.     @sprite.bitmap.dispose
  234.     # 执行过渡
  235.     Graphics.transition(40)
  236.        # 显示结果窗口
  237.        @result_window.visible = true
  238.        # 清除主回合标志
  239.        $game_temp.battle_main_phase = false
  240.        # 刷新状态窗口
  241.        @status_window.refresh
  242.      end
  243.      return
  244.    end
  245.    # 按下 C 键的情况下
  246.    if Input.trigger?(Input::C)
  247.      # 关闭结果窗口
  248.      @result_window.visible = false
  249.      # 获得 EXP
  250.      for i in 0...$game_party.actors.size
  251.        actor = $game_party.actors[i]
  252.        if actor.cant_get_exp? == false
  253.          last_level = actor.level
  254.          actor.exp += @exp
  255.          if actor.level > last_level
  256.            @status_window.level_up(i)
  257.          end
  258.        end
  259.      end
  260.      # 战斗结束
  261.      battle_end(0)
  262.    end
  263. end
  264. end
复制代码


就是这样了。
下面是素材图:


头像被屏蔽

Lv1.梦旅人 (禁止发言)

心无天使

梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-12-15
帖子
1016
3
发表于 2007-12-15 18:36:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2007-1-6
帖子
304

短篇八橙光组季军

4
 楼主| 发表于 2007-12-15 19:02:46 | 只看该作者
现在唯一的问题是战斗失败那块,出“战斗失败”的时候屏幕就开始变暗了- -|||,我原先设想的其实是和胜利一样图片消失之后再变暗的……研究中。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

孙悟空

梦石
0
星屑
55
在线时间
15 小时
注册时间
2007-8-22
帖子
448
5
发表于 2007-12-16 21:26:40 | 只看该作者
我两张图片都放进GameOvers里了,也都改成“胜利”“失败”了,
两个脚本也替换了,
为什么胜利后没有任何效果?!{/fd}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2007-1-6
帖子
304

短篇八橙光组季军

6
 楼主| 发表于 2007-12-17 23:40:01 | 只看该作者
以下引用二胡游于2007-12-16 13:26:40的发言:

我两张图片都放进GameOvers里了,也都改成“胜利”“失败”了,
两个脚本也替换了,
为什么胜利后没有任何效果?!


如果你使用了其他对Scene_Battle 2有改动的脚本(比如超级横版)的话则需要在相应脚本的相应位置也进行改动才可以。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

冰の红苹果的小狗狗

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-15
帖子
2539
7
发表于 2007-12-18 03:41:57 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-9-17
帖子
339
8
发表于 2007-12-18 05:33:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
10
在线时间
0 小时
注册时间
2007-12-18
帖子
2
9
发表于 2007-12-18 05:42:19 | 只看该作者
厉害{/se}{/se}{/se}
感谢66RPG的所有人员!!!! 以及老七。请大家期待我们的游戏!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2007-1-6
帖子
304

短篇八橙光组季军

10
 楼主| 发表于 2007-12-18 06:01:09 | 只看该作者
以下引用dpae3342于2007-12-17 21:33:40的发言:

楼主,其实我做了这个脚本.并且我先做的.
只不过只有战斗胜利.


从截图来看似乎和我用的方法不一样……可以发下原帖地址吗?(星星眼)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-20 23:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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