自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(211)
  • 收藏
  • 关注

原创 C#LINQ常用语法大全

文章目录取值First, FirstOrDefault检查计算转换排序组合创建取值First, FirstOrDefaultFirst()基本用法相当于List[0]。public static TSource First<TSource>( this IEnumerable<TSource> source );MSDN代码示例:public static c...

2020-04-11 17:29:12 4401 2

原创 cocos发布试玩广告关于mraid的处理,以及跳转渠道链接

前段时间将制作完的试玩广告上传Applovin平台失败,反馈说需要对mraid和跳转进行处理。

2024-04-26 17:27:24 31

原创 cocos creator开发中遇到的问题和解决方案

总结一下使用cocos开发遇到的坑,不定期更新。

2024-04-10 20:52:06 335 2

原创 cocos 3.x版本如何基于ts在检视面板显示Enum枚举类型下拉列表

网上搜索到的大多是基于js或者旧版本cocos。这里记录一下ts显示Enum的方案,cocos版本使用的3.8.2。

2024-04-03 15:31:52 209

原创 cocos使用playable ads adapter打包试玩广告报错RangeError: Invalid string length

最近有做试玩广告的需求,引擎用的cocos,打包使用的playable ads adapter插件。不过最近打包遇到个奇怪的问题,就是通过插件打包报错RangeError: Invalid string length。因为之前也用空包和早期项目测试过都能顺利打包,经过一步步排查找到了问题所在。

2024-04-01 15:12:42 197 2

原创 游戏开发常用算法整理

简单来说,动态规划就是将一个问题拆分成一系列子问题,直到子问题可以直接解决。动态规划(英语:Dynamic programming,简称DP)是一种在数学、计算机科学、经济学和生物信息学中使用的方法,通过把原问题分解为相对简单的子问题的方式求解复杂问题。斐波那契数列是一个数字序列,其中每个数字是前两个数字的总和,但前两个数字分别为0和1。如1,1,2,3,5…从前向后扫描数据,把位置 i 的数据随机插入到前 i 个(包括第 i 个)位置中。时间复杂度为 O(n),空间复杂度为 O(n)。

2024-03-18 00:53:39 446

原创 A*(AStar)算法总结

A* 算法(念做:A Star)是一种常用的路径查找和图形遍历算法,具有较好的性能和准确度。让我为您简要介绍一下 A* 算法的原理和实现。

2024-03-17 18:07:57 1027

原创 Unity中实现捏脸系统

以上就是捏脸系统的实现,也可以通过该方案捏身材。

2024-01-21 20:27:08 1035

原创 C#监听Dictionary、List的写入操作

在开发中,对于内置值类型和string我们可以通过封装属性在中监听写入操作,但是对于等就不能监听到等写入操作。所以一般采取两种方式监听它们的读写操作,一种是封装操作方法,间接进行监听,第二种就是重写和等方法。下面介绍第二种方法。

2024-01-14 01:26:12 624

原创 浮点数(float、double)精度损失问题

以前简单了解过浮点数的精度损失问题,但是没有系统整理过。😂。

2023-12-28 02:24:42 467

原创 C#中枚举Enum特性Flags和Enum.HasFlag(Enum)用法

学习前需要了解位运算相关知识点。

2023-12-21 20:12:48 870

原创 游戏开发相关

格斗游戏相关术语

2023-11-29 20:55:34 445

原创 Unity内打开网页的两种方式(自带浏览器、内嵌浏览器)

这个比较简单,直接调用unity官方的API即可,会直接使用默认浏览器打开网页,这里就不多做解释了。另一种方案是使用unity store里的插件实现的。实现具体需求参考插件文档即可,还是蛮详细的。使用该插件不会切出APP。

2023-11-01 17:34:39 3324

原创 C# 元组(Tuple)VS中无法编译问题

元组的用法就不多赘述了,可以参考。这里着重讲下元组在VS环境下无法编译识别的问题。

2023-06-21 15:30:16 587 1

原创 Unity 显示Raycast Padding区域

Raycast Padding 是一个在Unity2020.1左右添加的功能,它可以让你在不改变RectTransform的值的情况下,调整Image或Text等UI对象的射线检测区域。你可以设置四个参数来控制上下左右的边距。这个功能很实用,在推出这个功能之前如果遇到点击区域过大或者过小的问题,只能通过新建Image并设置透明来做正确的点击区域。但是这个功能有个鸡肋的地方,就是无法通过视图Scene显示直观的知道区域变化(吐槽一下官方怎么没考虑到这个问题,很多开发者在论坛反馈)。

2023-04-25 22:08:17 1279 1

原创 Unity 位运算介绍及使用

位运算是指对二进制数的位(bit)进行操作的运算符,可以实现一些高效的逻辑和数学运算。:只有两个位都是1,结果才是1;:只要两个位有一个是1,结果就是1;:如果位为0,结果是1,如果位为1,结果是0;:两个操作数的位中,相同则结果为0,不同则结果为1;:左移表示乘以2,左移多少位表示乘以2的几次幂;:右移表示除以2,右移多少位表示除以2的几次幂;:无论左侧操作数的类型如何,高顺序空位位置始终设置为零。

2023-04-19 10:27:35 1290 1

原创 Unity 使用RenderTexture显示黑屏、重影、锯齿解决方法

脚本new一个纹理贴图,而不是用序列化拖拽的RenderTexture。调整RenderTexture的antiAliasing抗锯齿参数即可。抗锯齿值必须是(1, 2, 4 或者 8)之一,表明每像素样本的数量。只需要将Camera的Clear Flags设置为。我择中使用的是4,在移动端上锯齿就不那么明显了。

2023-03-21 17:14:38 3286 3

原创 Unity 2020 URP Camera UI相机问题

现在正在开发中的项目使用的URP,发现相机结构有变化直接使用场景相机和UI相机无法正常显示。

2022-12-09 14:43:49 3028 2

原创 Unity ILRuntime Debugger使用及常见问题

ILRuntime支持在VS中断点调试,说一下ILRuntime Debugger的使用及常见问题。

2022-12-07 16:11:30 1978 1

原创 Unity实现Text BestFit文本超框时再缩小字体

因为要做多语言自适应功能,但是Unity自带的BestFit超过一行后就会自动缩小字体,想要的效果是文本满框后再缩小字体,所以需要重写OnPopulateMesh绘制部分。

2022-09-27 11:22:10 2739 2

原创 Unity截图功能并使用UI显示

最近在做一个房间装修项目,有一个功能需要对比装修前后的效果,经过考虑决定使用截图功能制作。

2022-07-15 15:11:34 1331

原创 Unity Editor编辑器开发相关知识点

EditorPrefsUnity编辑器为开发者提供了类似PlayerPrefs的数据保存方式EditorPrefs。EditorPrefs是适用于编辑器模式,而PlayerPrefs适用于游戏运行时。示例代码 bool currentValue = EditorPrefs.GetBool(key, false); bool newValue = GUILayout.Toggle(currentValue, label); Edito

2022-05-17 18:11:50 1403

原创 Unity编辑器界面绘制之GUIStyle和GUISkin的使用

前言合理使用GUIStyle可以让自定义编辑器界面更加精致美观。而GUISkin是用于本地化储存GUIStyle的,更方便使用。GUIStyle代码示例 private GUIStyle _tabStyle; _tabStyle = new GUIStyle(); _tabStyle.alignment = TextAnchor.MiddleCenter; //字体对齐 _tabStyle.fontSize = 16; /

2022-05-17 11:40:37 2017

原创 Unity Gizmos使用绘制

前言正文Gizmos绘制要使用到两个函数,分别是OnDrawGizmos和OnDrawGizmosSelected。当有脚本中

2022-05-11 17:00:58 3705

原创 Unity项目性能优化整理

1.Mono下减少foreach使用,频繁调用容易触及堆上限,导致GC过早触发,出现卡顿现象。尤其是Update中如果非必要不要使用foreach。会产生GC Alloc。2.频繁修改的string应使用StringBuilder。3.gameObject.tag会在内部循环调用对象分配的标签属性以及拷贝额外的内存,推荐使用gameObject.CompareTag(“xxx”)来代替.tag。4.贴图压缩:(1).能使用九宫格就不要使用大图。(2).可以上tinypng网站对原始图片进行压缩。

2022-05-07 17:55:36 1778 3

原创 Unity 2D游戏跳跃优化

