Button的点击事件处理:
StartButton.onClick.AddListener(() => { …… });
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Title : MonoBehaviour {
public Button StartButton;
public Button ExitButton;
// board窗口
public GameObject board;
// Use this for initialization
void Start () {
StartButton.onClick.AddListener(() =>
{
gameObject.SetActive(false);
board.SetActive(true);
});
ExitButton.onClick.AddListener(() =>
{
Application.Quit();
});
}
}
GameObject的show/hide:
this.gameObject.SetActive(false);
ResultWindow.gameObject.SetActive(true);
获取组件对象 GetComponent:
var mainLoop = GetComponent<MainLoop>();
GameObject.Instantiate与Destroy
public void Reset( )
{
// 删除棋盘上的所有对象
foreach( Transform child in gameObject.transform )
{
GameObject.Destroy(child.gameObject);
}
var mainLoop = GetComponent<MainLoop>();
_crossMap.Clear();
for (int x = 0; x < Board.CrossCount; x++)
{
for (int y = 0; y < Board.CrossCount; y++)
{
var crossObj = GameObject.Instantiate<GameObject>(CrossPrefab);
// 归属于本层对象下
crossObj.transform.SetParent(gameObject.transform);
// 复位缩放
crossObj.transform.localScale = Vector3.one;
// 设置位置
var pos = crossObj.transform.localPosition;
pos.x = -Board.HalfSize + x * CrossSize;
pos.y = -Board.HalfSize + y * CrossSize;
pos.z = 1;
crossObj.transform.localPosition = pos;
// 记录格子信息
var cross = crossObj.GetComponent<Cross>();
cross.GridX = x;
cross.GridY = y;
cross.mainLoop = mainLoop;
_crossMap.Add(MakeKey(x, y ), cross);
}
}
}
总结来自于学习视频:http://www.imooc.com/learn/636