Unity小项目__小球吃零食

news2024/11/22 20:21:38

 

// Player脚本文件源代码

public class Player : MonoBehaviour
{
    public Rigidbody rd; // 定义了一个刚体组件
    public int score = 0; // 定义了一个计分器
    public Text scoreText; // 定义了一个文本组件
    public GameObject winText; // 定义了一个游戏物体用于检验游戏结束

    // Start is called before the first frame update
    void Start()
    {
        // Debug.Log("游戏开始了!");
        rd = GetComponent<Rigidbody>(); //实现刚体组件
        // rd.AddForce(Vector3.right); // 施加一次持续1N向右的力,由于阻力存在效果不明显
        
        // 监听键盘并控制小球运动
    }

    // Update is called once per frame
    void Update()
    {
        // Debug.Log("游戏正在进行中……");
        // (x, y, z) (1, 0, 0)
        // Vector3.right left forward back
        // rd.AddForce(Vector3.right); // 施加一个持续1N向右的力

        // (2, 0, 0)
        // rd.AddForce(new Vector3(10, 0, 0));
        float h = Input.GetAxis("Horizontal"); // 左右-1 1
        float v = Input.GetAxis("Vertical"); // 前后
        // Debug.Log(h); // 0
        rd.AddForce(new Vector3(h, 0, v) * 2); // 移速*2
    }


    // private void OnCollisionEnter(Collision collision) // 发生碰撞时执行的代码
    //{
        // Debug.Log("发生碰撞了");

        // 判断并销毁食物
        // 当物体的触发器执行后,碰撞器对该物体就失效了,因为触发器不会发生碰撞。
        //if (collision.collider.tag == "Food") // 通过碰撞器碰撞标签的检测
        //if (collision.gameObject.tag == "Food") // 通过碰撞器碰撞标签的检测
        //{
        //    Destroy(collision.gameObject); // 销毁游戏对象
        //}
    // }

    // 碰撞检测
    //private void OnCollisionStay(Collision collision) // 发生碰撞接触时执行的代码
    //{
    //    Debug.Log("发生接触中……");
    //}
    //private void OnCollisionExit(Collision collision) // 发生碰撞离开后执行的代码
    //{
    //    Debug.Log("发生碰撞后离开");
    //}

    // 触发检测(可穿过物体,不会减速)
    private void OnTriggerEnter(Collider other) // 与触发器发生碰撞时执行的代码
    {
        // Debug.Log("OnTriggerEnter" + other.tag);

        if (other.tag == "Food") // 通过碰撞器碰撞标签的检测
        {
            Destroy(other.gameObject); // 销毁游戏对象

            // 自增运算符++
            score++;
            scoreText.text = "分数:" + score; // 引用text属性,将"分数:" + score传递给scoreText.text

            if (score == 8) // 当score等于8时
            {
                winText.SetActive(true); // 设置激活winText游戏物体
            }
        }
    }
    //private void OnTriggerStay(Collider other) // 与触发器接触时执行的代码
    //{
    //    Debug.Log("OnTriggerStay" + other.tag);
    //}
    //private void OnTriggerExit(Collider other) // 离开触发器发生后执行的代码
    //{
    //    Debug.Log("OnTriggerExit" + other.tag);
    //}
}

 // Food

public class Food : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        transform.Rotate(Vector3.up); // 一度一度的变换角度,60帧/s
    }
}

// FollowTarget

public class FollowTarget : MonoBehaviour
{
    public Transform playerTransform; // 声明一个Transfrom类对象
    private Vector3 offset; // 声明一个结构体对象
    // Start is called before the first frame update
    void Start()
    {
        offset = transform.position - playerTransform.position; // 相机和玩家的三维坐标偏移量 = 相机的三维坐标 - 玩家的三维坐标
    }

    // Update is called once per frame
    void Update()
    {
        transform.position = playerTransform.position + offset; // (改变后)相机改变的三维坐标 = (改变后)玩家对象的三维坐标量 + 初始偏移量;
    }
}

