Project1

标题: j请求改造这个脚本!《战斗选择时显示头像》 [打印本页]

作者: 雷影    时间: 2015-11-11 03:10
标题: j请求改造这个脚本!《战斗选择时显示头像》
本帖最后由 雷影 于 2015-11-11 03:13 编辑

这个脚本作用是战斗选择指令时,显示当前角色的立绘!
显示的立绘是在Pictures文件夹里,对应头像文件夹Faces中相同的头像文件名。
本来一组头像.png,是可以有8个不同人物头像的,可用这个脚本的话,这样一来这8个头像都固定对应一个立绘图了!
如果可以的话,能不能改成一个头像对应一个立绘!!记得有一个半身像对话框脚本就是用了这样的判断方法的!

RUBY 代码复制
  1. #==============================================================================
  2. # ■ RGSS3 戦闘コマンド入力中 立ち絵表示 ver 1.01
  3. #------------------------------------------------------------------------------
  4. #  配布元:
  5. #     白の魔 [url]http://izumiwhite.web.fc2.com/[/url]
  6. #
  7. #  利用規約:
  8. #     RPGツクールVX Aceの正規の登録者のみご利用になれます。
  9. #     利用報告・著作権表示とかは必要ありません。
  10. #     改造もご自由にどうぞ。
  11. #     何か問題が発生しても責任は持ちません。
  12. #==============================================================================
  13.  
  14. #--------------------------------------------------------------------------
  15. # ★ 初期設定。
  16. #    立ち絵の透明度設定と表示位置をズラします。
  17. #    このままでも大抵は問題無いハズ…。
  18. #    ここをいじっても駄目な場合は画像グラフィックそのものを加工しましょう。
  19. #--------------------------------------------------------------------------
  20. module WD_battlepicture_ini
  21. Picture_opacity = 255   #立ち絵の不透明度です。0(透明)~255(不透明)で指定
  22. Picture_x =   40        #立ち絵のx座標の位置調整
  23. Picture_y =   -134        #立ち絵のy座標の位置調整
  24.  
  25. Hidepicture1 = false     #スキル、アイテム選択時に
  26.                          #立ち絵を消す場合はtrue
  27. Hidepicture2 = false     #敵ターゲット選択時に
  28.                          #立ち絵を消す場合はtrue
  29. Hidepicture3 = false     #味方ターゲット選択時に
  30.                          #立ち絵を消す場合はtrue
  31.  
  32. end
  33.  
  34. #--------------------------------------------------------------------------
  35. # ★ 初期設定おわり
  36. #--------------------------------------------------------------------------
  37.  
  38.  
  39. class Window_BattlePicture < Window_Base
  40.   #--------------------------------------------------------------------------
  41.   # ● オブジェクト初期化
  42.   #--------------------------------------------------------------------------
  43.   def initialize
  44.     super(-16, -16, 544+32, 416+32)
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 立ち絵のセット
  48.   #--------------------------------------------------------------------------
  49.   def set(face_name)
  50.     self.contents.clear
  51.     bitmap1 = Cache.picture(face_name)
  52.     rect1 = Rect.new(0, 0, bitmap1.width, bitmap1.height)
  53.     x = 416-bitmap1.width/2 + WD_battlepicture_ini::Picture_x
  54.     y = 432-bitmap1.height + WD_battlepicture_ini::Picture_y
  55.     self.contents.blt(x, y, bitmap1, rect1, WD_battlepicture_ini::Picture_opacity)
  56.   end
  57. end
  58.  
  59. class Scene_Battle < Scene_Base
  60.   #--------------------------------------------------------------------------
  61.   # ● 情報表示ビューポートの作成
  62.   #--------------------------------------------------------------------------
  63.   alias wd_orig_create_info_viewport_009 create_info_viewport
  64.   def create_info_viewport
  65.     @battle_picture_window = Window_BattlePicture.new
  66.     @battle_picture_window.hide
  67.     @battle_picture_window.opacity = 0
  68.     wd_orig_create_info_viewport_009
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 次のコマンド入力へ
  72.   #--------------------------------------------------------------------------
  73.   alias wd_orig_next_command_009 next_command
  74.   def next_command
  75.     @battle_picture_window.hide
  76.     wd_orig_next_command_009
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 前のコマンド入力へ
  80.   #--------------------------------------------------------------------------
  81.   alias wd_orig_prior_command_009 prior_command
  82.   def prior_command
  83.     @battle_picture_window.hide
  84.     wd_orig_prior_command_009
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● アクターコマンド選択の開始
  88.   #--------------------------------------------------------------------------
  89.   alias wd_orig_start_actor_command_selection_009 start_actor_command_selection
  90.   def start_actor_command_selection
  91.     wd_orig_start_actor_command_selection_009
  92.     @battle_picture_window.show
  93.     @battle_picture_window.set(BattleManager.actor.face_name)
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ● スキル[決定]
  97.   #--------------------------------------------------------------------------
  98.   alias wd_orig_on_skill_ok_009 on_skill_ok
  99.   def on_skill_ok
  100.     @skill = @skill_window.item
  101.     if !@skill.need_selection?
  102.     elsif @skill.for_opponent?
  103.       @battle_picture_window.show if WD_battlepicture_ini::Hidepicture2 == false
  104.     else
  105.       @battle_picture_window.show if WD_battlepicture_ini::Hidepicture3 == false
  106.     end
  107.     wd_orig_on_skill_ok_009
  108.   end  
  109.   #--------------------------------------------------------------------------
  110.   # ● コマンド[スキル]
  111.   #--------------------------------------------------------------------------
  112.   alias wd_orig_command_skill_009 command_skill
  113.   def command_skill
  114.     @battle_picture_window.hide if WD_battlepicture_ini::Hidepicture1
  115.     wd_orig_command_skill_009
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● コマンド[アイテム]
  119.   #--------------------------------------------------------------------------
  120.   alias wd_orig_command_item_009 command_item
  121.   def command_item
  122.     @battle_picture_window.hide if WD_battlepicture_ini::Hidepicture1
  123.     wd_orig_command_item_009
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● スキル[キャンセル]
  127.   #--------------------------------------------------------------------------
  128.   alias wd_orig_on_skill_cancel_009 on_skill_cancel
  129.   def on_skill_cancel
  130.     @battle_picture_window.show
  131.     wd_orig_on_skill_cancel_009
  132.   end
  133.   #--------------------------------------------------------------------------
  134.   # ● アイテム[キャンセル]
  135.   #--------------------------------------------------------------------------
  136.   alias wd_orig_on_item_cancel_009 on_item_cancel
  137.   def on_item_cancel
  138.     @battle_picture_window.show
  139.     wd_orig_on_item_cancel_009
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ● アクター選択の開始
  143.   #--------------------------------------------------------------------------
  144.   alias wd_orig_select_actor_selection_009 select_actor_selection
  145.   def select_actor_selection
  146.     if WD_battlepicture_ini::Hidepicture3
  147.       @battle_picture_window.hide
  148.     else
  149.       @battle_picture_window.show
  150.     end
  151.     wd_orig_select_actor_selection_009
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● アクター[キャンセル]
  155.   #--------------------------------------------------------------------------
  156.   alias wd_orig_on_actor_cancel_009 on_actor_cancel
  157.   def on_actor_cancel
  158.     @actor_window.hide
  159.     case @actor_command_window.current_symbol
  160.     when :attack
  161.       @battle_picture_window.show
  162.     when :skill
  163.       if WD_battlepicture_ini::Hidepicture1
  164.         @battle_picture_window.hide
  165.       else
  166.         @battle_picture_window.show
  167.       end
  168.     when :item
  169.       if WD_battlepicture_ini::Hidepicture1
  170.         @battle_picture_window.hide
  171.       else
  172.         @battle_picture_window.show
  173.       end
  174.     end
  175.     wd_orig_on_actor_cancel_009
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● 敵キャラ選択の開始
  179.   #--------------------------------------------------------------------------
  180.   alias wd_orig_select_enemy_selection_cancel_009 select_enemy_selection
  181.   def select_enemy_selection
  182.     if WD_battlepicture_ini::Hidepicture2
  183.       @battle_picture_window.hide
  184.     else
  185.       @battle_picture_window.show
  186.     end
  187.     wd_orig_select_enemy_selection_cancel_009
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● 敵キャラ[キャンセル]
  191.   #--------------------------------------------------------------------------
  192.   alias wd_orig_on_enemy_cancel_009 on_enemy_cancel
  193.   def on_enemy_cancel
  194.     case @actor_command_window.current_symbol
  195.     when :attack
  196.       @battle_picture_window.show
  197.     when :skill
  198.       if WD_battlepicture_ini::Hidepicture1
  199.         @battle_picture_window.hide
  200.       else
  201.         @battle_picture_window.show
  202.       end
  203.     when :item
  204.       if WD_battlepicture_ini::Hidepicture1
  205.         @battle_picture_window.hide
  206.       else
  207.         @battle_picture_window.show
  208.       end
  209.     end
  210.     wd_orig_on_enemy_cancel_009
  211.   end
  212. end
  
作者: cinderelmini    时间: 2015-11-13 00:04
代码框里49行和51行:
  1. def set(face_name, face_index)
  2. bitmap1 = Cache.picture(face_name + "_" + face_index)
复制代码
93行:
  1. @battle_picture_window.set(BattleManager.actor.face_name, BattleManager.actor.face_index.to_s)
复制代码
大概就好了。
作者: 雷影    时间: 2015-11-15 04:21
cinderelmini 发表于 2015-11-13 00:04
代码框里49行和51行:93行:大概就好了。

成了的样子!似乎还没出问题!谢谢了!




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