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

Project1

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

[已经过期] 怎样写一段能显示图片并移动图片的脚本?

[复制链接]

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2015-2-9 21:17:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我使用了战败可以重新战斗的脚本:

而我希望这时候右上角可以显示一张这个图片:

并且图片是淡入的,从右上角直线向下移动并淡入
那么应该在战斗脚本中哪里添加什么语句?
  1. =begin
  2.       RGSS3
  3.       
  4.       ★ バトルリトライ ★
  5.       
  6.       戦闘敗北時に、リトライするかの選択を可能にします。
  7.       
  8.       ver1.00

  9.       Last Update : 2012/02/06
  10.       02/06 : 新規
  11.       
  12.       ろかん   http://kaisou-ryouiki.sakura.ne.jp/
  13. =end

  14. #===========================================
  15. #   設定箇所
  16. #===========================================
  17. module Rokan
  18. module Retry_Battle
  19.     # リトライを許可するスイッチ番号
  20.     RETRY_ENABLE_SWITCH = 10
  21.     # コマンドに表示する文字列
  22.     RETRY_COMMAND = "命运更新"
  23.     GIVEUP_COMMAND = "放弃"
  24. end
  25. end
  26. #===========================================
  27. #   ここまで
  28. #===========================================

  29. $rsi ||= {}
  30. $rsi["バトルリトライ"] = true

  31. class << BattleManager
  32.   #--------------------------------------------------------------------------
  33.   # ● インクルード Rokan::Retry_Battle
  34.   #--------------------------------------------------------------------------
  35.   include Rokan::Retry_Battle
  36.   #--------------------------------------------------------------------------
  37.   # ● セットアップ
  38.   #--------------------------------------------------------------------------
  39.   alias _retry_battle_setup setup
  40.   def setup(troop_id, can_escape = true, can_lose = false)
  41.     _retry_battle_setup(troop_id, can_escape, can_lose)
  42.     setup_retry_data
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● オブジェクトをディープコピーして返す
  46.   #--------------------------------------------------------------------------
  47.   def deep_cp(obj)
  48.     Marshal.load(Marshal.dump(obj))
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● リトライ用にデータを保持する
  52.   #--------------------------------------------------------------------------
  53.   def backup_retry_data
  54.     @retry_data = []
  55.     @retry_data << deep_cp($game_switches)
  56.     @retry_data << deep_cp($game_variables)
  57.     @retry_data << deep_cp($game_actors)
  58.     @retry_data << deep_cp($game_party)
  59.     @retry_data << deep_cp($game_troop)
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● リトライ用データを読み込む
  63.   #--------------------------------------------------------------------------
  64.   def restore_retry_data
  65.     $game_switches = deep_cp(@retry_data[0])
  66.     $game_variables = deep_cp(@retry_data[1])
  67.     $game_actors = deep_cp(@retry_data[2])
  68.     $game_party = deep_cp(@retry_data[3])
  69.     $game_troop = deep_cp(@retry_data[4])
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● リトライの為の準備を行う
  73.   #--------------------------------------------------------------------------
  74.   def setup_retry_data
  75.     backup_retry_data
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● リトライの是非の選択開始
  79.   #--------------------------------------------------------------------------
  80.   def start_retry_selection
  81.    
  82.     SceneManager.scene.start_retry_selection
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ● リトライの処理
  86.   #--------------------------------------------------------------------------
  87.   def process_retry
  88.     Graphics.update
  89.     Graphics.freeze
  90.     restore_retry_data
  91.     SceneManager.goto(Scene_Battle)
  92.     BattleManager.play_battle_bgm
  93.     Sound.play_battle_start
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ● 敗北の処理
  97.   #--------------------------------------------------------------------------
  98.   alias _retry_battle_process_defeat process_defeat
  99.   def process_defeat
  100.     if $game_switches[RETRY_ENABLE_SWITCH]
  101.       start_retry_selection
  102.     else
  103.       _retry_battle_process_defeat
  104.     end
  105.   end
  106. end

  107. class Game_Screen
  108.   #--------------------------------------------------------------------------
  109.   # ● 公開インスタンス変数
  110.   #--------------------------------------------------------------------------
  111.   attr_writer   :brightness               # 明るさ
  112. end

  113. class Retry_Window < Window_Command
  114.   #--------------------------------------------------------------------------
  115.   # ● インクルード Rokan::Retry_Battle
  116.   #--------------------------------------------------------------------------
  117.   include Rokan::Retry_Battle
  118.   #--------------------------------------------------------------------------
  119.   # ● オブジェクト初期化
  120.   #--------------------------------------------------------------------------
  121.   def initialize
  122.     super(0, 0)
  123.     update_placement
  124.     select_symbol(:reset_battle)
  125.     self.openness = 0
  126.     self.active = false
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● ウィンドウ幅の取得
  130.   #--------------------------------------------------------------------------
  131.   def window_width
  132.     return 160
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● ウィンドウ位置の更新
  136.   #--------------------------------------------------------------------------
  137.   def update_placement
  138.     self.x = (Graphics.width - width) / 2
  139.     self.y = (Graphics.height - height) / 2
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ● コマンドリストの作成
  143.   #--------------------------------------------------------------------------
  144.   def make_command_list
  145.     add_command(RETRY_COMMAND, :retry)
  146.     add_command(GIVEUP_COMMAND, :giveup)
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● ウィンドウのアクティブ化
  150.   #--------------------------------------------------------------------------
  151.   def activate
  152.     open
  153.     super
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ● ウィンドウの非アクティブ化
  157.   #--------------------------------------------------------------------------
  158.   def deactivate
  159.     close
  160.     super
  161.   end
  162. end

  163. class Scene_Battle < Scene_Base
  164.   #--------------------------------------------------------------------------
  165.   # ● 開始処理
  166.   #--------------------------------------------------------------------------
  167.   alias _retry_battle_start start
  168.   def start
  169.     _retry_battle_start
  170.     create_command_window
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● 終了処理
  174.   #--------------------------------------------------------------------------
  175.   alias _retry_battle_terminate terminate
  176.   def terminate
  177.     _retry_battle_terminate
  178.     @command_window.dispose
  179.     perform_battle_transition if SceneManager.scene_is?(Scene_Battle)
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 確認コマンドウィンドウの作成
  183.   #--------------------------------------------------------------------------
  184.   def create_command_window
  185.     @command_window = Retry_Window.new
  186.     @command_window.set_handler(:retry, method(:reset_battle))
  187.     @command_window.set_handler(:giveup, method(:giveup_battle))
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● リトライの是非の選択開始
  191.   #--------------------------------------------------------------------------
  192.   def start_retry_selection
  193.     @command_window.activate
  194.     bgm = RPG::BGM.last
  195.     bgm.volume -= 20
  196.     bgm.play
  197.     update_basic until @command_window.open?
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● フレーム更新
  201.   #--------------------------------------------------------------------------
  202.   alias _retry_battle_update update
  203.   def update
  204.     if @command_window.active
  205.       super
  206.     else
  207.       _retry_battle_update
  208.     end
  209.   end
  210.   #--------------------------------------------------------------------------
  211.   # ● フレーム更新(基本)
  212.   #--------------------------------------------------------------------------
  213.   alias _retry_battle_update_basic update_basic
  214.   def update_basic
  215.     if @command_window && @command_window.active
  216.       $game_troop.screen.brightness = [$game_troop.screen.brightness - 8, 160].max
  217.     end
  218.     _retry_battle_update_basic
  219.   end
  220.   #--------------------------------------------------------------------------
  221.   # ● 戦闘をあきらめる
  222.   #--------------------------------------------------------------------------
  223.   def giveup_battle
  224.     @command_window.deactivate
  225.     BattleManager._retry_battle_process_defeat
  226.   end
  227.   #--------------------------------------------------------------------------
  228.   # ● 戦闘のリセット
  229.   #--------------------------------------------------------------------------
  230.   def reset_battle
  231.     @command_window.deactivate
  232.     update_basic until @command_window.close?
  233.     BattleManager.process_retry
  234.   end
  235.   #--------------------------------------------------------------------------
  236.   # ● 戦闘前トランジション実行
  237.   #--------------------------------------------------------------------------
  238.   def perform_battle_transition
  239.     Graphics.transition(60, "Graphics/System/BattleStart", 100)
  240.     Graphics.freeze
  241.   end
  242. end
复制代码
用头画头像,用脚写脚本
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-15 15:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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