°ÔÀÓ±â¼úÀÚ·á
¤ýÀÛ¼ºÀÚ ¹èÀçȯ
¤ýÀÛ¼ºÀÏ 2011-09-22 (¸ñ) 11:49
¤ýȨÆäÀÌÁö http://ugame.tu.ac.kr/webboard
¤ýÃßõ: 0  ¤ýÁ¶È¸: 1928      
¤ýIP: 210.xxx.56
Unity3D-Overview: Writing Scripts in C#
¹®¹ý°ú´Â º°°³·Î, C# ¿Í Boo¿¡¼­ ½ºÅ©¸³Æ®¸¦ ¾µ ¶§ ¸î °¡Áö ´Ù¸¥ Á¡ÀÌ ÀÖ´Ù. °¡Àå ÁÖ¸ñÇØ¾ß ÇÒ °ÍµéÀÌ´Ù:

1. MonoBehaviour¿¡¼­ »ó¼ÓµÈ´Ù

¸ðµç ÇàÀ§ ½ºÅ©¸³Æ®´Â MonoBehaviour¿¡¼­ »ó¼ÓµÇ¾î¾ß ÇÑ´Ù (Á÷Á¢ ¶Ç´Â °£Á¢ÀûÀ¸·Î). ÀÌ°ÍÀº ÀÚ¹Ù ½ºÅ©¸³Æ®¿¡¼­ ÀÚµ¿ÀûÀ¸·Î ¹ß»ýÇÏ°í ÀÖÁö¸¸, C# ¶Ç´Â Boo ½ºÅ©¸³Æ® ³»¿¡¼­ Á¤È®ÇÏ°Ô ¸í½ÃÇؾßÇÑ´Ù. ´ç½ÅÀº ¸Þ´º¸¦ ÅëÇØ ÅëÇÕ ³»ºÎ¿¡ ½ºÅ©¸³Æ®¸¦ »ý¼ºÇÑ´Ù¸é Asset -> Create -> C Sharp/Boo Script ¸¸µç ÅÛÇø´ÀÌ ÀÌ¹Ì ÇÊ¿äÇÑ Á¤ÀÇ°¡ Æ÷ÇԵȴÙ.

public class NewBehaviourScript : MonoBehaviour {...} // C#

class NewBehaviourScript (MonoBehaviour): ... # Boo

2. ÃʱâÈ­ ÇÒ ±ú¾îÀְųª ½ÃÀÛµÈ ±â´ÉÀ» »ç¿ëÇ϶ó.

´ç½ÅÀÌ ÀÚ¹Ù ½ºÅ©¸³Æ®¿¡ ¿ÜºÎÀÇ ¾î¶² ±â´ÉÁß ¹«¾ùÀ» ³õÀ» °ÍÀ̶ó¸é ¾ÈÀ¸·Î ³õ¾Æ¶óAwake ¶Ç´Â Start C# ¶Ç´Â Boo±â´É ¾È¿¡.

»çÀÌ¿¡ ´Ù¸¥°Ç Awake and Start ÀÌ´Ù Awake Àå¸éÀÌ ·Îµå µÉ ¶§ ½ÇÇàµÇ°íStart °¡Àå ¸ÕÀú È£Ãâ Á÷Àü¿¡ ºÒ·¯Áø´Ù Update or a FixedUpdate ±â´É. ¸ðµç Awake ±â´É´Â ¾î¶² °Í ÀüÀ̶ó°í ºÒ·¯Áø´Ù Start ±â´ÉÀ» ºÎ¸¥´Ù.

3.Ŭ·¡½º À̸§Àº ÆÄÀÏ À̸§°ú ÀÏÄ¡ ÇؾßÇÑ´Ù.