2D游戏跳跃下落速度问题有些2D游戏会感觉到向上跳跃和下落速度不一致,感觉下落时更干脆一些,比如马里奥,不过也跟具体的项目需求手感有关系。直接上代码。下面是优化下落速度手感的代码。using UnityEngine;public class BettlerJump : MonoBehaviour{ public float fallMultiplier = 2.5f; //下落速度倍数 public float lowJumpMultiplier = 2f; //长按跳跃

2022-05-04 02:52:15 2303

原创 Slua中的iter和IsNull用法

iter:在lua中遍历IEnumertable对象c#中使用foreach语句遍历IEnumertable,例如List,Array等, 在slua中,可以使用Slua.iter作为迭代函数遍历这些对象, 例如: for t in Slua.iter(Canvas.transform) do print("foreach transorm",t) endIsNull:判断GameObject是否为null因为Unity GameObject被destroy后,并不是真正的nul

2022-04-20 10:59:24 2882 1

原创 Unity的LayoutGroup和ContentSizeFitter同时使用时,动态改变子节点不会刷新位置的问题

前言做图文混排同时用到了LayoutGroup和ContentSizeFitter组件(图文混排教程),发现带有ContentSizeFitter的Text通过代码修改文本内容后UI布局并没有自动刷新。解决方案通过ForceRebuildLayoutImmediate强制刷新UI布局。 //传入带有LayoutGroup组件对象的RectTransform UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(ui.rectTrans

2022-03-29 09:52:48 4254

原创 Unity使用自带组件实现图文混排自适应

1.背景图片跟随文字长度变化新建UI结构。在Image上挂载组件ContentSizeFitter和HorizontalLayoutGroup。根据需求调整跟随宽还是高,调整对应参数即可。混排的对齐方向调整父节点(例子中是名为Image的游戏对象)的Pivot即可。2.图文混排自适应示意图新建UI结构。在Image上挂载组件ContentSizeFitter和HorizontalLayoutGroup。根据需求调整跟随宽还是高,调整对应参数即可。但是我们会发现Icon上的Imag

2022-02-21 18:17:49 4017 1

原创 Unity粒子特效UI层级问题

前言方案一,使用shader解决下面介绍下用unity自带组件处理粒子特效层级问题。可以先了解下相关知识。Unity中Depth、SortingLayer、Order in Layer和RenderQueue的讲解解决方法通过给UI添加Canvas组件然后调整Order In Layer实现层级区分,如果UI没添加Canvas的话默认和父级Canvas中的Order In Layer保持一致。Order In Layer越大就显示在越上层。粒子特效中也有Order In Layer选项,根据具

2022-02-21 17:40:26 9333

原创 游戏设计思考

不定期收录文章,排名不分先后。—分隔符—游戏基础知识——玩家的“掌控力”可能比“心流”更加重要描述了游戏策略和熟练度的重要性。作者总结的几点我还是有切身体会的的。比如说最近在玩的《云顶之弈》,刚开始玩为了快速上手就依赖攻略中提供的阵容,而且由于对游戏的熟练度不足在排位赛中阵容搭配也不敢去尝试其他。最近在玩的《永劫无间》段位打到了蚀月一,但是由于账号被盗封禁了只能重新玩小号。在青铜局炸鱼还是很有爽快感的,但是这种快感更多的来源于炫耀和对游戏机制的掌控吧。总的来说对于游戏设计有更多的思考才更能

2022-02-17 14:05:53 1437

原创 游戏数值相关

全景解构射击游戏枪械数值设计

2022-02-17 11:48:57 893

原创 Unity 背景图片自适应Text长度

前言用Unity自带插件也可以实现同样效果,不过封装成脚本使用更方便。效果使用方法给Text组件挂上UIChildSizeMgr脚本和ContentSizeFitter组件,设置如图所示,文字图片对齐方向调整锚点即可。一个Text组件可以关联多个对象,具体参数根据需求调配。代码using System;using System.Collections.Generic;using UnityEngine.UI;using UnityEngine.EventSystems;using S

2022-02-17 09:25:31 2535 2

原创 游戏UI设计

UI动效设计半周谈

2022-02-08 17:23:26 1084

原创 游戏关卡设计

游戏设计集 · 什么是关卡设计 & 如何制作游戏关卡

2022-02-08 17:19:04 1221

原创 Unity将物体绑定在spine动画骨骼节点上

实现1.在目标spine动画下新建一个空物体。2.给空物体添加BoneFollwer脚本(sprite动画添加BoneFollwer, ui动画添加BoneFollowerGraphic)。此时spine动画上会显示出骨骼节点。3.选择需要挂载的目标骨骼节点。此时运行会发现挂有该脚本的物体会跟随选中的骨骼节点移动。4.给挂有脚本的物体下附加目标即可完成跟随。代码写个管理器方便使用。using Spine.Unity;using System.Collections;using

2022-01-25 18:31:11 7480

转载 Unity Sprite层级显示管理

Unity2.5D Sprite层级显示遮挡问题处理

2022-01-11 09:56:29 726

原创 Unity通用红点系统实现,支持自定义红点效果

效果原理学习了知乎大佬放牛的星星的红点系统。因为看到评论区有说不能动态添加移除红点所以在这基础上进行了改进。原理比较简单,其实就是实现了一个从上到下的树状数据结构,通过给每个节点注册事件来实现不同的红点效果。如果没有数据结构基础建议先了解一下数据结构更方便理解。代码下面是核心代码。using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Linq;public cl

2022-01-04 17:54:28 3469 3

原创 C#数据结构(下)

二叉查找树和递归递归编程语言中把自己调用自己的函数,称为递归函数。递归函数必须满足两个条件:1.在每一次调用自己时,必须是更接近解(将原问题转化为更小的子问题)。2.必须有一个递归的终止条件(最小的子问题的解,一般能一眼看出)。递归函数就是调用自己不断深入,直到满足条件再返回一步步执行。 //计算n的阶乘 public static int Func(int n) { if (n == 1) return 1;

2021-12-13 18:04:21 378 1

原创 C#数据结构(上)

目录数组链表时间复杂度栈与队列集合和映射有序数组和二分查找数组静态数组:int[] float[] double[] char[] string[]特点:数组一旦创建,其容量的大小是无法改变的int[] arr = new int[20]动态数组:ArrayList List(泛型)下面是使用数组实现的动态数组。 class Array1<T> { private T[] data; //存储元素的数组 private in

2021-12-09 01:19:20 534 2

空空如也

空空如也

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

TA关注的人

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