【Ace RGSS3 】スクリプトで表示した画像がセーブ画面でセーブファイルの上に表示される

aiueo
記事: 50
登録日時: 2016年5月09日(月) 23:33

【Ace RGSS3 】スクリプトで表示した画像がセーブ画面でセーブファイルの上に表示される

投稿記事by aiueo » 2022年8月31日(水) 18:01

【Ace RGSS3 】スクリプトで表示した画像がセーブ画面でセーブファイルの上に表示される

Graphics\Picturesフォルダにtest_gazou.pngを用意し、
イベントコマンドの「スクリプト」で、

$cache=Cache.picture("test_gazou") #画像キャッシュの作成
$sprite=Sprite.new #スプライトの作成
$sprite.bitmap=$cache #スプライトに画像キャッシュを表示
$sprite.z=1 #スプライトのZ値を設定

と書いて、そのマップイベントにPCが話しかけると、
マップやキャラクターの上に画像が表示されます。
上層_画像
↓__歩行キャラクター
下層_マップ

そしてメニューを開くと、以下のように表示されます。
上層_アイテム/スキル/装備…、顔グラ/HP/MP…、xxxG
↓__画像
↓__歩行キャラクター
下層_マップ

さて、そこでセーブを選択すると、以下のようになってしまいます。
ロードでも同様になります。
上層_「どのファイルにセーブしますか?」/「どのファイルをロードしますか?」
↓__画像
↓__セーブ/ロードファイル
↓__歩行キャラクター
下層_マップ
これではセーブファイルが見えません。

これを以下のようにするには、どうすればよいでしょうか?
上層_「どのファイルにセーブしますか?」/「どのファイルをロードしますか?」
↓__セーブ/ロードファイル
↓__画像
↓__歩行キャラクター
下層_マップ

以上よろしくお願いいたします。
添付ファイル
test_gazou.png

TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 【Ace RGSS3 】スクリプトで表示した画像がセーブ画面でセーブファイルの上に表示される

投稿記事by TOMO » 2022年8月31日(水) 19:10

Scene_Fileの62行目の下辺りに

コード: 全て選択

@savefile_windows.each {|window| window.z = 2 }

といった感じにウィンドウのZ座標を変更する処理を入れれば可能です
(Z座標の値は自分で調整して下さい。増やせばその分だけ上層に来ます)
aiueo
記事: 50
登録日時: 2016年5月09日(月) 23:33

Re: 【Ace RGSS3 】スクリプトで表示した画像がセーブ画面でセーブファイルの上に表示される

投稿記事by aiueo » 2022年8月31日(水) 22:49

TOMO様、ありがとうございます。

Scene_Fileの62行目の下に1行追加しました。
#--------------------------------------------------------------------------
# ● セーブファイルウィンドウの作成
#--------------------------------------------------------------------------
def create_savefile_windows
@savefile_windows = Array.new(item_max) do |i|
Window_SaveFile.new(savefile_height, i)
end
@savefile_windows.each {|window| window.viewport = @savefile_viewport }
@savefile_windows.each {|window| window.z=2}###########################①この1行を追加
end

結果は変化せず、数値を10000とかにしても駄目でした。
いろいろいじってみたところ、ひとつ上のセクション?にZ値の設定を追加したらいけました。
#--------------------------------------------------------------------------
# ● セーブファイルビューポートの作成
#--------------------------------------------------------------------------
def create_savefile_viewport
@savefile_viewport = Viewport.new
@savefile_viewport.rect.y = @help_window.height
@savefile_viewport.rect.height -= @help_window.height
@savefile_viewport.z =1####################################前の①を削除し②この1行を追加
end
#--------------------------------------------------------------------------
# ● セーブファイルウィンドウの作成
#--------------------------------------------------------------------------
def create_savefile_windows
@savefile_windows = Array.new(item_max) do |i|
Window_SaveFile.new(savefile_height, i)
end
@savefile_windows.each {|window| window.viewport = @savefile_viewport }
end
ロード画面でも画像が下になりました。
これで作業を進めて様子を見ようと思います。
ありがとうございました!
添付ファイル
test_gazou_2.png

“VX / Ace:質問” へ戻る