- 博客(63)
- 资源 (1)
- 收藏
- 关注
原创 常规的排序算法汇总
排序算法,在职业生涯中,时常有用到,不论是在项目中,还是在面试中。在这里记录一下常用的排序算法,也给自己插个眼。冒泡排序、插入排序、选择排序、快速排序、希尔排序、堆排序、基数排序、归并排序八大排序。
2024-05-15 22:24:48
634
1
原创 Unity与Andriod的交互
构建一个UnitySdk,方便在Unity中调用,而不是使用Unity自带的UnityPlayer类,在构造函数函数中,调用com.unity3d.player.UnityPlayer。将UnitySdk至为单例类。可在函数中对其他的一些方法,或自定义方法调用。这里讲的是在Unity中调用java代码,或者在unity中传参到java中,在Java代码中运行。在Unity中,将调用java的方法统一管理到Sdkmgr中。
2024-05-15 22:23:31
503
原创 Flutter下拉框使用和可替换按钮的组件
1、下拉框在使用flutter框架完成项目的时候,有一个下拉框选择排序条件的需求,需要将下拉的选择内容,放在下拉按钮的下面,如Unity的Dropdown。下图是完整的需求。但是flutter系统自带的DropdownButtonFormField,他的选择内容面板是不固定的,并不在下面,研究了一下,因为时间比较紧,就直接使用别人已经封装好的插件DropdownButtonFormField2。这个插件符合需求标准2、替代按钮。
2023-11-29 19:15:40
1941
原创 Unity一些常用的接口
独立输入模块和触摸输入模块支持的事件由接口提供,通过实现该接口即可在 MonoBehaviour 上实现这些事件。如果配置了有效的事件系统,则会在正确的时间调用事件。事件系统支持许多事件,并可在用户编写的自定义输入模块中进一步自定义它们。
2023-11-29 19:15:08
977
原创 lua中的正则表达式
前段时间做一个需求,判断用户输入的内容是否是电话号码,只匹配国内的,由于代码是使用的lua写的,所以就直接在前端的lua代码中,对用户的输入内容进行匹配。在此使用了lua的正则匹配。
2023-11-18 12:30:00
780
原创 flutter实用笔记
写下这一篇文章是为了记录这段时间使用flutter 制作项目中一些比较常用的组件,以及具体怎么使用,获得怎样的效果。我使用的貌似是flutter4。由于官方更新迭代的差别比较明显,可能之后许多内容对应最新的flutter不适用,在此只供参考。望周知。
2023-11-15 20:00:00
585
原创 flutter下拉列表
为了使下拉列表的标题不动,内容可以进行滑动,系统自带的下拉列表不能满足条件,通过不同的组件组合,实现这个功能。在此使用了InkWell组件。并且加载了动画,在点击时,动画展开面板,
2023-11-14 18:44:45
708
原创 flutter背景图片设置
2、如果目录中没有assets文件夹,则创建一个文件夹,并且取名为assets,在此文件夹中存放图片资源即可,如果想分文件夹管理,在assets目录下创建文件夹,并且在配置文件pubspec.yaml中加入路径即可。容器的背景设置,只有Container容器可以设置背景,SizedBox是不行的,其他的应该也有的,目前就还没有用上。3、图片的使用、在界面文件中,有的需要设置图片大小,目前给出三种方式。
2023-11-14 17:52:41
2955
原创 Unity出模型动画的序列帧(特效序列帧)
假如所有的特效用这套方法都不是带透明通道的,还能理解,但是有一些 特效输出来的带有的透明通道的,而有些却没有带透明通道。在Game窗口中查看是否是需要的渲染角度,如若不是,则更换摄像机的角度或者位置,使之渲染你想要的角度。(4)按F10,打开Recorder,添加Recorder为Image,绿色箭头为输出的路径。将需要打序列帧的物体,带有动画的,拖入刚刚新增的Activation中,调整摄像机位置。将需要输出序列帧的模型或者物体的渲染层级设置为刚刚渲染摄像机渲染的层级Layer。
2023-04-20 22:30:00
7517
原创 Unity与Andriod交互错误合集
第二、查看在Android 中的方法类是否继承正确,如下二图中,是错误的。2、如果还报类似的错误,原因是将Unity的Class.jar包也打入进来了,还是当前文件中,在dependencies区块内。第一、查看在Unity项目中jar包存放的位置是否正确,需要放在Assets\Plugins\Android目录下。在保证代码中的方法名没有问题,并且调用的方法名的返回值和传递的参数等都没有问题的情况下,操作完成后,重新build,引发报错,报错显示就会正常。将lib中引用的class后的代码注释掉、且加。
2023-04-19 19:53:46
1364
原创 Unity调用图片获取SDK后黑屏(切后台返回后黑屏)
后面经过大量的查阅资料,发现是调用Android的Sdk时,UnityPlayerActivity调用onstop,。我想到的第一次解决方法是,手动加调用onResume,onWindowFocusChanged这两个函数,但是这样做的弊端是会打断原来是生命周期。当在Unity的Activity有其他的Acivity时,UnityPlayerActivity的生命周期。看了许多资料,说是让游戏中自己去处理,没有找到的好的解决方案,如何后期解决了,会再来进行更新。目前菜菜的我只能使用这样的方法。
2023-03-20 16:08:27
536
原创 C#的一些知识点
学习C#需要知道的一些知识点。类是引用类型,结构体是值类型;结构体不支持继承,但可以实现接口;结构体中不能声明默认的构造函数。类的默认访问权限修饰符是 internal,类中成员的默认访问权限修饰符是 private;而结构体默认是Public
2022-10-18 15:54:01
1363
原创 哈夫曼树的一些理解与实现
哈夫曼树相关的几个名词路径:在一棵树中,一个结点到另一个结点之间的通路,称为路径。图 1 中,从根结点到结点 a 之间的通路就是一条路径。路径长度:在一条路径中,每经过一个结点,路径长度都要加 1 。例如在一棵树中,规定根结点所在层数为1层,那么从根结点到第 i 层结点的路径长度为 i - 1 。图 1 中从根结点到结点 c 的路径长度为 3。结点的权:给每一个结点赋予一个新的数值,被称为这个结点的权。例如,图 1 中结点 a 的权为 7,结点 b 的权为 5。结点的带权路径长度:指的是从根结点到该
2022-04-21 20:30:18
235
原创 两两数之和
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。试例:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。class Solution {public: vecto
2022-04-19 20:39:00
121
转载 UGUI的Text文本字间距TextSpacing
最近写了一个前端界面,发现现有的Text文本与效果图中的间距不一样,不管是调大小,空格,在想,有没有像Android那样修改字体间间隔的。通过分析Text显示的原理,写一份组件修改字间距。原理都是一致的。判断整个自己的索引点,修改点之间的距离即可。原文:字体之间的间隔距离sing System.Collections.Generic;using UnityEngine;using UnityEngine.UI;[AddComponentMenu("UI/Effects/TextSpacing"
2022-04-08 19:47:19
777
转载 C#基础总结
C#是一款完全面向对象的语言,具有安全性。与C++有相似之处,也有不同之处。在此只讲不同。在C#中,返回值可以有多个,其得益于Out和ref。这其两个是区别以及用法如下:区别1、使用ref型参数时,传入的参数必须先被初始化,对out而言,必须在方法中对其完成初始化。2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字,以满足匹配。3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。4、ref传进去的参数在函数内部可
2022-04-07 18:39:18
136
原创 扣血抖动和FPS显示
一、扣血抖动打斗的时候,当受到伤害时,为了使游戏更加真实,会使主角抖动;但这只是让玩家看起来的,其实只需要抖动窗口即可实现。其原理是摄像机窗口,既屏幕视口。using System.Collections;using System.Collections.Generic;using UnityEngine;public class ShakeCamera : MonoBehaviour{ public float ShakeLevel = 3f;//振动幅度 public
2022-04-06 20:58:23
3207
原创 GitHub怎么提交文件到别人的项目中
在GitHub中,是分布式的版本管理机制,你如果想提交或者访问别人的项目或者储存库第一个条件是,这个项目或者储存库是Public的,不然你是访问不到的。当妮想提交东西到别人的项目中,或者想别人可以提交东西到你的项目或者储存库中,需要做一下操作:仅需两步1,邀请合作人打开项目或者储存库,点击Setting点击Collaborators点击这里,添加邀请人一起合作开发项目在这输入添加人的ID即可,他的昵称第二步,被邀请人接受邀请如一下界面操作。或者点击这里,将复制的链接,发生给被
2022-04-02 22:01:52
1283
原创 对象池模板类(基类)和c#手动回收
一、对象池在一款游戏中,我们不止有一个对象池,为了方便对对象池的创建,由此写了一个模板类。当然,也可以实现全功能的对象池,不管什么类型都可以。在此就不在阐述了。在此模板类中,使用了委托,系统自带的委托函数,以及堆栈的使用。using System.Collections.Generic;using UnityEngine.Events;using UnityEngine;public class ObjectPool<T> where T : new(){//最好改为只读的
2022-03-24 17:22:01
4717
原创 unity检出安卓工程后报错
从unity中检出安卓工程在Android Studio中打开后,会出现Failed to notify project evaluation listener.报错1一开始我也摸不着头脑,后面查了许多资料后发现是当前使用的gradle版本和在build.gradle中的版本数不对。如下图,我使用的是6.8的版本,在gradle中对应的是4.0.0具体自己的版本对应的是多少,可以去查看gradle的API...
2022-02-18 17:00:42
2640
原创 Scroll Rect(滚动矩形)弹性
最近有用到这个Scroll Rect组件,在之前也用过几次,但是许久没有用了,有些东西忘了,在此记录下!里面的内容滑动有三种性质,在此记录弹性性质,其余两种作简单说明!不受限制既是对内容随意拖动,甚至会使内容不在矩形显示范围内---------一般不用这个性质夹紧Clamped强制将内容保持在Scroll Rect矩形中,切没有视觉效果,即拖动的时候到达边界就会立刻停止!弹性Elastic也是强制将内容保持在 Scroll Rect 的范围内,但是弹性模式在内容到达 Scroll Rect 的
2022-02-15 20:40:50
1268
原创 Lua中的self与点号和冒号的使用
在lua编程当中,会自己实现许多函数,并且进行调用,在调用的时候,会触及点号" . “和冒号” : "他们两者的区别在于一个有自己的表self(冒号),一个没有(点号)。类似与C++中的类中有默认的this指针,而类外没有!直观的看代码吧!输出的结果是一样的点号Test = {length = 4}function Test.set_length(Test, length) Test.length = lengthendfunction Test.print_area(Test)
2021-12-20 17:30:14
750
原创 unity中创建的四种系统shader
仅为个人理解!勿喷1、Unlit Shader会产生一个不包含光照,但是包含雾效的基础顶点/片元着色器。2、Image Effect Shader实现各种屏幕后处理效果提供了一个基础模板,可在此模板上进行修改。3、Compute Shader会产生一种特殊的Shader文件,一般在利用GPU的并行性来进行一些与常规的渲染流水线无关的计算。一般在做渲染的时候,不会创建这类文件,当然,具情况而定!4、Standard Surface Shader有典型的表面着色器的实现方法。当然,我们在游戏当
2021-12-14 16:49:47
2716
原创 AI行为树理解
基于前面几次的面试,自己进行行了总结:在问道我项目里的怪物AI逻辑的时候,我自己项目里用的是状态机制,算是行为树的一层,但是复杂的行为树有很多很多层,比较能完成的实习NPC或者怪物行为。自己也在百度上找了许多资料,对此谈下我自己的理解! @TOC一级目录二级目录三级目录基础-Basics1、行为树的名字很好地解释了它是什么。不像有限状态机(Finite State Machine)或其他用于 AI 编程的系统,行为树是一棵用于控制 AI 决策行为的、包含了层级节点的树结构。树的最末端——叶子,
2021-12-01 20:07:47
1511
原创 九大生命周期函数
Awake函数:一般脚本实例被创建时调用的触发用于游戏对象初始化,注意Awake函数是早于Start函数OnEnable触发时间:当对象变为可用或激活状态时被调用作用:事件监听Start触发时间:Update函数第一次运行前调用作用:用于游戏对象的初始化FixedUpdate触发时间:每隔固定物理时间间隔调用一次 ,可以通过修改物理帧数进行修改作用:用于物理状态的更新Update触发时间:每帧调用一次 作用:用于更新游戏场景和状态LateUpaate触发时间:每帧调用一次(
2021-10-28 00:35:40
577
Unity与Andriod交互Demo
2024-03-26
Unity游戏对话插件简单实用
2023-11-27
敏感词C#匹配后隐藏字符
2023-11-22
C#实现小型服务器与unity联通
2022-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人