Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

AnimatorController.CreateStateMachineBehaviour

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function CreateStateMachineBehaviour(script: MonoScript): int;
public static int CreateStateMachineBehaviour(MonoScript script);

パラメーター

script MonoScript クラスのインスタンスを作成します。

戻り値

int 作成したオブジェクトのインスタンス ID を返します。有効なインスタンスでない場合、0を返します。

説明

この機能は、スクリプトで定義するクラスに基づいて StateMachineBehaviour のインスタンスを作成します。

この機能は、Monoscript が StateMachineBehaviour として有効かどうかを検証します。クラスは、必ずジェネリックではなく StateMachineBehaviour のサブクラスにしなければいけません。 See Also: UnityEngine.StateMachineBehaviour.

#pragma strict
class AddSMB {
	public function DoAddStateMachineBehaviour(state: UnityEditor.Animations.AnimatorState, monoScript: MonoScript) {
		if (state == null)return ;
		var instanceID: int = AnimatorController.CreateStateMachineBehaviour(monoScript);
		if (instanceID == 0) {
			Debug.LogError("Could not create state machine behaviour " + monoScript.name);
			return ;
		}
		state.AddBehaviour(instanceID);
		var obj = EditorUtility.InstanceIDToObject(id);
		if (obj == null)
			Debug.LogError("No object could be found with instance id: " + id);
		else
			AssetDatabase.AddObjectToAsset(obj, state);
	}
}
class AddSMB
{
	public void DoAddStateMachineBehaviour(UnityEditor.Animations.AnimatorState state, MonoScript monoScript)
	{
		if (state == null)
			return;

int instanceID = AnimatorController.CreateStateMachineBehaviour(monoScript); if (instanceID == 0) { Debug.LogError("Could not create state machine behaviour " + monoScript.name); return; }

state.AddBehaviour(instanceID);

var obj = EditorUtility.InstanceIDToObject(id); if(obj == null) Debug.LogError("No object could be found with instance id: " + id); else AssetDatabase.AddObjectToAsset(obj, state); } }