【ゲームエンジン】Unityなんでも質問スレpart15at GAMEDEV【ゲームエンジン】Unityなんでも質問スレpart15 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト584:名前は開発中のものです。 25/01/14 20:26:25.46 jcm5PsCV.net なれると簡単な2DゲームなんかはrectTransformだけで作れるからな 585:名前は開発中のものです。 25/01/14 20:36:02.69 Az/+8vAa.net マジですか?recttransformの使いどころ全くわからない 586:名前は開発中のものです。 25/01/16 00:52:27.13 GvugIrQB.net 質問いいですか 関数が長ーくなってしまったので、3ブロックくらい別サブ関数にして、メインルーチンで呼び出す形に整理しました そのとき、参照できない変数が出てきてしまいます 全部フラットならvarで一時的な変数にしていたものが サブ関数だと変数が見えない とはいえグローバル変数にするのも? 587:名前は開発中のものです。 25/01/16 01:34:56.50 O3kqNZlS.net 質問ありがとうございます。関数を整理してサブ関数に分けると、スコープの問題で参照できない変数が出てくることはよくあります。まず、問題の状況を整理しましょう。 メイン関数内で宣言した変数をサブ関数で参照したい サブ関数ではその変数がスコープ外になってしまう 解決策 引数を使う方法 サブ関数に必要な変数を引数として渡す方法です。これが一般的な方法です。 戻り値を使う方法 サブ関数で変数の値を変更する必要がある場合は、サブ関数からその値を戻り値として返し、メイン関数で受け取ることもできます。 クラスやオブジェクトを使う方法 もし、複数の変数や状態を管理したい場合は、クラスを使うことを検討できます。クラス内でメンバ変数を定義し、その変数をサブ関数(メソッド)から操作する方法です。 グローバル変数の使用(注意が必要) グローバル変数を使う方法もありますが、これには注意が必要です。グローバル変数はスコープが広く、意図しない副作用を引き起こす可能性があるため、可能な限り避ける方が良いです。ただし、どうしても必要な場合は global を使って明示的に指定できます。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch