MZ用プラグイン

CG回想モードプラグイン(スマホ対応・GUIツール付き) - CGViewerMZ.js

シェア用テキスト:
▼CG回想モードプラグイン(スマホ対応・GUIツール付き)(MEGAokie様作) - CGViewerMZ.js
https://plugin-mz.fungamemake.com/archives/8903
専用GUIツール付きのCGギャラリー/回想モードプラグインです。フォルダを選ぶだけで画像を一括登録できます。PC・スマホ・タブレット全対応で、ズーム・スクロール・ピンチ操作にも対応しています。レイアウトも自由に調整可。CGごとにコモンイベントでシーン再生の設定をします。

ふりがな:しーじーかいそうもーどぷらぐいん

機能概要: 専用GUIツール付きのCGギャラリー/回想モードプラグインです。フォルダを選ぶだけで画像を一括登録できます。PC・スマホ・タブレット全対応で、ズーム・スクロール・ピンチ操作にも対応しています。レイアウトも自由に調整可。CGごとにコモンイベントでシーン再生の設定をします。

利用規約(ライセンス): MITライセンス

作者:MEGAokie

作者サイト:https://x.com/MEGAokie

解説ページ:https://note.com/megaokie/n/ned7a3eafdcf7

ダウンロードページ:https://note.com/megaokie/n/ned7a3eafdcf7

ファイル名:CGViewerMZ.js

プラグインのヘルプ:

