- 博客(216)
- 资源 (7)
- 收藏
- 关注
原创 Cocos Creator 基于ab包的资源管理的原理
在加载了 ab 包之后,可以使用 AssetBundle 类的 LoadAsset 或 LoadAssetAsync 方法来加载 ab 包中的资源。BuildAssetBundle 方法接受一个资源路径和一个保存路径作为参数,可以将指定路径下的所有资源打包成一个 ab 包,并保存到指定的路径中。在上面的代码中,首先使用 LoadFromFile 方法加载名为 "resources.ab" 的 ab 包,然后在加载完成后使用 LoadAsset 方法从 ab 包中加载名为 "texture" 的纹理资源。
2023-03-29 18:26:29
76
原创 Unity shader实现水波的技术原理
在这个 shader 中,我们定义了三个属性:_MainTex 表示水面的纹理,_Speed 表示水波的速度,_Height 表示水波的高度。在顶点着色器中,我们通过计算 sin 函数来模拟水波的振动,并将计算出的偏移量应用到顶点的位置上。首先,我们需要了解一下水波的物理原理。水波是由于水面上的液体分子在受到外力作用时发生的振动而产生的,这种振动可以传递到水面上的其他区域,形成波纹。综上所述,通过 Unity shader 来实现水波效果的原理是模拟水面上的振动,并将计算出的偏移量应用到水面的顶点上。
2023-03-28 18:47:21
12
原创 Unity 实现一个FPS游戏的全过程
在上面的代码中,我们定义了一个名为“FPSController”的脚本,并定义了几个变量,包括移动速度、鼠标灵敏度和平滑度。然后,我们将角色的移动应用到角色的位置上。在上面的代码中,我们定义了一个名为“EnemyAI”的脚本,并定义了几个变量,包括玩家、移动速度、检测范围、攻击范围和攻击延迟。在本文中,我们使用Unity实现了一个FPS游戏的全过程,从场景设计、角色控制、敌人AI到最终的打包发布。在本文中,我们将使用Unity实现一个FPS游戏的全过程,从场景设计、角色控制、敌人AI到最终的打包发布。
2023-03-27 18:43:20
336
原创 huatuo示例项目源码分析与启发
由huatuo的特性,你装载哪个.dll,就可以动态解释执行对应的.dll的代码指令。把最新的一份.dll与md5文件列表放服务器,把本地md5文件列表放包里,每次运行,我们增量下载最新版本的.dll后,我们只要比较服务器上的.dll md5文件列表,与当前版本对应.dll的md5文件列表,决定出哪些.dll需要装载进入il2cpp_huatuo,就直接装载即可实现热更新,那些没有变化的.dll,表示可以直接使用AOT模式下的机器指令,不用热更解释执行IL指令的.dll。框架代码+游戏逻辑。
2023-03-24 12:01:04
104
原创 为什么这么NB?huatuo革命Unity热更新
有了CLI的标准,Mono就诞生了, 该项目的目标是创建一系列符合ECMA标准(Ecma-334和Ecma-335)的.NET工具,包括C#编译器和通用语言架构。,没有跨域访问的问题。我们来拿xLua或ILRuntime热更方案来举例,这些方案都有一条原则,尽量减少与Unity C#层的交互,但是这种交互又避免不了而且量大,比如我们要在逻辑热更代码里面访问 Unity C#的GameObject对象数据,最终在运行的时候,GameObject 会在AOT模式下的原生内存数据结构对象。il2cpp是什么?
2023-03-16 17:59:39
935
原创 URP渲染管线光照机制剖析
游戏引擎把所有主光源的颜色值叠加好以后,传递给URP的Shader,把所有Additional Lights的光源数据传递给 URP的Shader, URP Shader 获取光源数据,用来做光照计算,来着色, 而向前渲染管线是每个重要光源经过一次pass计算,来叠加到最后得颜色,这样做得有点是可以任意数目的光源与光照计算,缺点是多次绘制性能受影响。(2) 传统渲染管线,采用是逐顶点光照,还是逐像素光照,都是由Shader的实现来决定,而URP把这个开关放到了光源这边,这样方便我们进行响应的配置与调整。
2023-02-23 10:44:33
256
原创 横板格斗类游戏实战:游戏数值策划表
a, b, c方案中,a最直接,但是Excel的表格格式对应的解析格式好像是不开源的,多平台移植的时候,可能会有些问题, b方案解析csv代码简单,通用,所以很多项目都用这种方式,c 编写一个额外的脚本,将Excel转成json的文本格式用json库来解析,Json解析库也是非常通用的。表格字段有ID、部位、部位名称、名字、穿戴等级、买⼊价格、卖出价格、介绍、物攻、防御、⾎量、暴击、布、铁、印、⾦币。详细的数值配置表,可以关注我们,领取游戏的Excel表格文件,来进行查阅,了解整个游戏的数值。
2023-02-21 09:21:39
366
原创 横板格斗类游戏实战:战斗核心玩法
游戏开始后,根据关卡,生成游戏地图,生成怪物。升级玩家对象,同时生成游戏的操作UI,游戏的UI,分触摸操作+键盘操作。触摸操作用摇杆+按钮,键盘操作用方向键与技能按键,每个技能上有个字母,表示的是放这个技能的键盘对应的按键,如上图的K,H,Y,O。上一节讲解了游戏的周边,如登陆奖励,任务,商店等,本节来分析游戏战斗中的一些核心的玩法。通关当前章节后,可使用恶魔之印挑战恶魔模式,主要装备来源。今天的游戏玩法介绍就到这里,下一节讲解游戏的数值与策划表。每个小节,打完小怪后,会有一个打怪镇守。
2023-02-20 09:25:29
101
原创 横板格斗类游戏实战:核心玩法介绍(一)
每日登录奖励”是运营拉升用户活跃度的一种手段,连续不间断登录,奖品越来越大,对玩家越来越有吸引力,使得他每天都习惯性的来登录一下领取奖励,是一种典型的运营活动。“宝箱抽奖”:通过抽奖活动,提升用户的活跃度,同时通过抽取奖品获得奖励,这里还引入广告,用户看完广告以后获得更多的抽奖的权力等。大厅的主要功能与游戏的周边以及游戏的基本的逻辑关系本节就给大家介绍到这里,下一节介绍游戏战斗中的核心玩法。我们先来看游戏大厅的基本内容,游戏的所有入口都在里面,如图2-1所示。
2023-02-16 09:03:26
242
原创 Cocos Creator 3.x开发《切水果3D》
每个水果的结果都类似,如下图榴莲这个水果, 根节点durain下面durain01, durain02两个节点,这两个节点分别表示水果切开后的两个模型节点,另外一个子durain节点是整体的水果的节点。在这个项目种的一个核心的实现就是生成水果与抛出水果,我们先来看生成水果,我们做一个GameMgr的脚本用来管理整个《切水果》的逻辑。我们刚开始做项目的时候,首先要准备好项目的资源,一个游戏项目包含的资源大致分为:3D场景, 3D角色,3D粒子与特效, 游戏音乐音效,2D UI界面, 游戏数据配置表等。
2023-02-13 09:21:46
376
原创 游戏服务器性能测试分析实战
问题5, 测试服务端请求Redis的情况,彻底排除掉Redis的影响,因为本次的性能测试请求与Redis有关。遇到这类问题,我们首先要做问题分析,在处理问题之前,一定要了解清楚并发时候的服务端技术架构组成,以及相关信息,然后再对问题做出对应的判断与调试。今天的分享就到这里了,问题比较简单,但是分析的思路值得推荐给大家,所以我就写了这个文章,关注我,可以获得更多游戏开发的文章与教程。经过上面的调查,我们总结了一下相关的情况,单次访问Redis正常,从请求到返回耗时大约是40ms, 说明整个链路没有大问题。
2023-02-09 20:10:37
309
原创 cocos creator新手教程:第003节3D模型的基本概念
美术交付的时候就包含了 fbx模型文件与模型的纹理贴图,当然还有其它的一些细节增强的贴图,如法线贴图等,fbx存放的是模型的顶点数据等,纹理贴图就是物体的表面颜色。模型动画其实就是模型的顶点在一段时间内的连续变换,比如一组待机动画,哪些顶点会动,如何动,每个顶点在动画中每一帧的的位置如何,这样每一帧,顶点的位置不一样,然后把每一帧播放出来,计算出顶点在这一帧的位置(动画采样), 每一帧,顶点的位置不同,人眼会把每帧的相关形状补间起来,形成了动画的感觉,叫做。模型中顶点的坐标我们又叫做顶点的模型坐标。
2023-01-14 09:11:46
878
原创 Unity基于状态机的架构与设计
如上面的代码所示, 当状态机执行NodeInit节点状态的时候,会初始化时调用OnEnter接口, NodeInit的OnEnter接口中,调用了Init函数来做初始化,首先会创建一个UIRoot, 然后把资源加载界面显示出来,完成资源加载后,进入到登录逻辑节点场景,注意这里,状态机就由原来的NodeInit切换到NodeLogin状态机节点。有了上面的分析,我们对状态机就了解的很清楚了,自然设计一个状态机用来控制游戏的跳转控制逻辑就是非常简单的事情了,我们把游戏中的基于状态机的控制分成。
2023-01-09 08:59:44
483
原创 cocos creator:第002节创建项目与显示第一个物体
场景创建完成以后,我们创建一个3D物体到游戏场景中,游戏引擎内置了一些标准的几何体,比如立方体(Cube), 球体(Sphere)等,所以我们先创建几何体放场景中显示出来,我们来创建一个Cube吧,在场景编辑器中,鼠标右键”创建/3D对象/Cube立方体”,场景中会创建一个Cube的节点出来,ctrl + s保存以下当前的场景改变,双击以下当前的的”Cube”节点,这样编辑器中央就会对准 刚才创建出来的Cube物体,如下图所示。,这样你编辑的是哪个场景,预览运行的就是哪个场景。
2023-01-05 08:14:13
109
原创 初识Cocos Creator
并把这个游戏引擎项目开源,叫做cocos2d-x。刚接触Cocos家族的时候,会有很多个Cocos的版本与分支,比如Cocos2d, Cocos2d-x, Cocos Creator 1.x, Cocos Creator 2.x, Cocos Cretor3D, Cocos Creator 3.x, CocosDashboard, 等我们先把Cocos 的主要产品脉络梳理一遍。如果2D/3D选错了,其实也不要紧,编辑的时候是可以切换的,只是2D项目默认进去是2D相关的设置,3D默认进去是3D相关默认设置。
2023-01-04 08:58:06
339
原创 Cocos Creator 常见错误排查方法
很多初学者就会怀疑人生了,其实这个时候往往是一个组件类的N个实例导致的,都会跑update的打印代码,但是由于他们是不同组件实例,所以导致数据不同,一个组件实例的数据是正常的,一个是异常的,我们只要找出异常数据的组件实例就可以了,如何找呢?打印一下组件所在节点的名字,看下这个错误异常数据的节点的名字是谁就可以了。从每个API的函数的名字,表示的是这个函数的功能与作用,每个参数的名字,表示的是传入的数据类型等,返回值说明能告诉你这个函数的返回值,通过多阅读API接口来提升自己的处理问题的能力。
2023-01-02 09:29:49
661
原创 Unity 搭建ILRuntime开发环境
有个小技巧,你打开标准的Unity项目工程,在” Assembly-CSharp”这里的引用就能看到我们使用的Unity的.dll, 例如我们要使用动画播放组件Animation, 它在UnityEngine.AnimationModule.dll里面,你就可以复制路径,找到这个.dll,然后把这个.dll拷贝到”逻辑热更项目”的UnityDlls里面,然后在。,同时把unity引擎里面的.dll的库添加引用到逻辑热更项目中,这样我们在开发游戏逻辑的时候就能直接引用到Unity的API和相关的智能提示。
2022-12-29 09:10:43
309
原创 Unity_IL2CPP常见问题分析
Unity 编辑器模式下是采用.net 虚拟机解释执行.net 代码,发布的时候有两种模式,一种是mono虚拟机模式,一种是il2cpp模式。由于Android/iOS不同的版本对编译器(NDK/xcode)的版本要求也是不同的,而大多数同学下载的NDK/xcode 是网络上的一个版本,不一定匹配上unity 编译Android/iOS时对应的版本,所以如果在发布il2cpp模式过程中,当我们遇到编译错误的时候,首先先编译空项目,看看是不是NDK,SDK,xcode的版本不匹配导致的。
2022-12-28 09:37:23
1105
原创 从FrameDebugger看Unity渲染
FrameDebugger显示渲染有3个部分,第一个是Camera.Render, 表示的是基于场景中的摄像机引起的渲染。Unity内置渲染管线是基于摄像机来进行渲染的,每个摄像机按照摄像机的渲染顺序来依次渲染,渲染完一个摄像机,再渲染下一个摄像机。在摄像机范围内的物体会被Unity渲染,不在摄像机范围内的物体,是不会被摄像机渲染的。今天的FrameDebugger与渲染的分享就到这里了,关注我们,获取更多的渲染优化相关的教程与知识。
2022-12-27 08:46:39
821
原创 BEPU物理引擎碰撞系统的架构与设计
物理Entity有一个Specific列表保存了一些物理的Entity实例以及与这些Entity实例的碰撞规则,如果碰撞对中的Entity实例在这个表中,就返回这个表中的碰撞规则。延后决定,一个比较特殊的状态,上面说了有3个地方可以决定碰撞策略,如果某一个地方没有碰撞策略,就返回CollisionRule.Defer,进入到下一个地方。,使得物理Entity与周围的物理环境产生碰撞时,如何灵活的控制物理碰撞,本节給大家详细的讲解BEPUphysicsint 物理引擎内部是如何管理与控制碰撞规则的。
2022-12-22 08:56:03
557
原创 重构物理Entity架构,支持更多的形状
而且其它的形状的物理Entity,除了形状创建会不一样,其它基本一样,所以我们调整一下设计,把PhyBoxEntity与物理形状相关的代码放到PhyBoxEntity里面,与形状无关的物理Entity的基本功能,我们放到PhyBaseEntity里面,然后让具体的形状在扩展的时候继承PhyBaseEntity即可。本节来从新调整设计,让物理的Entity基本操作与物理的形状分离,支持更多的物理形状,支持物理entity与Unity物体位移与旋转同步。3: 编写其它的形状的物理Entity;
2022-12-20 08:57:43
422
原创 基于Unity整合BEPUphysicsint物理引擎实战
我先查找名字benchmark的意思,benchmark的英文有类似单元测试,实例代码的意思,所以这两个文件夹下的代码应该是供我们整合到项目做的实例参考,可以阅读里面的源码,但是不用放Unity源码编译。这里还有一个问题,就是物理Entity的大小设置无法像Unity自带的物理引擎一样,可视化编辑,其实这个问题很好解决,我们的策略是添加Unity对应的物理碰撞器组件 (如: BoxCollider),利用Unity做好的功能特性来编辑物理Entity大小与中心,运行的时候读取数据即可。
2022-12-19 09:12:45
467
原创 BEPUphysicsint碰撞事件详解
每个可碰撞的物理Entity的有一个Collidable 对象,通过访问它的CollisionInformation属性就能获取得到,每个Collidable 都有一个自己的ContactEventManager, 通过访问Events 的每个Event的属性,就可以往里面添加回调函数,就可以获得该事件。本文主要详解由物理碰撞所导致的事件。物理事件的回调函数,都是物理引擎执行中回调的,有可能有些操作会改变物理引擎运行环境的Context,导致不安全的操作与异常,如何在回调函数中正确的安全的处理呢?
2022-12-16 09:14:13
313
原创 BEPUphysicsint定点数3D物理引擎使用
物理世界创建出来后,目前世界是空的,没有任何物理Enity,接下来就是往物理世界里面放一些物理的Entity。物理事件包括了触发与碰撞。世界创建后,需要模拟迭代物理计算,所以在游戏框架中的某个Update/FixedUpdate的地方来迭代物理世界,代码很简单,调用space的Update接口就可以了。在很多物理Entity中,有一个比较特殊,叫做StaticMesh, 一般我们用来模拟复杂物理环境,它的本质就是根据3D物体的Mesh来创建一个物理Entity出来,形状和3D Mesh一样。
2022-12-15 09:18:16
315
原创 BEPUphysicsint定点数3D物理引擎介绍
如果我们的物理引擎使用定点数计算,最后虽然将定点数转化为Unity Transform的相关浮点数显示物体位置,但是最终在决定物理碰撞,游戏事件中, 物理移动中都是定点数化后的整数运行,所以这样就做到了物理引擎迭代的确定性。, 那么1.2对应的定点数为12, (定点数是对应的小数扩大10倍后取整), 如果确定精度是小数点后2位,那么1.2对应的定点数位120(定点数是对应的小数扩大100倍)。帧同步的游戏中如果用物理引擎,为了保证不同设备上的结果一致,需要采用定点数来计算迭代游戏过程中的物理运算。
2022-12-13 08:50:13
354
原创 Unity Mesh切割算法详解
比如3D切水果, 在地图的城墙上挖一个洞,今天给大家来分享一个Mesh切割的算法,帮助大家解决项目中需要用到的Mesh切割的问题。在详细的讲解Mesh切割算法之前,先给大家讲解一下一个模型的Mesh数据主要包含哪些部分,等下生成新的Mesh的时候,我们知道每一部分的数据都代表什么。根据切割面,来将物体分成正向部分与反向部分,切割物体后,平面上面的是正向部分(Positive),平面下面的是反向部分(Negative)实例化一个新物体,将切割后的2个Mesh,一个复制给原来的节点,一个复制给新创建的节点。
2022-12-09 08:50:33
295
原创 3D游戏开发中的矩阵详解
矩阵很多同学没有接触过,所以感觉很难,很复杂,其实只要学过矩阵的同学都知道,矩阵运算并不难。今天我们给大家讲讲游戏开发中的矩阵的运算。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。1:矩阵是什么?上述变换中,xb 是由xa, ya 经过线性运算而得到得。如果xb = A*xa^2 + B*ya + C,这样就不是线性变换了。数学前辈们为了描述上面的线性变换,发明了矩阵,把上面的变换标记为:上面的变换,(xa, ya)通过矩阵
2022-12-07 08:58:33
190
原创 Unity手机游戏发热发烫优化指南与技巧
Unity手机游戏发热发烫优化指南与技巧很多小伙伴做完游戏后,发布到Android,运行,游戏很流畅,也不卡顿,但是跑一会游戏,手机就发热,发烫。客户提出需求,能否让它不发烫? 本文从以下3方面来分析手机发烫的问题,给大家提供一个解决此类问题的通用思路:对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事unity开发的技术大佬,欢迎你来交流学习。手机可以理解为是一台小型的电脑, 里面运行了很多app。CPU处理完数据和事件后,如果没有任务要处理了,就会休眠下去, C
2022-12-05 09:47:33
543
原创 Unity ECS内存分配器原理详解
大量的Entity的创建与销毁,大量不同类型的数据对象交叉创建,很容易造成内存碎片。而这一小块内存,无法分配给当前系统的任何一个对象,这样,这小快内存就再也无法使用了,造成内存碎片,随着系统不断运行,随着更多大量的创建与释放,内存碎片越来越多,分配/释放效率也越来越低。Entity的内存分配与内存布局, 在创建Entity的时候,ECS系统就会注意Entity的内存对齐,同时也会注ComponentData在Entity里面排布的内存对齐,如果没有对齐,就会空一些出来。高效的内存模型与布局如何实现?
2022-11-15 08:27:03
294
原创 微信小游戏怎么做?
最近微信抖音华为小游戏非常的火,在个人开发者中颇受大家的关注与讨论。今天我们来聊聊微信抖音华为小游戏为什么会火, 微信小游戏如何制作,如何获取收益。这里有个点击可以直接加入。
2022-11-01 08:56:44
293
原创 在校学生如何做Unity独立游戏?
由于MMORPG等多人同时在线的游戏都会有AOI的区域,就会频繁有网络玩家进入AOI区域与离开AOI区域,这样就会导致在客户端频繁的创建与删除一个网络玩家对象节点,所以一般我们会基于内存池来管理玩家对象,这样让玩家对象能快速的创建与删除。Unity多人同时在线的游戏会有很大的地图,大量的玩家同时在线,以及玩家会有不同的游戏职业,这样众多的玩家游戏角色我们客户端应该如何来设计呢?大型多人同时在线的游戏会有大量的玩家创建与删除,同时有大量的数据过来,我们在处理网络数据的时候要做好状态的日志,方便我们分析。
2022-10-12 13:37:41
248
原创 游戏程序员如何正确的写简历
面试的时候,HR会打印你的简历,先和你聊下基本的情况,安排做一些面试题(如果有),然后就是主管出来对你做技术面试,这个时候主管会把你的简历从头到尾的看一遍,看看你擅长哪些技术,在哪些公司, 有哪些从业经历, 通过你的从业经历,来面试你是否真的都做过,经历过,从面试的过程种了解评估你的能力。所以基本信息里面要写期望薪资,期望薪资的写法也有技巧,你换工作最想拿到的薪资是多少,你就写为最低的薪资,最高的薪资基于最低的薪资高个3000块钱左右,比如你到这里工作至少要15K,那么你就可以写15~18K。
2022-09-28 14:00:15
1307
原创 Unity ILRuntime热更新开发原则与接口如何绑定
上一节我们讲解了ILRuntime热更新的技术原理,根据技术原理来搭建ILRuntime的开发环境。对ILRuntime有初步的了解,并且安装了ILRuntime的运行环境与实例化了ILRuntime解释器,创建了生成.net字节码的.dll逻辑热更项目, 并把.dll生成到Unity项目的StreammingAssets下方便运行时加载,而热更新能够热更的就是逻辑热更项目生成的.dll。本节分析ILRuntime基本开发原则与如何做到接口绑定,能使得逻辑热更项目直接调用Unity的引擎API。
2022-09-19 13:41:29
867
原创 杂谈各大游戏引擎优缺点
Flash转H5,商业上不上太成功,后来随着h5的发展,直接转为H5 3D游戏引擎,是最早在H5上跑出大型商业3D游戏的H5 3D引擎, 在H5 3D这块积累了很多经验和成熟上线的产品案例,现在80%左右的3D微信抖音oppo vivo小游戏都是laya引擎做的。白鹭游戏引擎对于H5游戏是有着不可磨灭的贡献,它是最早的H5游戏引擎,它里面的很多工具非常好用,到现在还被其他的引擎使用,比如骨骼动画工具,DragonBones被广泛引用到游戏开发中。(2) 引擎开发2D游戏经过大量验证,非常适合2D游戏开发。
2022-09-14 14:12:44
766
原创 Unity学习资源(超全)汇总 基础+项目+进阶+面试
官方资料Unity安装及规划Unity 基础案例教程Unity框架设计篇Unity热更新+AI专题Unity Shader进阶视频教程Unity性能调优【性能优化】视频教程Unity 网络游戏同步视频教程Unity 游戏开发之面试专区视频教程(API 详解)(官方视频教程,适合英语好的同学)
2022-09-06 14:40:34
1615
1
原创 unity游戏开发中的随机算法
如果触发眩晕成功,则概率重新从8.5%开始递增计算。第一次触发眩晕概率为8.5%第二次为17%,以此类推递增。关于如何使用这上述C系数。
2022-09-06 09:31:29
862
原创 横板格斗类游戏实战:事件订阅与发布系统
一个查找还好,要是多个地方需要改变数值,多个节点都需要被改变,玩家战斗逻辑,不可能每个节点都去找一下,然后设置一下,这样也不灵活,也不方便扩展。当events_map里面有数据的时候,数据结构如下: { “事件名字1”: [监听者1{caller, func}, 监听者2], “事件名字2”: []}玩家在游戏战斗过程中,被某个怪物把血打掉了,然后界面上的UI血条的数值就要发生变化,如图: 1.7-1。当我们要监听某个事件的时候,传入事件的名字,回调时的this对象(caller), 回调函数func。
2022-09-05 09:49:36
371
原创 最新Unity如何打包发布到Android
我们可以去掉Android NDK Installed with Unity 这个勾选框,选一个NDK的文件夹,如果NDK的版本不匹配,就会提示你它需要的对应的NDK的版本号, 如上图为19.0.5232133, 这个时候我们就可以到网络上去下载大的版本号为NDK 19的版本。我们要打包发布哪个Unity版本的项目的时候,就安装对应Unity版本的开发环境,点击右边的设置图标,然后选着”添加模块”菜单,勾选Android,这样JDK,与SDK,NDK就已经选好了。环境安装好后,打包一键就可以完成。...
2022-09-01 09:24:13
1867
原创 横板格斗类游戏实战:UI框架的制作
很多UI框架的同学,还要设计什么红点系统,什么弹窗系统,其实大可以不必,UI框架做到上面那一层就可以了,至于具体的弹出式对话框怎么做,如何做,基于上面的机制来实现对应的策略就可以了,所以我们做UI框架不做这些策略,具体的什么红点提示这些,我们放到游戏逻辑层去做,当作普通的开发需求就可以了。如何方便的把UI的结果显示到对应的组件上,这个就更简单了,因为我们显示UI结果的几个组件我们可以在初始化的时候,写好对应的成员,初始化的时候,把组件获取到,后面只要显示数据到这个组件,直接操作就可以了。...
2022-08-31 09:17:29
222
原创 横板格斗类游戏实战:定时器Timer模块设计
启动一个定时器,new TimerNode对象来放入定时器管理迭代,取消一个定时器,就把这个从管理列表里面移除,注意不要马上移除,只是做个标记,而是在update里面统一移除(这样可以避免再定时器回调中删除另外一个定时器对象,从而改变了定时器遍历的TimerNode数据,导致出问题)。(2) Cocos Creator做帧同步的时候,业务逻辑都要有服务器帧事件来驱动,所以这个时候推荐游戏逻辑的定时器也要基于服务器帧事件的入口来迭代,如果有自带的定时器不方便。基于这两点考虑,我们决定自己来实现定时器模块。..
2022-08-29 10:08:33
375
android 电阻触摸屏校验源码及分析 for android 2.1
2010-08-15
android soft button 软按键
2010-08-05
ffmpeg wma定点解码库
2009-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人