ÀÚ¹Ù ½ºÅ©¸³Æ®¿¡¼­ Ŭ·¡½º À̸§Àº ½ºÅ©¸³Æ®ÀÇ ÆÄÀÏ À̸§À¸·Î ¾Ï¹¬ÀûÀ¸·Î ¼³Á¤µÈ´Ù(¸¶À̳ʽº ÆÄÀÏ È®ÀåÀÚ). ÀÌ°ÍÀº C# ³ª Boo¿¡¼­ ¼öµ¿ÀûÀ¸·Î ÀÌ·ç¾îÁø´Ù.

4. Coroutines´Â C#¿¡¼­ ´Ù¸¥ ¹®¹ýÀ» °¡Áø´Ù.

Coroutines´Â ¹Ýȯ ŸÀÔÀ» °¡Á®¾ßÇÑ´Ù IEnumerator ±×¸®°í ´ç½ÅÀº »ç¿ëÇÏ¿© ¾çº¸ÇÑ´Ù yield return ... ; ´ÜÁö ´ë½Å¿¡ yield ... ;.

using System.Collections;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
// C# coroutine
IEnumerator SomeCoroutine () {
// ÇÑ ÇÁ·¹ÀÓ ±â´Ù·Á¶ó
yield return 0;

// 2ÃÊ ±â´Ù·Á¶ó
yield return new WaitForSeconds (2);
}
}

5. ³×ÀÓ½ºÆäÀ̽º¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

ÅëÇÕÀº Àá½Ã ³×ÀÓ ½ºÆäÀ̽ºÀÇ ³»ºÎ¿¡ ½ºÅ©¸³Æ®¸¦ »ðÀÔÇÏ´Â Áö¿øÀ» ¾ÈÇÑ´Ù. ÀÌ ¿ä±¸ »çÇ×Àº ÇâÈÄ ¹öÀü¿¡¼­ Á¦°ÅµÈ´Ù.

6. À¯ÀÏÇÑ ¸â¹ö º¯¼öµéÀº ³ª¿­µÇ¾îÁö°í ¼Ó¼º¿¡ Ç¥½ÃµÈ´Ù.

¹Î°£ ¹× º¸È£ ¸â¹ö º¯¼ö´Â µð¹ö±× ¸ðµå¿¡¼­¸¸ Ç¥½ÃµÈ´Ù. ¹°¼ºÄ¡´Â °¨µ¶°ü¿¡°Ô º¸¿©Áö°Å³ª ³ª¿­µÇ¾îÁöÁö ¾Ê´Â´Ù.

7. »ý¼ºÀÚ¸¦ »ç¿ëÇÏ¿© ÇÇÇÑ´Ù.

»ý¼ºÀÚ¿¡¼­ ¾î¶² °ªÀ» ÃʱâÈ­ ½ÃÅ°Áö ¾Ê´Â´Ù. ´ë½Å¿¡ ÀÌ·¯ÇÑ ¸ñÀûÀ¸·Î ±ú¾îÀְųª ½ÃÀÛÀ» »ç¿ëÇÑ´Ù. ÅëÇÕÀº ¿¡µðÆ® ¸ðµåÀÏ ¶§ »ý¼ºÀÚ¸¦ ÀÚµ¿ÀûÀ¸·Î ºÒ·¯¿Â´Ù. ÀÌ°ÍÀº º¸Åë ½ºÅ©¸³Æ®ÀÇ ÄÄÆÄÀÏ ÈÄ¿¡ ¹ß»ýÇÑ´Ù ¿Ö³ÄÇÏ¸é »ý¼ºÀÚ´Â ½ºÅ©¸³Æ®ÀÇ ±âº»°ªÀ» °Ë»öÇϱâ À§ÇØ ºÒ·¯³»¾ßÇϱ⠶§¹®ÀÌ´Ù. »ý¼ºÀÚ´Â °©Àڱ⠺ҷ¯Áú »Ó¸¸ ¾Æ´Ï¶ó, prefabs ¶Ç´Â ºñÈ°¼º °ÔÀÓ °³Ã¼¿¡ ´ëÇØ ºÒ·¯³¾ Áö ¸ð¸¥´Ù.