// 界面

 // 打包运行

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/883247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

征战2023跨境旺季,独立站如何实现新增长?

2023年出海赛道万象更新&#xff0c;行业重回正轨&#xff0c;跨境行业在经历过多轮洗牌过后&#xff0c;中国企业在全球化产业链中表现出了更强大的增长韧性。而随着跨境模式与消费需求的多样化与精细化。单一渠道的出海布局已经不能满足企业实现品牌出海的转型需求。 DTC独立…

前端工具的选择

目录 前端常见开发者工具 浏览器 开发者工具 VScode开发者工具快捷键 前端常见开发者工具 浏览器 浏览器是我们最重要的合作伙伴 关于浏览器的选择&#xff0c;我目前主要用主要是谷歌浏览器&#xff0c;我个人觉得谷歌浏览器使用起来比较方便、简洁&#xff0c;没有太多…

【TypeScript】tsc -v 报错 —— 在此系统上禁止运行脚本

在 VS Code 终端中执行 tsc -v &#xff0c;报错 —— 在此系统上禁止运行脚本 然后 windows x &#xff0c;打开终端管理员&#xff0c;出现同样的问题 解决方法&#xff1a; 终端&#xff08;管理员&#xff09;执行以下命令&#xff1a; 出现 RemoteSigned 则代表更改成功…

Flask-SQLAlchemy

认识Flask-SQLAlchemy Flask-SQLAlchemy 是一个为 Flask 应用增加 SQLAlchemy 支持的扩展。它致力于简化在 Flask 中 SQLAlchemy 的使用。SQLAlchemy 是目前python中最强大的 ORM框架, 功能全面, 使用简单。 ORM优缺点 优点 有语法提示, 省去自己拼写SQL&#xff0c;保证SQL…

誉天HCIP-Datacom课程简介

HCIP-Datacom课程介绍&#xff1a;HCIP-Datacom分为一个核心技术方向&#xff1a;HCIP-Datacom-Core Technology H12-821 &#xff08;核心技术&#xff09;六个可选子方向&#xff1a;HCIP-Datacom-Advanced Routing & Switching Technology H12-831 &#xff08;高级路…

ubuntu设置共享文件夹成功后却不显示找不到(已解决)

1.首先输下面命令查看是否真的设置成功共享文件夹 vmware-hgfsclient如果确实已经设置过共享文件夹将输出window下共享文件夹名字 2.确认自己已设置共享文件夹后输入下面的命令 //如果之前没有命令包则先执行sudo apt-get install open-vm-tools sudo vmhgfs-fuse .host:/ /mn…

Ubuntu18.04.4裸机配置

下载虚拟机Ubuntu18.04.4 链接&#xff1a;https://pan.baidu.com/s/1jyucyUSXa9-Fw9ctuU87hA 提取码&#xff1a;o42a –来自百度网盘超级会员V5的分享 VMware选择镜像安装 设置你的用户名&#xff0c;就像windows上登录用户一样简单 下一步……下一步……如此简单 下载…

《Effects of Graph Convolutions in Multi-layer Networks》阅读笔记

一.文章概述 本文研究了在XOR-CSBM数据模型的多层网络的第一层以上时&#xff0c;图卷积能力的基本极限&#xff0c;并为它们在数据中信号的不同状态下的性能提供了理论保证。在合成数据和真实世界数据上的实验表明a.卷积的数量是决定网络性能的一个更重要的因素&#xff0c;而…

TiDB数据库从入门到精通系列之一:TiDB数据库的软硬件环境要求和系统配置检查

TiDB数据库从入门到精通系列之一&#xff1a;TiDB数据库的软硬件环境要求和系统配置检查 一、软件和硬件配置要求1.操作系统及平台要求2.服务器建议配置3.网络要求4.磁盘空间要求 二、TiDB 环境与系统配置检查1.在 TiKV 部署目标机器上添加数据盘 EXT4 文件系统挂载参数2.设置 …

