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

スクリプト言語

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

Playable.ProcessFrame

フィードバック

ありがとうございます

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

閉じる

送信に失敗しました

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

閉じる

キャンセル

マニュアルに切り替える
public function ProcessFrame(info: Experimental.Director.FrameData, playerData: object): void;
public void ProcessFrame(Experimental.Director.FrameData info, object playerData);

パラメーター

info 現在のフレームのための FrameData
playerData DirectorPlayer.Play で指定されたツリーの下にカスタムデータが渡されます。

説明

デルタタイムで Playable を評価します。

ProcessFrame は Playable でその作業を行う必要があるステージです。 このメソッドは Playable ツリーをプレイするときすべてのフレームに呼ばれます。 ProcessFrame メソッドは 2 つのパラメーター、現在の時刻と時間差を記述する現在の FrameData 構造体とカスタムデータオブジェクトがあります。このカスタムオブジェクトは Playable でその作業を行う必要があるデータです。 Playable から Playable にツリーの下で渡されます。このカスタムオブジェクトは Director.Play メソッドにパラメーターとして渡されます。


        
public class SomeData
{
	public int foobar = 0;
	public int increment = 1;
}

public class MyCustomPlayable : Playable { public override void ProcessFrame(FrameData info, object customData) { var theData = customData as SomeData; theData.foobar += theData.increment; } }

public class SwapSign : Playable { public override void ProcessFrame(FrameData info, object customData) { var theData = customData as SomeData; if (theData.foobar > 20) theData.increment = -1; if (theData.foobar <= 0) theData.increment = 1; } }

public class GraphIncrementDecrement : MonoBehaviour { private SomeData myCustomData;

void Start() { var rootPlayable = new MyCustomPlayable() var childPlayable = new SwapSign();

Playable.Connect(childPlayable, rootPlayable);

GetComponent<DirectorPlayer>().Play(rootPlayable, myCustomData); }

void Update() { Debug.Log("foobar is now:" + myCustomData.foobar); } }