12879人加入学习
(90人评价)
Unity2D 中级案例-甜品消消乐(Unity2017.2)

制作于2018年1月6日

价格 免费

        for (int x = 0; x < AllCellColumn; x++)
        {
            for (int y = 0; y < AllCellRow; y++)
            {
                //在PosObj位置基础上,根据两个for嵌套循环,生成格子
                //x方向需要除去1.938f,y方向需要除去2f(套了Canvas需要计算的距离~~唉)
                GameObject.Instantiate(Cell, new Vector3(PosObj.transform.position.x+(x/1.938f), PosObj.transform.position.y + (y / 2f), PosObj.transform.position.z), Quaternion.identity, this.transform);
                GameObject.Instantiate(BluePintlePreformed, new Vector3(PosObj.transform.position.x + (x / 1.938f), PosObj.transform.position.y + (y / 2f), PosObj.transform.position.z), Quaternion.identity, this.transform);


            }
        }

[展开全文]

为什么6-3要设置成单例模式,什么情况下需要使用单例模式?

[展开全文]

游戏管理的创建,巧克力的生成

 

(1)创建背景

新建2D的Sprite,将图片拖给它。调整图片大小覆盖摄像机。重命名为Background。

(2)游戏管理

控制整个游戏的运行,甜品的产生、消除等。右键Create Empty,重命名为GameManager。

然后在其身上挂一个同名的脚本。即GameManager.cs。将脚本拖到Scripts文件夹下。

(3)保存场景

Ctrl+S保存场景,命名为Game,将其拖到Scenes文件夹下。

(4)编辑脚本

双击GameManager.cs脚本,进行VS编辑。

做成单例模式。

    // 单例
    private static GameManager _instance;  // ctr+r+e快捷键构建GET SET
    public static GameManager Instance
    {
        get
        {
            return _instance;
        }

        set
        {
            _instance = value;
        }
    }

 

所有东西开始前实例化GameManager。即最先初始化。

private void Awake()
    {
        _instance = this;
    }

定义行列数。

// 大网格的行列数
public int xColumn;
public int yRow;

然后进入unity,点击GameManager,在Inspector面板上可以设置行列数。

定义网格背景。

// 地图网格背景对象
public GameObject gridPrefab;

然后在unity的Inspector面板上将创建的Grid预制托给它。

整个地图实例化网格背景

在Start()方法中:

// 地图的实例化
        for (int x = 0; x < xColumn; x++)
        {
            for (int y = 0; y < yRow; y++)
            {
                // 实例化棋子的背景(地图的实例化)
                GameObject chessBg = Instantiate(gridPrefab, new Vector3(x,y,0),Quaternion.identity);
                // 使chess父对象为GameManager
                chessBg.transform.SetParent(transform);
            }
        }

棋子背景产生了,但位置不正确。下节课纠正位置。

修改背景层级为-2,位于最下方。

 

[展开全文]

一:创建背景

1.新建一个2D渲染Sprite,重命名为Background,将GameResources/UI/Game目录下的Background拖到新建渲染的Sprite上,调整新建渲染的大小,使其和摄像机镜头差不多大小

二:创建游戏管理

1.新建一空的游戏对象,重命名为GameManager,在GameManager上绑定一个同名脚本,将脚本拖到Scripts文件夹下,打开GameManager.cs编辑脚本

提示:记得用Shift+S保存场景,此场景重命名为Game,放入Scenes文件夹

2.Ctrl+R+E,属性快捷键

3.将背景Order in Layer改成-2

[展开全文]

这里需要记住的,涉及到实例化的东西

GameObject chocolate = Instantiate(gridPrefab,new Vector3(x,y,0),Quaternion.identity);

[展开全文]

GameManager

1.框架:单例模式

2.行和列数变量(行=x;列=y)

3.网格对象

4.初始化行列的网格对象

5.设置行列网格

[展开全文]

授课教师

SiKi学院老师

课程特色

图文(1)
下载资料(1)
视频(49)

学员动态