Unityには、この種の「ダイレクトモード」レンダリングはありません。UnityのDraw
更新ループを呼び出す必要はありません。
Unityでは、ゲームオブジェクトを作成してから、そのゲームオブジェクトにスクリプトをアタッチする必要があります。それらのスクリプトは、オブジェクトが物理システムの一部である場合など、オブジェクトが画面に表示されるかどうか、およびオブジェクトがどのように表示されるかを制御します。
画面に描画する新しいスプライトを作成するには、新しいゲームオブジェクトを作成し、それにSpriteRendererスクリプトをアタッチして、そのスプライトを設定する必要があります。
GameObject go = new GameObject();
SpriteRenderer renderer = go.AddComponent<SpriteRenderer>();
renderer.sprite = Resources.Load("Sprites/Player", typeof(Sprite)) as Sprite;
これは、ディレクトリ構造を想定しています
-Assets
--Resources
---Sprites
----<Your 2D assets, set with their texture type to Sprite (2D and UI)>
例えば:
次に、位置、回転などを変更するためのスクリプトを作成しました。
多くのコードを書かずに、これらすべてを達成する最も簡単な方法は?最初にUnityエディターでゲームオブジェクトを作成します。ゲームオブジェクトに必要なスプライトとビヘイビアースクリプトなどをすべて装備したら、それをリソースディレクトリにドラッグアンドドロップします。これはプレハブを作成します。プレハブとは、プレハブのようなものです。これらは完全なオブジェクトであり、その場で参照して作成することができます。
次のようなものを作成します。
public void CreateObject(string prefabName) {
GameObject newObject =
GameObject.Instantiate(Resources.Load(prefabName)) as GameObject;
}
これにより、以前に作成したプレハブのクローンが生成されます。したがって、たとえば、プレハブにプレーヤーに向かって移動して攻撃する動作を指定した場合、そのタイプの新しいプレハブをスポーンするたびに、プレーヤーはプレーヤーに向かって移動して攻撃し始めます。一度作成する必要のあるスクリプトは、これらのゲームオブジェクトすべてを制御します。
ここで見られる主な違いは、コンポーネントの多用です。XNAのような他のゲームエンジンでは見たことのないものです。Unityは本当に強力なエンジンですが、他のエンジンとは異なる場合、他のエンジンのようにそれを使用しようとすることでフラストレーションが生じます。トレーニングについては私のプロフィールを確認してください。無料の試用版のリンクを追加したので、あなたは支払う必要がありません。