[掲示板へもどる]
一括表示

記事No: 21523 [関連記事]
タイトルRe: OPイベント時、NPCが表示されない原因が分からない
投稿日: 2023/05/01 00:20
投稿者YADO [LerLWW459(海外)]

> NPCが表示されない原因が分からないので優しい有識者の方、ご教授お願いします…初心者ユーザーです。
>
> 環境↓
> ウディタ バージョン3.176
> Windows10
> 画面サイズ 640×480
> マス 32px
>
> 〇やりたいこと(以下箇条書きにて失礼します)
> ・ゲームのオープニング作り
> ・主人公(プレイアブルキャラ)を自動実行で動かすのを前提
> ・同マップ内にいるNPC(登場人物2)を画面外から登場させ、指定位置で主人公と会話させ、別の指定位置まで動かす。
> ・その後、NPCは話しかけると会話できる状態にし、動かせるようになった(自動実行解除)主人公がマップ移動、または一定の条件を満たした後にNPCがいなくなる。
>
> ▼質問
> エディタ上では表示されているNPCが、テストプレイだと姿が見えません…(´・ω・`)(添付画像の赤枠の部分)いるはずなのに見えない状態を解消したいです。
>
> 公式ガイドやBBS、講座などいろいろ調べましたが同じ症状が見つからず…
> 条件分岐や変数なども試しましたが、5000万エラーが出たり、上手くいった(NPCが表示され、動く)と思っても、今度は主人公が動かなくなったり、ループが始まったりと…一進一退…お手上げです…
>
> 現状→NPC(イベント作成)のコマンドは空、並列実行、起動条件=V0が2と同じ。
>
> 自動実行にすると5000万エラーが出ます…メインのマップイベント(ID:00)のコマンド状態は画像の通りなのですが、何が間違っているのか教えていただければ幸いです。よろしくお願いいたします!

Ev1の方は「並列実行」ではなく「決定キーで実行」で良いかと思います。
イベントコマンドには、オープニング終了後の会話イベントを設定すれば良いでしょう。

Ev1の起動条件変数を「V0 が 2 と同じ」にしている場合は
■変数操作: V0[] = 3 + 0
を実行すると、Ev1が消えてしまいます。

オープニング終了後もそのままEv1を表示し続ける場合は、オープニングイベントには
■変数操作: V0[] = 3 + 0
を設定しないで、別のマップへ場所移動する時や一定の条件を満たした時に
■変数操作: V0[] = 3 + 0
を実行してEv1を消せば良いでしょう。


あと動作指定の「X:12,Y:8 に接近」は1回の実行で1歩しか移動しません。

そのため、以下のように設定して、指定した場所に到着するまでは、何度も「〜に接近」が実行するように設定してください。
■ループ開始
|■動作指定:[ウェイト] Ev1 / 移動速度を設定 => 4 / X:12,Y:8 に接近
|■変数操作+: このEvのセルフ変数0 = Ev1 の X座標(標準)
|■変数操作+: このEvのセルフ変数1 = Ev1 の Y座標(標準)
|■条件分岐(変数): 【1】 このEvのセルフ変数0 が 12 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数0 が 12 と同じ ]の場合↓
||■条件分岐(変数): 【1】 このEvのセルフ変数1 が 8 と同じ
||-◇分岐: 【1】 [ このEvのセルフ変数1 が 8 と同じ ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇ループここまで◇◇

動作指定では「動作を繰り返す」にチェックを付けないでください。


なお、
■条件分岐(変数): 【1】 V0[] が 1 と同じ
-◇分岐: 【1】 [ V0[] が 1 と同じ ]の場合↓
|■文章:???
|■
◇分岐終了◇

■条件分岐(変数): 【1】 V0[] が 2 と同じ
-◇分岐: 【1】 [ V0[] が 2 と同じ ]の場合↓
|■動作指定:[ウェイト] Ev1 / 移動速度を設定 => 4 / X:12,Y:8 に接近
|■
◇分岐終了◇
のような条件分岐を設定していますが、今回の処理では必ず条件分岐の条件を満たしている状態(必ず分岐内のイベントが実行する)になっているので、この条件分岐を設定せずに、単に
■文章:???
だけ、
■動作指定:[ウェイト] Ev1 / 移動速度を設定 => 4 / X:12,Y:8 に接近
だけを設定しても問題ありません。