=begin ● お手軽エンドロール ver1.01------------------------------------(c)光の軌想曲  文字が下から上に流れる形式のエンドロールなどを  簡単に作成することができます。  ○つかいかた  まず、カスタマイズポイントにて表示するテキストなどを設定します。  このエンドロールはイベントコマンドを使用して呼び出します。  ・初めにイベントコマンドのスクリプトに  $staff_window = Window_StaffCredit.new(x座標,y座標) とします。  ・$staff_window.update を1フレームごとに実行させます  ・$staff_window.finish? で終了判定ができます  ・使い終わったら $staff_window.dispose を呼び出してください  ブログに具体的なイベントの組み方を掲載しているので  そちらも合わせてご覧ください。 ○競合の可能性:限りなくゼロのはず ○更新履歴 2010/11/22 ver1.01 SPDの設定が反映されないのを修正 2010/11/20 ver1.0公開 =end #---------------------------------------------------------------------------- # ↓カスタマイズポイント module MAZ module SC # 表示領域の幅 WIDTH = 544 # スクロールの速さ SPD = 2 # 最後の文字でスクロールを止める STOP = true # 表示する画像のファイル名(systemにインポート) # 使用しない場合は"" FNAME = "logo" # 文字の最初の行の位置調整 PH = 108 # 表示するテキスト。 # 一行ごとにカンマで区切って入力してください。 TEXT = ["Powered by", "RPGツクールVX", "", "シナリオ", "俺", "", "マップ制作", "自分", "", "データベース", "わらわ", "", "スクリプト", "ボク", "", "グラフィック", "拙者", "", "ミュージック", "私", "", "テストプレイ", "WE", "", "スペシャルサンクス", "あなた", "", "プロデューサー", "誰?", "", "", "", "", "", "", "", "", "", "The End", ] # 色を付ける行の番号を指定(先頭 = 0) COLOR = [3,6,9,12,15,18,21,24,27] # 文字列の配置 0: 左揃え 1: 中央揃え 2: 右揃え ALI = 1 end end # ↑カスタマイズポイントおわり #---------------------------------------------------------------------------- #============================================================================== # ■ Window_StaffCredit #------------------------------------------------------------------------------ #  エンドロールを表示するウィンドウ。 #============================================================================== class Window_StaffCredit < Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 # x : ウィンドウの X 座標 # y : ウィンドウの Y 座標 #-------------------------------------------------------------------------- def initialize(x, y) @text = MAZ::SC::TEXT super(x, y, MAZ::SC::WIDTH, MAZ::SC::PH + WLH * @text.size + 32) self.opacity = 0 @phase = 0 # 表示のステップ update end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def update draw_contents if @phase == 0 @phase += 1 self.y -= MAZ::SC::SPD unless finish? end #-------------------------------------------------------------------------- # ● 内容を描画 #-------------------------------------------------------------------------- def draw_contents if MAZ::SC::FNAME != "" bmp = Cache.system(MAZ::SC::FNAME) self.contents.blt(((self.width-32)-bmp.width)/2, 0, bmp, bmp.rect) end @text.each_index do |i| if MAZ::SC::COLOR.include?(i) self.contents.font.color = system_color else self.contents.font.color = normal_color end self.contents.draw_text(0, MAZ::SC::PH + WLH * i, self.width - 32, WLH, @text[i], MAZ::SC::ALI) end end #-------------------------------------------------------------------------- # ● スクロール終了判定 #-------------------------------------------------------------------------- def finish? return (self.y + self.height) <= 232 if MAZ::SC::STOP return (self.y + self.height) <= 0 end end