Unity
猫不在
这个作者很懒,什么都没留下…
展开
-
UGUI定位的突然顿悟
unity在打包时候有一个输出选项,是否。如果你选择了,在打开程序时就会自动全屏。如果画布缩小,就会导致UI挤在一块。在目标分辨率下很挤的两个UI。原创 2023-02-17 22:48:05 · 495 阅读 · 0 评论 -
点乘和叉乘
【代码】点乘和叉乘。原创 2023-01-27 20:31:36 · 94 阅读 · 0 评论 -
Protobuf3不会序列化默认值
protobuf原创 2023-01-25 15:12:36 · 56 阅读 · 0 评论 -
C#socket网络使用
selectlist。原创 2023-01-22 01:00:34 · 75 阅读 · 0 评论 -
不要用socket的异步BeginReceive
【代码】不要用socket的异步BeginReceive。原创 2023-01-18 22:26:45 · 138 阅读 · 0 评论 -
TCP的粘包问题
【代码】TCP的粘包问题。原创 2023-01-18 20:26:20 · 62 阅读 · 0 评论 -
关于用户ID的问题
unityID原创 2023-01-17 19:31:44 · 95 阅读 · 0 评论 -
ET框架关于opCode的理解
ushort。原创 2023-01-17 14:43:24 · 583 阅读 · 0 评论 -
困惑Transform到底放在哪里
【代码】困惑Transform到底放在哪里。原创 2023-01-15 21:26:36 · 81 阅读 · 0 评论 -
ET框架解读其一
【代码】ET框架解读其一。原创 2022-12-09 00:21:42 · 1726 阅读 · 1 评论 -
ILRuntime使用指南
最近闲着没事做,于是用ILRuntime做了一个小游戏中间遇到一些坑,对于ILRuntime的认识更清楚了。其它技巧自动转换DLL。原创 2022-11-27 10:32:24 · 1030 阅读 · 0 评论 -
TapTap自动获得游戏的MD5码
"Tools/获取MD5"原创 2022-11-27 10:02:07 · 67 阅读 · 0 评论 -
unity 监听Build前后事件
【代码】unity 监听Build前后事件。原创 2022-11-25 19:19:22 · 199 阅读 · 0 评论 -
Unity安卓隐私协议
因为国内最近各平台,特别是 taptap,检查隐私政策非常严格,需要在用户同意隐私政策前,不能调用任何相关接口。但 Unity 引擎自身在启动时,会去调用一些接口,比如 READ_PHONE_STATE 以及 GET_TASKS,导致没法通过隐私政策的检查。在 Unity 里制作隐私政策的界面,同意后再调用安卓接口弹出授权弹框,都是不行的。但该方案要求去改Unity编辑本身的java文件,不方便维护,我做了一些改动,在打包后处理阶段去修改,只需在 Editor 目录要增加一个C#文件即可。转载 2022-11-23 18:15:45 · 5836 阅读 · 2 评论 -
2D游戏设置相机
【代码】2D游戏设置相机。原创 2022-11-23 17:28:06 · 610 阅读 · 0 评论 -
C#闭包详解
在这种情况下,委托里引用的变量都是同一个i,所以编译器只会生成一个匿名类DisplayClass,并且把它赋值给数组的十个位置。如果用下面这种代码,每次循环都声明一个新的变量temp,那就会导致生成十个DisplayClass的实例。原创 2022-11-14 21:37:43 · 2131 阅读 · 0 评论 -
Unity 使用宏
/将信息保存到宏信息里.参数1保存到哪个平台参数2要保存的内容.原创 2022-07-19 23:25:34 · 1687 阅读 · 0 评论 -
如何获得包体的签名
用jdk自带的工具keytool先切换到.android文件夹然后命令keytool -list -v -keystore C:\Users\Sky\Documents\user.keystore原创 2022-03-31 15:55:57 · 182 阅读 · 0 评论 -
如果在安卓后台杀死程序怎么进行保存
虽然在安卓后台杀死程序不会唤起Unity的OnApplicationQuit但是在把应用切出去的时候会调用OnApplicationPause所以在这个函数里面进行保存就可以了。原创 2022-03-31 15:21:26 · 4228 阅读 · 0 评论 -
UGUI动态改变MatchWidthOrHeight
public class AdjustMatchMode : MonoBehaviour{ public float standard_width = 1920f; //初始宽度 public float standard_height = 1080f; //初始高度 float device_width = 0f; //当前设备宽度 float device_height = 0f; .转载 2022-03-14 16:07:51 · 435 阅读 · 0 评论 -
打字机特效
using UnityEngine;using System.Collections;using UnityEngine.UI;using System.Threading.Tasks;public class TypewriterEffect : MonoBehaviour{ public float charsPerSecond = 0.2f;//打字时间间隔 public float sectionPauseTime = 0.2f; public float symbolPause原创 2022-03-07 23:49:47 · 270 阅读 · 0 评论 -
接入TapTap防沉迷系统的逻辑图
我们需要做的是切换账号时候做一些处理进入游戏后判断用户年龄来上报游戏时长还有关闭弹窗时候进行处理(应该再次触发验证逻辑)原创 2022-03-02 16:18:03 · 3147 阅读 · 0 评论 -
把Unity的jdk环境添加到环境变量
jdk 路径unity在下载时候勾选了Android就会自动安装jdk环境在Edit——》Preferences——》externTools进行环境变量配置在我的电脑——>属性——》高级设置——环境变量里面直接将Jdk的路径填进去.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;注意这些路径之间由;分隔第一个路径是.%JAVA_HOME%\bin%JAVA_HOME%\jre\bin...原创 2022-03-01 18:59:31 · 4102 阅读 · 0 评论 -
导入package
在导入package的时候,我直接把三个包全部拖进了文件夹,以为全部导进去了但是并没有,他只导入了第一个。检查后才发现,只能一个个拖进去原创 2022-02-24 17:12:06 · 158 阅读 · 0 评论 -
ScriptObject的坑人之处
前言最近在写一个小游戏后期功能改进,于是我修改了ScriptObject所包含的对象GridData其实也没修改很多,只是把这个数据加了一个数组的字段但是在退回到编辑器的时候GridData原先存储的数据就全部丢失了。无语。...原创 2021-12-19 21:35:33 · 2268 阅读 · 0 评论 -
C# 通过反射获取枚举类型
文章目录问题反射获得的多余字段问题问题是这样的,我要在枚举类型上面加上ShowName的特性,这样就可以在编辑器里面显示友好的文本,而不是枚举的英文名称//该接口可以获得该枚举类型的所有值, 也是属于该UnitType类型的Enum.GetValues(typeof(UnitType))//该接口获得的是定义时的名称,例如None,Hero,Summonedvar names = Enum.GetNames(typeof(UnitType))//在System.Reflection命名原创 2021-10-25 16:04:39 · 1581 阅读 · 0 评论 -
unity 编辑器 混合使用固定布局和自动布局(二)
自动布局和固定布局交叉使用预留布局位置——GetRect|GetControlRect这也是我经常会遇到的问题,我想把自动布局和固定布局交替使用,所以需要获取rect数据需要注意的是,GetRect函数本身就是预留空间,无论你是否在该空间绘制东西,这片空间都会占用 Rect rect = GUILayoutUtility.GetRect(10, EditorGUIUtility.singleLineHeight*5); GUILayout.Button("我是下面的控件", GUILayout原创 2021-10-24 21:44:03 · 3271 阅读 · 0 评论 -
Unity 编辑器知识(—)如何绘制色块
文章目录绘制色块画贴图两种布局都可以自动布局固定布局绘制色块在项目写技能编辑器的时候,我想画出来某个颜色画贴图一开始是用画贴图,然后给每个像素赋颜色的方法,代码如下但是我不推荐这种方法 var back = new Texture2D(20, 20); for (int i = 0; i < back.width; i++) { for (int j = 0; j < back.height; j++) { back.SetPixel(i, j,原创 2021-10-24 21:24:36 · 2593 阅读 · 0 评论 -
封装的一些思考
对字段的封装今天在写代码时候涉及到一个等待任务的功能,一个组件可能会有很多子任务在做事情,他必须等到所有子任务全部都做完之后,才向自己的上一级汇报,任务完成。我的构思思路是,组件自身携带一个统计字段,只要有一个子任务开始做事就将这个字段加一,当任务完成时候就就将这个字段减一。所以只要返回一个协程,不停的判断这个字段是否为0。可是现在有个问题。我是否要暴露这个统计字段。如果不暴露的话,那最后也是通过方法进行改变他的值。这和直接改变他的值其实没有差别。所以我想,如果一个字段作用单一,那么暴露并没有原创 2020-06-23 13:28:32 · 171 阅读 · 0 评论 -
Unity 序列化的问题
Unity 序列化当我用父类引用子类的实例时,序列化只会保存父类的数据。解决这种问题只能使用Json序列化继承unity的序列化接口,用一个字符串保存真正的值,在序列化之前和序列化之后,对这个字符串进行还原。代码如下[Serializable] public class VFXStageSetting : ISerializationCallbackReceiver { public string effectType; public VFXAction action; pub原创 2020-06-19 22:30:41 · 633 阅读 · 0 评论 -
Unity编辑器控件的使用(—)
常用控件在GUI.Toggle(pos, value, label, "button")最后的GUIStyle设置为button就可以变成toggle形式的button了EditorGUI.BeginChangeCheck()和EditorGUI.EndChangeCheck()可以用来检测control控件是否修改EditorGUI.DelayedDoubleField()和EditorGUI.DoubleField()的区别在于前者只有当鼠标移出输入框的时候才会返回值EditorGUILayo原创 2020-06-19 22:21:14 · 1524 阅读 · 0 评论 -
用unity协程写的发牌程序
public IEnumerator PlayCard() { //还是不正确 应该弹出是否要打牌 EventCallback0 action = () => { IsState = true; }; PanelManager.Inst.Warn("是否要打牌!", a...原创 2019-11-21 15:19:20 · 519 阅读 · 0 评论 -
Unity入门1
初级介绍unity3D是一个软件,游戏开发引擎,简写U3D,Unity3D,UnityU3D可以做什么 游戏开发(手游)60%游戏开发(页游)10%VR,AR,仿真 30%VR与AR在未来应该有很大需求量U3D可以跨平台运行,开发一次,可以发布到20多个平台目录结构 Editor U3D引擎核心文件MonoDevelop 内置的脚本编辑软件创建步骤点击NE...原创 2018-08-26 16:09:49 · 388 阅读 · 0 评论 -
Unity入门2
目录目录前言方向光属性点光源聚光灯组件与脚本Transform组件脚本获取键盘输入获取鼠标输入前言我们在创建一个新的Scene场景时,场景中默认带有两个游戏物体,一个是摄像机,一个是灯光隐藏与显示游戏物体,Inspector面板图标右侧的复选框方向光方向光任何地方都能照射到,就和太阳一样,注意照射方向创建方向...原创 2018-08-26 16:46:43 · 257 阅读 · 0 评论 -
Unity常用工具类
Screen屏幕类Screen.width 屏幕的宽度,静态只读属性Screen.height 屏幕高度,静态只读属性在UIty开发模式下,取的都是Game窗口的宽与高编译后再运行,就是具体设备的宽度和高度Time类-Time.deltaTime 静态只读属性,渲染完上一帧所需要的时间 -Time.timeScale 静态属性,当值为1,游戏正常正常状态,为0则是暂停状...原创 2018-09-01 12:41:42 · 1878 阅读 · 0 评论 -
Unity项目文件夹结构
Assets:资源文件夹,保存游戏中所有的资源Library 库文件夹,保存当前项目需要的库文件ProjectSettings 项目设置文件夹,保存项目的设置信息Temp 临时文件夹,保存项目的临时数据我们只需要关心第一个文件夹,后面三个文件夹都会由Unity帮助我们来维护...原创 2018-08-25 17:29:47 · 6040 阅读 · 0 评论 -
Unity脚本中查找的几种方法优劣以及坑
我在写脚本的时候为了贪图方便就直接在函数里面写了GameObject.Find(" ObjectName")导致程序运行异常缓慢我以为setActive就是完全禁用了这个对象,但是查了网络之后,他只是起到一个隐藏的作用,他下面的脚本还是会照样运行查找的几个方法-最好不要保存gameobject而是保存transform,transform运用场景很多,而且Transform.game...原创 2018-09-01 13:40:05 · 2292 阅读 · 0 评论 -
Unity中脚本的生命周期
脚本的生命周期, 就是挂载到的游戏物体“从出生到死亡” , 所经历的一些事件。这些生命周期事件, 是一些特定的方法, 且是由 Unity 引擎事先定义好的, 在游戏的运行过程中, 由引擎自动调用。这些生命周期事件, 全部定义的 MonoBehaviour 这个类中。 也就意味着只有继承自这个类的脚本, 才有这些生命周期事件。 Awake() ※ 唤醒事件, 只执行一次。OnEnable()...原创 2018-09-01 18:59:40 · 392 阅读 · 0 评论 -
Unity 协同程序
基本简介在脚本运行过程中,需要额外执行的一些其他代码只有在继承了MonoBehaviour 这个类的子类中才能使用相关的协程方法正常的代码是按照顺序执行,协同程序会被直接跳过协同程序是一个代码片段,我们需要将这个代码片段封装成一个函数或者方法IEnumerator Task(){ yield return new WaitForSeconds(2); Deb...原创 2018-09-11 16:28:17 · 1950 阅读 · 0 评论 -
SendMessage 函数
gameObject.SendMessage(string) 通知这个游戏物体身上的脚本文件中的指定方法执行string 方法名,要执行的方法的名称原创 2018-09-11 16:37:36 · 515 阅读 · 0 评论