前提・実現したいこと
Unityで2Dアクションゲームを作成しています。
Unityにおける機能全般の実装方法について教えていただきたいことがあります
発生している問題
例えばキャラクターを動かすという機能を実装する際に
1.移動機能を持つコンポーネントを作ってアタッチする
2.キャラクターから移動機能をもつクラスを参照して移動させる
どちらの実装の指向をしていくべきか悩んでいます。
Unityはコンポーネントを作ってアタッチするのを推奨しているイメージなのですが
2Dゲームを作っていて違和感を感じています。
該当のソースコード
1.移動機能を持つコンポーネントを作ってアタッチする方法
C#
1public class Movement: MonoBehaviour{ 2 bool isDisable = false; 3 void update(){ 4 if(isDisable) return; 5 Move(); 6 } 7 void Move(){ 8 //move code 9 } 10}
上記をキャラクターのgamebobjectにアタッチ
2.キャラクターから移動機能をもつクラスを参照して移動させる
c#
1public class Movement: MonoBehaviour{ 2 void Move(){ 3 //move code 4 } 5}
c#
1public class Character :MonoBehaviour{ 2 3 Movement _movement; 4 void Start(){ 5 _movement = getComponent<Movement>(); 6 _movement.Move(); 7 } 8}
1はUnityとして推奨?のコンポーネントを追加する指向だと思うのですが
毎回updateがコールされてアクセスするのに違和感を感じます
使い分けの基準みたいなものがあるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/11 05:39