切水果
5.产生水果 制作炸弹预制体
6.切的动画逻辑 爆炸效果
属性面板Texture Sheet Animation 纹理动画
Tiles x 横向纹理图片个数 y竖向纹理图片个数
1.OnMouseDown 鼠标点击事件 添加BoxCollider 的gameobject 可以直接添加鼠标点击事件
2.交换宝石
获取行,获取列, 交换宝石的在数组组的位置,交互宝石的数据,更新宝石的位置
3.交换宝石补充
1.点击时修改宝石的颜色表示选中,组件名称SpriteRender .color
可交换条件
1。row 相同 colunm-1 和column+1(而且colum ==1 只有columm +1. columm == length-1 columm-1)
2 column相同 row —1 和row+1 row ==1 row +1. row == length-1 row-1)
等价于
mathf.Abs 绝对值 ,(Mathf.Abs(current.row -c.row) + Mathf.Abs(current.columm -c.columm) == 1 表示相邻
2.判断是否有匹配的
7集9:00
水平方向匹配
垂直方向匹配
public boll isSelected {
set{
if(value)
{
spriteRender.color = color.red;
}
else {
spriteRender.color = color.white;
}
}
}
Input.GetMouseButton(0)
Input.GetMouseButtonDown(0)
fire = Input.GetMouseButton(0)
if(fire && !fire_prev) fire_Down = true
if(!fire && fire_prev) fire_up = true
fire_prev = fire;
if(fire——down)
{
start =INput.MousePostion
end= INput.MousePostion
}
if(fire)
{
var a = camera.main.screenPointToWorld(start);
var b = camera.main.screenPointToWorld(start);
if(Vector3.Dirtance(a,b)>0.1f)
{
linePart++;
addTailPoint();
end = screenInp;
}
if(trail_alpha>0.5)
{
int rayCastCount = 10;
for(int p = 0;p<8;p++)
{
for(int i = 0;i<rayCastCount;i++)
{
vector3 s =camera.main.worldToScreenPoint( trailPos[p]);
vector3 e = camera.main.worldToScreenPoint( trailPos[p+1]);
Ray ray = camera.main.ScreenPointToRay(vector.Lerp(s,e,i/rayCastCount));
rayCastHit hit;
if(Physics.RayCast(ray,out hit,100))
{
BlowObjec(hit);
}
}
}
for(int i = 0;i< trailPos.count;i++)
{
lineRender.setPostion(i,trailPos[i]);
}
}
void addTailPoint(){
if(linePart<=9)
{
for(int i = 0;i<= 9;i++)
{
trailPos[i] = camera.main.screenPointToWorld(new vector3(start.x,start.y,10));
}
}
else {
for(int i = 0;i<9;i++)
{
trailPos[i] =trailPos[i+1]
}
trailPos[9] = camera.main.screenPointToWorld(new vector3(start.x,start.y,10));
}
}
}
void BlowObjec(RayCastHit hit)
{
if(hit.collider.gameObject.tag != “Destroyed”)
{
Destory(hit.collider.gameObject);
2.添加破开的水果
3.添加果汁
4.积分
if(hit.collider.gameObject.tag != "bomb") point++; else point -=5;
point = point <0 ?0: point;
hit.collider.gameObject.tag = “Destroyed”
}
}