-2
using UnityEngine;
using System.Collections;

struct SimonLightPlate
{
   public enum eType
   {
     INVALID_TYPE = -1,
     BLUE,
     GREEN,
     RED,
     YELLOW,
     NUM_TYPES
   }

   public SimonLightPlate(string plateName)
   {
     plate = GameObject.Find(plateName);
   }

   public GameObject plate; // The plate associated with the colors
}

public class SimonSays : MonoBehaviour
{

   SimonLightPlate[] lightPlates = new SimonLightPlate[(int)SimonLightPlate.eType.NUM_TYPES];

   // Use this for initialization
   void Start ()
   {
     lightPlates[(int)SimonLightPlate.eType.BLUE] = new SimonLightPlate("BluePlane");
     lightPlates[(int)SimonLightPlate.eType.GREEN] = new SimonLightPlate("GreenPlane");
     lightPlates[(int)SimonLightPlate.eType.RED] = new SimonLightPlate("RedPlane");
     lightPlates[(int)SimonLightPlate.eType.YELLOW] = new SimonLightPlate("YellowPlane");
   }

   // Update is called once per frame
   void Update ()
   {

   }
}
  • 做什么的(int)?这行代码有什么作用:
  • SimonLightPlate[] lightPlates = new SimonLightPlate[(int)SimonLightPlate.eType.NUM_TYPES];? 这是做什么的:lightPlates[(int)SimonLightPlate.eType.BLUE] = new SimonLightPlate("BluePlane");
  • 公众也会GameObject plate;怎么做?
4

1 回答 1

0
  1. (int) 用于将枚举类型转换为其数字表示
  2. 该行正在初始化一个新lightplate的 at lightPlates[0](很可能假设枚举默认递增 1)
  3. 游戏对象存储对板的引用(可能是 2D 平面或预制件),使用它您可以对游戏对象执行各种操作,例如在场景中移动它。

看起来当游戏开始时,代码正在加载 4 种不同类型的板游戏对象(这些可能是预制件/模型等)。它通过 Gameobject.Find("object name") 定位它们。如果您团结一致地通过检查员,您可能会找到以相应板命名的项目。

作为旁注,您应该看看将来在此处发布与游戏开发相关的问题

于 2015-02-18T03:39:26.260 回答