ページ 11

【解決済み】話しかけても回転し続けるキャラクター

Posted: 2023年2月11日(土) 23:13
by モピョニオン
お世話になります。

話しかけても常に回転し続けているキャラクターが作りたいです。

歩行グラの向きを下、右、左、上と順番に繰り返すことで回転させることができるのですが、
自律移動→カスタム→ルートのところで設定すると話しかけると回転が止まってしまいます。

なので並列処理で以下の画像のようにしてみたのですが、動いてくれません。

また、仮に動いたとしても、話しかけた時に一瞬プレイヤー側を向くため、
そこで動きがカクついてしまいます。
できれば話しかけてもスムーズに回転させ続けたいのですが、可能でしょうか?

よろしくお願いします。

Re: 話しかけても回転し続けるキャラクター

Posted: 2023年2月12日(日) 03:55
by 白夜||極夜
通常の方法だと不可能で既存の処理を書き換える必要がありますが、イベントの組み合わせで見かけ上、同じような効果を得ることはできます。

・回転するキャラクターにはイベントを設定しない。移動ルートのみ設定。
・回転するキャラクターに隣接するマスにプライオリティ「通常キャラの下」のイベントを用意して、そこに会話イベントを書く。

これで見かけ上は回転が止まらずに会話しているように見せる事ができます。

Re: 話しかけても回転し続けるキャラクター

Posted: 2023年2月12日(日) 13:03
by モピョニオン
返信ありがとうございます。

イベントが複数あり、その前後左右全てに新たにイベントを置きスイッチで管理するというのが大変なためできれば一括で操作したかったのですが、それしか方法がないのであれば諦めます。

教えてくださりありがとうございました。
一旦解決済みとさせて頂きます。

Re: 【解決済み】話しかけても回転し続けるキャラクター

Posted: 2023年2月12日(日) 16:26
by 名無し蛙
モピョニオン さんが書きました:イベントが複数あり、その前後左右全てに新たにイベントを置きスイッチで管理するというのが大変なためできれば一括で操作したかったのですが、それしか方法がないのであれば諦めます。

前後左右に置かずとも「プライオリティ:通常キャラと同じ」「すり抜け」にチェックを入れて
自律移動「カスタム」で透明イベントを一歩移動させて当該イベントに重ね合わせれば良いのでは。
これで4つから1つに減らす事が出来ます。

あとはlock(unlock)メソッドを壊すとかですか。
マップ遷移直後に一度だけ自動起動するイベントに

コード: 全て選択

$gameMap.event(イベントID).lock = () => true;
$gameMap.event(イベントID).unlock = () => true;

と書けば話し掛けた時にプレイヤの方を強制的に向く処理(+戻す処理)を無効化する事が出来ます。

Re: 【解決済み】話しかけても回転し続けるキャラクター

Posted: 2023年2月12日(日) 20:45
by モピョニオン
返信ありがとうございます。

その方法で試したら理想通りの挙動になりました!
ありがとうございます!