Some Memorandum

DirectX11に挑む素人の備忘録。

スクリプトの実行順を明示する

現状

新しいスクリプトDetachChildren(以下、スクリプトB)を親オブジェクトに適用し、 子オブジェクトに既に適用してあるスクリプトInstWall(以下、スクリプトA)と共に実行する。

 

  1. BAの順で実行され、期待通りの動きをする。
  2. 保存して終了。
  3. 再び開きなおして実行すると、ABの順で実行される。困る。
  4. 一度Aを親オブジェクトから取り除き、再び適用すると1.に戻る。
  • 以上繰り返し。

目的

  • 開きなおしてもBAで動いて欲しい。

実現案

結果

  • できた。ドストライクな機能があったからスクリプトをいじる必要は無かった。田中要次に「あるよ。」って言われた気分。

参考ページ Unity - マニュアル: スクリプト実行順設定

  • Script Execution Orderを使ってスクリプトの実行順を明示できるらしい。すごい。
  • ここ

f:id:snt_hst:20150823013234p:plain

  • こんなのが出てくる。

f:id:snt_hst:20150823013341p:plain

  • +マークのプルダウンで今あるスクリプトから選んで追加できる。

f:id:snt_hst:20150823013849p:plain

  • 最初に言ってたAB

f:id:snt_hst:20150823014324p:plain

  • 追加して、ドラッグ&ドロップで希望の実行順に並べる。Default Timeより先にも設定できるみたい。

f:id:snt_hst:20150823014913p:plain

※因みに100とか200とかの数字はフレーム数とかではなく単なる順番。BASICの行番号を思い出した。並べ替えると勝手に変わる。当然、打ち込んでもいい。

 

Unityすごい。