/*:
 * @target MZ
 * @plugindesc v7.1 CGビューワー+ギャラリー(拡大機能・設定ツール付き)
 * @author MEGAokie
 * @url 
 * @license MIT
 *
 * @param UnlockMode
 * @text CG開放管理モード
 * @type select
 * @option スロット個別・即時保存(UnlockCG実行時に開放状態が保存。ゲームオーバー後も消えない)
 * @value slot
 * @option スロット個別・手動セーブのみ(手動セーブ時にのみ開放状態が保存)
 * @value slot-manual
 * @option 全体共有・即時保存(UnlockCG実行時に開放状態が保存。全セーブデータで共有・ゲームオーバー後も消えない)
 * @value global
 * @option 全体共有・手動セーブのみ(手動セーブ時にのみ開放状態が保存。全セーブデータで共有)
 * @value global-manual
 * @default global
 * @desc UnlockCG実行時の開放情報の管理方法。
 * 即時保存モードはゲームオーバー・強制終了後も開放情報が維持されます。
 * ※即時保存モードは書き戻し先スロットが存在しない場合は保存されません。
 * ※全体共有モードはプラグイン専用ファイル(CGViewerMZ_unlocks)に保存されます。
 *
 * @param AllUnlocked
 * @text 全開放モード
 * @type boolean
 * @default false
 * @desc デバッグ用:全CGを開放状態で表示
 *
 * @param ThumbCols
 * @text サムネイル列数
 * @type number
 * @min 1
 * @max 10
 * @default 3
 * @desc ギャラリーのサムネイル列数
 *
 * @param ThumbRows
 * @text サムネイル行数
 * @type number
 * @min 1
 * @max 10
 * @default 3
 * @desc ギャラリーのサムネイル行数
 *
 * @param ThumbPadding
 * @text サムネイル間隔(px)
 * @type number
 * @min 0
 * @max 40
 * @default 1
 * @desc サムネイル画像と画像の間のすき間(ピクセル数)。
 * 数値を大きくすると画像同士の間隔が広くなり、その分サムネイルが小さくなります。
 *
 * @param ThumbScaleMode
 * @text サムネイル縮小方式
 * @type select
 * @option バイリニア(シャープ)
 * @value bilinear
 * @option エリア平均(なめらか)
 * @value area
 * @default area
 * @desc サムネイルをフルサイズ画像から生成する際の縮小アルゴリズム。
 * bilinear: PixiJS GPU処理(MZデフォルトと同等)。area: Canvas高品質リサンプリング。
 *
 * @param GridMargin
 * @text 外周の余白(px)
 * @type number
 * @min 0
 * @max 60
 * @default 1
 * @desc ギャラリー画面の外周(画面の端とサムネイルの間)の余白(ピクセル数)。
 * 数値を大きくすると外側の余白が広くなります。
 *
 * @param DescHeight
 * @text 説明文エリアの高さ(px)
 * @type number
 * @min 0
 * @max 60
 * @default 30
 * @desc 各サムネイル下部に確保する説明文の表示エリアの高さ(ピクセル数)。
 * 説明文を使わない場合は0にするとサムネイルが最大サイズになります。
 *
 * @param DescTextColor
 * @text 説明文の文字色
 * @type string
 * @default #ffffff
 * @desc 説明文の文字色。色コード形式で指定(例: #ffffff=白、#ffff00=黄色)
 *
 * @param DescOutlineColor
 * @text 説明文の枠色
 * @type string
 * @default #000000
 * @desc 説明文の縁取り色。色コード形式で指定(例: #000000=黒)
 *
 * @param DescOutlineWidth
 * @text 説明文の枠幅(px)
 * @type number
 * @min 0
 * @max 10
 * @default 3
 * @desc 説明文の縁取りの太さ(ピクセル数)。0で縁取りなし。
 *
 * @param DescTextAlign
 * @text 説明文の文字揃え
 * @type select
 * @option 左揃え
 * @value left
 * @option 中央揃え
 * @value center
 * @option 右揃え
 * @value right
 * @default center
 * @desc 説明文の文字揃え
 *
 * @param FocusColor
 * @text フォーカス枠の色
 * @type string
 * @default #ffffff
 * @desc ギャラリーでキーボード操作時に選択中のサムネイルを囲む枠線の色。
 * 色コード形式で指定(例: #ffffff=白、#ffff00=黄色、#00ff00=緑)
 *
 * @param GalleryBackground
 * @text ギャラリー背景画像
 * @type file
 * @dir img/pictures/
 * @desc ギャラリー(一覧画面)の背景に表示する画像。
 * 空欄の場合は黒背景になります。
 *
 * @param GalleryBackgroundMode
 * @text 背景画像の表示方法
 * @type select
 * @option 元サイズで中央配置
 * @value original
 * @option 画面全体に引き伸ばし
 * @value stretch
 * @option タイル状に繰り返し
 * @value tile
 * @default original
 * @desc 背景画像の表示方法を選択します。
 *
 * @param LockedImage
 * @text 未開放時の代替画像
 * @type file
 * @dir img/pictures/
 * @desc 未開放スロットに表示する画像。空欄の場合はLOCKEDテキストを表示します。
 * 全フォルダ・全スロット共通で使用されます。
 *
 * @param ShowLockedDescription
 * @text 未開放時も説明文表示
 * @type boolean
 * @default false
 * @desc 未開放のCGでも説明文を表示するか。
 * trueにすると「LOCKED」の下に説明文が表示されます。
 *
 * @param FadeDuration
 * @text フェード時間(フレーム)
 * @type number
 * @min 1
 * @max 120
 * @default 30
 * @desc ギャラリーのページ切り替え時のフェード時間(60フレーム=1秒)
 *
 * @param ZoomEnabled
 * @text 拡大機能を有効化
 * @type boolean
 * @default true
 * @desc ビューアーで画像の拡大/縮小/移動を可能にする
 *
 * @param MinZoom
 * @text 最小拡大率(%)
 * @type number
 * @min 10
 * @max 100
 * @default 10
 * @desc 縮小できる最小の拡大率(10%~100%)
 *
 * @param MaxZoom
 * @text 最大拡大率(%)
 * @type number
 * @min 100
 * @max 1000
 * @default 400
 * @desc 拡大できる最大の拡大率(100%~1000%)
 *
 * @param ZoomSpeed
 * @text ズーム速度(%)
 * @type number
 * @min 5
 * @max 50
 * @default 10
 * @desc 1回のズーム操作での変化率(5%~50%)
 *
 * @param PanSpeed
 * @text 移動速度(px)
 * @type number
 * @min 10
 * @max 100
 * @default 20
 * @desc キーボードでの画像移動速度(ピクセル)
 *
 * @param DoubleClickTime
 * @text ダブルクリック時間(ms)
 * @type number
 * @min 100
 * @max 500
 * @default 300
 * @desc ダブルクリックと認識する時間(ミリ秒)
 *
 * @param DoubleClickZoom
 * @text ダブルクリック拡大率(%)
 * @type number
 * @min 100
 * @max 400
 * @default 200
 * @desc ダブルクリック時の拡大率(100%~400%)
 *
 * @param EnablePinch
 * @text ピンチ操作を有効化
 * @type boolean
 * @default true
 * @desc スマホでのピンチ拡大/縮小を有効にする
 *
 * @param ShowToolInTitle
 * @text タイトル画面にツール表示
 * @type boolean
 * @default true
 * @desc タイトル画面に「CG設定ツール」コマンドを表示(NW.js環境のみ)
 *
 * @param ToolCommandName
 * @text ツールコマンド名
 * @type string
 * @default CG設定ツール
 * @desc タイトル画面に表示するコマンド名
 *
 * @param EventButtonText
 * @text イベント再生ボタン
 * @type string
 * @default イベント再生
 * @desc ビューアーに表示するコモンイベント再生ボタンのテキスト
 *
 * @param TitleGalleryCommands
 * @text タイトル画面ギャラリーコマンド
 * @type struct[]
 * @default []
 * @desc タイトル画面に表示するギャラリーコマンドの一覧。
 * 複数フォルダを登録すると複数コマンドが表示されます。global系モード専用(slot系は案内画面に遷移)。
 *
 * @command OpenViewer
 * @text CGビューアーを開く
 * @desc 指定したフォルダのCGビューアー(またはギャラリー)を開きます
 *
 * @arg folder
 * @text フォルダ名
 * @type string
 * @default cg01
 * @desc img/pictures/配下のフォルダ名(例: cg01)
 *
 * @arg startNumber
 * @text 開始番号
 * @type string
 * @desc 空欄にすると一覧表示。数字もしくは変数\V[n]の値にするとその番号のCGから表示が開始。
 *
 * @command UnlockCG
 * @text CGを開放する
 * @desc 指定したCGを開放状態にします
 *
 * @arg folder
 * @text フォルダ名
 * @type string
 * @default cg01
 * @desc img/pictures/配下のフォルダ名(例: cg01, chapter1/scene01)
 *
 * @arg numbers
 * @text 開放番号
 * @type string
 * @default 1
 * @desc 開放する番号(例: 1-5,7,9 で1~5番と7番と9番を開放)
 *
 * @command OpenSettingTool
 * @text CG設定ツールを開く
 * @desc CG設定ツールを開きます(NW.js環境のみ)
 *
 * @command ShowCGPicture
 * @text 指定CGをピクチャ表示
 * @desc 指定したCGをピクチャとして画面に表示します
 *
 * @arg folder
 * @text フォルダ名
 * @type string
 * @default cg01
 * @desc img/pictures/配下のフォルダ名(例: cg01, chapter1/scene01)。\V[n]で変数参照可能
 *
 * @arg number
 * @text CG番号
 * @type string
 * @default 1
 * @desc 表示するCG番号(\V[n]で変数参照可能)
 *
 * @arg pictureId
 * @text ピクチャ番号
 * @type string
 * @default 1
 * @desc 表示先のピクチャ番号(\V[n]で変数参照可能)
 *
 * @arg origin
 * @text 原点
 * @type select
 * @option 左上
 * @value 0
 * @option 中心
 * @value 1
 * @default 1
 * @desc ピクチャの原点位置
 *
 * @arg x
 * @text X座標
 * @type string
 * @desc X座標(空欄で画面中央、\V[n]で変数参照可能)
 *
 * @arg y
 * @text Y座標
 * @type string
 * @desc Y座標(空欄で画面中央、\V[n]で変数参照可能)
 *
 * @arg scaleX
 * @text 拡大率X(%)
 * @type string
 * @default 100
 * @desc 横方向の拡大率(\V[n]で変数参照可能)
 *
 * @arg scaleY
 * @text 拡大率Y(%)
 * @type string
 * @default 100
 * @desc 縦方向の拡大率(\V[n]で変数参照可能)
 *
 * @arg opacity
 * @text 不透明度
 * @type string
 * @default 255
 * @desc 不透明度 0~255(\V[n]で変数参照可能)
 *
 * @arg blendMode
 * @text 合成方法
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 乗算
 * @value 2
 * @option スクリーン
 * @value 3
 * @default 0
 * @desc 合成方法
 *
 * @help
 * ■概要
 * CGビューアーとギャラリー機能を提供するプラグインです。
 * data/CGList.json でCGリストを管理します。
 *
 * ■CGList.jsonの形式
 * {
 *   "cg01": [1, 2, 3, 4, 5],
 *   "chapter1/cave1": [1, 2, 3]
 * }
 * または詳細形式:
 * {
 *   "cg01": [
 *     { "number": 1, "description": "説明", "commonEventId": 5 }
 *   ]
 * }
 * ※フォルダ名は img/pictures/ 配下のパス
 *
 * ■使用方法
 * 1. プラグインコマンド「UnlockCG」でCGを開放
 * 2. プラグインコマンド「OpenViewer」でビューアーを開く
 * 3. プラグインコマンド「ShowCGPicture」でCGをピクチャ表示
 *
 * ■主要機能
 * - CG解放システム(プラグインパラメーター「CG開放管理モード」で動作を選択)
 *   ・スロット個別・即時保存: UnlockCG実行時に現在スロットへ即時書き戻し
 *   ・スロット個別・手動セーブのみ: 手動セーブ時のみ保存(従来動作)
 *   ・全体共有・即時保存: UnlockCG実行時にプラグイン専用ファイルへ即時保存
 *   ・全体共有・手動セーブのみ: 手動セーブ時にプラグイン専用ファイルへ保存
 *   即時保存モードはゲームオーバー後も開放情報が維持されます。
 *   ※書き戻し先スロットが存在しない場合(一度もセーブしていない等)は保存されません。
 *   ※全体共有モードのファイルはsaveフォルダ内のCGViewerMZ_unlocks.rmmzsaveです。
 * - ビューアー(開放済みCGを閲覧)
 * - ギャラリー(サムネイル一覧表示)
 * - 拡大/縮小/移動機能
 * - 自動プリロード(前後の画像を先読みしてスムーズ表示)
 * - \V[n]による変数参照(フォルダ名、CG番号等)
 *
 * ■操作方法
 * 【ビューアー(拡大機能有効時)】
 * キーボード:
 *   ← → : 前/次のCG
 *   ↑ ↓ または PageUp/Down : 拡大/縮小
 *   Shift + 矢印キー : 画像移動(拡大時)
 *   Tab : 100%にリセット
 *   Enter/Z : フィット⇔100%切り替え
 *   R : コモンイベント再生(設定済みの場合)
 *   Backspace : 一覧に戻る
 *   Esc : 終了
 *
 * マウス:
 *   ホイール上回し : 縮小
 *   ホイール下回し : 拡大(カーソル位置中心)
 *   左ドラッグ : 画像移動(拡大時)
 *   ダブルクリック : 拡大⇔フィット切り替え
 *   シングルクリック : メニュー表示/非表示(ドラッグと自動判別)
 *
 * スマホ/タブレット:
 *   ピンチ : 拡大/縮小
 *   ドラッグ : 画像移動(拡大時)
 *   ダブルタップ : 拡大⇔フィット切り替え
 *   シングルタップ : メニュー表示/非表示(ドラッグと自動判別)
 *
 * 【ギャラリー(一覧画面)】
 * キーボード:
 *   矢印キー : フォーカス移動
 *   Enter/Z : 選択したCGを開く
 *   PageUp/Down : ページ切り替え
 *   Esc : 終了
 *
 * マウス/タッチ:
 *   サムネイルクリック : CGを開く
 *   ボタンクリック : ページ切り替え・終了
 *
 * ■注意事項
 * - 画像ファイルは img/pictures/(フォルダ名)/番号.png の形式で配置
 *   例: img/pictures/cg01/1.png
 * - 拡大機能により、メモリ使用量が若干増加します
 *
 * ■サムネイル独立指定(オプション)
 * ギャラリー一覧に表示するサムネイル専用画像を用意できます。
 *  配置場所: img/pictures/(フォルダ名)/thumb/番号.png
 *  例: img/pictures/cg01/thumb/1.png
 * thumb/ フォルダに画像がある番号はそちらをサムネイルとして使用し、
 * ない番号は元画像をそのままサムネイル表示します(従来どおり)。
 * ※ thumbフォルダを作らなくても問題ありません。
 *
 * ■説明文の表示設定
 * 「説明文エリアの高さ」を1以上に設定し、CGList.jsonの各CGに
 * descriptionフィールドを記述すると説明文が表示されます。
 * 文字色・枠色・文字揃えはプラグインパラメーターで設定できます。
 *
 * ■タイトル画面ギャラリー
 * プラグインパラメーター「タイトル画面ギャラリーコマンド」でコマンドを追加すると、
 * タイトル画面からギャラリーを直接起動できます。
 * ・global系モード: コマンド選択でギャラリーが開きます
 * ・slot系モード: コマンドは表示されますが、選択すると案内画面が表示されます
 *
 * ■外部連携API
 * 独自タイトル画面を使用している場合は、以下のstaticメソッドで直接ギャラリーを起動できます。
 *   Scene_CGGallery.open("フォルダ名");
 *   例: Scene_CGGallery.open("cg01");
 * ※global系モードでのみ正常に動作します。
 *
 * ■ライセンス
 * MIT License
 * Copyright (c) 2026 MEGAokie
 * 本プラグインは自由に使用・改変・再配布できます。
 * 詳細は https://opensource.org/licenses/MIT を参照してください。
 *
 */

/*~struct~TitleGalleryCommand:
 * @param label
 * @text コマンド名
 * @type string
 * @default ギャラリー
 * @desc タイトル画面に表示するコマンド名
 *
 * @param folder
 * @text フォルダ名
 * @type string
 * @default cg01
 * @desc 開くギャラリーのフォルダ名(img/pictures/配下のパス)
 */

スポンサードリンク

スポンサードリンク

-MZ用プラグイン

Copyright© #ツクプラMZ , 2026 All Rights Reserved.