- 博客(33)
- 资源 (3)
- 收藏
- 关注
原创 Golang time CST以及UTC介绍
/Influxdb采用RFC3339格式确定起止时间,所以必须将格式进行对应转换,将其转换为该格式即可。RFC3339是一种格式,通过后面的+08:00表示东八区,Z表示零时区。CST和UTC时间Unix时间戳是相同的,只是展示的格式存在区别。
2024-06-03 11:06:22
471
1
原创 MTU介绍以及操作说明
1:什么是MTU 引用自百度百科:最大传输单元(Maximum Transmission Unit,MTU)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。是包或帧的最大长度,一般以字节记。如果MTU过大,在碰到路由器时会被拒绝转发,因为它不能处理过大的包。如果太小,因为协议一定要在包(或帧)上加上包头,那实际传送的数据量就会过小,这样也划不来。大部分操作系统会提供给用户一个默认值,该值一般对用户是比较合适的。...
2021-12-09 11:30:13
4173
原创 golang url.Parse 解析
golang中为我们提供了url.Parse,专门用来解析协议的url,比如http、https,rtsp,rtmp 等协议。为什么能够解析这些不同的协议呢,只要遵循下面的格式即可// 双斜杠地址scheme://[userinfo@]host/path[?query][#fragment]// 非双斜杠地址scheme:opaque[?query][#fragment]示例一:解析HTTPfunc ParseHttp(clientUrl string) { u, _ :=
2021-12-09 10:32:52
7971
原创 golang UDP中Read()/ReadFromUDP()/Write()/WriteToUDP区别
UDP serverUDP服务器端在调用”net.ListenUDP()“后创建”net.UDPConn”,read/write操作是通过这个UDPConn来完成的。因为listen的时候只指定了本地绑定的地址,它只能被动的接收来自客户端的消息,因此这个UDPConn在golang中为’unconnected’类型的。这种类型的UDPConn的读操作可以接受Read()及ReadFromUDP()。区别是Read()无法知道远程连接的地址信息而ReadFromUDP(...
2021-09-27 15:22:45
3574
原创 Unity中WWW类使用
一:WWW介绍WWW类是Unity网络开发中使用频率非常高的一个工具类,主要提供一般HTTP访问的功能,以及从网络上动态的下载图片,声音,视频资源等等。 目前WWW支持的协议有http://,https://,file://,ftp://,其中file是访问本地文件。WWW支持使用Get和Post方式进行表单的上传。 虽然新版本已经不建议使用了,但是嘛,我还是记录记录。1.1 WWW下载本地StreamingAssets资源当我们本地加载StreamingAssets资源的时候,需要使用WW
2021-05-07 19:55:57
3668
原创 UnityWebRequest使用方法
一:Unity网络工具类:Unity原来有个Http访问的工具类WWW,在新版本的Unity中,推出了新的工具类UnityWebRequest,可以代替原来的WWW类。我们之后尽量使用UnityWebRequest进行请求即可。二:简单的Get访问UnityWebRequest包含多个静态方法,可以创建一个UnityWebRequest对象,调用SendWebRequest正式发送请求。在协程返回结果后,需要判断是否有错误,再做处理。 IEnumerator GetText()
2021-05-07 19:41:52
5790
原创 unity实现导弹追踪效果
Unity实现导弹追踪效果有很多种方式。我们下面讲解几种常见的实现方式(1)直接实现 分析:导弹追随的时候,走的是抛物线轨迹,使用Slerp其实是可以实现抛物线的,但是我们要时时刻刻修改追随的角度、就是使用切线的方式。就需要我们自己进行实现。可以使用下面的方式进行实现。代码如下:using System.Collections;using UnityEngine;public class Fire : MonoBehaviour{ public GameObject t..
2021-04-29 19:19:58
4014
原创 Unity连连看插件制作
十一:连连看插件实践11.1 基础知识需要的技术前提掌握Unity最老的GUI技术,也就是将代码写在OnGUI里面。 使用EditorGUILayout,GUILayout进行布局 使用AssetDatabase进行编辑器资源加载 Asseet窗口创建GUISkin,将练练看的元素按照1---n进行命名(自己的规则,自己匹配即可)设计界面如下所示:上面是棋盘,下面是当前选中的按钮。点击确定的时候,将二维数组存储到一个txt文件之内即可。最终效果如图:存储二维数组到Re..
2021-04-24 15:35:51
1293
原创 Unity射线检测整理
Unity射线检测常见的几种应用一:检测单个物体//初始化射线:中心+方向 Ray rayNoraml = new Ray(Vector3.zero,Vector3.up*10); //绘制射线 Debug.DrawRay(transform.position,transform.forward,Color.red,10); if (Input.GetMouseButtonDown(0)) { ...
2021-04-22 20:48:31
2253
原创 Unity状态机FSM
Unity状态机FSM一:状态机介绍有限状态机,也称为 FSM(Finite State Machine) ,这些状态是有限的、不重叠的,其在任意时刻都处于有限状态集合中的某一状态。当其获得特定输入时,将从当前状态转换到另一个状态 ,或者仍然保持在当前状态。状态机的应用领域--- 玩家动作控制:比如一个玩家动作较多,我们可以使用状态机进行管理--- UI界面的切换与管理--- 怪物AI的设计二:状态机设计实例我们以案例为基础,设计一个人物有三种状态,在三种状态之间自由切.
2021-04-20 16:10:42
1866
原创 Unity AssetBundle详细解析
AssetBundle使用1.1 AssetBundle介绍AssetBundle是将资源使用Unity提供的一种用于存储资源的压缩格式打包后的集合,它可以存储任何一种Unity可以识别的资源,如模型,纹理图,音频,场景等资源。也可以加载开发者自定义的二进制文件。他们的文件类型是.assetbundle或者/.unity3d,他们先前被设计好,很容易就下载到我们的游戏或者场景当中。AssetBundle(简称AB包)是一个资源压缩包,包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行
2021-04-19 19:48:35
7773
原创 Unity接入QQ登录
打包的时候,参考了以前朋友写的链接 :https://blog.youkuaiyun.com/qq_17583689/article/details/103728495,写得非常好,步骤非常详细。经过测试,能够成功的进行qq授权。现总结一些常见的错误问题如下(1)有些版本要求Unity的包名和安卓的工程包名必须一致,这样打包的时候,会出现两份BuildConfig,导致打包错误。需要在build.gradle末尾添加下面的代码,这样导出的aar包就不会包含BuildConfig文件。afterEvalua
2021-04-14 19:33:27
871
2
原创 Unity UGUI图集专题
一:图集介绍什么是图集:我们可以将其理解为将一系列小图合并为一张大图。使用图集可以减少drawcall,提升效率。 游戏中的图片模型最终是要给到显卡去渲染的,然后CPU通知GPU要开始渲染,这一次通知就是一次Drawcall。当一个UI里面图片非常多的时候,我们可以使用图集技术将其一次性渲染。Unity打包图集的方式有很多种,这里我们讲解三种:(1)一种是使用系统自带的打包工具SpritePacker;(2)使用SpriteAtlas进行打包图集 (3)使用TexturePacker
2021-04-14 15:39:12
5759
原创 C#快速入门之string与StringBuilder(六)
一:String使用在 C# 中,可以使用字符数组来表示字符串,但是,更常见的做法是使用 string 关键字来声明一个字符串变量。string 关键字是 System.String 类的别名,表示由零个或者多个Unicode字符组成的不可变序列。可使用**[ ]**访问每个字符。1.1 字符串定义及初始化创建String对象:通过给 String 变量指定一个字符串通过使用 String 类构造函数通过使用字符串串联运算符( + )通过检索属性或调用一个返回字符串的方法通过格式化方法来
2021-04-07 20:31:57
333
原创 C#快速入门之数组与集合(五)
数组与集合数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。数组是用引用类型,需要使用new开辟空间1.1 一维数组一维数组【数组声明】 格式: 数据类型[ ] 数组名; eg: int[] int_array;【数组索引/下标】 数组索引默认从0开始, 依次递增1,最大到[数组长度-1]。【数组初始化】数组是一个引用类型,声明一个数组不会在内存中初始化数组。当初始化数组变量时,需要使用 new
2021-04-07 19:49:20
721
原创 C#快速入门之控制流(四)
控制流1.1 控制流概念** C#程序执行的时候,从主函数main进入,然后根据代码的逻辑进行执行。控制流则指定了程序中的语句在执行阶段中被系统由主函数开始从前向后或由上到下正常情况下执行某种功能的执行顺序。**1.2 C#语言中的三种控制结构(1)顺序结构: 按照语句编写的顺序自上到下逐句执行。(2)选择结构: — if选择结构——条件语句为真时,执行动作;条件语句为假,跳过不执行。 — if/else选择结构——条件语句为真时,执行if分支的动作;条件语句为假,执行else分
2021-04-07 17:51:01
370
原创 C#快速入门之运算符与表达式(三)
运算符与表达式运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下:算术运算符关系运算符逻辑运算符位运算符(重点)赋值运算符其他运算符1.1 运算符和表达式概念运算符 :能够帮助用户实现并完成某些运算操作的指令。表达式:由操作数和运算符组成的序列,产生单一的值。1.2 算术运算符算术运算符包含2个单目运算符(正和负)和5个双目运算符(加、减、乘、除、取模)。具体符号和对应功能如下图表所示:在表达式中使用算术运算符, 则该表达式称为算术表达式
2021-04-07 16:36:41
1328
原创 C#快速入门之变量与数据类型(二)
二: 数据类型与变量2.1 数据类型C# 有两种类型:值类型 和 引用类型。 值类型的变量直接包含它们的数据。 引用类型的变量存储对数据(称为“对象”)的引用。 对于引用类型,两个变量可以引用同一个对象;对一个变量执行的运算可能会影响另一个变量引用的对象。 借助值类型,每个变量都有自己的数据副本;因此,对一个变量执行的运算不会影响另一个变量(ref 和 out 参数变量除外)。C# 的值类型进一步分为:简单类型、枚举类型、结构类型、可以为 null 的值类型和元组值类型。 C# 引用类型又细分为类类型
2021-04-07 15:32:48
235
原创 C#快速入门之系统介绍(一)
初识C#及其开发环境§1.1 C# 介绍C#是由微软公司开发的一种面向对象并且运行于.NetFramework之上的高级程序设计语言。好多语法和C/C++类似,并且简单易学。使用C#开发应用程序比使用其它语言更加简单,快速。因为C#是基于.NetFramework。.NetFramework为开发应用程序提供了丰富的类库和图形控件,使用这些控件就可以开发出一些简单的应用程序。C#语言发布于2000年,经历了这么多年,微软也在不断更新C#的版本,每次升级都会带给我们眼前一亮,具体的升级特性我们会在以后
2021-04-07 14:36:54
567
原创 Unity播放精灵帧动画
Unity2D中,需要大量使用动画,比如2D人物的跳跃,攻击等动作。在Unity3D中,我们有些时候在设计一些UI的时候,也需要使用这种方式来表现一些动画。代码如下所示:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class SpriteAnimation : MonoBehaviour{ private Image
2021-04-06 10:53:52
484
原创 Unity读取StreamingAssets目录下文本
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Networking;public class FileUtil{ /// <summary> ///读取StreamingAssets中的文件 /// </summary> /// <param name="path">StreamingAs...
2021-03-31 18:18:09
6936
原创 Unity显示帧率FPS
using UnityEngine;using System.Collections;public class FPS : MonoBehaviour{#if CLIENT_DEBUG public float f_UpdateInterval = 0.5F; private float f_LastInterval; private int i_Frames = 0; private float f_Fps; void Start () { f_LastInterval .
2020-12-03 10:25:49
644
原创 Unity Shader LOD使用
LOD:Level of Detail作用:unity引擎会根据不同的LOD值在使用不同的SubShaderUnity选择对应的Subshader会从上往下寻找第一个小于等于LOD值的子着色器。一个着色器中会有一到多个SubShader,但是系统每次只会执行一个子着色器,选择子着色器的标准就是根据子着色器所设置的LOD的值来进行选择。如何设置Shader的LOD的值:通过Shader的下面属性进行设置:shader.maximumLOD=500;(1)新建Shader脚本如下:Shader
2020-11-25 17:22:01
2485
转载 Unity 实现Image流光效果Shader
参考以下博客内容https://blog.youkuaiyun.com/u013936327/article/details/47053721Unity中,经常实现Image图片闪过流光类似的效果。网上也有很多插件实现这种效果,我参考了上述博客,进行了整理。(1)首先新建一个Shader,命名为Logo.Shader,文件内容如下。该效果是使用顶点和片段着色器实现,对该着色器不了解的可以去进行学习。单纯为了使用的话,直接Copy即可Shader "Custom/LogoFlash"{ Prop
2020-11-25 17:08:01
3169
1
原创 Unity射线与UI碰撞检测
问题产生背景:我们有的时候,需要实现射线与3D UI之间的碰撞,当射线碰撞到3D UI之后(将Canvas设置为World Space),调整到合适的位置。使用LineRender表示射线的直观显示,使用一把枪结合第一人称控制器。当射线瞄准UI的时候,UI添加高亮边框。点击鼠标左键,调用按钮对应的函数。(1)首先,搭建场景,最终如下所示(2)简要说明:给Button添加Mask组件,设置对应的边框,开始的时候enable为false。当射线指向的时候,enable为true。枪口添加ray对象,
2020-11-11 20:41:16
6107
原创 Unity UGUI与射线检测冲突问题解决
问题产生的背景:我们在开发一些游戏的时候,比如捕鱼或者射击类游戏,鼠标(手指)点击会发射子弹。但是当我们点击在UI上面的时候,我们不希望触发射线检测,怎么解决,关键代码就是EventSystem.current.IsPointerOverGameObject() 如果当前鼠标在 ui 上返回true 否则返回false。如下代码所示:using UnityEngine;using System.Collections;using UnityEngine.EventSystems;...
2020-10-28 16:01:45
1196
原创 Unity高亮插件HighlightingSystem使用
使用步骤 (1)AssetStore搜索HighlightingSystem,将其导入Unity进行使用。 (2)给摄像机挂载脚本Highlighting Renderer组件,无需设置,直接挂载即可。 (3)创建立方体,设计脚本如下。 using HighlightingSystem;public class HightTest : MonoBehaviour { Highlighter h; // Use this for initialization v
2020-10-25 15:15:38
1603
原创 golang跨平台编译
当我们跨平台编译go程序的时候,只需在build的时候指定目标主机的os和archCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go // win x64CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go // linux x64CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go // mac x64当我.
2020-10-20 11:29:01
597
原创 Unity摄像机跟随
(1)简单版跟随:只跟随目标物体坐标,不跟随目标物体旋转using UnityEngine;using System.Collections;public class CameraFollow : MonoBehaviour { [SerializeField] private Transform target; /// <summary> /// 水平距离 /// </summary> [SerializeField]
2020-10-20 10:36:42
547
原创 .gitignore文件编写规则
一、生成.gitignore文件1、进入项目根目录,打开终端输入 touch .gitignore;2、也可以使用Vi创建该文件。3、在项目第一次创建还未Push的时候,就创建该文件二 、 设置要忽略上传的文件或文件夹1、过滤整个文件夹(Library文件夹)命令:Library/2、过滤具体文件命令:index.html3、过滤指定后缀的文件(过滤后缀为cs的文件),也可以过滤隐藏文件命令:*.cs三、规则介绍1、注释:“ # ” 写在行的开头,表示该行为注释;2、.
2020-06-10 16:23:44
626
原创 Unity LitJson解析Json
(1)Json文件如下,位于Resources目录或者StreamingAsset目录,目录不同,读取文件的方式不一样{ "cardList": [{ "id": 1, "level": 1, "name": "Lily", "type": 0, "des": "第一个女孩", "isEquip": false, "color":...
2020-05-31 10:34:05
782
原创 Golang gin框架上传图片
package mainimport ( "github.com/gin-gonic/gin")func main() { gin.SetMode(gin.DebugMode) router := gin.Default() router.POST("/upload", UploadImage) router.POST("/uploads", Upl...
2019-09-18 17:15:30
4554
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人