切換
舊版
前往
大廳
主題

【系統腳本】章節顯示 1.00 版

先行者 | 2012-04-01 15:31:48 | 巴幣 8 | 人氣 663

○檢視:
此版本為 XP 版
#==============================================================================
#----------------------------------------------------------------------------
# ○  OSD - 腳本討論社
#     Originality RGSS Discuss
#     └http://guild.gamer.com.tw/guild.php?sn=4707
#----------------------------------------------------------------------------
#==============================================================================
#--------------------------------------------------------------------------
# ● 腳本名稱:章節顯示
#--------------------------------------------------------------------------
# ● 腳本效果:
#     顯示目前章節名稱,
#     可以自行定義用字符或圖像來顯示,
#     也可以設定背景圖片。
#     使用方法請至:http://home.gamer.com.tw/creationDetail.php?sn=1569122
#--------------------------------------------------------------------------
# ● 腳本版本:1.00 版
#--------------------------------------------------------------------------
# ● 腳本更新區塊:
#     目前並無更新
#--------------------------------------------------------------------------
#==============================================================================
#----------------------------------------------------------------------------
# ○  OSD - 腳本討論社
#     Originality RGSS Discuss
#     └http://guild.gamer.com.tw/guild.php?sn=4707
#----------------------------------------------------------------------------
#==============================================================================

○使用方法:
※※※※※※※※※※※※※※※※※※※※
Section_Name
設定章節名稱的變數,
Section_Name = {
0 => "章節名稱 1",
1 => "章節名稱 2",
3 => "章節名稱 3",
4 => "章節名稱 4",
5 => "章節名稱 5"
}
最後一個章節不必加逗點
※※※※※※※※※※※※※※※※※※※※
Section_Back
使用方法如 Section_Name 一樣
※※※※※※※※※※※※※※※※※※※※
Section_Name_Style
設定章節顯示的樣式, 0 為字符, 1 為圖像,請不要設定超過 1
※※※※※※※※※※※※※※※※※※※※
Section_Name_Font_Size
設定章節字符大小,數字越大,字符越大
※※※※※※※※※※※※※※※※※※※※
Section_Name_Display_Speed
設定章節顯示速度,數字越大,速度愈快
※※※※※※※※※※※※※※※※※※※※
Section_Name_Display_Time
設定章節顯示時間,數字越大,停頓越久
※※※※※※※※※※※※※※※※※※※※
進入章節顯示的畫面,
腳本語法:$scene = Scene_Section.new(章節代號)
EX:要顯示"測試章節 1",腳本語法: $scene = Scene_Section.new(0)
※※※※※※※※※※※※※※※※※※※※
○腳本檢視:
#==============================================================================
#----------------------------------------------------------------------------
# ○  OSD - 腳本討論社
#     Originality RGSS Discuss
#     └http://guild.gamer.com.tw/guild.php?sn=4707
#----------------------------------------------------------------------------
#==============================================================================
#--------------------------------------------------------------------------
# ● 腳本名稱:章節顯示
#--------------------------------------------------------------------------
# ● 腳本效果:
#     顯示目前章節名稱,
#     可以自行定義用字符或圖像來顯示,
#     也可以設定背景圖片。
#     使用方法請至:http://home.gamer.com.tw/creationDetail.php?sn=1569122
#--------------------------------------------------------------------------
# ● 腳本版本:1.00 版
#--------------------------------------------------------------------------
# ● 腳本更新區塊:
#     目前並無更新
#--------------------------------------------------------------------------
#==============================================================================
#----------------------------------------------------------------------------
# ○  OSD - 腳本討論社
#     Originality RGSS Discuss
#     └http://guild.gamer.com.tw/guild.php?sn=4707
#----------------------------------------------------------------------------
#==============================================================================

#--------------------------------------------------------------------------
#自定義區:
#--------------------------------------------------------------------------
module Section
  # 設定章節名稱
  Section_Name = {
  0 => "測試章節 1 "
  }
  # 設定章節背景
  Section_Back = {
  0 => "章節背景"
  }
  # 設定章節名稱的樣式。0 為文字,1 為圖像
  Section_Name_Style = 1
  # 設定章節字符大小
  Section_Name_Font_Size = 30
  # 設定章節顯示速度,越大速度愈快
  Section_Name_Display_Speed = 8
  # 設定章節顯示時間
  Section_Name_Display_Time = 160
end

#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
# 處理選單畫面的類別。
#==============================================================================

class Scene_Section
  include Section
  #--------------------------------------------------------------------------
  # ● 初始化目標
  #     menu_index : 命令游標的初期位置
  #--------------------------------------------------------------------------
  def initialize(section_index = 0)
    @section_index = section_index
  end
  #--------------------------------------------------------------------------
  # ● 主處理
  #--------------------------------------------------------------------------
  def main
    # 製作背景圖片
    @section_back = RPG::Sprite.new
    @section_back.bitmap = RPG::Cache.picture(Section_Back[@section_index]) if Section_Back[@section_index] != nil
    # 製作章節名稱區塊
    @section = RPG::Sprite.new
    @section.opacity = 0
    # 如果章節名稱有設定
    if Section_Name[@section_index] != nil
      # 如果以「字符」顯示章節名稱
      if Section_Name_Style == 0
        @section.bitmap = Bitmap.new(640, 480)
        @section.bitmap.font.size = Section_Name_Font_Size
        section_text_size = @section.bitmap.text_size(Section_Name[@section_index])
        @section.bitmap.draw_text(320 - section_text_size.width / 2, 240 - section_text_size.height / 2,
        section_text_size.width, section_text_size.height, Section_Name[@section_index])
      # 如果以「圖像」顯示章節名稱
      elsif Section_Name_Style == 1
        @section.bitmap = RPG::Cache.picture(Section_Name[@section_index])
        @section.x = 320 - @section.bitmap.width / 2
        @section.y = 240 - @section.bitmap.height / 2
      end
    end
    # 時間設定
    @time = Section_Name_Display_Time
    @time_start = true
    # 執行過渡
    Graphics.transition
    # 主循環
    loop do
      # 更新遊戲畫面
      Graphics.update
      # 更新輸入訊息
      Input.update
      # 更新畫面
      update
      # 如果切換畫面就中斷循環
      if $scene != self
        break
      end
    end
    # 準備過渡
    Graphics.freeze
    # 釋放視窗所佔的記憶體空間
  end
  #--------------------------------------------------------------------------
  # ● 更新畫面
  #--------------------------------------------------------------------------
  def update
    # 顯示計算(開始)
    if @time > 0 and @time_start
      @section.opacity += Section_Name_Display_Speed
    end
    # 計算時間(開始)
    if @time_start
      @time -= 1
      @time_start = false if @time < 0
    end
    # 顯示計算(結束)
    if @time < 0 and !@time_start
      @section.opacity -= Section_Name_Display_Speed
      if @section.opacity == 0
        @section = nil
        # 切換的地圖畫面
        $scene = Scene_Map.new
        return
      end
    end
  end
end

○畫面:

以字符顯示章節名稱,字符可自行更改大小

以圖片顯示章節名稱

○範例下載:
下載點 1
下載點 2
下載點 3

送禮物贊助創作者 !
0
留言

更多創作