ECOLOGY9实现正文文档按发布范围授权查看

需求&#xff1a;E9流程需要流程归档后&#xff0c;正文文档按发布范围授权查看&#xff0c;不需要是流程参与者。 解决&#xff1a;表单中定义发布范围是人力资源条件 在流程基础设置-功能设置中设置启用按人力资源 条件字段赋权。 实现的效果。

司徒理财:8.15黄金美盘多空最新操作建议

黄金一直没能跌破1902的支撑&#xff0c;司徒理财依旧维持低多看涨的思路不变&#xff0c;早盘1905多单继续持有中&#xff0c;静待美盘拉升&#xff01;黄金现在的下跌力度已经衰竭&#xff0c;并且日线上已经跌至200日均线的支撑位置&#xff0c;大周期的均线支撑&#xff0c…

WSL2 ubuntu子系统OpenCV调用本机摄像头的RTSP视频流做开发测试

文章目录 前言一、Ubuntu安装opencv库二、启动 Windows 本机的 RTSP 视频流下载解压 EasyDarwin查看本机摄像头设备开始推流 三、在ubuntu 终端编写代码创建目录及文件创建CMakeLists.txt文件启动 cmake 配置并构建 四、结果展示启动图形界面在图形界面打开终端找到 rtsp_demo运…

阿里云与中国中医科学院合作,推动中医药行业数字化和智能化发展

据相关媒体消息&#xff0c;阿里云与中国中医科学院的合作旨在推动中医药行业的数字化和智能化发展。随着互联网的进步和相关政策的支持&#xff0c;中医药产业受到了国家的高度关注。这次合作将以“互联网 中医药”为载体&#xff0c;致力于推进中医药文化的传承和创新发展。…

PDB Database - 高质量 RCSB PDB 蛋白质结构筛选与过滤

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132307119 Protein Data Bank (PDB) 是一个收集和存储三维结构数据的公共数据库&#xff0c;主要包括蛋白质和核酸分子。PDB 由美国、欧洲和日本三…

机器学习深度学习——机器翻译(序列生成策略)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——seq2seq实现机器翻译&#xff08;详细实现与原理推导&#xff09; &#x1f4da;订阅专栏&#xff1a;机…

卡车盲区监测+360全景

一、背景分析 1.AI视觉智能终端的ADAS主动防撞告警、DMS驾驶员异常行为告警功能。通过摄像头和人工智能算法对前方车辆、车道、交通场景进行检测识别&#xff0c;再结合对车辆运动状态和驾驶员行为的分析&#xff0c;有效预测ADAS前车碰撞、车道偏离等危险&#xff0c;并对DMS…

pytorch3d成功安装

一、pytorch3d是什么&#xff1f; PyTorch3D的目标是帮助加速深度学习和3D交叉点的研究。3D数据比2D图像更复杂&#xff0c;在从事Mesh R-CNN和C3DPO等项目时&#xff0c;我们遇到了一些挑战&#xff0c;包括3D数据表示、批处理和速度。我们开发了许多有用的算子和抽象&#xf…

好用画流程图软件推荐 excalidraw

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;蚂蚁集团高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《EffectiveJava》独家解析》专栏作者。 热门文章推荐…

《Zookeeper》源码分析(十一)之选举通信网络辅助类

目录 Listener数据结构构造函数run() ListenerHandler数据结构run() SendWorker数据结构构造函数run() RecvWorker数据结构run() Listener Listener用于管理服务器的选举端口。 数据结构 构造函数 run() Listener的主要工作是创建一系列的ListenerHandler并将他们投放到线程池…

无线充电底座

<项目>无线充电器 前言 个人DIY的无线充电底座&#xff08;带磁吸&#xff09;&#xff0c;基于IP6829方案。 Drawn By:67373 硬件部分 3D模型 资料开源链接 https://github.com/linggan17/WirelessCharge