Script

Script

Conditionalを使ってログの出力制御

Debug.Logやprintはデバッグのために非常に役立ちます。 重要な処理をする前後に置いて処理が正しく終了まで到達したかを調べたり、 UIがない画面での処理結果を表示したりして確認に使えます。 使いやすくて色々な所に書きすぎることにな...
Android

Backキーでアプリを終了する

少し前にツイッターで他の開発者の方のアプリでBackキーでアプリが終了しないとのクレームが来たというのを耳にしました。 BackキーはAndroidの画面の下の方にある3つのボタンの左側のものです。このBackキーというのはUnityでアプ...
Script

待ちアニメのスキップ処理

アニメを作る方法はいくつかありますが、ここではコルーチンを使った方法を想定しています。コルーチンは逐次的に進んでいく処理を作ることが簡単なので、アニメーションを実装するには便利な方法です。無限ループを持つことで毎フレーム処理することも可能で...
Script

動的なアセットの読み込み

Resources.Loadを使うと、動的にアセットを読み込むことができます。 動的にというのはシーン内に置かれていないかシーン内に置かれたゲームオブジェクトからの参照もないアセットを読み込むという意味です。 Unityはシーンに必要な全て...
Script

WWWを使ったとき発生した問題

WWWクラスを使うとWebサーバーと通信して、データを取得できます。 適当なサーバーに画像や音楽を置いておき、WWWを使ってそのURLにアクセスします。そうすると画像や音楽をダウンロードし、それをゲーム内で使うということができます。 Uni...
Editor

Unityでのdefine

UnityのプログラミングはC#を使うのが一般的です。CやC++をやってきた人であればグローバルな#defineが使えないかと思うことでしょう。 C#には#defineディレクティブがあります。ファイルに定義するものなので、他のファイルでこ...
Script

スクリプトのファイル名とクラス名を一致させない?

C#でスクリプトを書くときは通常クラスごとにファイルを一つ作るでしょう。公式の解説にもあるようにメニューからスクリプトを作り、名前が選択されているときにリネームするのが便利な作り方です。 Assets->Create->C# Scriptと...
Script

StartCoroutineにコルーチンでないメソッドを渡してみる

Q:コルーチンに渡すメソッドをIEnumeratorでないものにしたらどうなるのか? A:実はSendMessageみたいな動きをします。 コルーチンを開始するにはStartCoroutineを使って行うのが一般的だと思います。3種類のオー...
Script

スクリプト上の処理時間を測る

C#でスクリプト上で重い処理を作ったとします。大きなリストの複雑なソートをするとか、大量の計算を行うといったことです。 そういったときスクリプトのある特定の部分に書いてあることが、どれくらいの時間で処理されるのかということを知りたいことがあ...
Script

UTF-8 BOM付きでスクリプトは保存する

Unityではいくつかの文字コードでスクリプトを書くと問題が起こることがあります。 UTF-8 BOM付きにしておくと全く問題が起こりません。全てのスクリプトと文字列データをUTF-8 BOM付きにすることでコンパイルエラーや文字化け防ぐこ...