シーンを跨いでゲームオブジェクトを使用する(Unity)
- 2014.02.08
- Unity
BGMを鳴らし続けたい時やスコアの保持など、シーンを跨いで同じゲームオブジェクトを使いたいことがあります。
シーンが変わってもゲームオブジェクトが破棄されないようにするには、下記のコードで簡単に出来ます。
function Awake () { DontDestroyOnLoad (this.gameObject); }
ただし、上記の場合、同じシーンをロードすると再度ゲームオブジェクトが生成されてしまいます。
ゲームオブジェクトが複数生成されるのを防ぐには、下のように生成フラグを使うことで可能です。
private static var created =false; function Awake () { if(!created){ DontDestroyOnLoad (this.gameObject); created=true; }else{ Destroy(this.gameObject); } }
DontDestroyOnLoadはゲームを作る上で意外と使うことが多いので、覚えておいて損はないと思います。
-
前の記事
ダイアログを表示しようとするとエラーが出る 2014.02.08
-
次の記事
世界一アプリにお金を払うのは日本人? 2014.02.08