• 博客(326)
  • 资源 (7)
  • 收藏
  • 关注

原创 Cocos Creator 节点的位置旋转与缩放详解

在上面的示例代码中,首先通过 node.position = cc.v2(100, 200) 来设置节点的位置为 (100, 200),然后通过 node.rotation = 90 来设置节点的旋转角度为 90 度,最后通过 node.scale = cc.v2(1.5, 1.5) 来设置节点的缩放比例为 (1.5, 1.5)。节点的缩放属性是一个相对于父节点的缩放比例,即节点的缩放是相对于父节点的缩放比例的。节点的旋转属性是一个相对于父节点的角度,即节点的旋转是相对于父节点的角度的。

2024-05-21 09:42:25 294

原创 Cocos Creator 场景树与组件实例查找详解

本文详细介绍了在 Cocos Creator 中场景树与组件实例的查找方法,包括通过节点名、路径、标签来查找节点,以及通过节点和标签来获取组件实例。通过这些方法,开发者可以方便地定位和操作游戏中的各种元素,提高开发效率。在实际开发中,开发者可以根据具体需求选择合适的方法来查找场景树和组件实例,从而实现游戏中各种功能。希望本文对开发者有所帮助,让大家能够更加轻松地使用 Cocos Creator 进行游戏开发。

2024-05-21 09:40:22 204

原创 Unity 3D 程序化房间随机生成详解

通过设计合适的算法和元素,我们可以实现各种形式和风格的房间生成,为玩家带来不同的游戏体验和乐趣。在程序化房间生成中,我们通常需要将生成的房间数据保存到文件中,以便在游戏运行时加载和使用。在程序化房间生成中,我们可以将迷宫空间作为房间的布局,并在其中放置各种游戏元素,如墙壁、门、宝藏等。程序化房间随机生成是一个非常有趣和常见的技术,可以让游戏中的地图、关卡等元素动态生成,增加游戏的可玩性和挑战性。在本文中,我们将详细介绍如何在Unity 3D中实现程序化房间随机生成的技术,并给出相应的代码实现。

2024-05-17 09:52:02 311

原创 Cocos Creator 2D EditBox 与Widget 使用详解

在上面的示例中,我们首先为一个节点添加了Widget组件,并设置了一些属性,比如isAlignTop(是否与顶部对齐)、top(距离顶部的距离)、isAlignLeft(是否与左边对齐)、left(距离左边的距离)、isAlignRight(是否与右边对齐)、right(距离右边的距离)。其中,EditBox和Widget是两个常用的组件,EditBox用于输入文本,Widget用于UI布局和适配。在上面的示例中,我们首先创建了一个EditBox组件,并设置了一些属性,然后将EditBox添加到场景中。

2024-05-17 09:51:00 325

原创 Cocos Creator UlSprite精灵的使用详解

通过本篇文章的介绍,我们详细了解了Cocos Creator中UlSprite精灵的使用方法,包括创建与设置、缩放与旋转、动画播放和事件监听等功能。通过上面的代码,我们可以实现对UlSprite精灵的基本设置,包括加载图片资源、设置位置、大小和透明度等。通过上面的代码,我们可以实现对UlSprite精灵的点击事件监听,并在点击时触发相应的逻辑处理。在实际开发中,可以创建不同的动画效果,并根据游戏逻辑来播放相应的动画,增加游戏的趣味性。通过上面的代码,我们可以实现对UlSprite精灵的缩放和旋转操作。

2024-05-16 09:34:20 372

原创 Cocos Creator 2D ScrollView 使用详解

首先,在场景编辑器中创建一个ScrollView节点,然后在节点的属性检查器中添加ScrollView组件。最后,将ScrollView节点的Content属性设置为Content节点,即可实现ScrollView的基本功能。然后,在ScrollView节点下创建一个Content节点,用于放置ScrollView中的内容。在onLoad方法中,我们监听了ScrollView的scroll-to-top和scroll-to-bottom事件,并分别实现了对应的回调函数。五、ScrollView的代码实现。

