查看: 2197|回复: 2

[已经解决] j请求改造这个脚本!《战斗选择时显示头像》

[复制链接]
梦石
0
星屑
8009
在线时间
1320 小时
注册时间
2006-7-18
回帖
459
发表于 2015-11-11 03:10:20 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 雷影 于 2015-11-11 03:13 编辑

这个脚本作用是战斗选择指令时,显示当前角色的立绘!
显示的立绘是在Pictures文件夹里,对应头像文件夹Faces中相同的头像文件名。
本来一组头像.png,是可以有8个不同人物头像的,可用这个脚本的话,这样一来这8个头像都固定对应一个立绘图了!
如果可以的话,能不能改成一个头像对应一个立绘!!记得有一个半身像对话框脚本就是用了这样的判断方法的!
立绘问题.png
[pre lang="ruby"]#==============================================================================
# ■ RGSS3 戦闘コマンド入力中 立ち絵表示 ver 1.01
#------------------------------------------------------------------------------
#  配布元:
#     白の魔 http://izumiwhite.web.fc2.com/
#
#  利用規約:
#     RPGツクールVX Aceの正規の登録者のみご利用になれます。
#     利用報告・著作権表示とかは必要ありません。
#     改造もご自由にどうぞ。
#     何か問題が発生しても責任は持ちません。
#==============================================================================

#--------------------------------------------------------------------------
# ★ 初期設定。
#    立ち絵の透明度設定と表示位置をズラします。
#    このままでも大抵は問題無いハズ…。
#    ここをいじっても駄目な場合は画像グラフィックそのものを加工しましょう。
#--------------------------------------------------------------------------
module WD_battlepicture_ini
Picture_opacity = 255   #立ち絵の不透明度です。0(透明)~255(不透明)で指定
Picture_x =   40        #立ち絵のx座標の位置調整
Picture_y =   -134        #立ち絵のy座標の位置調整

Hidepicture1 = false     #スキル、アイテム選択時に
                         #立ち絵を消す場合はtrue
Hidepicture2 = false     #敵ターゲット選択時に
                         #立ち絵を消す場合はtrue
Hidepicture3 = false     #味方ターゲット選択時に
                         #立ち絵を消す場合はtrue

end
                       
#--------------------------------------------------------------------------
# ★ 初期設定おわり
#--------------------------------------------------------------------------


