トーフメモ

主にゲーム制作

Unity-C#

GOTO文は使いよう【UnityC#】

そもそもGOTO文とは ラベルを記述した場所に処理を飛ばすことができる記法です。 例 private IEnumerator Start () { A: Debug.Log("ループするよ"); yield return new WaitForEndOfFrame(); goto A; } 上みたいなのだとwhile(true)と同じような動作をします…

3秒でわかる「リフレクション」【UnityC#】

リフレクションとは メタデータを見てみる まずはメタデータを取得する対象のクラスを定義します。 実際にメタデータを取得するスクリプトを書きます! ここでのポイント リフレクションをするために含めます。 「TestClass」クラスを取得します。 これらの…

3秒でわかる!「カスタムコルーチン」【Unity】

カスタムコルーチンとは 自分で実装するコルーチンです! 作り方 分指定で待ってくれるコルーチンを作ります。 (1)クラスを定義 public class WaitForMinutes{ } (2)CustomYieldInstructionを継承 using UnityEngine; public class WaitForMinutes : CustomY…

3秒でわかる!「デリゲート」【UnityC#】

デリゲートとは メソッドへの参照 です! クラスみたいに参照して使えます。 書き方 自分でデリゲートを定義するやり方と、.NET Frameworkクラスライブラリに定義されてるAction、Funcを使うやりかたがあります。 自分で定義 delegateという修飾子を使うこと…

【UnityC#】例外クラスを自作する

C#には例外処理があらかじめ色々定義されています。なんとかExceptionとか、ほにゃららExceptionとか。 特定のシチュエーションでの例外を自分で定義したい!となった時のために例外クラスの自作について調べました。 以下のコードではボールオブジェクトの…

【UnityC#】Invokeを使い倒してみた

UnityにInvokeというおもしろそうな関数がありました。 .netのControl.Invokeとは別物です。 Invokeとは 関数の実行タイミングを遅らせることができます。 Invoke(関数の名前,実行するタイミング); 実装してみた youtu.be世紀末にいそうな人が一定の間隔で地…

【UnityC#】コルーチン内で入力待ちする

コルーチンの中で入力待ちをしたいと思ったので調べました。 (1)WaitUntil 条件が一致するときに待機を抜ける便利なやつです。 docs.unity3d.com 例えば、下記のように扱います。 IEnumerator WaitUntilTest () { yield return new WaitUntil(() => { return…

【Unity】データセーブロードをするためにJsonUtilityを使ってみた

Unityでのセーブロードの話 今まではcsvファイルにデータを読み書きしていました。 でもcsvだとなんか重い・・・? というわけで、Jsonファイルに読み書きをしようと思い試してみました。 DataManager.cs using System.Collections.Generic; using UnityEngi…