12862人加入学习
(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);


            }
        }

[展开全文]

//从下往上遍历 得到每排最下空白处 和 最上空白处的距离 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)); } }

[展开全文]

通过让当前得分累加,直到累加至playerScore为止

[展开全文]

实际需要 实例化巧克力块的x 位置

[展开全文]

GameObject  模型层

    new Sprite 渲染层   各司其职

unity 开发单位是1米 ,图片大小 和

[展开全文]

L行匹配和T匹配

行遍历有相同的加入行遍历,然后就会进行列遍历,又有相同的元素,加入列遍历,这时就有一个共有的元素

[展开全文]

行遍历   

从当前甜品往左遍历,再往右遍历,遍历完添加到行遍历里  行遍历列表判断,

从当前甜品依次向左遍历,直到x=0结束遍历,左遍历完从当前甜品依次向右遍历

如果遍历到不同类型的甜品会直接结束遍历

甜品相同个数大于等于3添加到完成匹配列表中,没有则不能匹配

列遍历

从当前甜品往上遍历,再往下遍历,遍历完添加到列遍历里 ,列遍历列表判断,

从当前甜品依次向上遍历,直到y=0结束遍历,上遍历完从当前甜品依次向下遍历

如果遍历到不同类型的甜品会直接结束遍历

甜品相同个数大于等于3添加到完成匹配列表中,没有则不能匹配

匹配遍历

返回相同的甜品并消除

有三种情况

第一种情况:行匹配消除

第二种情况:列匹配消除

第三种情况 :上下左右都不满足匹配条件,则返回null,返回一个空列表,也不会对甜品进行消除

[展开全文]

请问有人知道加了关卡跳转之后,修改不了新场景的任何东西,修改的话场景一的也会被改变,请问有没有大佬知道为什么

[展开全文]

从下往上遍历

为什么我的是往上移动?

[展开全文]

        if (xColumn % 2 == 0 && yRow % 2 == 0)
        {
            return new Vector3(x - xColumn / 2 + 0.5f, y - yRow / 2 + 0.5f, 0);
        }

        if (xColumn % 2 != 0 && yRow % 2 == 0)
        {
            return new Vector3(x - xColumn / 2, y - yRow / 2 + 0.5f, 0);
        }

        if (xColumn % 2 == 0 && yRow % 2 != 0)
        {
            return new Vector3(x - xColumn / 2 + 0.5f, y - yRow / 2, 0);
        }

        else
        {
            return new Vector3(x - xColumn / 2, y - yRow / 2, 0);
        }

[展开全文]

当前位置前后左右遍历,遇见非同就返回一个 

 

直线匹配的核心算法:

1匹配:直线匹配与LT匹配

2.清除

[展开全文]

这个代码写的真的是一言难尽。

我按照上节课思路修复一下就可以得到想要的结果~~讲师这个代码的算法和性能真的是堪忧~~

而且判断思路不应该是先判断下面是不是空,然后在判断能不能挪,能挪就垂直挪,不能挪就斜着挪吗?

[展开全文]

MovedSweet脚本;拿到GameSweet sweet;

 

public void Move(int newX,int  newX)

 

新添加变量 移动 MoveComponent

判断是否移动的方法

 

[展开全文]

二维数组 甜品数组的实例化

甜品的位置int x,y

甜品的种类【不需要set】

public GameManager gameManager;

 

初始化方法Init()

[展开全文]

授课教师

SiKi学院老师

课程特色

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