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

モピョニオン
記事: 51
登録日時: 2017年11月16日(木) 18:50

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

投稿記事by モピョニオン » 2023年2月11日(土) 23:13

お世話になります。

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

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

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

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

よろしくお願いします。
添付ファイル
kaiten.png
最後に編集したユーザー モピョニオン on 2023年2月12日(日) 13:03 [ 編集 1 回目 ]

白夜||極夜
記事: 3
登録日時: 2022年11月06日(日) 19:29

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

投稿記事by 白夜||極夜 » 2023年2月12日(日) 03:55

通常の方法だと不可能で既存の処理を書き換える必要がありますが、イベントの組み合わせで見かけ上、同じような効果を得ることはできます。

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

これで見かけ上は回転が止まらずに会話しているように見せる事ができます。
最後に編集したユーザー 白夜||極夜 on 2023年2月13日(月) 01:07 [ 編集 1 回目 ]
プログラマ暦: FBasic、N88Basic、Delphi3-5、parl、php、Java6-8、Ruby
PCツクール暦: Dante98、Dante98II、だんだんダンジョン、VXAce
コンシューマエディタ暦: 絵描衛門、SuperDante、ツクールアドバンス
2022現在、VXAceで開発中。Ruby(RGSS3)面白い。
phpBB運営経験あり。
名前の || はor演算子です。名前を呼ぶ時は白夜と極夜のどちらでも良いという意味です。
モピョニオン
記事: 51
登録日時: 2017年11月16日(木) 18:50

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

投稿記事by モピョニオン » 2023年2月12日(日) 13:03

返信ありがとうございます。

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

教えてくださりありがとうございました。
一旦解決済みとさせて頂きます。
名無し蛙
記事: 305
登録日時: 2015年11月23日(月) 02:46

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

投稿記事by 名無し蛙 » 2023年2月12日(日) 16:26

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

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

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

コード: 全て選択

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

と書けば話し掛けた時にプレイヤの方を強制的に向く処理(+戻す処理)を無効化する事が出来ます。
モピョニオン
記事: 51
登録日時: 2017年11月16日(木) 18:50

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

投稿記事by モピョニオン » 2023年2月12日(日) 20:45

返信ありがとうございます。

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

“MV:質問” へ戻る