気まぐれ講座 TOP

第3回「セーブ画面に顔グラを!!」


素材化したほうが楽だと今更ながら後悔しつつ、講座にしてみました・・・

セーブ画面に顔グラを表示してみましょうということで
第2回に引き続き画面を作ってみる講座です。
でも、第2回は正直、無茶すぎました(・・・反省&後悔)

顔グラを表示。
↑こんなのを作ってみましょう。
(顔グラをつくるのに顔グラMAKERをお借りしましたので、転載は当然不可です)

では、第2回にあった手順をさらりと。

1.作成する画面を決める
 セーブ&ロード画面でっす。

2.構成・内容を決める
 構成は同じで、表示内容をホコグラ→顔グラにしたいだけです。

3.ウィンドウ用のスクリプトを組む
 ウィンドウは、Window_SaveFileです。
 表示の変更なので、改造ポイントはWindow_SaveFileのrefreshとなります。

まず、公開中のスクリプト「メニュー顔グラ表示」からの改造品を新規セクションに入れましょう。
(こいつの説明は省きます)

class Window_Base < Window
def draw_actor_face_graphic(actor, x, y)
bitmap = RPG::Cache.picture(actor)
cw = bitmap.width
ch = bitmap.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw/2, y - ch/2, bitmap, src_rect)
end
end

では、Window_SaveFileのrefreshの中で
ホコグラをどこで表示しているか見つけましょう。

↓フム・・・この部分ですね。(51行目〜)

# キャラクターを描画
for i in 0...@characters.size
bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
cw = bitmap.rect.width / 4
ch = bitmap.rect.height / 4
src_rect = Rect.new(0, 0, cw, ch)
x = 300 - @characters.size * 32 + i * 64 - cw / 2
self.contents.blt(x, 68 - ch, bitmap, src_rect)
end

さっき、新規セクションに入れた顔グラ表示用のメソッドを使って、
キャラクターを描画しているところを次のように書き換えます。

# キャラクターを描画
for i in 0...@characters.size
x = 150 + i * 70
draw_actor_face_graphic(@characters[i][0]+"_f", x, 30)
end

なんと、これだけ。
なぜなら、ホコグラ→顔グラと表示を変えるだからです。

4.シーン用のスクリプトを組む
 表示内容の変更だけなんで不要ですね。

5.テスト(バグつぶし)
 残念なことに、バグは出なかった。

最後に使い方を。
・顔グラのサイズは64×64を推奨
・顔グラのファイル名は各アクターのホコグラのファイル名+_f
 例:アルシェスの場合は001-Fighter01がホコグラのファイル名なので、
   顔グラの001-Fighter01_fとします
・最後にGraphics/Picturesに作成した顔グラをインポートします