FC2ブログ

[Unity]拡張メソッドを使用してソースコードを短くする その2

  • Day:2012.08.13 19:02
  • Cat:Unity
前回の続き

今回は拡張メソッドの書き方を紹介します。

1,静的クラスを定義する


public static class TransformExtensions
{
}
2,静的メソッドを定義する


public static class TransformExtensions
{
public static void SetLocalPositionX()
{
}
}
3,第1引数に拡張したいクラスの変数を記述して先頭にthisを修飾する


public static class TransformExtensions
{
public static void SetLocalPositionX(this Transform transform)
{
}
}
4,関数の内容を記述する


public static class TransformExtensions
{
public static void SetLocalPositionX(this Transform transform, float x)
{
transform.localPosition = new Vector3(
x,
transform.localPosition.y,
transform.localPosition.z);
}
}
これが拡張メソッドの書き方です。
こうして拡張メソッドを定義すると下記のようなプログラムが記述できます。


using UnityEngine;

public class Character : MonoBehaviour
{
private void Awake()
{
transform.SetLocalPositionX(0);
}
}

using UnityEngine;

public static class TransformExtensions
{
public static void SetLocalPositionX(this Transform transform, float x)
{
transform.localPosition = new Vector3(
x,
transform.localPosition.y,
transform.localPosition.z);
}
}


このように、拡張メソッドを使用すると既存のクラスにメソッドを追加することができます。

Comment

Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。