游戏引擎
文章平均质量分 74
带着满怀热情,一起奋斗
龙卷风爱卷
踏上编程之路!
展开
-
【Unity入门】协程(IEnumerator)的使用方法介绍
协程在Unity中是一个很重要的概念,我们知道,在使用Unity进行游戏开发时,一般(注意是一般)不考虑多线程,那么如何处理一些在主任务之外的需求呢,Unity给我们提供了协程这种方式。为啥在Unity中一般不考虑多线程?因为在Unity中,只能在主线程中获取物体的组件、方法、对象,如果脱离这些,Unity的很多功能无法实现,那么多线程的存在与否意义就不大了。线程与协程有什么区别?对于协程而言,同一时间只能执行一个协程,而线程则是并发的,可以同时有多个线程在运行。原创 2024-05-13 16:59:08 · 646 阅读 · 0 评论 -
【Cocos入门】保存数据到本地的几种方式
选择哪种方式取决于你的具体需求,例如数据量大小、是否需要持久化、数据类型等。通常,对于简单的数据,使用cc.sys.localStorage就足够了;对于大型或复杂的数据,推荐使用文件存储。这是一个基于浏览器的LocalStorage API的简单封装,适用于小型数据的本地持久化存储。你可以将数据转换为字符串,然后使用cc.fs模块的API将其保存到文件中。这适用于更复杂的数据结构,并且会进行序列化和反序列化。cocos保存数据到本地。原创 2024-05-09 11:36:54 · 196 阅读 · 0 评论 -
unity虚拟摇杆控制的实现
手机游戏,经常会用到摇杆来控制角色,本文记录了如何在unity中用比较简单的方法制作摇杆,并且实现摇杆控制角色左右移动。原创 2024-04-26 15:42:28 · 274 阅读 · 0 评论 -
【Unity入门】详解Unity中的射线与射线检测
碰撞检测可以帮助我们实现诸如抵达某个地点自动触发剧情、判断子弹是否击中玩家等功能,但我如果想要实现如当鼠标悬浮某个人物上,自动弹出该人物信息,要如何判断呢?这时使用碰撞检测,从摄像机生成一个透明碰撞体朝着人物移动,等碰撞到了人物再弹出该人物信息?会不会太繁琐了。或许你又会想,若我直接生成一个足够长的透明碰撞体呢,是不是在创建的那一刻就可以触发该人物的弹出信息逻辑?没错这样的确可以,而这就是射线!不过是把无限长的透明碰撞体变为了无限长的一条线,仅此而已。原创 2024-03-17 02:27:56 · 2549 阅读 · 0 评论 -
[Cocos入门]缓动系统
相对于 easing,自定义 progress 函数可以更自由的控制缓动的过程。// 对所有属性自定义 progress})// 对单个属性自定义 progressscale: 2,// 注意,传入的属性为 cc.Vec3,所以需要使用 Vec3.lerp 进行插值计算})原创 2024-02-21 17:37:09 · 398 阅读 · 0 评论 -
【Cocos入门】物理系统(物理碰撞)
物理引擎默认是关闭状态以节省资源开销。但有一个区别,物理引擎的开启必须放在函数内运行,否则不生效。物理碰撞组件也同样具有碰撞回调函数。但如果要使用回调函数,则必须开启刚体的或者 在代码中写。执行顺序:onBeginContact > onPreSolve > onPostSolve > onEndContact上述回调函数的参数解释如下:contact: cc.PhysicsContact 碰撞信息self: cc.PhysicsCollider 自己。原创 2024-02-15 22:54:36 · 526 阅读 · 0 评论 -
【Cocos入门】物理检测
CoCos中,物理检测也是物理系统的一部分,它不是用于检测物体的物理特性的,而是用来查询物体的(比如某个地方是否存在物理碰撞体)。其又分成:点检测、矩形检测和射线检测。点测试将测试是否有碰撞体会包含一个世界坐标系下的点,如果测试成功,则返回一个包含这个点的碰撞体。矩形测试将测试指定的一个世界坐标系下的矩形,如果一个碰撞体的包围盒与这个矩形有重叠部分,则这个碰撞体会被添加到返回列表中。射线测试用来检测给定的线段穿过那些碰撞体,我们还可以获取到碰撞体在线段穿过碰撞体的那个点的法线向量和其他一些有用的信息。原创 2024-02-15 22:51:42 · 656 阅读 · 0 评论 -
【Cocos入门】物理系统
开启物理引擎后,游戏运行,会发现添加了刚体的节点会受到重力影响向下自由落体。物理引擎默认是关闭状态以节省资源开销。但有一个区别,物理引擎的开启必须放在。函数内运行,否则不生效。原创 2024-02-12 19:55:53 · 548 阅读 · 0 评论 -
【Cocos入门】场景切换(loadScene、preloadScene)
【代码】【Cocos入门】场景切换(loadScene、preloadScene)原创 2024-02-08 20:53:07 · 708 阅读 · 0 评论 -
【Cocos入门】AudioEngine函数的使用
cc.audioEngine提供了不同的音效播放方法这些不同的播放实际上是Cocos帮我们区分了音频文件的类型。直接拿文档给的代码方法。原创 2024-02-02 00:37:58 · 517 阅读 · 0 评论 -
【Cocos入门】Cocos resources 加载资源
通常我们会把项目中需要动态加载的资源放在 resources 目录下,配合 resources.load 等接口动态加载。你只要传入相对 resources 的路径即可,并且路径的结尾处 不能 包含文件扩展名。所有需要通过脚本动态加载的资源,都必须放置在 resources 文件夹或它的子文件夹下。resources 文件夹需要在 assets 根目录 下手动创建。如下所示:resources 文件夹中的资源,可以引用文件夹外部的其它资源,同样也可以被外部场景或资源所引用。原创 2024-02-02 00:02:42 · 1279 阅读 · 0 评论 -
【Cocos入门】Cocos中的定时器 (setTimeOut 、setInterval、Schedule以及scheduleOnce )
延迟3秒后,输出abc,此后每隔1秒输出abc,重复5次。所以最终会输出5+1次abc。删除schedule(若要删除,则不能再使用匿名函数了,得能访问到要删除的函数)相当于一个全局的计时器吧,在cc.director上。1秒后输出abc,重复执行,每秒都会输出一个abc。每个继承cc.Component的都自带了这个计时器。以下schedule被删除后,并不会执行。删除计时器,3秒后不会输出abc。删除计时器,不会再输出abc。原创 2024-01-31 20:11:45 · 835 阅读 · 0 评论 -
【Cocos入门】脚本生命周期简介及常用方法
脚本作为我们游戏的“灵魂”,往往不单独存在,而是经常作为组件的形式挂载到特定的游戏物体身上,比如: 游戏主角,敌人,Boss,子弹,建筑物…脚本的生命周期,也就是所挂载到的游戏物体的生命周期脚本的生命周期,就是挂载到的游戏物体“从出生到死亡”,所经历的一些事件。这些生命周期事件,是一些特定的方法,且是由 Cocos 引擎事先定义好的,在游戏的运行过程中,由引擎自动调用。这些生命周期事件,全部定义的 cc.Component 这个类中。也就意味着只有继承自这个类的脚本,才有这些生命周期事件。原创 2024-01-24 23:47:19 · 558 阅读 · 0 评论 -
怎么在unity3D工程中导入Newtonsoft.Json
在搜索框中输入 “Newtonsoft Json” 进行搜索。(注意要选择Unity Registry)转到菜单栏的 “Window”(窗口)选项,然后选择 “Package Manager”(包管理器)在搜索结果中,会看到 “Newtonsoft Json” 或类似名称的项目。等待 Unity 下载并安装 Newtonsoft.Json 包。单击搜索结果下方的 “Install”(安装)按钮。打开 Unity 编辑器。原创 2024-01-11 00:00:20 · 892 阅读 · 0 评论 -
【Unity入门】MenuItem 和 ContextMenu 的使用方法
但是这里有个问题就是,我们并不能够像 GameObject/XXX 这样,把选项放在 UI 的外面,这样做的话,我们只会在顶部栏的 GameObject 目录下发现那个XXX的选项,在 Hierarchy 什么也不会有,这点需要大家注意。这段的意思就是,如果你没有选中任何游戏对象,或者你选中的不是GameObject类型的对象时,MenuItem/Selected GameObject选项会是被禁用的(灰色)状态,只有选的是指定类型的选项时,才是正常的可点击状态。原创 2024-01-01 03:28:52 · 1989 阅读 · 0 评论 -
【Unity入门】热更新框架之xLua
xLua是由腾讯维护的一个开源项目,xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能、易用性、扩展性而广受好评。现在,腾讯已经将xLua开源到GitHub。原创 2023-12-30 02:30:44 · 1854 阅读 · 0 评论 -
【Unity入门】RequireComponent的使用
RequireComponent 属性自动将所需的组件添加为依赖项原创 2023-12-28 18:18:47 · 992 阅读 · 0 评论 -
【Unity入门】UGUI之Slider(滑动条)
Slider主要有3部分,一个是最底层的Background,然后是Fill(进度),然后就是Handle(圆点)原创 2023-12-28 17:20:45 · 1438 阅读 · 0 评论 -
【Unity入门】PlayerPrefs简介及使用
PlayerPrefs 是Unity内置的一个静态类,可以用于存储一些简单的数据类型:int ,string ,float原创 2023-12-26 14:30:49 · 912 阅读 · 0 评论 -
【Unity入门】NGUI和UGUI比较
NGUI需要使用工具手动拼接图片成图集。UGUI开发期间可以直接使用图片作为元素,打包时会自动拼接成图集。图集的alpha拆分功能,NGUI可以通过增加工具类和shader来做,UGUI有自带的alpha拆分功能方便许多。组件支持功能比较。原创 2023-12-24 15:13:18 · 1356 阅读 · 1 评论 -
【Unity入门】物体5种移动方法
物体5种移动方法总结原创 2023-12-17 14:45:29 · 3741 阅读 · 1 评论 -
【Unity入门】声音组件AudioSource简介 及实现声音的近大远小
(3)Mute(是否静音):主要是针对游戏中的音效,优势在于不会卸载声音数据,可以做到及时播放,音效一般比较多、占用内存小,使用静音可以让画面快速响应,且可以立刻恢复当前音效。(11)Pitch(音调):播放音频时速度的变化量 ,默认值1,表示正常的播放速度。(13)Spatial Blend(空间混合):指定音源是2D音源(0)、3D音源(1)或者是二者插值的复合音源。(9)Priority(播放优先级):决定音源在场景中存在的所有音源中的播放优先级。(10)Volume(音量):调节音量的大小。原创 2023-12-02 23:09:33 · 2383 阅读 · 1 评论 -
【Unity入门】脚本生命周期简介及MonoBehaviour常用方法
脚本作为我们游戏的“灵魂”,往往不单独存在,而是经常作为组件的形式挂载到特定的游戏物体身上,比如: 游戏主角,敌人,Boss,子弹,建筑物…脚本的生命周期,也就是所挂载到的游戏物体的生命周期脚本的生命周期,就是挂载到的游戏物体“从出生到死亡”,所经历的一些事件。这些生命周期事件,是一些特定的方法,且是由 Unity 引擎事先定义好的,在游戏的运行过程中,由引擎自动调用。这些生命周期事件,全部定义的 MonoBehaviour 这个类中。也就意味着只有继承自这个类的脚本,才有这些生命周期事件。原创 2023-11-30 15:30:59 · 1224 阅读 · 1 评论 -
【Unity入门】LayerMask小结
LayerMask常用的几种方法原创 2023-11-27 03:20:06 · 929 阅读 · 0 评论 -
【Unity入门】Input.GetAxis(““)控制物体移动、旋转
Input.GetAxis("") 是 Unity 引擎中的一个方法,用于获取游戏玩家在 键盘 或 游戏手柄 上输入的某个轴(Axis)的值。这里的 "" 是一个字符串参数,表示要获取的轴的名称原创 2023-11-25 18:18:01 · 1985 阅读 · 1 评论 -
【Unity入门】碰撞检测
在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。这两种方式的应用非常广泛。原创 2023-11-24 16:53:49 · 1194 阅读 · 0 评论 -
【Unity入门】鼠标输入和键盘输入
Unity的Input类提供了许多监听用户输入的方法,比如我们常见的鼠标,键盘,手柄等。我们可以用Input类的接口来获取用户的输入信息原创 2023-11-22 21:25:17 · 1264 阅读 · 0 评论