お知らせ掲示板 | 質問掲示板 | 不具合報告掲示板 | 機能要望掲示板 | 雑談掲示板

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
39 / 401 ツリー ←次へ | 前へ→

立ち絵で3人以上を画面に表示する方法について ゆう 2021/11/17(水) 23:40
Re:立ち絵で3人以上を画面に表示する方法について ぽてと 2021/11/19(金) 13:54
Re:立ち絵で3人以上を画面に表示する方法について ゆう 2021/11/19(金) 22:28

立ち絵で3人以上を画面に表示する方法について
 ゆう  - 2021/11/17(水) 23:40 -
  
yu-ris_0486_007を使用しています。
初歩的な質問だとは思いますが、調べても試してもできなかったので質問させてください。

立ち絵の位置を変えて表示したいのですが、
二人以上いっぺんに表示する方法はあるのでしょうか。

立ち絵簡易マクロを使ってみたものの、3人指定しても2人しかゲームには出てきません。


また、\SP.STを使ってみたのですが、
例えば、

;--------------------------------------
\SP.ST(b_01, 300)

\SP.ST(eri_1a01, 300)

\SP.ST(yuu_1a01, 300)

\SP.WA(,,1)
;--------------------------------------

とすると、以下の文章が出てきてゲームが終了します。
\SP.CG 命令が多重に指定されています。

また、この場合、立ち絵の位置はどう指定していいのかもわかりません。
マニュアルは一通り見て、質問掲示板も一応目を通しました(漏れがあるかもしれません)。

調査不足かもしれませんが、三人以上を固定の場所(右や中央や左など)に指定する方法があれば教えていたけると、
これから使っていこうと思います。
引用なし
パスワード

Re:立ち絵で3人以上を画面に表示する方法について
 ぽてと E-MAIL  - 2021/11/19(金) 13:54 -
  
ぽてとです。

立絵表示、同時表示は最初に躓きやすいポイントかと思います。
分かりやすく書いたつもりですが不明点等あればお知らせください。

まず、3人目が表示されない点についてです。
立絵定義ファイルや画像中心点定義の設定などを行っていますでしょうか。
フォルダ設定をしていないと画像表示できませんので、ご注意ください。

>\SP.CG 命令が多重に指定されています
¥SP.GO命令がないまま本文表示されているため、発生しています。
演出命令は\SP.GO命令を使用してください。
イメージとしてはこう思ってください。
1:画像や位置情報を定義(SP.ZX等)
2:定義情報を演出に登録(SP.GO)
3:テキスト表示字に実行される。


■立絵表示する基本的な手順
1:立絵画像を保存する(フォルダ定義で定義されてるフォルダ配下)
2:画像中心点定義.txtを修正する
3:立ち絵定義.txtを修正する
4:立絵表示命令を記述する


■data\script\UserDefine\画像中心点定義.txt
画像を表示する位置を省略した場合の中心座標。
当該設定がされてない場合は、座標(0.0)に表示されます。
例:\CGCXY.DEF("yuu_1a", 196, 180)


■data\script\UserDefine\立ち絵定義.txt
立絵ファイルの自動フォルダ振分設定。
当該設定がされてない場合はパスが不明となり表示できません。
例:\SP.ST.FOLDER.DEF("yuu",,"yuu/") //優理

この場合、フォルダ定義で下記設定がされていると
$T(38,03)="cg/stand/"      // 立ち絵フォルダ

\SP.ST("YUU_1A01")と命令が実行された場合、下記パスを探しに行きます。
cg/stand/yuu/YUU_1A01.png
※拡張子はpngかjpg等は自動判別される。


■キャラクターを表示する基本命令
1人を表示する方法ですが下記命令を基本命令だと思ってください。
1:表示する画像を設定(画像名,クロスフェード時間)
2:表示する位置を決定(X座標、Y座標、時間)
 省略時:画像中心点定義で設定された場所(基本は中央)
3:透過度の設定(省略時:256)
4:\SP.GO(YUURI)

\SP.ST("YUU_1A01",250)
\SP.SXYZ(0, 0, 0, 250) //分かりやすくするために相対座標にしてます。
\SP.ZA(256,250)
\SP.GO(YUURI)

\BG命令で背景を表示しないとのカメラ座標Z軸は0ではなく200のため注意が必要です。
キャラクターz軸の初期値は200です。背景表示しない場合は4倍で表示されます。
※サンプルを相対座標にしているのは絶対座標だとキャラ別に表示位置が変わるため。


■立絵簡易命令について
当該命令は下記の指定となります。
\_ST(ID,ファイル名,時間,絶対座標X,絶対座標Y,絶対座標Z)

感嘆に立絵簡易命令を説明すると下記を1行で実行できるようにしたものです。
\SP.ST(ファイル名, 時間)
\SP.ZX(絶対座標X, 時間)
\SP.ZY(絶対座標Y, 時間)
\SP.ZZ(絶対座標Z, 時間)
\SP.GO(ID)


■立絵を同時に表示する方法
SP.ST部分は立絵簡易命令(\_ST)等で表示しても問題ありません。
同時に表示(演出)する場合は\SP.GO(ID)のID部分が異なっている事が肝要です。

