自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (1)
  • 收藏
  • 关注

原创 C#__委托delegate

委托类型跟整型类型、浮点型类型一样,也是一种类型,是一种存储函数引用的类型。

2023-10-31 20:40:14 624 4

原创 C#--继承

继承就是把大家共性的东西提取出来,共享。被僵尸咬一口你也是僵尸。

2023-10-31 14:58:36 246

原创 UGUI Scroll Rect滚动矩形组件

当需要在小区域显示占用大量空间的内容时,可以使用Scroll Rect。滚动矩形提供了滚动浏览此内容的功能。通常,将Scroll Rect与Mask结合在一起以创建滚动视图,在该视图中,只有Scroll Rect内部的可滚动内容可见。它也可以与一个或两个滚动条组合使用,这些滚动条可以拖动以水平或垂直滚动​​。

2023-05-14 17:39:04 753 1

原创 unity UGUI系统梳理 -交互组件

unity 中的交互组件可用于处理交互,例如鼠标或触摸事件以及使用键盘或控制器进行的交互。

2023-05-14 16:10:48 1606

原创 lua 实现基本排序算法

算法通过嵌套的循环比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。重复进行这个过程,直到没有任何一对相邻元素需要交换为止。越后面越大,小的放前面,大的放后面。

2023-04-01 16:05:25 189

原创 unity UGUI系统梳理 - 基本布局

偷懒了,部分节选unity API。

2023-03-05 20:45:07 869

原创 unity UGUI系统梳理 - 常用可视化控件

在没有放入图片下,image控件长这样我一般没交互需求的情况下都会把RaycastTarget给点掉,这个不单单是从提高性能角度上考虑,而是因为不勾掉的话测试测试的时候会产生一些不必要的bug放图后多了两个选项Image Type 字段可定义应用的精灵的显示方式,提供的选项包括:Simple - 均匀缩放整个精灵。Sliced - 使用 3x3 精灵分区,确保大小调整不会扭曲角点,而是仅拉伸中心部分。Tiled - 类似于 Sliced,但平铺(重复)中心部分而不是对其进行拉伸。

2023-03-05 20:11:40 841

原创 IOS App 隐私协议网址

有关法律要求《巅峰勇者》披露的;2.使用者在接受“巅峰勇者”服务时实施不正当行为的,“巅峰勇者”有权终止对使用者提供服务该不正当行为的具体情形应当在本协议中有明确约定或属于《巅峰勇者》事先明确告知的应被终止服务的禁止性行为,否则,《巅峰勇者》不得终止对使用者提供服务。4.4用户为了维护其合法权益,向《巅峰勇者》提供与所注册的身份信息相一致的个人有效身份信息时,《巅峰勇者》应为用户提供帐号注册人证明,原始注册信息等必要的协助和支持,并根据需要向有关行政机关和司法机关提供相关证据信息数据。

2023-01-03 20:06:10 492

原创 IOS技术支持

邮箱地址:[email protected]。IOS App 技术支持网址。

2023-01-03 19:54:07 149

原创 使用Lua实现常见数据结构

lua数据结构

2022-12-05 22:53:26 191

原创 unity UGUI系统梳理 - Button

Button

2022-09-18 22:40:29 1187

原创 Unity中的向量运算

零向量是非常特殊的一个向量,它是唯一一个大小为0的向量,也是唯一一个没有方向的向量。(2,-3,3)的负向量为(-2,3,-3)。即将向量的每个分量都变负。每个向量都有一个负向量,满足条件:一个向量和它的负向量相加等于零向量。2D零向量表示为(0,0),3D零向量表示为(0,0,0)。在Unity中,用Vector3.zero来表示3D零向量。向量变负,将得到一个和原向量大小相等,方向相反的向量。

2022-09-17 23:29:11 1022

原创 Lua String以及String库总结

最近一直使用到string,因此干脆对lua字符串的用法进行系统性的梳理。

2022-08-28 21:01:25 1483

原创 lua 判空的坑

lua判空

2022-08-21 13:56:22 229

原创 通过Xlua插件运行lua程序

using System.Collections;using System.Collections.Generic;using UnityEngine;using XLua; //引入xlua命名空间 public class Creat : MonoBehaviour{ private LuaEnv luaenv; void Start() { luaenv = new LuaEnv(); //LuaEnv可以理解为lua的运行环境 lua

