$gameMessage.setFaceImage()について

ジャングル
記事: 108
登録日時: 2018年12月30日(日) 14:51
お住まい: 自動販売機

$gameMessage.setFaceImage()について

投稿記事by ジャングル » 2019年1月28日(月) 11:37

何度も質問済みません。

$gameMessage.setFaceImage()を連続して使うと、
最後のフェイス画像のみが使われてしまいます。

コード: 全て選択

$gameMessage.newPage();
$gameMessage.setFaceImage("aaa", 0);
$gameMessage.add("aaa");

$gameMessage.newPage();
$gameMessage.setFaceImage("bbb", 0);
$gameMessage.add("bbb");

この場合、"aaa"テキストが表示されているときに"bbb"のフェイス画像が入ってしまいます。

"aaa"テキストのときには"aaa"フェイスを入れたい場合はどうすればよいですか?
初歩的な質問で済みません。

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: $gameMessage.setFaceImage()について

投稿記事by 奏ねこま » 2019年1月28日(月) 12:23

まずaddとnewPageについてお話しておきたいのですが、
これらは実行した瞬間に画面に表示しているわけではありません。
表示予定の文章にテキストを追加したり改ページフラグを追加したりするものです。なので、

newPage(改ページフラグ追加)
setFaceImage(顔画像設定)
add(テキスト追加)
newPage(改ページフラグ追加)
setFaceImage(顔画像設定)
add(テキスト追加)
↑で準備したテキストを画面に表示

こんな流れになります。
テキストや改ページフラグは「追加」されていますので実際に表示するときにも有効ですが
顔画像は上書き設定されているので最初に設定していたやつはなくなってしまいます。

なので顔画像を文章ごとに変えたいとなると1つの処理の中で複数の文章を設定するのは諦めるか
実際に表示しているWindow_Message側の処理を大きく作り変えるか、になると思います。
ジャングル
記事: 108
登録日時: 2018年12月30日(日) 14:51
お住まい: 自動販売機

Re: $gameMessage.setFaceImage()について

投稿記事by ジャングル » 2019年1月28日(月) 15:33

奏ねこま 様
ありがとうございます。

なるほど。
継続渡しやプロミスみたいなものでも上手く動かないみたいですね。
過去質問にも同様のものがありましたが、それも解決されていませんでした。
ツクールmvではこの辺は難しいようですね。

時間に余裕ができたらWindow_Messageを作り変えてみます。
ありがとうございました。

“MV:質問” へ戻る