空甜品的作用,提供一个信号,告诉其他的甜品一个填充信息
空甜品的作用,提供一个信号,告诉其他的甜品一个填充信息
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)); } }
z
通过让当前得分累加,直到累加至playerScore为止
实际需要 实例化巧克力块的x 位置
游戏 总管理
GameObject 模型层
new Sprite 渲染层 各司其职
unity 开发单位是1米 ,图片大小 和
L行匹配和T匹配
行遍历有相同的加入行遍历,然后就会进行列遍历,又有相同的元素,加入列遍历,这时就有一个共有的元素
行遍历
从当前甜品往左遍历,再往右遍历,遍历完添加到行遍历里 行遍历列表判断,
从当前甜品依次向左遍历,直到x=0结束遍历,左遍历完从当前甜品依次向右遍历
如果遍历到不同类型的甜品会直接结束遍历
甜品相同个数大于等于3添加到完成匹配列表中,没有则不能匹配
列遍历
从当前甜品往上遍历,再往下遍历,遍历完添加到列遍历里 ,列遍历列表判断,
从当前甜品依次向上遍历,直到y=0结束遍历,上遍历完从当前甜品依次向下遍历
如果遍历到不同类型的甜品会直接结束遍历
甜品相同个数大于等于3添加到完成匹配列表中,没有则不能匹配
匹配遍历
返回相同的甜品并消除
有三种情况
第一种情况:行匹配消除
第二种情况:列匹配消除
第三种情况 :上下左右都不满足匹配条件,则返回null,返回一个空列表,也不会对甜品进行消除
请问有人知道加了关卡跳转之后,修改不了新场景的任何东西,修改的话场景一的也会被改变,请问有没有大佬知道为什么
从下往上遍历
为什么我的是往上移动?
ad
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.清除
AAAAAAAAAAAAAAAAAAAAA
游戏分为模型层和渲染层
这个代码写的真的是一言难尽。
我按照上节课思路修复一下就可以得到想要的结果~~讲师这个代码的算法和性能真的是堪忧~~
而且判断思路不应该是先判断下面是不是空,然后在判断能不能挪,能挪就垂直挪,不能挪就斜着挪吗?
ColorSweet脚本
MovedSweet脚本;拿到GameSweet sweet;
public void Move(int newX,int newX)
新添加变量 移动 MoveComponent
判断是否移动的方法