- 366 名前:THE・ステップアップ先生 mailto:sage [2018/08/05(日) 04:35:33.53 ID:PSh59YKG.net]
- >>349
mainループ式は、シングルスレッドとかシングルタスク的な動きを連想させるけど Unity式は、マルチスレッドとかマルチタスクとか非同期的みたいな動きだから慣れていないと取っつきにくいだろうね。 どちらかというと、Webのサーバークライアントプログラムの扱いに似てるかもね。 これは慣れだよ。 最初は四苦八苦かもしれないけど 旧式でもゲームを作れる技量があるのなら、触っている内に必ず非同期的な作りにも慣れる。 慣れるとメリットの多さに気づける。 Unity式のやり方を覚えた方が絶対に得だよ。 作れる物の幅も広がるしステップアップに繋がる。 そしてソースが非常に簡略化する時が多い。 例えば動きを実現するのにmainループ型では30行必要だった処理が1行で済むなんてこともあるよ。 最初から全てをUnity式のやり方にする必要はなくて 慣れてるmainループ式で作り、Unity式にしたほうが便利そうな部分だけそっちにする感じでいいんじゃないかな? 実際のゲーム作りも、ほとんどが「main()ループ式 + Unity式のハイブリット型」になると思う。 main()ループ式だけとか、Unity式だけという作りにはならないと思うよ。 他の人はどうなのかは知らないけど自分の場合は必ずゲーム全体を管理するmainループ的なスクリプトが存在するよ。 mainループはゲーム全体の状態をコントロール(ゲーム中なのか?ゲームオーバーなのか?などの状態)したり、 ラジコンを動かすプロポ代わりとなり、各GameObjectに実装した関数へ「待機」とか「アクションAの動きを実行せよ」とか指示をだして操作してるようなイメージ。 各GameObjectには渡された引数で色々な動作をするように記述したC#スクリプトをアタッチさせておき、指示を受けて動くロボット的なイメージ。 人によっては"GameMain"に相当する部分を"GameMgr(ゲームマネージャー)"みたいな名称にしてるかもね。
|

|