Project1

标题: 更改战斗中的技能背景 [打印本页]

作者: sunset7395    时间: 2016-10-22 19:14
标题: 更改战斗中的技能背景
请教想把战斗中的窗口透明化
换上自己想要的背景图
就如图片一样
原版是第一张图
想变成像第二张图那样的
试过了很多方法也爬过文
都没有好成效
拜托版上有无大神可以指点一下迷津

(渣修图伤眼抱歉)
javascript:;javascript:;
作者: QQ蚊子湯    时间: 2016-10-24 04:38
嗯. ..你已經用了戰鬥腳本了

我不知道你那個橫版會不會衝突,所以我就用新專案寫一個

一時想不到什麼圖就用了這張GAMEOVER
效果圖
(, 下载次数: 61)




[pre lang="ruby"]#將圖檔命名為123置於Graphics\System

#-------------------------------------------

class Scene_Battle < Scene_Base
  alias QCHW create_help_window
    def create_help_window
    @help_window = Window_Help.new
    @help_window.visible = false
    @help_window.opacity=0
  end
   alias QCS command_skill
  def command_skill
    create_menu_background
    @skill_window.opacity=0
    @skill_window.actor = BattleManager.actor
    @skill_window.stype_id = @actor_command_window.current_ext
    @skill_window.refresh
    @skill_window.show.activate
  end
  #--------------------------------------------------------------------------
  # ● 指令“物品”
  #--------------------------------------------------------------------------
  alias QCI command_item
  def command_item
    @item_window.opacity=0
    create_menu_background
    @item_window.refresh
    @item_window.show.activate
  end
    #--------------------------------------------------------------------------
  # ● 技能“確定”
  #--------------------------------------------------------------------------
   alias QSOK on_skill_ok
  def on_skill_ok
    dispose_menu_background
    @skill = @skill_window.item
    BattleManager.actor.input.set_skill(@skill.id)
    BattleManager.actor.last_skill.object = @skill
    if !@skill.need_selection?
      @skill_window.hide
      next_command
    elsif @skill.for_opponent?
      select_enemy_selection
    else
      select_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # ● 技能“取消”
  #--------------------------------------------------------------------------
  alias QSC on_skill_cancel
  def on_skill_cancel
    @skill_window.hide
    @actor_command_window.activate
    dispose_menu_background
  end
  #--------------------------------------------------------------------------
  # ● 物品“確定”
  #--------------------------------------------------------------------------
  alias QIOK on_item_ok
  def on_item_ok
    dispose_menu_background
    @item = @item_window.item
    BattleManager.actor.input.set_item(@item.id)
    if !@item.need_selection?
      @item_window.hide
      next_command
    elsif @item.for_opponent?
      select_enemy_selection
    else
      select_actor_selection
    end
    $game_party.last_item.object = @item
  end
  #--------------------------------------------------------------------------
  # ● 物品“取消”
  #--------------------------------------------------------------------------
   alias QIC on_item_cancel
  def on_item_cancel
    @item_window.hide
    @actor_command_window.activate
    dispose_menu_background
  end
    def on_enemy_cancel
    @enemy_window.hide
    create_menu_background
    case @actor_command_window.current_symbol
    when :attack
      @actor_command_window.activate
    when :skill
      @skill_window.activate
    when :item
      @item_window.activate
    end
  end
    def create_menu_background
    @menu_background = Sprite.new
    @menu_background.bitmap = Cache.system('123')
  end
    def dispose_menu_background
    @menu_background.bitmap.dispose
    @menu_background.dispose
  end
  end[/pre]
作者: sunset7395    时间: 2016-10-29 17:00
QQ蚊子湯 发表于 2016-10-24 04:38
嗯. ..你已經用了戰鬥腳本了

我不知道你那個橫版會不會衝突,所以我就用新專案寫一個

你好,謝謝你的幫忙
不過我測試後發現一些問題
可以的話請你幫忙看看
我用新專案使用這個腳本
在選擇攻擊之後,取消選擇返回時
圖片會跑出來
還有點技能要選擇目標時,圖片雖然會消失
可是技能選單的文字都還在
可以麻煩你在幫我看看嗎,謝謝你
作者: QQ蚊子湯    时间: 2016-10-29 21:32
選通常供擊取消出現底圖這是BUG~已修復
至於技能選敵人時,原本就是開啟技能窗的(也就是其實原本就是開著技能表盲選的),只是我個人覺得選敵人的時候,能同時看見技能說明和敵人圖片比較具體一點
如果有需要關掉技能說明或是不需要看到敵人我再修改
是說上面那個代碼窗居然出現網址亂入,虧你能用成功

[pre lang="ruby"]    #將圖檔命名為123置於Graphics\System
     
    #-------------------------------------------
     
    class Scene_Battle < Scene_Base
      alias QCHW create_help_window
        def create_help_window
        @help_window = Window_Help.new
        @help_window.visible = false
        @help_window.opacity=0
      end
       alias QCS command_skill
      def command_skill
        create_menu_background
        @skill_window.opacity=0
        @skill_window.actor = BattleManager.actor
        @skill_window.stype_id = @actor_command_window.current_ext
        @skill_window.refresh
        @skill_window.show.activate
      end
      #--------------------------------------------------------------------------
      # ● 指令“物品”
      #--------------------------------------------------------------------------
      alias QCI command_item
      def command_item
        @item_window.opacity=0
        create_menu_background
        @item_window.refresh
        @item_window.show.activate
      end
        #--------------------------------------------------------------------------
      # ● 技能“確定”
      #--------------------------------------------------------------------------
       alias QSOK on_skill_ok
      def on_skill_ok
        dispose_menu_background
        @skill = @skill_window.item
        BattleManager.actor.input.set_skill(@skill.id)
        BattleManager.actor.last_skill.object = @skill
        if !@skill.need_selection?
          @skill_window.hide
          next_command
        elsif @skill.for_opponent?
          select_enemy_selection
        else
          select_actor_selection
        end
      end
      #--------------------------------------------------------------------------
      # ● 技能“取消”
      #--------------------------------------------------------------------------
      alias QSC on_skill_cancel
      def on_skill_cancel
        @skill_window.hide
        @actor_command_window.activate
        dispose_menu_background
      end
      #--------------------------------------------------------------------------
      # ● 物品“確定”
      #--------------------------------------------------------------------------
      alias QIOK on_item_ok
      def on_item_ok
        dispose_menu_background
        @item = @item_window.item
        BattleManager.actor.input.set_item(@item.id)
        if !@item.need_selection?
          @item_window.hide
          next_command
        elsif @item.for_opponent?
          select_enemy_selection
        else
          select_actor_selection
        end
        $game_party.last_item.object = @item
      end
      #--------------------------------------------------------------------------
      # ● 物品“取消”
      #--------------------------------------------------------------------------
       alias QIC on_item_cancel
      def on_item_cancel
        @item_window.hide
        @actor_command_window.activate
        dispose_menu_background
      end
        def on_enemy_cancel
        @enemy_window.hide
        create_menu_background
        case @actor_command_window.current_symbol
        when :attack
          @actor_command_window.activate
          dispose_menu_background
        when :skill
          @skill_window.activate
        when :item
          @item_window.activate
        end
      end
        def create_menu_background
        @menu_background = Sprite.new
        @menu_background.bitmap = Cache.system('123')
      end
        def dispose_menu_background
        @menu_background.bitmap.dispose
        @menu_background.dispose
      end
      end[/pre]




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