ページ 11

プレイヤーを移動させずにステートを更新させる方法はありますか?

Posted: 2023年4月22日(土) 14:30
by 累積比率パレートマン
エンジニアの皆様

お疲れ様です。

トリアコンタン様の「特徴によるアニメーション - TraitAnimation.js(MV)」について

https://raw.githubusercontent.com/triac ... imation.js

ステートを解除&再び同じステートを付与し、一歩も歩かずに戦闘を開始すると

ステート自体は付与されていますが、表示は更新されないまま(見た目は解除状態のまま)戦闘が始まります。

戦闘中にスキルのコモンイベントで解除&付与しても同様で、内部的には反映されていますが

spriteが更新されません。

Sprite更新の処理を入れても駄目でした。

ちなみに、他のプラグインは全部OFF状態にしています。

一歩も歩かずに、ステート状態を更新させる方法はありますでしょうか?

Re: プレイヤーを移動させずにステートを更新させる方法はありますか?

Posted: 2023年4月22日(土) 17:57
by トリアコンタン
こんにちは!

こちらで改めて動作を確認してみましたが、現象を再現できませんでした。

・再現手順

1.特徴アニメーションを表示するステートを作成
2.戦闘前に1.のステートを付与、戦闘後に1.のステートを解除するイベントを作成
3.テストプレーから2.のイベントを実行して、戦闘中に特徴アニメーションが再生され続けることを確認
4.3.の後に一歩も動かず再度、2.のイベントを実行して、戦闘中に特徴アニメーションが再生され続けることを確認

Re: プレイヤーを移動させずにステートを更新させる方法はありますか?

Posted: 2023年4月22日(土) 20:40
by 累積比率パレートマン
トリアコンタン様

ご連絡ありがとうございます。


確実に再現する方法がようやく分かりました。

トリアコンタン様が実施されたのは

イベントコマンドの「ステートの変更:解除」ではないでしょうか?

それでは再現できないことが、今回の検証で判明しました。


私の場合は、対象となるアクターとステートがかなり多いため、

スクリプトから実行していました。

コード: 全て選択

$gameActors.actor(1).removeState(11);


以下が、スプライトが反映されない状況を作り出すイベントです。

dfhdshsdhs.png


このイベントの2回目の実行時に、スプライトが表示されない問題が発生します。

改めてご確認いただけますでしょうか?

よろしくお願いいたします。

Re: プレイヤーを移動させずにステートを更新させる方法はありますか?

Posted: 2023年4月23日(日) 14:11
by トリアコンタン
こんにちは。

ご提示の手順ですと、そもそもステートの再付与自体ができないと思います。
(ステートのアイコンを付けるなどすれば確認できます)

スクリプトからステート解除を行う場合の手順が不足しているためです。
正確には以下の通り実行する必要があります、

コード: 全て選択

$gameActors.actor(1).removeState(11);
$gameActors.actor(1).clearResult();

Re: プレイヤーを移動させずにステートを更新させる方法はありますか?

Posted: 2023年4月23日(日) 15:31
by 累積比率パレートマン
ありがとうございます。

スクリプトでステートを解除する場合、

$gameActors.actor(n).clearResult();が必要という情報がどこにも見つけられなかったため

ここまで手間取ってしまいました。


上記のスクリプトを使用しましたら、2度目の戦闘での描画は無事に出来るようになりましたものの

メンバー入れ替え時の再付与は依然として更新されませんでした。


ここ数日、悩んできましたが、

どうにも解決できないので諦めようと思います。