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

制作于2018年1月6日

价格 免费

//从下往上遍历 得到每排最下空白处 和 最上空白处的距离 for (int x = 0; x < xColumn; x++) { //没障碍物的情况下 int min = 0; int max = yRow-1; for (int y = min; y <= max; y++) { GameSweet gameSweet = CreateNewSweet(x, y, SweetsType.NORMAL); gameSweet.ColoredComponent.SetColor((ColorSweet.ColorType)UnityEngine.Random.Range(0, gameSweet.ColoredComponent.NumColor)); } }

[展开全文]

从下往上遍历

为什么我的是往上移动?

[展开全文]

填充的核心算法

根据甜品的行为可分为:1.一般的(可以移动的)

2.特殊的(空的,即不能移动的)

表现形式是从上而下所以排除行列中对最后一行的遍历,从倒数第二行开始遍历,首先获取到甜品的位置信息,判断甜品的类型是否可以移动,若是,查看该位置的正下方是否为空甜品,若是空,则将该甜品的位置下移,在原有的位置上生成新的甜品;

注意:在整个甜品面板的第一行是较为特殊的,假设在这一行的上方还有一行,是用来填充第一行中的空甜品。

 

 

 

[展开全文]

填充,

1.最下面的一排是不需要判断的,因为不会往下移动了,从倒数第二排开始判断,

2.首先拿到位置上甜品的类型(空的或普通的),判断其当前是否可以移动,普通的可以移动

3.然后遍历甜品正下方的位置是否为空,若为空则可以移动,

4.甜品之前的位置会变空,那会在改位置生成新的甜品

5.最上面的一行如果为空的话,不能填充新的甜品,因为上面没有东西了,这时候应该要想到,在第一行那里产生负一行(用来产生元素),当判断第一行的某个位置为空时,在这个位置的正上方产生对应的甜品向下填充

[展开全文]

授课教师

SiKi学院老师

课程特色

图文(2)
下载资料(1)
视频(48)