2024-05-16 09:31:16 409

原创 Unity3D 打造3D Astar寻路系统详解

在Astar脚本中,我们可以定义一个OpenList和一个ClosedList来存储待处理的节点和已处理的节点。G值表示起点到当前节点的移动代价,H值表示当前节点到终点的估算代价,F值为G值和H值的和。最后,我们需要在游戏中显示路径。在脚本中,我们可以将Astar脚本挂载到角色物体上,并调用其方法来计算路径。通过使用Astar算法,我们可以实现一个高效的寻路系统,让游戏中的角色可以自动寻找最短路径到达目的地。在游戏开发中,寻路系统是一个非常重要的功能,它可以让游戏中的角色自动寻找最短路径到达目的地。

2024-05-15 10:43:26 347

原创 Unity3D 打造3D Astar寻路系统详解

在Astar脚本中,我们可以定义一个OpenList和一个ClosedList来存储待处理的节点和已处理的节点。G值表示起点到当前节点的移动代价,H值表示当前节点到终点的估算代价,F值为G值和H值的和。最后,我们需要在游戏中显示路径。在脚本中,我们可以将Astar脚本挂载到角色物体上,并调用其方法来计算路径。通过使用Astar算法,我们可以实现一个高效的寻路系统,让游戏中的角色可以自动寻找最短路径到达目的地。在游戏开发中,寻路系统是一个非常重要的功能,它可以让游戏中的角色自动寻找最短路径到达目的地。

2024-05-15 10:42:12 371

原创 Cocos Creator UlLabel的使用详解

在Cocos Creator中,UI系统是非常重要的一部分,而在UI系统中,UILabel是一个常用的组件,用于显示文本内容。通过学习本文,读者可以掌握如何在Cocos Creator中使用UILabel组件来显示文本内容,并实现一些常用的效果,如布局、事件监听、动态更新和动画效果。在Cocos Creator中,可以通过设置节点的位置和大小来控制UILabel的布局。在Cocos Creator中,UILabel是一个用于显示文本内容的组件,可以通过设置相关属性来控制文本的显示效果。

2024-05-14 09:52:03 250

原创 Cocos Creator 2D Mask与Layout 使用详解

通过本文的介绍,相信读者已经了解了如何在Cocos Creator中使用2D Mask和Layout组件,以及如何结合使用这两个组件实现更加复杂和精美的界面设计。例如,可以通过2D Mask实现局部遮罩效果,再通过Layout实现节点的自动布局和适配,使界面看起来更加统一和美观。在start方法中,我们设置了遮罩节点的属性和布局节点的属性,实现了一个带有遮罩效果的自动布局界面。将需要应用遮罩效果的节点作为2D Mask的子节点,并将节点的Mask属性设置为2D Mask节点,即可实现遮罩效果。

2024-05-14 09:49:44 817

原创 Unity3D 多人战场Animation优化详解

然而,在多人战场中,同时播放多个角色的动画会给游戏性能带来很大的压力。在Animator Controller组件中,我们可以创建多个Layers,然后将相似的动画放在同一个Layer中,这样可以减少动画的播放数量,提高游戏的性能。Animation Events是一种能够在动画播放过程中触发事件的功能,通过使用Animation Events,我们可以在动画播放过程中进行一些逻辑处理,从而减少动画的计算量。动画剪辑是一种能够提高游戏性能的技术,通过使用动画剪辑,我们可以减少动画的计算量,提高游戏的性能。

2024-04-18 15:07:19 858

原创 Unity3D 分块编辑小AStar地图详解

A算法是一种经典的寻路算法,能够帮助游戏中的角色找到最短路径。在本文中,我们将介绍如何在Unity3D中使用分块编辑的方式创建一个小的A地图,并实现A*算法来实现角色的寻路。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!

2024-04-18 14:59:08 566 1

原创 Unity 地图数据生成

在游戏开发中,地图是一个非常重要的元素,它可以影响游戏的玩法、视觉效果和整体体验。在Unity中,生成地图数据是一个常见的任务,它可以用于创建随机地图、关卡设计和其他一些应用场景。在本文中,我们将探讨如何使用Unity生成地图数据,并给出相应的代码实现。

