- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 解决cocoscreator 热更版本控制文件的资源路径修改
然后在jsb.AssetsManager初始化之后(此时已经成功加载了本地的版本配置文件了),调用parseJSONString将路径修改过的json数据传过去。加载版本控制文件之后拿到Asset中的数据进行修改。
2024-04-13 19:01:16
196
原创 Unity UGUI Image镜像详解
在镜像之前需要先了解uv坐标,什么是uv坐标呢?博主找到了一篇很详细的博客什么是uv坐标如图所示:坐标轴中的矩形是我们的图片,原本a、b、c、d四个点的坐标为a(0,0) b(1,0) c(0,1) d(1,1)经过horizontal镜像之后,四个点的坐标应该变成a(1,0) b(0,0) c(1,1) d(0,1)根据图可知从a->b x方向的变量变换了两倍的从a点到中心轴的位置从b->a x的方向也是变换了两倍从b点到中心轴的位置,只是方向不同由此可得a-&
2022-05-29 16:41:39
1120
原创 C#泛型转自定义类型
public override void InitItem<T>(T info,GameObject _obj) { ShopInfo shopInfo = (ShopInfo)Convert.ChangeType(info, typeof(ShopInfo)); }
2022-03-18 18:53:20
410
原创 使用XLua实现简单热更新
使用XLua热更新简单的XLua热更Demo1.首先第一步,是下载xlua插件,可以直接在GitHub下载:xlua插件地址2.按照热更新设置:在Project Setting 的Player的Scripting Define Symbols添加HOTFIX_ENABLE,这样在编辑器上会看到XLua,然后有Generate Code和HotFix Inject In Editor,在C#脚本有改动的时候就要Generate Code一下(会提示finish)3.要热更的地方需要标识[Hotfix]
2022-03-04 23:36:53
5987
原创 泛型快速排序
泛型快速排序public class Sort{ public static void QuickSort<T>(T[] arr,int left,int right) where T:IComparable{ if(left>=right){ return; } int partition=Partition(arr,left,right); QuickSort(ar
2022-02-28 14:01:59
99
原创 Unity编辑器插件 ——等比例重新设置图片size
using UnityEngine;using UnityEditor;using System.IO;using System;public class SetTextureSize :Editor{ [MenuItem("重新设置图片大小/一键设置")] public static void OverrideAllTexture() { // List<string> filePaths = new List<string>();
2021-11-23 11:23:13
3374
原创 修改字符串中数字
/** * 设置在字符串中的数字 * @param _str json配置文件中的字符串 * @param _number 要查找的json文件中的数字 * @param _newNumber 修改后的数字数组要和_number下标位置对应 */ setNumberInString(_str: string, _number: any, _newNumber: any):string { let _arr = [];
2021-09-27 18:37:07
328
原创 Laya学习笔记
Laya学习笔记文章目录Laya学习笔记1.节点2.调用其他组件实例的方法3.编辑器绑定4.组件代码中找节点5.用代码添加一个文本到owner节点下**一个节点如果已经加入场景树,就不能再重复添加了**6.获取当前的场景的方法任何一个节点都可以找他所在的场景节点:节点.scene7.物体要添加到当前场景的子节点中,不然不会显示在场景中8.Sprite9.Image九宫格模式10.Handler对象事件1.物体跟随鼠标按下后移动而移动1.节点this->当前的组件实例owner是是一个Laya.
2021-06-02 17:47:42
830
原创 双向环形链表
双向环形链表/// <summary>/// 双向环形链表/// </summary>namespace AnnularList{ /// <summary> /// 泛型节点类 /// </summary> /// <typeparam name="T"></typeparam> public class Node<T> { /// <summ
2021-04-21 16:51:26
148
原创 xlua学习笔记
最近开始学习了xLua,踩了不少的坑,此后也会不断更新,废话少说,如下:1.在Lua中引用自定义的类的函数例:CS.JoyStickHandler():SetVector3(tmp_Direction.x,0,tmp_Direction.y)这是在做虚拟摇杆时要用到一个new Vector3(x,y,z),就自己在JoyatickHandler类中写了一个setVector3(x,y,z)函数,如上所述,在调用自定义的类时也是先CS,然后自己定义的类后面要加上一个(),再去调用该类的函数。2.在l
2021-03-22 18:35:18
726
转载 Unity判断其它物体相对于自身方位以及角度
1.判断目标在自己的前后方位可以使用下面的方法:Vector3.Dot(transform.forward, target.position) 返回值为正时,目标在自己的前方,反之在自己的后方2.判断目标在机子的左右方位可以使用下面的方法:Vector3.Cross(transform.forward, target.position).y 返回值为正时,目标在自己的右方,反之在自己的左方3.在这里顺便解说下关于空间向量的点积和叉积:A.点积点积的计算方式为: a·b=|a|·|
2021-03-19 10:56:02
1132
转载 Unity Editor 学习笔记
Unity Editor 学习笔记自定义Inspector面板//设置水平布局开始和结尾都需要(垂直布局类似)EditorGUILayout.BeginHorizontal();EditorGUILayout.EndHorizontal();EditorGUILayout.Space() 可在两个元素之间空出一行。EditorGUILayout.LabelField()标签字段EditorGUILayout.IntField() 整数字段EditorGUILayout.FloatField
2021-01-06 10:36:13
453
原创 Unity3D Editor之快捷创建及摆放模型
Unity3D Editor之快捷创建及摆放模型最近学习了一下Unity Editor的一些基础知识,在学习的过程中实现了一个小功能,对其中部分知识的运用。通过这两个脚本可以实现简单的在Scene窗口展现四种类型的按钮,选择一种按钮之后在场景的任何物体上点击鼠标右键会自动实例化刚刚选中的物体,下图就是实例化之后的物体话不多说,上代码:using UnityEngine;//对象类型的枚举,根据枚举类型来改变功能函数中的创建类型public enum ObjectType{ cube,
2021-01-05 14:36:20
1253
原创 Unity中Shader的形态
Unity中Shader的形态Unity通过Shaderlab组织Shader,用于呈现渲染物体的内容实在SubShader中实现的。使用SubShader,能让开发者针对不同性能的显卡编写不同的Shader。理论上,SubShader的数量没有限制,实际操作中减少文件大小,针对不免最流行的显卡和老旧的显卡写两到三个即可。SubShader重要标签(Tags{}块)SubShader{ Tags{"Queue"="Geometry""RenderType"="Opaque""IgnorePro
2021-01-05 11:30:51
135
原创 Unity开发第一次用Final IK插件遇到的坑
最近项目中的一个功能需要用到Final IK插件中的Grounder FBBIK功能来实现,在项目开展前的预研阶段使用这个插件用的还挺顺手的,但是在项目实际运用中就出现了一些奇奇怪怪的问题,有一个问题一开始看起来是很搞笑的,但是当修改了很多次,每一次都还是出现这个问题的时候就会觉得很烦。话不多说,我们来看看问题描述:这些问题的解决方案仅是本人在开发过程中自己的解决方案,不代表官方答案,如有错误的地方,还请各位大佬给予指正。1.项目中使用IK的模型达到了一百来个,性能消耗的大头,所以在Update中做了一
2020-12-30 10:04:59
1763
1
转载 Unity3d程序必备设计模式的六大原则
Unity编程众所周知,它是属于脚本化,脚本没有一个具体的概念跟架构,导致在项目过程中,经常出现哪里需要实现什么功能,就随便添加脚本,结果,就造成了一片混乱,不好管理。更有甚者,自己的写的代码闲置一段时间后,再去想找某个功能的实现,都要在视图中翻来覆去找半天。因此,一个好的设计模式是多么的重要啊,那么,我们在使用Unity3d开发东西的时候,脚本架构到底应该如何来写?其实,我也给不了你们具体答案,因为每个人的开发习惯,每个团队的开发模式也各有千秋,在此我只做几种设计模式的总结,主要参考书籍有《设计模式》
2020-09-04 11:22:40
355
原创 Unity的小地图制作
Unity的小地图制作实现的原理:将一个单独摄像机的当前拍摄画面时保存到一张渲染纹理图中,同时将这张纹理图更新显示到UGUI中。实现步骤首先在资源文件夹中创建一张用于显示小地图内容的纹理图Render Texture。在Inspector面板设置纹理图的大小,各种参数(如采样方式,压缩方式等),将纹理图放入摄像机的Target Texture中(摄像机会把实时渲染的结果存储到这张纹理图中)。渲染小地图的摄像机采用正交摄像机,不采用透视摄像机。可以修改未渲染的背景图的颜色Background,还
2020-06-24 08:54:46
192
原创 Unity的坐标系
3D坐标系,表示的是三维空间,它存在着三个坐标轴,分别是X轴,Y轴,Z轴。3D坐标系分为左手坐标系和右手坐标系。左手坐标系就是Y轴指上方,X轴指向右方,而Z轴指向前方;而右手坐标系和左手坐标系的X轴和Y轴志向相同,Z轴的方向正好相反。便于理解:大拇指指向的方向就是Z轴的方向,四指弯曲的方向就是从X轴到Y轴的方向,左右手都可以这样判断。1.世界坐标(World Space)Unity引擎的左手坐标系也被称为世界坐标系,在默认情况下,局部坐标和世界坐标系的原点是重合的,不能把所有的模型都叠加在世界坐标系的
2020-06-14 10:55:15
1314
1
原创 常用的几个排序算法
快速排序规则:对于序列,选择一个基准数(一般选择第一个),左边都是不大于基准数的数,右边都是不小于基准数的数,继续对基准数两边的序列进行快排。下面展示快速排序的 代码。/////--------------------C++----------------------/////void QuickSort(int* n,int start,int end)//n表示数组的首地址,start表示开始的下标,end表示结束的下标{ //跳出条件 if(start>=end)
2020-06-12 11:42:10
122
原创 在Unity3D中自己制作Animation动画
操作步骤:·点击Window下的Animation(快捷键Ctrl+6)·会弹出一个Animation的编辑窗口·在Unity3D的Hierarchy面板选择需要编辑的物体·点击Animation编辑窗口的Create·在想要的时间对物体做出想要的位置、大小和旋转角度...
2020-06-10 13:48:53
771
原创 游戏开发中的简易数据存储
游戏开发中一定会涉及到游戏数据存储的问题下面展示我在学习游戏数据存储时自己边学边写的代码。Save类[System.Serializable]public class Save { public double distance = 0.0f; public int garde = 0; public string Name = ""; public double spee...
2020-04-21 14:52:18
521
原创 JsonMapper使用不了,无法使用LitJson命名空间
解决办法 我们在使用Json进行数据的存储时,要用到using LitJson;命名空间,经我个人经验来说,出现了找不到该命名空间的错误。 试过了很多种方法,在百度上也查到了下载LitJson.dll的方法,但是无法达到理想的效果,经过不断尝试,发现将LitJson.dll直接复制到工程的Assets目录下便可解决这个问题....
2020-04-17 16:09:15
1300
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人