合集-勇士传说

摘要:创建有限状态机基类 实现有限状态机 野猪巡逻状态 继承 BaseState,将原来 Enemy 的 Update 里面的一部分移动到 LogicUpdate 里面 使用有限状态机 定义状态 定义巡逻状态、追逐状态、当前状态 Enable 进入巡逻状态 Disable 退出当前状态 Update 调用 阅读全文
posted @ 2024-02-25 12:16 hellozjf 阅读(45) 评论(0) 推荐(0) 编辑
摘要:添加野猪追逐状态 using System.Collections; using System.Collections.Generic; using UnityEngine; public class BoarChaseState : BaseState { public override void 阅读全文
posted @ 2024-02-25 15:23 hellozjf 阅读(48) 评论(0) 推荐(0) 编辑
摘要:动画相关 切割图片 将蜗牛的图片切割成动画 动画状态机 这里将蜗牛的移动分为 PreMove 和 Move 两个状态,希望在 PreMove 也就是蜗牛头还没有伸出去的时候不移动,等蜗牛头伸出去之后才移动 当 walk 为 true 的时候,从 snailIdle 立马进入 snailPreMove 阅读全文
posted @ 2024-02-26 09:54 hellozjf 阅读(161) 评论(0) 推荐(0) 编辑
摘要:动画 增加一个叫 skill 的 Trigger,以及一个叫 hide 的 bool 变量 当 skill 触发,并且 hide = true 的时候,立马进入 snailHide 状态 snailHide 完整播放完一帧,并且 hide = true 的时候,进入 snailHideIdle 状态 阅读全文
posted @ 2024-02-26 10:55 hellozjf 阅读(83) 评论(0) 推荐(0) 编辑
摘要:动画 切割图片,制作动画,注意:锚点在中心点 注意:beeFly 和 beeChase 使用相同的动画,但是速度不一样 代码 Enemy 因为 蜜蜂 的行动方式与 野猪、蜗牛 都不一样,它是在空中飞的,所以它检测玩家和移动的方式都是不一样的,所以我们需要对 Enemy 中 FoundPlayer、O 阅读全文
posted @ 2024-02-26 12:48 hellozjf 阅读(86) 评论(0) 推荐(0) 编辑
摘要:动画 动画状态机改成这样 当 run = true 的时候,从 beeFly 立马切换到 beeChase 当 run = false 的时候,从 beeChase 立马切换到 beeFly 当 hurt 触发的时候,从 Any State 立马切换到 beeHurt,当 beeHurt 完整播放一 阅读全文
posted @ 2024-02-26 14:00 hellozjf 阅读(100) 评论(0) 推荐(0) 编辑
摘要:Colourful Hierarchy Category GameObject 插件 用于美化 Hierachy 窗口 通过查看 Color Palette 可以知道用法 UI InputSystem 冲突 我们的项目使用了最新的 Input System,所以需要按上图所示进行操作,以便 UI 也 阅读全文
posted @ 2024-02-26 14:50 hellozjf 阅读(115) 评论(0) 推荐(0) 编辑
摘要:使用 ScriptableObject 实现血量更新 创建 ScriptableObject 内容如下 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.E 阅读全文
posted @ 2024-02-26 15:42 hellozjf 阅读(60) 评论(0) 推荐(0) 编辑
摘要:滑墙的实现方式 动画 使用滑墙图片制作滑墙动画,只有一帧的动画 动画状态机中,增加了 onWall 这个 bool 变量,以及 blueWallSlide 这个状态 当 onWall == true 时,从 Jump 立即切换到 blueWallSlide 当 onWall == false && 阅读全文
posted @ 2024-02-26 20:41 hellozjf 阅读(228) 评论(0) 推荐(0) 编辑
摘要:动画 我们需要快速打断滑铲,所以没用结束滑铲 动画状态机中,使用了 isSlide 这个布尔变量 New State -> blueSlide0,需要 isSlide = true,立即进入 blueSlide0 -> blueSilde1,需要 isSlide = true,完整播放一次之后进入 阅读全文
posted @ 2024-02-26 22:11 hellozjf 阅读(103) 评论(0) 推荐(0) 编辑
摘要:Cinemachine 安装 cinemachine 添加 cinemachine 添加完之后,需要将 Player 作为 Cinemachine 的 Follow 对象 之后摄像机默认就能跟随玩家了,我们还可以调整一些参数 通过设置 Dead Zone 给摄像机一个缓冲值,中心点没有离开缓冲区域的 阅读全文
posted @ 2024-02-27 14:08 hellozjf 阅读(66) 评论(0) 推荐(0) 编辑
摘要:免费音乐和音效 音效:https://assetstore.unity.com/packages/audio/sound-fx/free-casual-game-sfx-pack-54116 音乐:https://assetstore.unity.com/packages/audio/music/f 阅读全文
posted @ 2024-02-27 15:19 hellozjf 阅读(54) 评论(0) 推荐(0) 编辑
摘要:修改场景中的 Grid 它们都要有 Tilemap Collider 2D 组件,并且 Is Trigger 为 true 给 水 添加 Water 标签 人物碰到水就死亡 修改 Character.cs,增加 OnTriggerStay2D 方法 添加荆棘 然后再给荆棘添加 Attack 组件 项 阅读全文
posted @ 2024-02-28 11:36 hellozjf 阅读(21) 评论(0) 推荐(0) 编辑
摘要:场景中叠加场景 将两个场景的公用部分提取到 Persistent 场景中,之后需要使用哪个场景,只需要把那个场景添加到 Persistent 场景下面就行了 注意,如果要往场景中添加物体的话,需要先把场景激活 添加宝箱 先切割宝箱图片,然后把宝箱放到场景中,给宝箱添加 Box Collider 2D 阅读全文
posted @ 2024-02-28 11:59 hellozjf 阅读(56) 评论(0) 推荐(0) 编辑
摘要:创建可互动接口 实现宝箱代码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Chest : MonoBehaviour, IInteractable { priv 阅读全文
posted @ 2024-02-28 12:55 hellozjf 阅读(41) 评论(0) 推荐(0) 编辑
摘要:使用 Addressable 如下图所示安装 Addressables 打开 Addressables 创建 Addressables Settings 创建完毕之后,就能在 Assets 目录下找到配置好的文件 我们把默认的 Group Name 改成 Scenes 然后选择场景,勾选 Addre 阅读全文
posted @ 2024-02-28 14:15 hellozjf 阅读(54) 评论(0) 推荐(0) 编辑
摘要:解决场景加载后人物坐标不正确的问题 在 SceneLoader.UnLoadPreviousScene 中,场景卸载掉之后,需要将人物隐藏 场景加载完之后,需要执行回调 在回调中,需要设置当前加载的场景,设置人物的坐标,显示人物,并发布场景完成后的事件 注意,afterSceneLoadedEven 阅读全文
posted @ 2024-02-28 15:04 hellozjf 阅读(35) 评论(0) 推荐(0) 编辑
摘要:DoTween 实现淡入淡出 定义淡入淡出事件 切换场景的时候发布淡入淡出事件 卸载场景的时候,蒙版变黑 场景加载完之后,蒙版变透明 创建 FadeCanvas 以及监听淡入淡出事件 项目相关代码 代码仓库:https://gitee.com/nbda1121440/2DAdventure.git 阅读全文
posted @ 2024-02-28 15:40 hellozjf 阅读(73) 评论(0) 推荐(0) 编辑
摘要:最终形态 新建一个场景 Menu,将物品摆放上去,并在上面添加文字,文字使用 TextMeshPro,字体使用得意黑 此外还要注意,Game Scenes 里面要添加名为 Menu 的 GameSceneSO Menu 场景也要放到 Addressable 上面 制作完主场景之后,有两件事需要注意 阅读全文
posted @ 2024-02-28 20:02 hellozjf 阅读(26) 评论(0) 推荐(0) 编辑
摘要:实现新的冒险 添加 New Game Event SO 使用 Void Event SO 创建 New Game Event SO 点击新的冒险发布事件 订阅新的冒险事件 由 SceneLoadManager 订阅事件 为了区分菜单场景和第一次加载场景,分别使用的 MenuScene MenuPos 阅读全文
posted @ 2024-02-28 21:37 hellozjf 阅读(47) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示