Unityに関連する記事です

 プログラムには処理の記法が数種類用意されているものがあります。
そのため、ネット検索して見つけたサイトによっては、自分の知っている書式とは異なるケースも多々あります。

 そういった場合には、処理を読み解き、自分の知っている内容に置き換えることで理解していくようにしてみましょう。



 この例では、特定のテキストメッセージをUIのText要素に追加表示するという機能で解説します。

 同じ処理であるものの、ソースコードの内容が異なります



1.パターン1


<= クリックすると開きます。


 ここでは、txtDebugという名前のprivateなText型の変数が定義されています。これは、Unityエディタ上で指定できるSerializeFieldとなっています。

 DisplayLogというpublicなメソッドがあり、引数にはstring型のmessageを取ります。
このメソッドが呼び出されると、txtDebugの既存のテキストに引数で受け取ったmessageを追加します。

 \nは改行を意味し、次に追加されるメッセージは新しい行から始まることを保証します。


2.パターン2


 このコードでは文字列補間($"{text}\r\n")を使っています。


<= クリックすると開きます。


 このコードでも、最初のコードと同様にprivateなText型の変数messageが定義されています。
しかし、メソッドの名前や引数の名前、アクセス修飾子が異なります。

 AddMessageというprivateなメソッドは、引数にstring型のtextを取ります。
このメソッドが呼び出されると、messageの既存のテキストに引数で受け取ったtextを追加します。

 ここでも\r\n(キャリッジリターンと改行)を用いて新しい行から次のメッセージが始まるようにしています。


3.パターン3



<= クリックすると開きます。


 このコードは、最初のコードとほぼ同じですが、AddMessageメソッドのアクセス修飾子がprivateになっています。
これは、このメソッドが同じクラス内部からしか呼び出せないことを意味します。

 それ以外の点では、最初のコードと同じように動作します。


まとめ


 これらのコードは基本的に同じ機能を持ち、あるメッセージを特定のUIテキスト要素に追加するという機能を実装しています。
しかし、それぞれのコードは変数の名前やメソッドの名前、アクセス修飾子など、一部の詳細が異なります。

 このような違いは、コードを書く人のスタイルや、コードがどのようなコンテキストで使用されるかによるものです。
例えば、メソッドがpublicかprivateかは、そのメソッドがどの範囲からアクセス可能であるべきかによって決まります。
publicなメソッドはどこからでもアクセス可能ですが、privateなメソッドはそのメソッドが定義されているクラス内からのみアクセス可能です。

 変数やメソッドの名前も、その機能を明確に表すものであることが望ましいです。
また、コード内で一貫性を持つことで、他の人がそのコードを読んだときに理解しやすくなります

 最後に、メッセージを追加するときの書式(message + "\n" vs. $"{text}\r\n")も、個々のプログラマの好みによる部分があります。
どちらも同じ結果をもたらしますが、文字列補間を使用するとコードが読みやすくなることがあります。

 以上のような理由から、同じ機能を持つコードでもその書き方はさまざまになります
そのため、あるコードを見つけたときには、そのコードが何をしているのかを理解し、自分の知識と結びつけることが重要です。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます