贪吃蛇笔记

这篇博客探讨了如何使用四元数进行物体旋转控制,以实现贪吃蛇游戏中的精准转向。核心算法涉及四元数转换,通过Quaternion.euler(0, 0, 0)来设定初始旋转状态。" 102016050,8652241,前端开发:九九乘法表与冒泡排序实现,"['HTML', 'JavaScript', '前端框架', '算法', '浏览器兼容']
摘要由CSDN通过智能技术生成
1.用image添加button组件代替button
2.控制物体移动不一定要写在方法里,可以用invokerepeating
方法,想要修改变量时可以cancelinvoke()先暂停再修改
3.食物的随机生成可以让每次生成的食物的图片用数组存储
然后获取图片组件替换。
4.单例模式,用于吃完食物后生成新食物,现在准备调用的
食物生成脚本里创建 public static 类名 变量名 。然后
通过变量名访问。(要理解会用)
5.判断奇偶可以用总长度除2(body.count%2==)?0:1;
6.设置图片getcomponent<image>().sprite
7.设置位置索引然后把位置加入索引list.add();
8.colorutility.tryparsehtmlstring("",out tempcolor)
尝试解析颜色
9.活用switch() case 
10.timescale是指游戏的缩放比例等于0时即可让游戏暂停
11.用cancelnvoke()可以暂停调用方法。
12.练习携程Ienumerator  yield return new waitforsecond
等待多长时间,startcoroutine(方法(时间))。
13.playerprefs.setint 保存数据。
14.resources 加载资源用的文件夹resource.load(string path)
方法加载资源,path的书写不需要加resources/以及文件扩展名
resource.load<类型>();
15.foreach在unity中的应用foreach(transform t in gameobject.transform)

16.四元数控制旋转Quaternion.euler(0.0.0);

核心算法:

  void Grow()          //实例化蛇身
    {
        AudioSource.PlayClipAtPoint(Eatclip, Vector3.zero);
       int index = (bodyList.Count % 2 == 0 )? 0 : 1;
      // Debug.Log(index);
        GameObject body = Instantiate(bodyPrefabs,new Vector3 (2000,2000,0),Quaternion .identity );
        body.GetComponent<Image>().sprite = bodySprite[index];
        body.transform.SetParent(Cancas, false);
        bodyList.Add(body.transform);
    }

public void Move()
    {
        HeadPos = transform.localPosition;                                              //记录头部位置
        transform.localPosition = new Vector3(HeadPos.x + x, HeadPos.y + y, HeadPos .z);//控制移动
        if(bodyList .Count > 0)
        {
            for (int i=bodyList .Count - 2; i >=0; i--)
            {
               bodyList[i + 1].localPosition = bodyList[i].localPosition;
           }
            bodyList[0].localPosition = HeadPos;
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值