2024-03-12 15:02:02 662 1

原创 Unity AStar寻路算法与导航

在游戏开发中,寻路算法是一个非常重要的部分,它决定了游戏中角色的移动路径。Unity作为一款流行的游戏开发引擎,提供了许多内置的寻路算法,其中最常用的就是AStar算法。在本文中,我们将介绍Unity中的AStar寻路算法的使用方法,并给出相应的代码实现。在AStar组件中,需要设置起点和终点的位置,并指定地图中的障碍物和可通行区域。通过以上步骤,我们可以在Unity中实现AStar寻路算法,并实现角色的导航。在这个代码中,我们通过遍历地图中的节点来计算最短路径,并将路径保存在grid.path中。

2024-02-29 14:32:45 1378

原创 主程面试如何答:你是如何管理团队与分配工作?

每个人的性格都是不一样的,关注点不一样,回答这些问题,自己的答案也不一样。以上的问题回复,供大家参考,屁股决定脑袋,这个问题每个人都有自己心中的答案,甚至不同的年纪,答案会不一样,欢迎大家一起沟通交流。开年后,我们面试指导的一些学员都找到了不错薪资待遇的工作,如果近期有想要升职加薪的同学可以咨询我们的VIP系统学习课程与服务,通过完整的计划,帮助大家实现升职,涨薪。了解整个公司的运作流程和需求,让自己的眼光+开发更加的全面,了解其它部门的一些核心理念和想法,后期能更好的贯彻产品的实现。

2024-02-26 14:24:37 436

原创 打造纯Lua组件化开发模式:Unity xLua框架详解

在传统的Unity开发中,通常会使用C#来编写游戏逻辑和组件。但是,随着Lua在游戏开发中的应用越来越广泛,我们可以将游戏逻辑和组件完全用Lua来实现,实现纯Lua的组件化开发模式。这样做的好处是可以更加灵活地修改游戏逻辑,而不需要重新编译C#代码。

2024-02-21 13:52:54 650 1

原创 Unity xLua开发环境搭建与基础进阶

Unity是一款非常流行的游戏开发引擎,而xLua是一个为Unity开发者提供的Lua框架,可以让开发者使用Lua语言来进行游戏开发。通过学习xLua框架,我们可以更加灵活地进行游戏开发,并且可以轻松地调用Unity的API和定义C#类。在Unity Asset Store中搜索Lua,可以找到很多Lua相关的插件,选择一个适合自己的插件下载安装即可。除了调用Unity的API,我们还可以在Lua脚本中定义并使用C#的类。例如,我们可以在Lua脚本中定义一个简单的类,并在其他Lua脚本中进行实例化和调用。

2024-02-21 13:43:30 696

原创 最新Unity游戏主程进阶学习大纲(2个月)

e: 游戏开发中常用的管理模块:日志模块,事件订阅与发布模块, 声音管理模块,UI管理模块,Timer模块,TCP/UDP/HTTP网络模块,序列化与反序列化模块,节点池管理模块,状态机逻辑控制模块,行为树逻辑控制模块;”的学习大纲,帮助大家做好面试准备。c: 项目渲染管线的选取与配置: 内置渲染管线,URP渲染管线,HDRP渲染管线等,它们的优缺点,如何给项目选择合适的渲染管线;d: 游戏关卡编辑器工具的制作: 扩展编辑器支持关卡类游戏的编辑与数据导出,如《跑酷游戏》的关卡编辑器;

2024-02-20 15:25:31 1161 1

原创 Unity基于AssetBundle资源管理流程详解

在Unity游戏开发中,资源管理是一个非常重要的环节。随着游戏的发展,资源会变得越来越庞大,因此需要一种高效的资源管理方式来减少内存占用和加快加载速度。AssetBundle是Unity提供的一种资源打包和加载方式,可以将资源打包成一个独立的文件,然后在运行时进行加载和卸载。本文将详细介绍Unity基于AssetBundle的资源管理流程,并给出相应的代码实现。

