超初心者のころに分からなかったことのメモ
参考:Unityを使ってゲーム作成にチャレンジ Vol.3: 「2D縦スクロール シューティング」を作ってみよう (中高生向けUnity入門)
オブジェクトをスクリプトから取得したい
//private変数だとインスペクターで関連を付けられない
private GameObject gamaManager;
//だからスクリプトで呼び出す
//これがオブジェクトGameManagerを取得する方法
gameManager = GameObject.Find("GameManager");
//そこからコンポーネントにアクセスする例
gameManager.GetComponent<ScoreManager>().AddScore(3);
//まとめて記述することもできる
scoreManager = GameObject.Find("GameManager").GetComponent<ScoreManager>();
scoreManager.AddScore(3);
なぜスクリプトから取得するのか?
p214より
敵はScene上にはいないため、作成されたタイミングでスクリプトからの取得が必要。
なぜprivateを使うのか?
初心のころの記憶。
「全部publicでもいいんじゃね?」
privateは他から値を更新されにくいのが特徴。
複数人での開発での事故を防ぐ。
p169より
isBossModeを確認するGetBossMode()関数は必要なのか?
なぜ直接isBossModeがはいらないのか?
//ScoreManagerの記述より
private bool isBossMode = false;
public bool Get_BossMode()
{
return isBossMode;
}
//EnemyManagerより
if(class_ScoreManager.Get_BossMode() == false)
isBossModeをpublic変数にして、
if(class_ScoreManager.isBossMode == false)でも可能。
参考:Unityを使ってゲーム作成にチャレンジ Vol.3: 「2D縦スクロール シューティング」を作ってみよう (中高生向けUnity入門)
お読みいただきありがとうございます!
WordTOMOからのお知らせ
- 当ブログの記事内容は、作成時点の情報に基づいています。そのため、記事が公開された後に情報が変更される場合があります。最新の情報は各自でご確認ください。
- 記事の内容は筆者が調査した結果に基づいていますが、必ずしも完全・正確であるとは限りません。参考情報としてご活用いただき、最終的な判断はご自身の責任で行ってください。
- 記事の内容に具体的な誤りや不足がある場合は、コメント欄またはお問い合わせフォームからお知らせいただければ幸いです。
- 当ブログをお読みいただいた評価やコメントをお寄せいただけると励みになります。以下の投票ボタンからぜひご感想をお寄せください!
●投票結果●
まだ投票がありません。
コメント