نوع داده ی شمارشی (enumerator) در یونیتی:
پنجشنبه, ۲۱ اسفند ۱۳۹۳، ۰۳:۵۶ ب.ظ
enum یعنی داده های شمارشی.... مثلا یک متغیر می گیری می دی یک بعدش هر اسمی بعدش میدی مقدارش یکی اضاف میشه.
مثلا ali=1 و اگه بدی reza مقدار reza خودکار میشه 2 و الی آخر... هر چی
شروع بدی بعدی ها یکی یکی زیاد میشه و اگه مثلا وسط کار یکی اضافه کنی با
مقدار دلخواه و بعدی رو بی مقدار بدی یکی بعد اون مقداری که همونجا تعیین
کردی اضاف می کنه و الی آخر
از این نوع داده برای تعریف متغیرها با مقادیری تعریف شده توسط خودمان استفاده می کنیم.
مثال :
زبان js
کد:
#pragma strict
enum Direction{North, East, South, West};
function Start ()
{
var myDirection : Direction;
myDirection = Direction.North;
}
function ReverseDirection (dir : Direction) : Direction
{
if(dir == Direction.North)
dir = Direction.South;
else if(dir == Direction.South)
dir = Direction.North;
else if(dir == Direction.East)
dir = Direction.West;
else if(dir == Direction.West)
dir = Direction.East;
return dir;
}کد:
num DoorStates {open,closed}; var doorState :DoorStates; function Awake() { doorState =DoorStates.closed; } function OnTriggerEnter (triger : Collider) { if ((triger.gameObject.tag == "Player_A")&&(doorState==DoorStates.closed)) { doorState=DoorStates.open; GameObject.FindWithTag("Door_L").animation.Play("Door_Anim_A_Left_Open"); GameObject.FindWithTag("Door_R").animation.Play("Door_Anim_A_Right_Open"); } } function OnTriggerExit (triger : Collider) { if ((triger.gameObject.tag == "Player_A")&&(doorState==DoorStates.open)) { doorState=DoorStates.closed; GameObject.FindWithTag("Door_L").animation.Play("Door_Anim_A_Left_Close"); GameObject.FindWithTag("Door_R").animation.Play("Door_Anim_A_Right_Close"); } }
http://unity3d.com/learn/tutorials/modules/beginner/scripting/enumerations
۹۳/۱۲/۲۱