更新一下博客,希望朋友们不要忘了我,之前都是用winform界面去做2048,相对来说,用unity3D来做要简单的多,所以今天花费一个小时用unity3D做了个简单的2048,是给那些刚入门的朋友准备的,希望你们能认真看一下
这是是我的代码:
using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { public UILabel valueLabel; bool gameover = false; void Start() { gameover = false; valueLabel = GameObject.Find("ValueLabel").GetComponentInChildren<UILabel>(); valueLabel.text = "Game Start"; valueLabel.color = Color.green; } // Update is called once per frame void Update() { if (!gameover) { if (Input.GetKeyDown(KeyCode.D)) { moveR(); CreateNumber(); } else if (Input.GetKeyDown(KeyCode.A)) { moveL(); CreateNumber(); } else if (Input.GetKeyDown(KeyCode.W)) { moveU(); CreateNumber(); } else if (Input.GetKeyDown(KeyCode.S)) { moveD(); CreateNumber(); } } } void moveU() { for (int i = 1; i <= 4; i++) { bool flag = false; for (int j = 2; j <= 4; j++) { for (int k = j - 1; k >= 1; k--) { //获取当前元素 GameObject go = GameObject.Find("L" + (k + 1).ToString() + i.ToString()); print("当前对象" + go.name); UILabel I = go.GetComponentInChildren<UILabel>(); //获取下一个元素 GameObject goNext = GameObject.Find("L" + k.ToString() + i.ToString()); print("下一个对象" + goNext.name); UILabel INext = goNext.GetComponentInChildren<UILabel>(); //比较代码 if (I.text != "") { if (INext.text == "")