- 博客(17)
- 收藏
- 关注
原创 关于DOTween.KillAll()的踩坑记录
在操作页面的UI中使用了DOTween来做cd表现,在血条UI中使用了DOTween来做掉血的缓动动画。然后发现:在敌方被攻击到的时候按钮的cd过程就被打断了。然后随便找两个GameObject把这两个脚本挂上去,就会发现在mImage的DoFillAmount执行时按下空格键,mImage的动画就会被打断。结论:DOTween.KillAll()这个东西在执行时,会终止掉所有正在进行中的DOTween动画,无论是哪个脚本在哪个物体上调用的。
2023-12-11 15:24:09
603
原创 C#和Unity的Object、Object之间的相等比较操作以及Object的空检查(null check)
C#和Unity的Object、Object之间的相等比较操作以及Object的空检查(null check)
2022-07-06 10:20:02
2240
1
原创 C# 异步
一、异步概述 先放上MSDN链接 关于异步一些关键点:异步通常适用于需要I/O操作(包括请求网络数据等)以及需要CPU进行大量计算的场景C# 的异步是利用task和Task实现的。async关键字会将普通方法变成异步方法,并允许在其方法体中使用await关键字应用 await 关键字后,它将挂起调用方法,并将控制权返还给调用方,直到等待的任务完成。仅允许在异步方法中使用 await。 编译器将C#代码转换为状态机,它将跟踪类似以下内容:到达 await 时暂停执行以及后台作业完成时
2021-07-08 18:31:22
10464
原创 Unity 异步与死锁
一、问题以及迷惑点先说事情起因:public async Task<T> OpenWindow<T>(string assetName) where T : MonoBehaviour{ return await this.OpenWindow<T>(assetName, null);}项目用这个异步的方法来打开UI页面,之前用一直没有遇到问题。后来写了这么个方法来调用它:private void OnBtnClick(){ Task<View&
2021-07-01 18:42:54
1145
3
原创 关于unity timeline control asset 属性的记录
记一次尴尬事件,顺便记一下control asset的属性。起因是这样的,美术在timeline的control track上放置了一个例子特效,结果在timeline播完,特效又重新播放了一次。排查完别的地方,并没有控制该特效,那么问题就能只是timeline中的问题。 看到asset的属性如下: 感觉其中可能有问题的也就post-playback这个属性了。去查了下手册: 首先注意一下,post playback并不仅仅是只对嵌套的timeline起作用,大家可以测试下。由于我把re
2021-04-16 11:13:23
578
原创 GameFramework学习笔记(七)
到目前为止还没有做过AB模块相关的功能,虽然也了解大致的流程和相关的接口,但也还是没有真正的写过打包这部分内容。先来过一遍现成的范例,学习下打包的流程。一、AB包信息编辑 先从下面这个页面开始吧。 这个页面在2020.12.30这个版本已经叫ResourceEditor了,之前的版本是叫AssetBundleEditor(Deprecated),对应的手册里的Assets/GameFramework/Configs/AssetBundleEditor.xml(Deprecated) 这个xm
2021-04-08 17:45:46
444
原创 GameFramework学习笔记(六)
文章目录一、Xml的解析框架里剩下的比较想看的部分除了ab包以外就是配置的部分了。因为目前的项目配置文件都是excel,完全没有接触过其他类型的,所以看到StarForce里面的配置文件都是txt和xml还是比较好奇的。那就先来记一记配置相关的内容。一、Xml的解析先从xml开始,作为一个xml小白,需要先了解一下Xml。感觉和csproj文件格式差不多。然后就能看懂BuildSetting这个文件的内容了。<!-- xml文件声明 --><?xml version="1.0"
2021-03-17 16:39:50
539
原创 GameFrameWork学习笔记(五)
关于资源加载这部分,这篇文章做了总结(写这篇文章的大佬,关于GF也写了一些文章,是对GF各模块的概括总结,写的也很好,推荐看一下),就不重复了。虽然说大块的逻辑都很清晰,但是代码里的细节还是不少的,第一遍看能够明白逻辑,目的就已经达到了,细节的话后面再细细研究。一、DownloadManager 接下来这部分和资源关系很密切,就是下载。实际
2021-02-24 09:57:27
376
1
原创 GameFrameWork学习笔记(四)
一、序列化器 除了事件以及回调以外还有序列化器。所有类型的序列化器都是继承了泛型抽象类GameFrameworkSerializerpublic abstract class GameFrameworkSerializer<T> { private readonly Dictionary<byte, SerializeCallback> m_SerializeCallback
2021-02-05 17:26:12
413
原创 GameFrameWork学习笔记(三)
上篇笔记已经能够在逻辑上让框架以最简单的方式跑了起来,接下来就要填充具体的功能模块了。正常游戏一开始运行就要去加载必要的资源,而且资源管理这块也还蛮重要的,所以就从资源这块开始啃吧。 GameFramework资源这块依赖大量的事件、回调以及序列化等辅助工具,但好在都只是最基础的用法,可以先忽略掉。但是其中提到的文件系统有必要先了解一下。一、文件系统
2021-02-02 14:35:00
374
原创 GameFrameWork学习笔记(一)
写在前面的一些废话 最近项目核心模块要重构,负责非核心模块的我就清闲了不少,想给自己充充电,唔,好像也不算充电,反正就学习一点进阶的东西,研究一下框架的相关内容。 跑到GitHub上找unity相关的框架,star最多的就是entitas。但是上周已经大概研究过unity的DOTS了,大致了解了ECS的思路,entitas等放假再看吧(先给自
2021-01-27 14:00:45
1183
原创 Android Studio Gradle报错
因为不常接触Android Studio,今天遇到的问题做个简单的记录从AS创建了一个空项目以后,build窗口先跳出来了一个报错:Could not install Gradle distribution from http://xxxx报错很好理解,就是说从这个链接安装不了gradle。但是我明明挂着梯子呢,试着点了一下这个链接,直接就开始下载对应的gradle了,什么鬼啊???AS不是下载不了吗?算了,先不管这个了。后来google一下,知道要把下载的gradle.zip 放到这个路径下面
2020-12-15 16:06:11
601
原创 Cinemachine初体验
一、安装可以直接从package manager里面安装(踩过的坑:导入samples时可能会出现sample和当前使用的unity版本不兼容的情况,更换版本即可)二、cinemachine使用说明场景中需要已存在一个unity camera,然后在该相机上挂载CinemachineBrain组件(ps:如果不是在timeline中使用虚拟相机的话,这两个属性会决定多个虚拟相机之间切换的方式)或者直接使用cinemachine新建相机,这样会自动在原有的unity camera上挂载Cinema
2020-12-11 13:11:59
895
1
转载 2分钟做一个进度条
创建slider以后1、去掉Handle(滑动柄):选择Handle SliderArea,按Delete键删除(当然也可以在Inspector面板中取消选中该物体)2、修改背景色与填充色:选择FillArea下的Fill,在Inspector面板下找到Image(Script)组件,在其中可以修改Slider的填充色,同样选择Background修改背景色3、调整Fill Area(填...
2020-03-04 22:27:48
146
原创 单例和静态类
单例和静态类以及const、readonly和readonly static单例和静态类const、readonly和readonly static单例和静态类静态类不可继承和被继承 (也就是说不能继承Mono,只能继承System.Object),所以当一个类没有需要实例化的成员或者不需要保存状态时完全选择可以使用静态类对两种方式的比较:有必要使用单例的情况:有多态的需求(我感觉吧...
2020-01-11 18:16:50
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人