نوع داده ی شمارشی (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
۹۳/۱۲/۲۱