(解決済み)【RGSS3】セーブ画面にセーブデータ毎にピクチャを表示

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

(解決済み)【RGSS3】セーブ画面にセーブデータ毎にピクチャを表示

投稿記事by aiueo » 2016年5月10日(火) 00:55

(解決済み)【RGSS3】セーブ画面にセーブデータ毎にピクチャを表示

こんにちは
以下のようなスクリプトをリクエストさせて頂きます
RPGツクールVXAceのRGSS3です
Aceのセーブ画面はデフォルトで各セーブデータ毎に
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
セーブファイル番号
      現在のパーティーメンバーの歩行グラフィック
               ゲームスタートからの経過時間
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
となっていますが、歩行グラフィックの場所にピクチャを表示させたいのです
ストーリーやキャラのイメージ・状態を絵や文字で表現できますから
詳しくは
1:画面全体のバックではなくセーブデータ個別に存在
2:ゲーム変数などでシナリオ進行やキャラ状態に従い任意に変更可能(自動ではない)
3:複数の表示が可能
4:サイズ、位置の変更調整可能、さらに複数表示では画像の間隔も調整可能
 (少し離したい場合やぴったりくっつけたい場合もあるでしょう)
5:使用する画像は\Graphics\Picturesフォルダなどに自分で作成・用意する

例として 上は画像1枚の場合、下は2枚の場合です
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ファイル1 ┌━━━━━━━━━━━━━━━━━━━━━━━┐
      │ Chapter2 新たなる敵            │     ←文字部分も画像です
      │  人影                   │
      │                  主人公  │
      └━━━━━━━━━━━━━━━━━━━━━━━┘ 01:02:34
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ファイル2 ┌━━━━━━━━━━━┬━━━━━━━━━━━┐
      │ ジャングルの    │ 王様         │
      │      絵    │            │
      │           │      主人公一行 │
      └━━━━━━━━━━━┴━━━━━━━━━━━┘ 05:16:27
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
こんな感じでどなたかお願いいたします
現在マップ名やマップ画面キャプチャとはまた違った形で、セーブデータの内容を表現できますし
セーブ画面をよく見ると重要な情報が、といった演出も出来ると思います

以上宜しくお願いいたします
最後に編集したユーザー aiueo on 2016年5月10日(火) 18:14 [ 編集 1 回目 ]

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

Re: 【RGSS3】セーブ画面にセーブデータ毎にピクチャを表示

投稿記事by TOMO » 2016年5月10日(火) 14:58

とりあえず作ってみました

コード: 全て選択

module TOMO
  module SavePicture
    Picture = []  # 弄るな!
   
    # 変数ID
    Variable = 1
    # 画像同士の間隔
    Space = 0
   
    # 画像の設定
    # Picture[変数の値] = [画像名1, 画像名2, …]
    # (画像名に「Graphics/Pictures/」を付ける必要はありません)
    Picture[0] = ["BlueSky"]
  end
end

class << DataManager
  #--------------------------------------------------------------------------
  # ● セーブヘッダの作成
  #--------------------------------------------------------------------------
  alias tomo_save_picture_make_save_header make_save_header
  def make_save_header
    header = tomo_save_picture_make_save_header
    header[:save_picture] = $game_variables[TOMO::SavePicture::Variable]
    header
  end
end


class Window_SaveFile < Window_Base
  #--------------------------------------------------------------------------
  # ● パーティキャラの描画
  #--------------------------------------------------------------------------
  alias tomo_save_picture_draw_party_characters draw_party_characters
  def draw_party_characters(x, y)
    header = DataManager.load_header(@file_index)
    return unless header
    if TOMO::SavePicture::Picture[header[:save_picture]]
      px = x - 40
      TOMO::SavePicture::Picture[header[:save_picture]].each do |filename|
        bitmap = Cache.picture(filename)
        contents.blt(px, 0, bitmap, bitmap.rect)
        px += bitmap.rect.width + TOMO::SavePicture::Space
      end
    else
      tomo_save_picture_draw_party_characters
    end
  end
end

なお、さすがに画像のサイズ調整は難しいので、
あらかじめ調整した画像を用意して下さい
aiueo
記事: 50
登録日時: 2016年5月09日(月) 23:33

Re: 【RGSS3】セーブ画面にセーブデータ毎にピクチャを表示

投稿記事by aiueo » 2016年5月10日(火) 17:51

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

Picture[0] = ["koma0", "koma1", "koma2"]
Picture[1] = ["画像壱", "画像弐"]
Picture[2] = ["bamen"]
Picture[3] = ["次章予告"]

こんな感じに指定して画像をセットし、選択肢の表示と変数の操作のイベントを作って
動作を確認いたしました
画像表示サイズはデフォルトのセーブデータ4個表示だと
デフォルト 縦68ピクセル 横408ピクセル
640 480化  縦84ピクセル 横504ピクセル
(「No.023 画面サイズVGA(RPGツクールVX Ace)by initialization」使用)
になり、この範囲内で左上基点で指定したピクセル間隔で続けての表示が出来ました
これは大変素晴らしいです

ぜひ使わせて頂きたいのですが、利用規約はどうなるのでしょうか
TOMO
記事: 343
登録日時: 2015年11月16日(月) 20:12
連絡を取る:

Re: 【RGSS3】セーブ画面にセーブデータ毎にピクチャを表示

投稿記事by TOMO » 2016年5月10日(火) 18:04

規約については、好きに使ってOKです

一応書くと
画像あったら嬉しいです
画像
画像
画像
画像
画像
aiueo
記事: 50
登録日時: 2016年5月09日(月) 23:33

Re: 【RGSS3】セーブ画面にセーブデータ毎にピクチャを表示

投稿記事by aiueo » 2016年5月10日(火) 18:12

了解いたしました
TOMO様ありがとうございました

“VX / Ace:スクリプト素材のリクエスト” へ戻る