2024-02-20 14:15:39 454

原创 Unity MVC开发模式与开发流程详解

在Unity游戏开发中,采用MVC(Model-View-Controller)模式是一种非常常见的设计模式。本文将详细介绍Unity中的MVC开发模式及其开发流程,并给出相应的代码实现。在上述代码中,GameController负责处理用户的点击事件,并调用PlayerController的方法来更新玩家的分数。PlayerController再调用PlayerModel的方法来更新玩家的分数,最后通过PlayerView来展示更新后的玩家信息。

2024-02-20 14:00:21 473

原创 Unity架构师进阶:红点系统的架构与设计

红点系统内部基于节点池机制,所以要给红点节点创建一个特有的节点池。编写一个RedPointFlag组件,继承Component,用来标记哪些节点是红点,这个组件的作用是在一个UI界面销毁的时候,方便利用这个Flag组件,找到所有的”红点”,并把它们一起回收。删除所有的红点,这里就利用了RedPointFlag组件,通过把带有这个组件的所有节点筛选出来,就是我们的红点节点了。1: 编写接口”CreateRedPoint”,用来创建一个”红点”的节点,返回节点给使用者,至于红点放什么位置由使用者决定;

2024-01-27 15:45:29 1223

原创 最新Unity DOTS Instancing合批:如何针对单个渲染实体修改材质参数

比如位置数据,每次渲染一个实体的时候传递一次。每个物体在渲染的时候,引擎都会把材质中的参数数据传递给渲染管线,然后渲染管线把参数数据进一步的传递给渲染物体的Shader,这样当我们修改材质对象里面的参数后,渲染使用该材质对象的物体时,由于参数都是从材质对象里面获取,所以得到的现象就是修改材质一个的参数,使用该材质的所有的物体都会受到影响。加上以后,每次修改Entity组件里面的数据时,在渲染entity之前,会把对应的数据传递给渲染管线中的uniform变量,而不是去改变材质对象里面的参数数据。

2024-01-17 14:56:39 1024

原创 失业潮下面试突围:如何写好简历,获得更多的面试机会

写好简历,是重要的一个环节,简历写的好,会直接增加面试邀约的机会,机会多,成功的概率才会大一些。企业没有特殊要求,建议不放自己照片,不加分但有可能减分,除非你是刘德华,对自己的容颜有绝对的自信,但是这也不行,比如某面试管恰好他正在追公司的某个美术妹子,你那绝世容颜可能会影响他的成功率,就会把你直接pass掉。工作经历不要写太多,写最近的3份工作经历就可以了,工作经历按照时间的顺序,把最新写前面,最NB的工作经历写前面,早期的工作经历写后面,最短的时间内让面试官看到你最新的状态与能力。

2024-01-09 09:45:15 863

原创 Cocos Creator 3.8 开发2D水面波纹Shader

Cocos Creator的版本不一样,可能导致以前编写的Shader无法正常运行,这种其实很好解决,我们在开发Shader的时候,基于现在Cocos Creator的版本先创建一个现有的模板出来,然后再将关键代码移植过去。Cocos 的uv 左上角为(0, 0),我们要在图片的上方做水波纹,那么片元的uv.y < y0的片元就丢弃, uv.y >= y0的就正常显示。2D 水面波纹的主要原理就是给定一个正选波的边界,在范围内的片元uv就显示,在范围外的片元uv就不显示。

2024-01-08 16:31:06 1088

原创 面对游戏新政,个人开发者如何突围

劣币逐良币,久而久之,游戏界的恶名就形成了,产品数值全靠抄袭,付费各种挖空心思与诱导,游戏产品注重短暂快感,内涵不够,不能够给玩家长久的带来价值,注重长久价值的游戏在上线的几天,由于数据不好看就被淘汰了。最近国家发布了针对游戏行业的限制意见稿,具体内容,相信大家都已经了解了,不同的人,坐在不同的位置,有不同的解读,游戏厂商与相关行业股票下跌,微信抖音小游戏没有版号但靠广告收益的小游戏开发公司也非常焦虑, 想利用自己的编程技术,通过游戏创业或增加收入的个人开发者更是感觉所有的路子都堵死了。

