Unity
生命周期1)游戏对象生命周期 游戏对象的生命周期主要有这几个状态:创建、激活、禁用和销毁。游戏对象的状态直接影响挂载在其上的脚本的生命周期和函数调用。 ①创建:游戏对象被创建时,它的所有组件(包括脚本)都会被初始化,但这时脚本的生命周期方法尚未被调用。 ②激活:当游戏对象被激活时,脚本的生命周期方法开始生效。如果游戏对象在场景中被激活或设置为启用状态,那么挂载在该对象上的所有脚本附加的脚本会按顺序调用OnEnable()、Start()等生命周期函数。 ③禁用:当游戏对象被禁用时,游戏对象及所有挂载的脚本会停止调用生命周期函数,直到它再次被启用。 ④销毁:当游戏对象被销毁时,它和所有附加的组件(包括脚本)都会被清理,相关的生命周期方法会被调用来处理清理工作。 2)脚本生命周期 只有继承了MonoBehavior的脚本才可挂载到游戏对象上,这样的脚本才有生命周期。脚本的生命周期与游戏对象的状态密切相关,但脚本的生命周期函数会按照固定顺序执行,即该脚本从创建到销毁的各个阶段,这就是我们说的Unity的生命周期。 Unity生命周期的主要阶段及各个阶段常用的生命...
SurviveShootGame
角色移动通过RigidBody组件,Capsule Collider组件角色添加碰撞器以刚体组件,通过Player Movement脚本挂载到人物的模型上移动 1234567891011121314151617181920212223242526using UnityEngine;public class PlayerMovement : MonoBehaviour{ public float MoveSpeed = 6f; private Rigidbody rb; //private CharacterController player; private void Awake() { rb = GetComponent<Rigidbody>(); //player = GetComponent<CharacterController>(); } private void FixedUpdate() { float x = Inp...
PuzzleGame
BUG :生成数字的颜色不一致,无法正确区分答案的颜色和题目数字的颜色 SudoKu(数独)🎯 核心任务 数独游戏基础逻辑实现 1.数独游戏的算法实现,回溯法实现数独,不继承MonoBehavior,使用静态方法创建。因为数独的逻辑判定是纯数据逻辑,与GameObject无关,不依赖于游戏对象。 核心思想:关于数独算法的实现,使用回溯法去实现,所有可能的候选解,并在发现当前选择无法导致最终解时进行回溯,撤销上一步的选择并尝试其他可能性。在数独求解中,该算法从第一个空白格子开始,依次尝试填入数字1到9,并通过递归处理后续的空格。如果某个数字的填入导致后续无法合法填充,算法会回溯到上一个空格,尝试其他数字,直到找到解或确定无解。 算法详解: 遍历数独数组,寻找值为0(表示空白)的单元格。对于找到的空白值,尝试找到从 1 - 9的每个值,在填入数字前,使用IsValid方法检查该数字在当 前行、当前列以及所在的3x3子网格中是否已经存在。如果存在重复,则尝试下一个数字。(遍历指定行,确保没有重复数字,遍历指定列,确保没有重复数字,计算当前单元格所在的3x3子网格的起始位置,然...
gitee团队协作
Git团队协作标准化流程一套清晰的流程能让大家步调一致,下面的流程图展示了一次完整的功能开发与集成周期,其中也包含了冲突处理的关键节点。 以下是每个环节的操作要点和常用命令: ✨ 开始新功能:从主分支创建你的功能分支 始终从稳定的主分支(如 main或 master)创建新分支进行开发,这能有效隔离不同任务的工作内容。 123456# 切换到主分支并获取最新代码git checkout maingit pull origin main# 创建并切换到新功能分支git checkout -b feature/your-feature-name 💻 独立开发:在功能分支上提交更改 在你的分支上自由地开发、测试和提交。频繁提交是小步前进的好习惯。 1234# 添加修改到暂存区git add .# 提交更改并写清注释git commit -m "描述本次提交完成的具体工作" 🔄 同步更新:定期将主分支变更合并到你的分支 在开发过程中,定期将主分支的最新更新整合到你的分支,这是预防冲突最有效的方法之一。你有两种主要选择: 合并(Merge):更简单安全,会保...
DoTween
Unity DoTween 详解一、概述DoTween(现称为 DG.Tweening)是一个功能强大、性能优异的Unity动画插件,它提供了比Unity原生动画系统更简洁、更灵活的API来创建各种补间动画。 二、安装方法1. 从Asset Store安装(推荐新手)- 在Unity Asset Store中搜索”DOTween (HOTween v2)” - 免费版功能完整,专业版(收费)提供额外功能 2. 通过Git URL安装(Package Manager)- 打开Package Manager → Add package from git URL - 输入:https://github.com/Demigiant/dotween.git?path=Demigiant/DOTween/Assets/DOTween 3. 安装后设置12345// 第一次使用前需初始化using DG.Tweening;void Start() { DOTween.Init();} 三、核心功能与语法1. 基本动画方法12345678910...
bysj
好的,收到你的毕业设计全文。我将严格按照你的要求,基于这份文档,对每一章、每一节进行极其详细、深度的梳理与总结,生成一份总字数约15000字的Markdown格式内容。这份内容将直接为你后续制作PPT提供详实、结构化的素材。 《基于Unity的农场种植游戏系统设计与实现》毕业设计深度总结(PPT制作素材版)第1章 绪论:研究背景、意义与现状1.1 研究背景及意义1.1.1 宏观市场背景:休闲模拟游戏的黄金时代 市场数据支撑:引用《2023年中国游戏产业报告》,中国游戏市场实际销售收入达3029.64亿元,其中移动游戏市场收入2268.60亿元,占比超过75%。模拟经营类游戏在移动端占据了约15.6%的份额,市场体量巨大且增长稳定。 用户需求分析:休闲模拟类游戏因其“操作简单、上手轻松、玩法丰富、节奏可控”的特点,完美契合了现代玩家(特别是轻度玩家和碎片化时间用户)的心理需求。它不是竞技游戏的“紧张刺激”,而是一种“田园牧歌”式的精神放松。 农场游戏的历史与热度:农场种植游戏作为模拟经营的核心分支,从PC时代的《开心农场》到移动时代的《Hay Day》、《梦想小镇》,其核心玩法“...
Addressables
Addressables效果更好的AB包,功能模块很类似
类和对象
只有main函数可以没有返回值 默认返回0 其他函数都要有返回值 或者void cout << “Hello World” << endl实际上这个 « 是重载运算符 可以认为是个函数是把hello world推到cout流中 然后在终端输出 endl是换行 编译c++并不关心你的文件 文件只是提供给编译器源代码的一种方式 你负责告诉编译器 你输入的是什么类型的文件 以及编译器应该如何处理它 头文件实际上是编译器预处理的 事先复制到了cpp文件中 于是头文件就和cpp一起被编译了 每个cpp文件都被编译成了object file(.obj)目标文件 然后用link粘合起来就是exe可执行文件 编译一个cpp就是obj 编译整个项目就是exe #include 实际上就是预处理器打开这个头文件 阅读它的所有内容 然后把它粘贴到你写的内容里 所以你可以写自己的头文件 命名为 什么什么.h 1234567//EndBrace.h 自己写的头文件 内容只有一个}右括号}//function.cppint function(){ //里...
高级篇
字符串1.字符串的基础语法123456789101112131415关于字符串的更多方法1、CompareTo()方法,比较字符串的内容2、Replace()用另一个字符或者字符串替换字符串中给定的字符或者字符串3、Split()在出现给定字符的地方,把字符串拆分称一个字符串数组4、SubString()在字符串中检索给定位置的子字符串5、ToLower()把字符串转换成小写形式6、ToUpper()把字符串转换成大写形式7、Trim()删除首尾的空白8、Concat()方法,合并字符串9、CopyTo()方法,把字符串中指定的字符复制到一个数组中10、Format()方法,格式化字符串11、IndexOf()方法,取得字符串第一次出现某个给定字符串或者字符的位置12、IndexOfAny()方法,13、-nsert()把一个字符串实例插入到另一个字符串实例的制定索引处14、Join()合并字符串数组,创建一个新字符串 2.字符串的存储位置引用类型本质:string是System.string的别名(通过Using System),属于引用类型,实例存储在堆区。 不可变性:字符...