以下画像の「出現時の実行ステート」の使い方を教えてください。
オブジェクト出現時に初期ステート以外のステートを実行したい場合に使用するのかと思ったのですが、どのステートを選んでも初期ステートからの開始となります。
以下画像の「出現時の実行ステート」の使い方を教えてください。
オブジェクト出現時に初期ステート以外のステートを実行したい場合に使用するのかと思ったのですが、どのステートを選んでも初期ステートからの開始となります。
お世話になっております。
お問い合わせいただきありがとうございます
こちらはシーン内に直接配置するオブジェクトの生成時に実行するステートを設定する機能となっております。
「初期実行ステート」を選択した場合、.vsで選択した初期実行ステートが実行されます。
(.vs内でステートを右クリックすることで初期実行ステートを設定できます)
それ以外のステートを選択した場合は選択したステートが実行されます。
.vsの実行アクション「オブジェクトを生成」等で生成したオブジェクトは該当アクションで選択したステートがオブジェクトを生成時のステートとなります。
以上が該当機能の概要となりますが、こちらでプロジェクトを作成し「出現時の実行ステート」を確認したところ設定どおりに実行され、ご報告いただいた事例が再現できませんでした。
もしシーン内に直接配置するオブジェクトのステートに変化がない場合、お手数ですが該当のプロジェクトをご共有いただけますでしょうか。
ご確認のほど何卒よろしくお願いいたします。
AGM_member_T様
お世話になっております。
ご確認ありがとうございます。
こちら、共有用のプロジェクトを作成している時に事象の発生方法が分かりました。
どうやらシーンの遷移があると事象が発生するようです。
ファイルを添付しますのでご確認ください。
よろしくお願いいたします。
testproject_20251104.zip (1.1 MB)
(左右でキャラクターを動かし、オブジェクトの近くに行くと画面上にメッセージが出るようにしています。)
■事象発生パターン
ゲームシーン0→遷移→ゲームシーン1(ここで出現時の実行ステートを設定)
■事象が発生しないパターン
ゲームシーン1(ここで出現時の実行ステートを設定)
お世話になっております。
事例の詳細とプロジェクトをご共有いただき誠にありがとうございました。
確認させていただきます。
引き続きよろしくお願いいたします。
お世話になっております。
ご共有いただいたプロジェクトを確認したところ、シーン遷移後に「出現時の実行ステート」が正常に動作していないことを確認できました。
バグと思われますので、開発に確認いたします。
一時的な回避策とはなりますが、以下の対応等をご検討いただけますでしょうか。
1.ステートを指定したいGameObjectのVariableSettingsにSceneIndexを追加
2.ステートを指定したいGameObjectの子にNode2Dを追加、以下スクリプトをアタッチ
extends Node2D
func _ready() → void:
AGMakerManager.game_scene_changed.connect(_on_after_change_scene)
pass
func _on_after_change_scene(current_scene: GameScene):
if current_scene.name == “GameScene”:
$“../VariableSettings”.set_value(“SceneIndex”, 1)
pass
3..vsでシーン遷移用のステートを追加して初期ステートに設定、リンク→「スイッチ・変数が変化した」でSceneIndexを参照し分岐
大変御手数おかけいたしますがご確認いただければ幸いです。
ご報告いただきありがとうございます。
引き続きよろしくお願いいたします。
AGM_member_T様
ご確認、および代替案のご提案ありがとうございます。
現在は、必要な実行ステート毎にオブジェクトを作成しておりますので一旦はこのまま進めようと思います。
が、今後必要な機能となってくるかと思いますのでご対応よろしくお願いいたします。
また、今回の事象以外にもシーン遷移後の挙動が怪しいものがいくつかありますので合わせてご確認いただけますと幸いです。
(細かい発生条件までは検証していない状況です。多分他にもあります。)
・ゲームの進行を止めるウェイトアクションが動作しない
・弾を発射する際の発射元位置がシーンによって変わる(connectorで指定)
・シーン切り替え後にDynamicWaterにプレイヤーが映ったり映らなかったりする
よろしくお願いいたします。
ご報告いただきありがとうございます。
こちらにつきましても確認をすすめます。
引き続きよろしくお願いいたします。