2023-12-26 14:40:44 453

原创 最新Unity DOTS Physics物理引擎碰撞事件处理

上面提到的Step1,在PhysicsInitializeGroup阶段完成, step2~step5在PhysicsSimulationGroup中完成, PhysicsSimulationGroup完成后物理引擎的一帧的迭代计算完成,最后通过ExportPhysicsWorld的System把把物理引擎的内部数据同步到Entity的PhysicsVelocity, LocalTransform等ECS组件。Step3: 通过编写Job,来遍历当前所有发生的碰撞事件,然后编写每个碰撞事件的处理逻辑;

2023-12-22 14:59:39 1284

原创 最新UnityDOTS Physics物理引擎碰撞查询核心分析

碰撞查询(Collison Qurey)计算的时候,读取的是物理引擎里面的内部数据,更准确的说是broadphase阶段的内部数据。如果你想要获得更精准的碰撞查询信息,可以在PhysicsSimulationGroup完成物理迭代的计算后,同步更新最新的物理数据到碰撞查询所需要的数据结构中,这样碰撞查询更精准但是也会消耗更多的性能。如下图所示,橙色的碰撞器沿着直线的方向与黄色的物体相交,相交的性质与位置在紫色的地方。ColliderKey: 返回碰撞所在的三角形面的更加详细的内部信息;

2023-12-21 14:47:33 1150

原创 Unity DOTS物理引擎的核心分析与详解

Unity.Physics的里面的物理参数与数据描述与传统的Havok物理引擎兼容,这样如果我们的项目中要追求物理引擎的全面性与稳定性,我们可以很容易的使用Havok等商业的物理引擎。Unity.Physics的设计理念与PhyX和Havok有所不同,它们追求的是全特性的物理模拟,而Unity.Physics追求的是最常用的一些物理机制的实现,相比传统的物理引擎,它实现的是物理引擎的核心子集,这样导致比传统的物理引擎实现起来更简单与高效,同时能满足大部分的需求。

2023-12-21 09:28:05 1056

原创 Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画

在DOTS 的baker过程种,不支持常见的动画组件,包括: Animation组件,基于状态机的Animator, 以及人形动画。我们来分析一下项目需求,群体战斗有大量的战斗单元在一个屏幕,这些战斗单元对单个的渲染质量要求不高,但是数量巨大导致非常消耗性能。渲染质量要求不高,这样我们的战斗单元的模型的面数可以尽量的低,这样顶点数不会特别多,同时动画也不会很复杂,帧数也可以比较少。最近DOTS发布了正式的版本, 我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。基于帧动画的3D角色动画如何实现。

2023-11-30 15:49:59 1528

原创 Unity DOTS系列之System中如何使用SystemAPI.Query迭代数据

当我们在System代码里面调用foreach+SystemAPI.Query的时候,我们的自动代码生成器会根据Query调用的时候传递的参数的类型来生成EntityQuery字段到当前的System类里面(正因如此,我们在定义一个System类型的时候都要加partial)。这样运行的时候使用EntityQuery字段来帮我们找到对应的组件来进行迭代处理。>(),其中t1, t2就是我们需要的component data的类型,查询的时候,会遍历World 里面有这些组件的Entity,获取组件的引用。

2023-11-10 09:36:58 642

原创 最新Cocos Creator 3.x 如何动态修改3D物体的透明度

核心原理就是定义成员变量alpha,然后编写get/set,get获取返回aplah值,set 设置alpha值并同步到材质里面,编写get/set的主要目的是配合tween的机制。这里有个很重要的数据成员isSharedMode,我们大家都知道,当我们给一个材质改变参数的时候,所有使用改材质的物体的参数全部都改变了,有时候我们有100个物体,可能只要其中的1个物体改变透明度,其它不改变,这时我们就可以让isSharedMode为false,这样会单独的为每个物体创建一个材质对象实例出来。

