ウィンドウスキンの変更

 2010-10-27
ゲーム中に複数のスキンを切り替えるにはどうすればいいのだろう?

ウィンドウスキンは、Window クラスの windowskin というプロパティで設定します。
ですので、windowskin で全検索して設定しているところを探せばいいわけです。

幸いなことに1箇所だけですので、それを変更してしまえば変更できるようになります。

現在、どのスキンが使用されているかを保存しなければいけないので、
Game_System クラスに新しいプロパティを追加したいと思います。
画像はセーブデータに含めることができないため、ファイル名を使うことにします。
class Game_System
attr_accessor :windowskin_name
alias _cao_initialize_windowskin initialize
def initialize
_cao_initialize_windowskin
@windowskin_name = "Window"
end
end
初期値は、デフォルトと同じ "Window" にしておきます。
これで、$game_system.windowskin_name でスキン名を変更できるようになりました。

次は、実際にこのスキン名をウィンドウに反映させるための処理を書きます。
class Window_Base
alias _cao_initialize_windowskin initialize
def initialize(x, y, width, height)
_cao_initialize_windowskin(x, y, width, height)
self.windowskin = Cache.system($game_system.windowskin_name)
end
end
まぁ、こんな感じです。
この2つのスクリプトを適当な場所にコピペします。
あとは、$game_system.windowskin_name = "NewWindow" みたいな感じで、
イベントとかで変更すれば、ウィンドウのスキンが変更されます。

ただ、既に表示されているウィンドウは新しく作り直されるまで、
変更は反映されませんので注意してください。
コメント




 

 ※ コメント内にURLを含めるには、バッククォート(`)をURLの直前に付け加えてください。


管理人のみ閲覧許可 [?]

トラックバック
トラックバックURL:
http://cacaosoft.blog42.fc2.com/tb.php/470-c1074b0d
≪ トップページへこのページの先頭へ  ≫
カレンダー
06 << 2017/07 >> 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

カテゴリー
最近の記事
最近のコメント
03/16 お返事
01/21 お返事
11/30 z座標
11/20 z座標
08/03 お返事

タグクラウド

リンク