class Window_BattlePicture < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super(-16, -16, 544+32, 416+32)
  end
  #--------------------------------------------------------------------------
  # ● 立ち絵のセット
  #--------------------------------------------------------------------------
  def set(face_name)
    self.contents.clear
    bitmap1 = Cache.picture(face_name)
    rect1 = Rect.new(0, 0, bitmap1.width, bitmap1.height)
    x = 416-bitmap1.width/2 + WD_battlepicture_ini::Picture_x
    y = 432-bitmap1.height + WD_battlepicture_ini::Picture_y
    self.contents.blt(x, y, bitmap1, rect1, WD_battlepicture_ini::Picture_opacity)
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ● 情報表示ビューポートの作成
  #--------------------------------------------------------------------------
  alias wd_orig_create_info_viewport_009 create_info_viewport
  def create_info_viewport
    @battle_picture_window = Window_BattlePicture.new
    @battle_picture_window.hide
    @battle_picture_window.opacity = 0
    wd_orig_create_info_viewport_009
  end
  #--------------------------------------------------------------------------
  # ● 次のコマンド入力へ
  #--------------------------------------------------------------------------
  alias wd_orig_next_command_009 next_command
  def next_command
    @battle_picture_window.hide
    wd_orig_next_command_009
  end
  #--------------------------------------------------------------------------
  # ● 前のコマンド入力へ
  #--------------------------------------------------------------------------
  alias wd_orig_prior_command_009 prior_command
  def prior_command
    @battle_picture_window.hide
    wd_orig_prior_command_009
  end
  #--------------------------------------------------------------------------
  # ● アクターコマンド選択の開始
  #--------------------------------------------------------------------------
  alias wd_orig_start_actor_command_selection_009 start_actor_command_selection
  def start_actor_command_selection
    wd_orig_start_actor_command_selection_009
    @battle_picture_window.show
    @battle_picture_window.set(BattleManager.actor.face_name)
  end
  #--------------------------------------------------------------------------
  # ● スキル[決定]
  #--------------------------------------------------------------------------
  alias wd_orig_on_skill_ok_009 on_skill_ok
  def on_skill_ok
    @skill = @skill_window.item
    if !@skill.need_selection?
    elsif @skill.for_opponent?
      @battle_picture_window.show if WD_battlepicture_ini::Hidepicture2 == false
    else
      @battle_picture_window.show if WD_battlepicture_ini::Hidepicture3 == false
    end
    wd_orig_on_skill_ok_009
  end  
  #--------------------------------------------------------------------------
  # ● コマンド[スキル]
  #--------------------------------------------------------------------------
  alias wd_orig_command_skill_009 command_skill
  def command_skill
    @battle_picture_window.hide if WD_battlepicture_ini::Hidepicture1
    wd_orig_command_skill_009
  end
  #--------------------------------------------------------------------------
  # ● コマンド[アイテム]
  #--------------------------------------------------------------------------
  alias wd_orig_command_item_009 command_item
  def command_item
    @battle_picture_window.hide if WD_battlepicture_ini::Hidepicture1
    wd_orig_command_item_009
  end
  #--------------------------------------------------------------------------
  # ● スキル[キャンセル]
  #--------------------------------------------------------------------------
  alias wd_orig_on_skill_cancel_009 on_skill_cancel
  def on_skill_cancel
    @battle_picture_window.show
    wd_orig_on_skill_cancel_009
  end
  #--------------------------------------------------------------------------
  # ● アイテム[キャンセル]
  #--------------------------------------------------------------------------
  alias wd_orig_on_item_cancel_009 on_item_cancel
  def on_item_cancel
    @battle_picture_window.show
    wd_orig_on_item_cancel_009
  end
  #--------------------------------------------------------------------------
  # ● アクター選択の開始
  #--------------------------------------------------------------------------
  alias wd_orig_select_actor_selection_009 select_actor_selection
  def select_actor_selection
    if WD_battlepicture_ini::Hidepicture3
      @battle_picture_window.hide
    else
      @battle_picture_window.show
    end
    wd_orig_select_actor_selection_009
  end
  #--------------------------------------------------------------------------
  # ● アクター[キャンセル]
  #--------------------------------------------------------------------------
  alias wd_orig_on_actor_cancel_009 on_actor_cancel
  def on_actor_cancel
    @actor_window.hide
    case @actor_command_window.current_symbol
    when :attack
      @battle_picture_window.show
    when :skill
      if WD_battlepicture_ini::Hidepicture1
        @battle_picture_window.hide
      else
        @battle_picture_window.show
      end
    when :item
      if WD_battlepicture_ini::Hidepicture1
        @battle_picture_window.hide
      else
        @battle_picture_window.show
      end
    end
    wd_orig_on_actor_cancel_009
  end
  #--------------------------------------------------------------------------
  # ● 敵キャラ選択の開始
  #--------------------------------------------------------------------------
  alias wd_orig_select_enemy_selection_cancel_009 select_enemy_selection
  def select_enemy_selection
    if WD_battlepicture_ini::Hidepicture2
      @battle_picture_window.hide
    else
      @battle_picture_window.show
    end
    wd_orig_select_enemy_selection_cancel_009
  end
  #--------------------------------------------------------------------------
  # ● 敵キャラ[キャンセル]
  #--------------------------------------------------------------------------
  alias wd_orig_on_enemy_cancel_009 on_enemy_cancel
  def on_enemy_cancel
    case @actor_command_window.current_symbol
    when :attack
      @battle_picture_window.show
    when :skill
      if WD_battlepicture_ini::Hidepicture1
        @battle_picture_window.hide
      else
        @battle_picture_window.show
      end
    when :item
      if WD_battlepicture_ini::Hidepicture1
        @battle_picture_window.hide
      else
        @battle_picture_window.show
      end
    end
    wd_orig_on_enemy_cancel_009
  end
end
  
  [/pre]  

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2015-11-13 00:04:09 | 显示全部楼层
代码框里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)
复制代码
大概就好了。

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
8009
在线时间
1320 小时
注册时间
2006-7-18
回帖
459
 楼主| 发表于 2015-11-15 04:21:45 | 显示全部楼层
cinderelmini 发表于 2015-11-13 00:04
代码框里49行和51行:93行:大概就好了。

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

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部