0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GOKI2で始めるADV開発【ModCGMemory入門】CG・回想モードの実装とエクセルによるデータ管理

0
Last updated at Posted at 2025-12-27

CG/回想

GOKI2ではModCGMemoryがCG/回想画面を実装しています。
まずはモジュールを読み込みます。

/src/goki2/system/construct.gs
; CG/回想画面
@load_module name=ModCGMemory

これでCG/回想画面が使えるようになりました。

CG/回想データ

まず、CG/回想画面で見せるCGや回想のデータが必要です。
Avalanchesではエクセルでデータを入力する事ができます。
まず以下のファイルを開いてください。

/src/data/cgmemory/list.xlsx

とりあえずデフォルトでは内容は以下のようになっています。
image.png

ヘッダは編集しないでください。(厳密には編集してもよいのですが、手順があるのでここでは割愛します)

thum_CG_Aがサムネイルのファイル名です。
拡張子は入力しないでください。

CG_A000/CG_A001は画面に表示するCGのファイル名です。
ここでも拡張子は入力しないでください。
各CGは1行に1ファイルを指定します。

ModImageTestは回想として再生するシナリオファイル名を指定します。
ここでも拡張子は入力しないでください。

シート名が出力ファイル名になります。
シートはいくつでも追加する事ができるので、例えばキャラクターごとにCG画面を切り替えたい場合などにシートを分けるとよいでしょう。

データ出力

入力したエクセルデータを吉里吉里が読み込める形式に変換するツールがあります。
デフォルトの /src/data/cgmemory/list.xlsxにデータを入力した場合以下のバッチがそのまま使えます。

/tools/make_cgmem/run.bat

ファイル名を変更したり自分で1からエクセルファイルを作った場合はバッチの内容を新しいファイルパスに更新する必要があります。
/tools/make_cgmem/run.batを実行するとエクセルから*.dicファイルが生成されます。

実行画面
image.png

デフォルトでは以下2ファイルが生成されます。
ハロ.dic
2番目のCG.dic

生成されたファイルをプロジェクトフォルダにコピーします。
コピー先フォルダは自動検索パスが通っているところならどこでもよいです。

CG/回想画面レイアウト

GOKI2スクリプトを記述していきます。
まずは、先ほど作ったCG/回想データを読み込みます。

@load_cgmemory key=halo storage=ハロ.dic
@load_cgmemory key=2nd storage=2番目のCG

key属性とstoarge属性は必須属性です。
必ず指定してください。
key属性はデータのキーとなる任意の文字列を指定します。
storage属性には生成したCG/回想データを指定します。
拡張子はあってもなくてもよいです。

続けて、UIを定義していきます。

@cgmemory_option item_width=120 item_height=120
@cgmemory_option blank_thumbnail=thum_blank memory_button=memory_button
@cgmemory_option item_count=8 memory_count=3

まず、item_width=120 item_height=120で項目のサイズを指定します。
これはCGサムネイルと回想ボタンが入る大きさにします。
次にblank_thumbnail=thum_blank memory_button=memory_buttonでサムネイル(未オープン)と回想ボタンの画像を指定しています。
画像フォーマットについてはマニュアルを参照してください。
最後にitem_count=8 memory_count=3で1ページの項目数と回想ボタンの数を指定します。

最初に作ったCG/回想データは2つありました。
それぞれのデータを選択するボタンを配置します。

@cgmemory halo_left=370 halo_top=270 halo_caption=ハロのCG halo_width=60 halo_height=20
@cgmemory 2nd_left=370 2nd_top=300 2nd_caption=2ndのCG 2nd_width=60 2nd_height=20

ここで、load_cgmemoryで指定したkey属性の値が出てきます。
各属性はkey_xxxという形式で指定します。
ハロのCGボタンの左位置属性でいうとhalo_leftとなります。

回想ボタンはCGサムネイルの下に表示させる事とします。

@cgmemory mem0_left=10 mem0_top=100 mem1_left=30 mem1_top=100 mem2_left=50 mem2_top=100

CGサムネイルの位置を指定します。

@cgmemory item0_left=20 item0_top=10
@cgmemory item1_left=160 item1_top=10
@cgmemory item2_left=300 item2_top=10
@cgmemory item3_left=440 item3_top=10
@cgmemory item4_left=20 item4_top=200
@cgmemory item5_left=160 item5_top=200
@cgmemory item6_left=300 item6_top=200
@cgmemory item7_left=440 item7_top=200

itemN_xxxxとなっていますが、このNは0から始まるcgmemory_option item_count=8で指定した数-1まで指定できます。
ここでは4列2行の配置になります。

これでCG/回想画面が定義されました。

CGの登録

エクセルに記入されていれば自動的にそのCGファイル名が登録されます。
オープンするにはload_cgタグを使ってCGを表示します。

@load_cg layer=cg_layer_0 storage=CG_A001.png visible

上記タグを使ってCGを表示すればCG/回想画面でCGがオープンされます。

回想のスクリプト

回想で再生するスクリプトの範囲を指定する必要があります。(スクリプトのどこからどこまでが回想なのかを指定する)
まず、開始位置はopen_memoryタグを記述します。
注意するのはなんらかのラベルの直後にこのタグを記述する必要がある点です。
終了位置はend_memoryタグを任意の位置に記述できます。

/src/goki2/testcase/ModImageTest.gs
*label|
@open_memory

[ハロ]回想中だお。

[ハロ]終わるお。

@end_memory

これで回想の範囲指定ができました。
1度でもこのタグで囲われたスクリプトが実行されればCG/回想画面でボタンが有効化されます。

関連する記事の一覧

GOKI2の関連する記事一覧

ダウンロード

気になった方は以下サイトのリリースタグ(Avalanches release version 2.x.y.yという表記)からAssetsにあるAvalanches-Release2.x.y.y.zipのリンクから最新の環境をダウンロードできます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?