°´Ã¼ °Ë»ö°ú ¸Þ¼¼Áö

¿ÀºêÁ§Æ®¸¦ ã±â, ½ºÅ©¸³Æ® ÄÄÆ÷³ÍÆ® »ç¿ë, ÅÂ±× Ãß°¡, ÅÂ±× °Ë»ö¿¡ ´ëÇؼ­ ¾Ë¾Æº»´Ù.

½ºÅ©¸³Æ® ÄÄÆ÷³ÍÆ® Á¢±Ù Çϱâ

´Ù¸¥ ½ºÅ©¸³Æ®¿¡¼­ BallMove ½ºÅ©¸³Æ®ÀÇ x °ª¿¡ Á¢±ÙÇÏ¿© º¸ÀÚ.
BallMove ½ºÅ©¸³Æ®´Â ball ¿ÀºêÁ§Æ®ÀÇ ÄÄÆ÷³ÍÆ®·Î Ãß°¡ ÇÏ¿´´Ù.

public class BallMove : MonoBehaviour {

    float y = -3.0f;

    public float x = 6.0f;

}

GameObject.Find( )·Î "ball" ¿ÀºêÁ§Æ®¸¦ ã´Â´Ù.
GetComponent< >·Î ÄÄÆ÷³ÍÆ®¸¦ ã´Â´Ù. ½ºÅ©¸³Æ® À̸§À» ³ÖÀ¸¸é ½ºÅ©¸³Æ®¸¦ ¾ò¾î¿Ã¼ö ÀÖ´Ù.

ÇØ´ç Ŭ·¡½ºÀÇ publicÀº ¹Ù·Î Á¢±Ù °¡´ÉÇÏ´Ù.

public class AppleBox : MonoBehaviour {

 

    BallMove ballMove;

 

    void Start () {

        ballMove = GameObject.Find("ball").GetComponent<BallMove>();

    }

 

    void Update () {

        float dir = Input.GetAxis("Horizontal");

        ballMove.x += (dir * Time.deltaTime * 5);

    }

}

 


¸Þ½ÃÁö º¸³»±â

SendMessage·Î ´Ù¸¥ °ÔÀÓ¿ÀºêÁ§Æ®¿¡ ¸Þ½ÃÁö¸¦ º¸³¾¼ö ÀÖ´Ù.
ù¹ø° ÀÎÀÚ´Â ¸Þ½ÃÁö¸¦ ¹ÞÀ» ¸Þ¼Òµå À̸§ÀÌ´Ù.
µÎ ¹ø° ÀÎÀÚ´Â ¸Þ½ÃÁö¸¦ ¹Þ´Â ¸Þ¼Òµå°¡ Áغñ ¾ÈµÈ °æ¿ì, ¿¡·¯¸¦ ¹ß»ý ½ÃÅ°Áö ¾Êµµ·Ï ÇÑ´Ù. (¸Þ½ÃÁö¸¦ ¹Þ´Â ¸Þ¼Òµå°¡ Áغñ µÈ °æ¿ì¿¡´Â »ý·«Çصµ ÁÁ´Ù.)

//Trigger Ŭ·¡½º¿¡¼­ ¸Þ½ÃÁö º¸³»±â

void OnTriggerEnter(Collider other)

{

    if(other.tag == "Player")

    {

        Debug.Log("Tigger Enter");

        GameObject gameObj = other.gameObject;

        gameObj.SendMessage( "EnterTrigger", SendMessageOptions.DontRequireReceiver);

    }

}

°´Ã¼ÀÇ EnterTrigger( ) ¸Þ¼Òµå·Î ¸Þ½ÃÁö¸¦ º¸³½´Ù.

public class PlayerObj : MonoBehaviour

{

    void EnterTrigger()

    {

        Debug.Log("Runed EnterTrigger");

    }   

}

 


ÅÂ±× Ãß°¡, °Ë»ö

°°Àº ¿ÀºêÁ§Æ®¸¦ ±¸ºÐÇϱâ À§Çؼ­´Â °íÀ¯ÀÇ À̸§ÀÌ ÇÊ¿äÇÏ´Ù.
À¯´ÏƼ¿¡¼­´Â ű׸¦ ÀÌ¿ëÇؼ­ °°Àº ¿ÀºêÁ§Æ®¸¦ ±¸ºÐÇÑ´Ù.

Inspectorâ¿¡¼­ Untagged µÇ¾î ÀÖÀ¸¸é űװ¡ ¾ø´Â°ÍÀÌ´Ù.

"Add Tag..."·Î ÅÂ±× À̸§À» »ý¼ºÇÑ´Ù.
"MyBall"À̶ó´Â ÅÂ±× À̸§ ÀÔ·ÂÇÑ´Ù.

ű׸¦ Ãß°¡ÇÏ¸é ¸Þ´º¿¡ "MyBall"À̶ó´Â ¸Þ´º°¡ Ãß°¡ µÈ´Ù.
ball ¿ÀºêÁ§Æ®¿¡¼­ "MyBall" ű׸¦ ¼±ÅÃÇÑ´Ù

ÅÂ±× °Ë»öÀº ´ÙÀ½°ú °°´Ù.

//°á°ú´Â µ¿ÀÏÇÏ´Ù.

BallMove ballMove

//ű׷Π°Ë»ö

ballMove = GameObject.FindWithTag("MyBall").GetComponent<BallMove>();

//°ÔÀÓ ¿ÀºêÁ§Æ® À̸§À¸·Î °Ë»ö

ballMove = GameObject.Find("ball").GetComponent<BallMove>();

űװ¡ ¿©·¯ °³ À϶§ »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.

public class AppleBox : MonoBehaviour {

 

    GameObject [] ballArr;

 

    void Start ()

    {

        ballArr = GameObject.FindGameObjectsWithTag( "MyBall");

    }

 

    void Update ()

    {

        foreach (GameObject obj in ballArr)

        {

            BallMove ballMove = obj.GetComponent<BallMove>();

            ballMove.x += (dir * Time.deltaTime * 5);

        }   

    }

}

 

½ºÅ©¸³Æ®¿¡¼­ ÅÂ±× Ãß°¡´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
¼Ò½º¿¡¼­ ű׸¦ Ãß°¡ ÇÏ´õ¶óµµ TagManager¿¡´Â űװ¡ Ãß°¡ µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.

BallMove ballMove;

//¿¹¸¦ À§Çؼ­ ÅÂ±× Ãß°¡

GameObject.Find("ball").tag = "MyBall"

ballMove = GameObject.FindWithTag("MyBall").GetComponent<BallMove>();