Ŭ·¡½º¸¦ »ó¼ÓÇÒ ¶§ »ý¼ºÀÚ¸¦ »ç¿ëÇÏ¿© MonoBehaviour, Ãæµ¹À» ÀÏÀ¸Å³ ¼öµµ ÀÖ°í ºÒÇÊ¿äÇÑ ½Ã°£°ú ¸¹Àº °æ¿ì¿¡ È£ÃâÇÏ´Â »ý¼ºÀÚ¸¦ ¸¸µé °ÍÀÌ´Ù.
»ý¼ºÀÚ¸¦ »ç¿ëÇÑ´ÙScriptableObject¿¡¼­ »ó¼ÓµÇ¾îÁø´Ù¸é.

¿¹¸¦ µé¾î »ý¼ºÀÚ¸¦ »ç¿ëÇÏ¿© Çϳª¾¿ ÀϾ´Â ÆÐÅÏÀÌ ½É°¢ÇÑ °á°ú¸¦ °¡Áö´Â °æ¿ì¿Í ÀÓÀÇÀÇ nullÂüÁ¶ ¿¹¿Ü·Î À̾îÁø´Ù.

±×·¡¼­ ´ç½ÅÀÌ Çϳª¾¿ ÀϾ´Â ÆÐÅÏÀ» ±¸ÇöÇÏ·Á ÇÑ´Ù¸é do not »ý¼ºÀÚ¸¦ »ç¿ëÇÑ´Ù, ´ë½Å »ç¿ëÇÑ´Ù Awake. »ç½Ç ´ç½ÅÀº »ó¼ÓµÈ Ŭ·¡½ºÀÇ »ý¼ºÀÚ¿¡ ÀÖ´Â ¾î¶² Äڵ嵵 °¡ÁöÁö ¸øÇÏ´Â ÀÌÀ¯´Â ÀüÇô ¾ø´ÙMonoBehaviour.
  0
2500
    N     ºÐ·ù     Á¦¸ñ    ±Û¾´ÀÌ ÀÛ¼ºÀÏ Á¶È¸
14 ÀÏ¹Ý Unity3D-Overview: The most important classes(3) ¹èÀçȯ 2011-09-22 1166
13 ÀÏ¹Ý Unity3D-Overview: The most important classes(2) ¹èÀçȯ 2011-09-22 1079
12 ÀÏ¹Ý Unity3D-Overview: The most important classes(1) ¹èÀçȯ 2011-09-22 953
11 ÀÏ¹Ý Unity3D-Overview: Writing Scripts in C# ¹èÀçȯ 2011-09-22 1928
10 ÀÏ¹Ý Unity3D-Overview: Coroutines & Yield ¹èÀçȯ 2011-09-22 1047
9 ÀÏ¹Ý UnIty3D-Overview: Instantiate ¹èÀçȯ 2011-09-22 871
8 ÀÏ¹Ý Unity3D-Overview: Member Variables & Global Variables ¹èÀçȯ 2011-09-22 945
7 ÀÏ¹Ý Unity3D-Overview: Vectors ¹èÀçȯ 2011-09-22 929
6 ÀÏ¹Ý Unity3D-Overview: Accessing Other Game Objects ¹èÀçȯ 2011-09-22 989
5 ÀÏ¹Ý Unity3D-Overview: Accessing Other Components ¹èÀçȯ 2011-09-22 897
4 ÀÏ¹Ý Unity3D-Overview: Keeping Track of Time ¹èÀçȯ 2011-09-22 932
3 ÀÏ¹Ý Unity3D-Overview: Common Operations ¹èÀçȯ 2011-09-22 879
2 ÀÏ¹Ý ³Í ÇÒ ¼ö ÀÖ¾î °­»ó¿¡ 2011-03-22 907
1 ÀÏ¹Ý ÀϾ ±è±¤¼® 2011-03-22 873
123