案1:Fout状態(暗転中)に表示しておく
背景表示されてない場合は初期配置等はとちらつきがなくなります。
また音楽再生時のタイムラグ等の緩和にも繋がります。
※時間は適当に設定してます。

\FOUT(250)
\BGM(ファイル名)
\BG(ファイル名)
\SP.ST("yuu_1a01",250);\SP.GO(YUURI)
\SP.ST("eri_1a01",250);\SP.GO(ERI)
\FIN(250)
本文

案2:同時に表示する
背景表示済みで演出
\SP.ST("yuu_1a01",250);\SP.GO(YUURI)
\SP.ST("eri_1a01",250);\SP.GO(ERI)
本文


■立絵を左中右(固定)で表示する方法
SP.ZX命令などで細かく設定しても良いですが簡単な方法として。(沢山の行数書きたくない)
画像は座標位置で表示するため、命令一つで左や右や中を指定する事はできません。

ですのでキャラ別に左中右の絶対座標を設定した命令をメモしておき、随時コピペで使うと良いかと思います。

画像の左中右の絶対座標はカメラのZ軸、キャラクターのZ軸によっても位置が異なりますのでご注意ください。
カメラZ軸0、キャラZ軸200の場合は100%の倍率で表示されます。
カメラZ軸:0
キャラZ軸:200
ウィンドウサイズ:800×600
画像サイズ:295×580(yuu_1a01)

上記条件で等倍画像を等倍カメラで左右中に等間隔で配置すると下記となります。
左:\_ST(YUU1,yuu_1a01,250,-295,0,200)
中:\_ST(YUU2,yuu_1a01,250,  0,0,200)
右:\_ST(YUU3,yuu_1a01,250,+295,0,200)
※IDを別IDとすることで別キャラとして表示できます。
※Z軸を200としているのは他演出等でZ軸を変更していた場合、初期化するという意味で設定しています。
※X,Y,Zは省略すると以前の状態で表示となります。


絶対座標といいつつ、左上が0,0ではありません。
画面上のXY座標(0,0)は画面中心です。
そのため画面左上座標はウィンドウサイズの半分である(-400,-300)となります。
立絵表示は自動的に中心(295/2,580/2)になるように表示されます。
※画像中心点定義が定義されてればそちらになります。
つまり左上から表示しようとした場合は、XY座標(-400+295/2,-300+580/2)となります。
※画像中心点定義がされてる場合は295/2や580/2の部分が定義した内容となります。
カメラ倍率や、Z軸を変更したりすると座標位置はその分ずらしたりする必要が発生したりします。

ここまで難しいので簡単に言えば画像中心点定義をされている場合、
左中右を指定するときはX座標を画像サイズ分移動させれば可能です。
左:−画像サイズ
中:0
右;+画像サイズ

この時、画像が重なったりはみ出したりしたら微調整すれば良いという考えが楽だと思います。


■補足
立絵表示方法は好みや演出方法にもよりますが
初期配置状態は絶対座標を使用、以降は相対座標のが使い勝手がいいとは思いつつ。
絶対座標の方が何かとイメージしやすいという所もあります。
やりやすいやりかたで出来ればよいのかなと思います!


以上、お役に立てればと思います。
ぽてと
引用なし
パスワード

Re:立ち絵で3人以上を画面に表示する方法について
 ゆう  - 2021/11/19(金) 22:28 -
  
ぽてと様

初歩から説明いただき、本当にありがとうございました!
画面サイズそういえば書いてなかったです、すみません、1280×720で開発してました。
ですが、説明をよく読んでいて理解でき、無事表示することができました!

今回、私の場合ですが、

>■立絵を同時に表示する方法
>SP.ST部分は立絵簡易命令(\_ST)等で表示しても問題ありません。
>同時に表示(演出)する場合は\SP.GO(ID)のID部分が異なっている事が肝要です。

のID部分と、初期の画面中央座標が(0,0)になること等々わかってませんでした。
説明を何度か読み返して何度か起動しているうちにやっと理解できました。

一応、今回は、カメラを使わないで三人(以上)いっぺんに表示する方法として、
(フォルダなどの定義は済ませた状態で)

//\SP.SX(-400, , )で座標位置を左に瞬間表示しています。
//以下0で中央、400で右に瞬間表示しています。

\SP.ST(b_01, 300)
\SP.SX(-400, , )
\SP.GO(b_)

\SP.ST(eri_1a01, 300)
\SP.SX(0, , )
\SP.GO(eri)

\SP.ST(yuu_1a01, 300)
\SP.SX(400, , )
\SP.GO(YUU)

表示されました

//全員消します

\SP.ST(, 300)
\SP.GO(b_)

\SP.ST(, 300)
\SP.GO(eri)

\SP.ST(, 300)
\SP.GO(YUU)

全員同時に消えました

として無事に表示・非表示ができました。

*あくまで私の理解した範囲でのスクリプトです。
 もっといい方法があるかもしれません。

基本的なことがやっとわかったので、これで安心して使っていけそうです。
とてもわかりやすい説明でしたので、本当に助かりました。
お答えいただき、ありがとうございました!
引用なし
パスワード

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
39 / 401 ツリー ←次へ | 前へ→
59,451
(SS)C-BOARD v3.8.1β4 is Free.