贪吃蛇笔记

这篇博客探讨了如何使用四元数进行物体旋转控制,以实现贪吃蛇游戏中的精准转向。核心算法涉及四元数转换,通过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;
        }
    }

要在C语言的贪吃蛇游戏中添加音乐,可以按照以下步骤操作: 1. 首先在工程目录里添加音乐文件作为资源。这可以通过将音乐文件复制到工程目录并将其添加到工程目录中完成。 2. 打开工程目录中的"resource.h"头文件,并复制其中对应音乐文件的宏名。这个宏名代表了资源文件的编号,将被用来播放音乐。 3. 在代码中包含所需的头文件,例如<stdio.h>, <windows.h>, <stdlib.h>, <mmSystem.h>,并添加#pragma comment(lib,"Winmm.lib")来链接所需的库文件。 4. 在代码中使用PlaySound函数来播放音乐,将之前复制的宏名作为第一个参数传入,将NULL作为第二个参数传入以使用默认设备,使用SND_RESOURCE和SND_ASYNC标志来从资源中播放音乐并实现异步播放。 5. 在游戏的适当位置调用PlaySound函数来播放音乐。可以选择在游戏开始前播放贪吃蛇动画,或者在整个游戏过程中播放背景音乐。 6. 在音乐播放完毕后,可以使用system("pause")函数来暂停程序的运行,以便用户可以听完音乐后进行下一步操作,或者根据需要进行其他处理。 以下是一个示例代码,演示了如何在C语言的贪吃蛇游戏中添加音乐: #include <stdio.h> #include <windows.h> #include <stdlib.h> #include <mmSystem.h> #pragma comment(lib,"Winmm.lib") int main() { PlaySound(MAKEINTRESOURCE(IDR_WAVE1), NULL, SND_RESOURCE | SND_ASYNC); // 在适当的位置调用PlaySound函数来播放音乐 // 其他游戏逻辑代码 system("pause"); return 0; } 请注意,上述示例代码中的IDR_WAVE1是一个代表音乐资源的宏名,需要根据实际情况进行替换,确保与资源文件中的宏名一致。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [用C语言实现贪吃蛇笔记1-------.wav格式音乐的添加及播放(方法一:嵌入到可执行文件里面)](https://blog.csdn.net/qq_44486550/article/details/104394889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [C++必学项目带背景音乐的贪吃蛇小游戏详细教程](https://blog.csdn.net/weixin_44611048/article/details/104886484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值