【3Dゲームエンジン】Unity質問スレッド21at GAMEDEV【3Dゲームエンジン】Unity質問スレッド21 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト809:名前は開発中のものです。 15/12/27 00:54:30.77 CnMTlenQ.net 設計についての質問なんですがRayCastがヒットしたオブジェクトの種類(タグ名)によって 個別の処理をしたいのですが、メッセージループみたいにまずRayCastがヒットしたオブジェクト種類を 判定するクラスを作って、そのクラスでswitch,case書きまくってオブジェクトのタグ名で判定して 切り分けた先のcase文の中でそれぞれの機能を提供するメソッドをコールするっていう設計は大丈夫でしょうか? 100近いcase文を書くっていうのが設計としておかしいのでは?と不安です 810:名前は開発中のものです。 15/12/27 01:11:18.00 V7RdG6Gy.net >>788 case文って基本的に上から条件探して降りてくるだけなので 100個もケースあるってことは100番目のケースに至る場合 100回if文を経由するのと同じになる。 たまに使われるものならともかく頻繁に使う処理としてはどうなんだろうな~という 感じはする。 例えばだがそれに対する処理を定義するスクリプトを貼り付けておいて ヒットしたらそれをGetComponentして実行する、とかの方が現実的ではないか、って気がする。 単純なものならSendMessageでもいい。 BaseClassで実行する関数を定義しておいて現状タグで判定して分けるその処理は タイプに応じてオーバーライドする。 共通する処理の部分は小分けにしてBaseClass内でprotectedなりpublicなりで定義しておけばいいし。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch