コードでのコンポーネント追加
コードでのコンポーネント追加
2パターンある
- 属性RequireComponent を利用してゲームオブジェクトにコンポーネントを追加(unityエディタ上で作業時に表示される)
- gameObject.AddComponent を利用してゲームオブジェクトにコンポーネントを追加(実行時に追加される)
エディタ上で編集したいなら前者、あまり他人にいじられたくなければ後者が良いかも
サンプル1
using UnityEngine;
using System.Collections;
//ここで属性を使って追加もできる //[RequireComponent(typeof(Animation))]
[AddComponentMenu("MenuSelecter/Icon")]
public class Icon : MonoBehaviour
{
public AnimationClip idle, mouseOver, click; public bool idleLoop, mouseOverLoop; public string onClickMessage; enum STATUS { IDLE, MOUSE_OVER, CLICK, }; STATUS status = STATUS.IDLE; void Start () { gameObject.AddComponent ("Animation"); //ここでAnimationコンポーネントを追加している animation.AddClip (idle, "Idle"); animation.AddClip (mouseOver, "MouseOver"); animation.AddClip (click, "Click"); } void Update () { switch (status) { case STATUS.IDLE: animation.CrossFade ("Idle"); break; case STATUS.MOUSE_OVER: animation.CrossFade ("MouseOver"); break; case STATUS.CLICK: if (!animation.IsPlaying ("Click")) { animation.CrossFade ("Click"); } else { status = STATUS.IDLE; } break; default: break; } } void OnMouseExit () { status = STATUS.IDLE; } void OnMouseOver () { if (status != STATUS.CLICK) { status = STATUS.MOUSE_OVER; } } void OnMouseDown () { status = STATUS.CLICK; }
}
メニュー
- 最終更新:2014-06-13 10:38:03