2022-03-13 22:24:06 4009

原创 关于unity Assets 研究

一、Asset之前有研究过,但时间过长了,重新整理一下,一部分搬运大佬的文章我是在研究AssetBundle的时候关注到Asset的。官方解释AssetBundle是归档文件(即捆绑形式的文件类型),我个人将AssetBundle理解为一个压缩包。包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载对于Assets,一般来说我们有两层认知:一层来自于Unity的默认工程目录Assets,一层来自于Unity的打包系统AssetBundles。那么我们就从这两个方面来归一化地去理解Un

2022-02-25 21:00:00 2205 1

原创 unity 中Json使用

JsonJSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。LitJsonLitJson是一个Json的开源项目,这个比较稳定,推荐使用JsonMapper.ToObject():把json字符串转成对象.JsonMapper.ToJson():把对象转成json字符串.使用时,dll文件要放在Plugins文件夹下,代码访问时要引用命名空间:using LitJson;使用/***

2021-12-03 15:22:21 1338

原创 socket 登录界面

客户端using System;using System.Net;using System.Net.Sockets;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using LitJson;public class Click : MonoBehaviour{ Socket socket; //让服务器区分登录和注册

2021-12-03 14:30:10 484

原创 lua解释器程序

-estat execute string ‘stat’ 直接在命令行输入代码 并执行-lname require library ‘name’ 加载库文件 并运行-ienter interactive mode after executing ‘script’ 进入交互模式(默认)退出- -arglua程序参数列表...

2021-10-10 18:28:50 291

原创 Lua虚拟机

一、脚本语言脚本语言通常是解释执行的,每一门脚本语言都会有自己定义的OpCode(Operation Code,也称为bytecode,一般翻译为“操作码”或者“字节码”),这些字节码是由脚本语言经过编译器前端处理之后,生成的,再将它放到这门语言的虚拟机中逐个执行。而像C这样的都是直接编译器编译之后生成与当前硬件环境相匹配的汇编代码,不经过虚拟机,可以直接为机器识别脚本语言这样做得好处1、可运行平台 比较广,对接的是虚拟机,由虚拟机去处理硬件和软件平台的差异2、由于脚本语言需要由虚拟机执行,中间

2021-10-02 16:10:08 1573

原创 NGUI相关

项目用到,临时学一下1、NGUI简介2、操作导入插件在菜单栏上可以看到NGUI,这样就可以进行相关操作了UI Root:NGUI的UI内容必须挂载在UIRoot上这个就有点像UGUI的CanvasUI Panel:在NGUI中,UI Panel就像一个容器,只有在UI Panel中的UI对象才能显示,可以有多个UI Panel ,每个UI Panel都独立显示自己所包含的UI内容因为在UI Root中它会自带一个UI Panel,所以我们可以看到UI举个例子搞四个s

2021-08-14 09:19:54 179

原创 Unity热更新之AssetBundle——AB包资源加载

1、常用同步加载AB包方式using System.Collections;using System.Collections.Generic;using UnityEngine;public class ABTest : MonoBehaviour{ void Start() { //1、加载AB包 //Application.streamingAssetsPath 获得在不同平台下streamingAssets文件夹的地址(我们打AB包的时候拷贝

2021-07-26 11:40:24 1492 1

原创 Lua 面向对象--封装

面向对象特征1、 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2、继承:继承的方法允许在不改动原程序的基础上对其进行扩充,这样使得原功能得以保存,而新功能也得以扩展。这有利于减少重复编码,提高软件的开发效率。3、多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。4、抽象:抽象(Abstraction)是简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义,并且可以在最恰当的继承级别解释

2021-07-23 15:00:43 418

原创 lua 元表

设置原表--元表 -- 任何表变量都可以作为另一个表变量的元表 -- 任何表变量都可以有自己的元表(父) -- 当子表(有元表的这张表)进行一些特定的操作时 -- 会执行元表的内容--设置元表 -- 先声明两张表-- meta = {}-- myTable = {}-- 设置元表函数-- 第一个参数 子表-- 第二个参数 元表(爸爸)--setmetatable(myTable,meta)特定操作 __tostring-- 特定操作 __tostringmeta2={ -

2021-07-22 17:57:57 207 1

原创 Lua协同程序(协程)

协程的创建--协同程序(协程)--协程的创建--常用方法--通过coroutine.create()fun = function() print(666) endco = coroutine.create(fun)print(co)print(type(co))--类型线程--第二种方法--coroutine.wrap()co2= coroutine.wrap(fun)print(co2)print(type(co2))--创建出来的不是线程类型而是函数thread

2021-07-22 11:21:50 806

原创 Unity热更新之AssetBundle——AB包资源打包

1、在package Manager里面下载Asset Bundle Brower安装完成后,在packages下可以看到Asset Bundle Brower点击windows列表下的Asset Bundle Brower唤出2、让资源跟AB包关联,并且能够打包出来选择想要打包的资源点下面的New取一个包名这时候再点我们的windows列表下的Asset Bundle Brower,就可以看到东西传进去了unity里面的C#脚本是无法打包到AB包的,因此要用Lua进行热更新因为.

2021-07-22 09:34:02 2011 5

原创 Lua 垃圾回收

test = {id = 1,name = '666'}--垃圾回收关键字 collectgarbage--获取当前lua占用内存字节数 K字节 用返回值*1024 就可以得到具体的内存占用字节数print(collectgarbage('count'))print(collectgarbage('count')*1024)--进行垃圾回收--lua中的垃圾回收 理解有点像C#中的 GC --当test为空时 解除羁绊 变成垃圾test = nil--进行垃圾回收 理解有点像C#的GC

2021-07-21 15:07:46 137

原创 Lua 自带库

时间相关系统时间--时间相关 -- 获取系统时间(时间戳) print(os.time())获得一个时间戳 -- 跟上那个相反,把我们现在的时间弄成时间戳 print(os.time({year = 2021,month = 7 ,day =21}))*os.date('t’) --os.date('*t') local time = os.date('*t') for k,v in pairs(time) do print(k,v) end

2021-07-21 14:41:56 276

原创 C# 静态类与非静态类

区别静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。特点1、静态类中只能包含 静态成员(构造方法、字段、属性),在静态类中无法实例化下面这些是测试1.1 静态类中声明静态变量错误演示实例成员就是需要实例化以后才能用的(我这个类要New才能用)我们给这个变量加上static以后就可以用了,变成

2021-07-21 10:44:34 1310 1

转载 unity中的 进程、线程和协程

协程,我们首先回顾以下线程与进程这两个概念。在操作系统(os)级别,有进程(process)和线程(thread)两个我们看不到但又实际存在的“东西”,这两个东西都是用来模拟“并行”的,写操作系统的程序员通过用一定的策略给不同的进程和线程分配CPU计算资源,来让用户“以为”几个不同的事情在“同时”进行“。在单CPU上,是os代码强制把一个进程或者线程挂起,换成另外一个来计算,所以,实际上是串行的,只是“概念上的并行”。在现在的多核的cpu上,线程可能是“真正并行的”。1 线程、进程、协程的区别进程

2021-07-20 15:45:41 872

原创 Unity热更新之AssetBundle——理论基础

概念AssetBundle简称AB包AssetBundle是Unity引擎提供的一种资源打包方式,可以对除了C#脚本外的任何资源进行打包压缩处理。如果想在Unity平台实现Lua热更新,Assetbundle技术是无法跳过的知识点,在unity平台我们进行热更新下来的资源都是需要事先进行Assetbundle打包处理的。特定于平台的资产压缩包,有点类似于压缩文件资产包括:模型、贴图、预设体、音效、材质球等作用1、相对于Resources下的资源,AB包可以更好地管理资源,更灵活方便,更易于做热

2021-07-20 14:54:39 460 1

原创 lua 特殊用法(多变量赋值、函数多返回值、and or[短路])

多变量赋值--多变量赋值a,b,c='123',666,trueprint(a)print(b)print(c)这语言是真的骚,全自动赋值变量少了,自动补空--全自动赋值--变量少了,自动补空t1,t2,t3=1,2print(t1)print(t2)print(t3)--变量多了,自动裁剪t1,t2,t3=1,2,6,7,8print(t1)print(t2)print(t3)函数多返回值--多返回值赋值function Test() return

2021-07-20 11:51:59 657

原创 lua 多脚本执行

1、全局变量和本地变量全局变量--多脚本执行--全局变量和本地变量--全局变量--全采用全局变量其实挺浪费内存的--像下面这些全是全局变量a=1b='123'--for循环内声明的变量在C#中是局部变量,在lua中是全局变量for i=1,1 do c='lucky'endprint(c)局部(本地)变量--关键字 local for i=1,1 do local d='execution'endprint(d)这样在for循环外我们就获取不到局部变量的值

2021-07-20 10:54:06 484

原创 Lua 表的公共操作

插入t1={{name="张三",age = '23'},{name='李四',age='25'}}t2={name ='牛二',sex=false}print('t1长度:'..#t1)--插入table.insert(t1,t2)print('t1插入后长度:'..#t1)我们遍历一下for k,v in pairs(t1) do print(k,v)end它打印出来是它的类型table,后面是它的地址。三个不同的地址对应的就是它不同的三张表我们想看看表内的东西,就把属

2021-07-19 19:45:08 150

原创 Lua 类和结构体

Lua中默认是没有面向对象的,需要靠我们自己实现成员变量 成员函数Student = { age = 18, sex = true, Up = function () print('长大了') end}Lua中类的表现更像是一个类中包含有很多的静态变量和函数print(Student.age)Student.Up()在声明表后,可以在表外去声明表有的变量和方法表内是没有name这个属性的,我们在表外给它添加了Student.name= '少年'--表外加函数有两种写

2021-07-19 17:54:51 3715 1

原创 Lua Table表实现字典

字典字典的声明字典使用键值对构成访问单个变量 用中括号填键来访问a={["name"]='小可爱',['age']=18,["6"]=6}print(a['name'])print(a['age'])print(a['6'])可以通过.成员变量的形式得到值print(a.name)print(a.age)修改a["name"]='丑八怪'print(a.name)print(a['name'])新增a['sex']='woman'print(

2021-07-19 15:27:02 732 1

原创 Lua 迭代器遍历

迭代器遍历主要用来遍历表#获取长度其实并不准确,一般不要使用#来遍历表(除非你很确定这里面的元素都是不间断,中间也没有为空的情况)ipairs迭代器遍历ipairs遍历还是从1开始遍历的,小于或等于0的不遍历--ipairs--先搞一个自定义索引a = {[0]=1,2,[-1]=3,6}for i,k in ipairs(a) do print("ipairs遍历"..i..'_'..k)endpairs迭代器遍历pairs可以遍历所以信息,建议使用其遍历各种不规则的表

2021-07-19 14:44:16 256

原创 使用Sourcetree管理GitHub项目

克隆遇到错误一直登不上去,重启后就正常了,应该是网络波动吧从github上克隆项目更新当我们在本地项目上做出更改后,可以看到下面未暂存文件

2021-07-19 13:52:39 217

原创 lua table表实现数组

1、复杂数据类型 table在lua中表示一切复杂数据的基础:数组、二维数组、字典、类等直接输出会输出-- 所有复杂类型都是table(表)a={1,2,'123',true,nil}--lua中 索引从1开始print(a[0])--报nilprint(a[1])print(a[2])print(a[3])print(a[4])--打印数组长度--#是通用的获取长度的关键字print(#a)注意2、数组的遍历--数组遍历q={1,2,'6'}for i=1,

2021-07-16 16:07:29 1209 1

原创 Lua 函数

1、概念在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。Lua 函数主要有两种用途:1.完成指定的任务,这种情况下函数作为调用语句使用;2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。 基本写法function 函数名()end还有一种特殊写法a(变量)=function()end我感觉像lua这种随

2021-07-16 11:20:51 418

仓库管理系统.rar

作为信息管理系统的一部分,仓库管理系统有着手工管理所无法比拟的优点。例如:查询方便、检索迅速、存储量大、可靠性高、保密性好、成本低等等。开发本系统的具体要求如下。 (1)需要提供一个仓库管理功能,可以同时管理多个仓库。 (2)需要提供一个仓位管理功能,能够对仓库中的仓位进行具体的划分。 (3)需要提供一个库存物料管理功能,能够方便的管理仓库中的物料。 (4)需要提供一个数据字典,能够管理一些预设数据,例如计量单位、货币、运输途径等信息。 (5)需要提供一个物料出入库功能,并提供出入库的单据分级签收功能。 (6)需要提供一个系统权限管理功能,能够对不同的用户赋予不同的权限。

2020-02-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除