Unity3D实现俄罗斯方块

Unity实现俄罗斯方块(一)

准备工作
  1. 新建一个2D项目,新建成功以后设置相机的一些参数
  2. 导入所要用的图片,修改图片的一些属性
  3. 了解俄罗斯方块的几种模型
  4. 根据模型制作预制体(由多个小方块通过修改位置制作预制体)
  5. 设置游戏边界
    注:当制作完预制体以后应当要保存项目save project以及游戏边界宽度应当要设置成可以放几个方块的宽度
搭建计时器
  1. 新建一个UI Text重命名为Timer,其中Text内容为00:00
  2. 编写脚本,编写计时部分(可根据Unity用户手册搜索Time)unity脚本用户手册
 void Start()
    {
        //对大小写敏感
        timer = GameObject.Find("Canvas/Timer").GetComponent();
        //得到游戏开始时间(单位:s)
        startTime = Time.time;
    }
    void Update()
    {
        //游戏运行了多长时间(单位:s)
        time=Time.time - startTime;
        //秒数
        int seconds=(int)time % 60;
        //分数
        int minutes = (int)time / 60;
        //其中:前面的0 1指的是第几个参数 :后面00表示由几位组成 {}之间的:是要显示出来的
        string strTime = string.Format("{0:00}:{1:00}",minutes,seconds);
        timer.text = strTime;
    }
代码部分
  1. 随机生成一个方块模型(游戏逻辑脚本)
   public GameObject[] Groups;//用于存放预制体类型
    public void spawnNext()
    {
        int i = Random.Range(0, Groups.Length);
        GameObject g=Instantiate(Groups[i], transform.position, Quaternion.identity);
    }
  1. 使物体左移右移旋转下落(应当编写一个有关于物体的脚本)
void Update()
    {
        //控制物体向左移
        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            transform.position += new Vector3(-1, 0, 0);
        }
        //控制物体右移
        else if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            transform.position += new Vector3(1, 0, 0);
        }
        //控制物体旋转
        else if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            //可在unity编辑器中通过旋转可得是对z轴进行旋转
            transform.Rotate(0, 0, -90);
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            transform.position += new Vector3(0, -1, 0);
        }
    }

你可能感兴趣的:(unity)