2023-11-07 09:33:19 671

原创 Unity从入门到主程学习路线(内含学习资料)干货超全

复制粘贴每天把学习中遇到的问题最后的解决方案总结一下,想想为什么出现了这个错误,加深自己的印象,是什么导致了这个错误,犯过一次的错误就尽量不要犯第二次,导致错误的根本原因是什么。是自己的逻辑混乱,粗心大意,还是程序太复杂?这里要注意,对于学习,热情这个点真的是非常重要的。无论你的热情来源是什么,有了这份热情与激情,你才会主动投入更多去学习游戏开发。正是这样,才能真正做到持之以恒。游戏开发和文学创作,音乐创作一样,都是创作作品。

2023-11-02 11:13:49 702

原创 Unity DOTS系列之托管/非托管Component的区别与性能分析

它与所在Entity的其它Unmanaged Component基于ArchType排列在一起,这样可以获得很好的性能,因此Unmanaged Component在ECS开发中是最常用的一种组件数据类型。Managed Component的数据不直接存放在Chunk中,World会有一个很大的”数组”,专门来存放Managed Component,而我们Entity的基于ArchType的Component数据块中存放的是Managed Component的在数组中的偏移地址。

2023-11-01 09:20:50 254

原创 Unity DOTS系列之Struct Change核心机制分析

如果有新的类型的Entity出来,系统就会有新的一种ArchType。Struct Change引发的开销是非常大的,所以当我们基于DOTS来开发的时候,你要能清楚的知道Struct Change的开销。Struct Change开销,除了要重新从chunk里面分配内存块,复制数据以外,还有同步点的开销,同步点你可以理解为一个锁,当发生了Strcut Change的时候,为了保证正确性,系统会生成一个同步点,这样其它的要使用这个数据的线程都会被挂起,直到Struct Change操作完成。

2023-10-30 14:53:49 208

原创 Unity3D 多人联机网络游戏开发都存在哪些误区详解

通过使用插值和平滑技术、服务器端验证、数据加密、数据压缩和服务器负载均衡等技术解决方案,可以提高游戏的性能和安全性,提供良好的玩家体验。Unity3D 是一款强大的游戏开发引擎,可以用于开发各种类型的游戏,包括多人联机网络游戏。如果忽视网络延迟,可能会导致游戏中的角色移动不流畅,造成玩家体验不佳。在多人联机游戏中,带宽和服务器负载是一个重要的问题。如果不考虑带宽和服务器负载,可能会导致游戏的性能下降,甚至服务器崩溃。如果不考虑安全性,可能会导致游戏中的作弊行为,破坏游戏的公平性。二、误区二:不考虑安全性。

2023-10-27 14:35:45 357

原创 Unity3D 如何用unity引擎然后用c#语言搭建自己的服务器

接下来,我们需要在Unity的菜单栏中选择“Edit”->“Project Settings”->“Player”,在Inspector窗口中找到“Network Manager”选项,并将其拖动到ServerScript脚本的NetworkManager字段中。在游戏开发中,服务器负责处理多个客户端的数据,并将数据存储在数据库中。希望本文对您有所帮助。最后,我们需要在Unity的菜单栏中选择“File”->“Build Settings”,选择目标平台,并点击“Build”按钮来构建客户端的应用程序。

2023-10-27 13:52:14 922

原创 最新Unity DOTS系列之Aspect核心机制分析

Aspect是一个特殊的数据结构,可以把它理解为是entity中一些组件的引用Wrapper”包装盒”,把entity中的一些组件的引用包含在一起。方便在System中通过这个Aspect来获取entity当中的组件的引用,高效方便的访问entity中的一些组件数据。RefRO修饰的组件是只读的,RefRW修饰的组件可读写。例如Entity类型A与Entity类型B,都有Aspect所定义的组件与引用,那么系统如何把A类型的Entity与B类型的Entity都生成它对应的Aspcet对象呢?

2023-10-26 16:17:33 267

