土屋つかさの技術ブログは今か無しか土屋つかさの技術ブログは今か無しか読者になる土屋つかさの技術ブログは今か無しか土屋つかさが主にプログラミングについて語るブログです。Tips(7:処理タイミング関係)UnityDebug.break()は何をしているのかDebug.break()を実行すると、Unityエディタでポーズボタンを押した時と同様に処理が一時停止します。実行時には以下の2点に気をつけてください。・単にポーズがかかるだけで、デバッガがアタッチしていてもブレークが発生するわけではない。・ポーズがかかるのはDebug.break()が実行された瞬間ではなく、実行されたフレームが終了し、次のフレームに入る前。ちなみにDebug.DebugBreak()というメソッドもあるけど、リファレンスには掲載されておらず、実行してもなにも起きない模様。Pause」ボタンをクリックしてオプションを有効にさせた状態でDebug.LogError()が実行されると、Debug.break()と同じようにエディタが一時停止します。一時停止をオンオフできるのが便利ですが、こちらも停止するのは次のフレームに入る前なので注意してください。現在のフレームレートを簡単に知りたい・Gameウィンドウの右上にある「Stats」をクリックすると情報ウィンドウが表示され、ここにフレームレートが表示される。本によってはこのフレーム数は正確ではないと書いてある物があり、参考程度にするのが良さげ。・ちなみにstatsはstatistics(統計データ)の略。Orderの機能で、Awake()、Start()、Update()の実行順序を指定できます。スクリプト実行順設定https://docs.unity3d.com/ja/540/Manual/class-ScriptExecution.htmlしかし、同一のMonoBehavior派生クラスのインスタンス間でのUpdate()実行順序を制御する方法は用意されていません。Enemyクラスがアタッチされているボスと4匹の子分がいたとして、常にボスのUpdate()を先に動作させるという風には組めないのです(ボスにアタッチさせるクラスを変えるしかない)。実際には、恐らく「最後に生成されたインスタンスから順に実行する」という形式になっていると思うのですが(Unity側で敢えてランダムにする必要はないから)、定義されているわけではないのでその前提で組むわけにはいきません。called?http://answers.unity3d.com/questions/46107/in-what-order-are-all-the-update-functions-called.html設計思想としては理解できるのですが(同じクラスは同じ価値を持つので、実行順序制御は必要ないとしているのでしょう)、この仕様は結構ビビります。ツカサ式スタック型ステートマシンT2sFSM(その2)前回、ツカサ式ステートマシンT2sFSMを紹介しました。PlayModeに入った時にOnValidate()が2回呼ばれるのか問題(その2...前回の記事の続きです。10サイト情報プリバシーポリシーはてなブログをはじめよう!t_tutiyaさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。