原创 最新Unity DOTS教程之BlobAsset核心机制分析

BlobAsset不支持如:数组, string等其它的托管对象(垃圾回收器可以回收的为托管对象),而且运行的时候不允许改变里面的数据内容。BlobAsset为了更快的加载,他只会包含传值的类型,不能包含对内部的引用与内部指针。BlobAsset除了支持标准的值类型(float, int等)以外它还支持三种特殊的类型: BlobArray, BlobPtr, BlobString。总结:使用BlobBuilder来生成BlobAsset,基于BlobAssetReference来高效访问里面的数据。

2023-10-25 16:56:47 290

原创 Unity DOTS系列之Filter Baking Output与Prefab In Baking核心分析

为了不把这个GameObject Bake产生的Entity输出到World并保存到entity scene里面,我们可以给这个Entity添加一个BakingOnlyEntity tag Component。当你添加了这个tag component后,Baking系统就不会把你这个entity存储到entity scene里面,也不会把这个entity生成到运行的main World里面。当需要使用这个entity prefab的时候就能获取到。运行的时候直接load进来,就可以使用了。

2023-10-24 17:47:34 607

原创 Unity游戏开发中打造游戏攻击技能架构与设计

在这个脚本中,我们定义了技能伤害、技能攻击范围、技能 CD 等属性,并且实现了技能的使用逻辑。在使用技能时,我们首先会检查上次使用技能的时间是否超过了技能 CD,如果没有超过则直接返回。(1)技能范围:技能的攻击范围是一个非常重要的因素,它直接决定了技能的威力和使用的场合。(1)技能 CD 的长度:技能 CD 的长度直接决定了技能的使用频率,太长会影响游戏体验,太短会影响游戏平衡。(2)技能 CD 的重置:有些技能会在一定条件下重置 CD,例如杀死敌方英雄、使用其他技能等。三、技能 CD 的管理。

2023-10-24 17:09:14 368

01-黄金矿工Demo演示.mp4

blank老师现身说课,为我们讲解关于黄金矿工小游戏制作过程与相应的实战案例授课,请大家认真学习,学好游戏开发、走遍天下都不怕

2020-08-11

android 电阻触摸屏校验源码及分析 for android 2.1

最近做了个android 电阻式触摸屏的校验,分析请参考我blog的文章。 少上传了property_service.c 只修改了这个函数 static int check_perms(const char *name, unsigned int uid, int gid) { int i; if (uid == 0) return 1; if(!strncmp(name, "ro.", 3)) name +=3; for (i = 0; property_perms[i].prefix; i++) { int tmp; if (strncmp(property_perms[i].prefix, name, strlen(property_perms[i].prefix)) == 0) { if ((uid && property_perms[i].uid == uid) || (gid && property_perms[i].gid == gid)) { return 1; } } } if(strncmp("ts.config.calibrate",name,strlen("ts.config.calibrate"))==0) { return 1; } return 0; }

2010-08-15

android soft button 软按键

android framework 设计制造了很多垃圾概念,反引以为豪,反正我是看不懂,给和我一样痛苦要开发android 的同仁,fuck android framework And KISS 原则万岁!具体原则可以参考我的blog文章

2010-08-05

lex&yacc简明教程

如何时用通用模板的词法分析器,可以借助yacc,lex实现自己语言的词法分析,可以运用于脚本设计,以及虚拟机

2009-04-22

一种改进的Sobel图像边缘检测算法

在经典的soble算法的基础上提出的一种改进soble边缘检测算法

2009-04-22

ffmpeg wma定点解码库

在嵌入式设备中有相当一部分没有浮点运算器,浮点运算都是软件模拟的,所以对于mplayer,xine等基于的ffmpeg的WMA需要做定点优化,这个ffmepg对WMA做了定点转换,如果用于商业请告诉我一声([email protected]),我会很高兴,如果你硬是不说也没人会指责

2009-02-27

Linux内核设计与实现.pdf

linux 内核阅读书籍,不在迷失在浩瀚的源码海洋

2008-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除