自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 问答 (1)
  • 收藏
  • 关注

原创 C-知识点整理

#define在整个程序中用赋给指定项的值替换指定项数据类型和取值范围typedef为已存在的数据类型创建新的名称,注意,不是创建新的变量,只是为预定义数据类型起了一个别名,如 typedef int integer; integer a = 19; printf("%d",a);此时 integer 就表示 int声明变量时,变量并未定义存入改空间的值,只是命令编译器为该变量留出存储空间,此时变量里存储的值可能是默认值,也可能是随机的“垃圾”值符号常量#def

2021-12-07 15:02:26 574

原创 C-类型,运算符,表达式

所有的整型都包括**signed(符号)和unsigned(无符号)**两种形式const常量类型,表示其值不可修改C没有字符串类型, 只有char ,只能用 char 数组来表示字符串加入一个新字符之前需要检查数组S中是否还有空间存放这个字符标题...

2021-11-17 15:15:33 107

原创 Lua-库

数学库math库由一组标准的数学函数构成,包括三角函数(sin,cos,tan,asin,acos 等)。变量 pi 和 huge ,其中 huge 表示Lua可以表示的最大数函数 randonseed() 用于设置伪随机数生成器的种子数,如果种子数相同的话,程序运行每次都会生成相同的随机数。如希望得到不同的随机数,则使用当前时间作为种子数。...

2021-11-15 18:01:06 302

原创 Lua-环境

全局变量检测全局变量 local file = io.open ("globalVarOutput.txt","w+") io.output(file) local mt = { __index = function(_, key) local info = debug.getinfo(2, "S") if info and info.what ~= "main" and

2021-11-09 19:57:02 88

原创 Lua-元表,方法

数组一般以1为起始索引,因为Lua库和长度操作符都遵循这个约定,如果数据不是从1开始,就无法试用这些功能元表假设a和b都是table,通过元表可以定义计算表达式 a + b,当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该元表中是否有一个叫 __add的字段,一般是方法。如果Lua找到了该字段,就调用该字段对应的值,这个值就是所谓的“元方法”。local meta = { __add = function() print("123") en

2021-11-08 21:15:21 183

原创 Lua协同程序

协同程序跟线程差不多,就是一个执行序列,拥有自己独立的栈,局部变量和指针同时又与其它协同程序共享全局变量和其它大部分东西。跟线程的区别在于:一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作地运行;一个具有多个协同程序的程序在任意时刻只能运行一个协同程序,并且正在运行的协同程序只会在其显式地要求挂起时,它的执行才会暂停。基础Lua中所有协同程序的函数放置在 “coroutine” 的 table 中create创建一个协同程序,参数是一个函数,该函数的代码就是协同程序所需执行的

2021-10-13 16:54:49 122

原创 Lua编译,执行

编译,执行与错误dofile: 内置操作,运行Lua代码块,实际核心是loadfile做的loadfile:从一个文件中加载Lua代码块,但不运行代码,只是编译代码,然后讲编译结果作为一个函数返回,loadfile不回引发错误,只是返回错误值并不处理错误loadstring 与 loadfile 类似,不同之处在于它是从一个字符串中读取代码,而非从文件读取。f = loadstring (" i = i + 1 ")f 就变成了一个函数,每次调用就执行 i = i + 1错误显式引发一个错误

2021-10-13 15:59:45 411

原创 数据结构-线性表

定义零个或多个数据元素的有限序列[ a1,a2,a3…ai,a(i+1),an ]a(i-1) 是 ai 的 直接前驱元素a(i-1) 是 ai 的 直接后继元素i 称为线性表的 位序n 为线性表的长度,如果 n = 0 ,称为空表--[[ 线性表 List Data 线性表的数据对象集合为{a1,a2...,an},每个元素的类型均为 DataType 其中,除第一个元素 a1 外,每个原损有且只有一个直接前驱元素 除了最后一个

2021-09-27 10:41:10 49

原创 数据结构-算法

定义算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作特性输入输出算法具有零个或多个输入,但至少有一个或多个 输出有穷性指算法在执行有限的步骤之后没自动结束而不会出现无限循环,并且每个步骤在可接受的时间内完成确定性算法的每一步骤都具有确定的含义, 不会出现二义性可行性算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成算法设计的要求正确性算法的正确性指算法至少应该具有输入,输出和加工处理无歧义性,能正确反应问题的

2021-09-26 16:07:00 85

原创 Lua 迭代器与泛型 for

迭代器 迭代器就是一种可以遍历一种集合中所有元素的机制,Lua中通常将迭代器表示为函数 每调用一次函数,即返回集合中的“下一个”元素function values(t)local i = 0 return function () i = i + 1 ;return t[i] end迭代器。每次调用 values 时function values(t) local i = 0 return function () i = i + 1 retur

2021-09-10 19:03:14 122

原创 Lua函数

函数Lua为面向对象式的调用提供了一种特殊的语法 - 冒号操作符。o.foo(0.x) -> o:foo(x)冒号操作符使调用 o.foo 时将 o 隐含地作为函数的第一个参数特别注意,如果函数调用不是一系列表达式的最后一个元素,则只产生一个值function funcA() return 5, 10endlocal x, y = funcA(), 20print(x .. " " .. y) -- 5 20 虽然 funcA内部 返回了两个值,但是作为表达式时,

2021-09-07 20:11:31 87

原创 Lua语句

语句Lua允许多重赋值,如 a,b = 10,2结果为 a = 10 , b = 2多重赋值中,Lua先对等号右边的所有元素求值,然后才执行赋值。--交换 x ,yx, y = y, x内部应该是产生了临时变量记录右边等式变量的值,所以才能交换成功局部变量和块(block)局部变量的作用域仅限于声明它们的那个块,一个块是一个控制结构的执行体,或者是一个函数的执行体或者是一个程序块如果需要严格的控制某些局部变量的作用域时,使用 do-end尽可能使用局部变量,可以避免一些无用的名称引入

2021-09-07 17:48:48 64

原创 Lua表达式

算数操作符“+” 加 “-” 减 “*” 乘 “/” 除 “^” 指数 “%” 取模^ 幂运算符取模操作符是根据一下规则定义的a % b == a - floor(a/b)*b对于整数,计算结果的符号永远与第二个参数相同,对于实数不一样x%1 是 x 的小数部分x-x%1 是整数部分x-x%0.01 则是 x精确到小数点后两位的结果检查一辆车是否在选抓了一定角度后开始往回开local tolerance = 10function isTurnBack(angle) angl

2021-09-07 17:48:22 90

原创 Lua基础类型

全局变量 lua中全局变量不需要声明 function funcA() a = 30endfuncA()print(a)Lua中访问一个未初始化的变量不会引发错误,是一个特殊值nil,需要删除一个全局变量,将其值赋值nil就行.类型与值 8种基础类型:nil,boolean,number,string,userdata,function,thread,table 使用 type 函数可以返回值的类型名称,type(type(X)) 返回一个string,与x值无关, 而是

2021-09-07 14:34:35 234

原创 数据结构绪论

逻辑结构集合集合结构中的元素除了同属一个集合外,没有其它关系线性结构中的元素是一对一的关系树形数据元素之间存在一对多的层次关系图形结构元素之间是多对多的关系物理结构顺序存储结构把数据元素存放在地址连续 的存储单元里,其数据间的逻辑关系和物理关系是一致的链式存储结构把数据元素存放在任意的存储单元里,存储单元可连续,可不连续(变化地址)比顺序存储方式更灵活,但是如果中间某个节点断了,会导致上一个节点无法找到下一个节点算法,解决特定问题求解步骤的描

2021-07-20 16:31:39 64

原创 Unity-倒计时效果

自己写了个倒计时的效果,希望帮到大家public class BackTime : MonoBehaviour{ private Text mTimeText; private float mSecond = 120; private void Awake() { mTimeText = GetComponent<Text>(); ...

2020-03-31 21:20:35 671

原创 2D-Rogoulike

加载图片到Unity后,最好先设置要发布的平台,如果你的项目很大,到最后再换平台就会花费大量的时间所以在开始就应该设计好创建Player和Enemy 的预制体使用 Animator override controller , 这个组件可是是不同的人物使用相同的动画控制器对 Enemy1动画控制器右键,然后选择 Animator override Controller,再选择重写的动画...

2020-03-31 11:54:51 461

原创 Cinemachine and Timeline

Cinemachine 是unity内置的虚拟摄像机Cinemachine可以被连接到相同的游戏对象作为相机Conponent来代替游戏的主相机可以在游戏场景中创建多个虚拟相机,所有虚拟相机由 Cinemachine Magager 管理the target references, the body and the aim.目标参考有两个参数 Follow 和 Look at如果你希...

2020-03-31 11:54:28 355

原创 Unity -关于随机数

Unity 对静态物体,会不断的进行计算,每一帧都会重新计算,然后存储在缓存中。对动态的物体则不会,为了减少内存的消耗,我们可以给物体添加一个刚体。任何有collider也有 Rigidbody 的物体都被认为是动态的,有collider但是没有rigidbody的物体都被认为是静态的一个 kinematic 的 rigidbody 不会被物理的力影响,但可以被动画化和被他的 transfo...

2020-03-31 11:54:06 1450

原创 Unity—UGUI

SliderBackground: 后置背景Fill: 前置背景Handle Slide: 手柄滑动控制前置背景覆盖后置背景Interactable : 选中此项则用户不可以点击,不可以随机修改数值Unity 中图片的类型 Image typeSimple :没有特殊效果,就是图片原本的样式Sliced:可以通过设置图片的边界,让边界内的图像可以进行拉伸,但是边界外的图像不影...

2020-03-31 11:53:25 231

原创 Unity -Character Controller

Unity中的Character ControllerUnity中默认提供了一个Character Controller的组件用于实现角色控制,一个3D的游戏物体,可以直接添加。Character Controller会自动模拟出Capsule Collider,它的主要配置如下:Slope Limit:坡度限制,默认为度,限制物体只能上这个范围内的坡度;Step Offset:...

2020-03-31 11:52:57 354

原创 Unity基础概念

像要使用Resouce类,必须创建一个 Resouce 文件夹,然后把需要的资源放进去,才可以在代码中设置路径进行访问

2020-03-31 11:52:30 228

原创 Unity程序基础框架

单例模式基类模块作用:游戏中会有很多 Manager,使用 BaseManager 减少程序中对于单例模式的书写,节省时间public class BaseManager<T> where T : new() //创建泛型类型,指定 T 必须为带有空参构造函数的类型{ private static T m_Instance; public static T...

2020-03-31 11:51:45 1602

原创 排序笔记

选择排序 for (int currentIndex = 0; currentIndex < array.Length - 1; currentIndex++) { int MinIndex = currentIndex;//记录位置 for (int j = currentIn...

2020-03-31 11:51:14 152

原创 Unity笔记1-脚本声明周期

脚本声明周期Unity脚本从唤醒到销毁的过程 - 就是脚本声明周期消息:当满足某种条件Unity引擎自动调用的函数,也叫 必然事件 //序列化字段,可以使私有的变量显示在Unity编译器中 [SerializeField] private int a = 100; //在Unity编译器中隐藏 [HideInInspector] public f...

2020-03-31 11:50:40 168

原创 Dotween

transform.DOMove(Vector3.one, 2); // 移动到目标位置,时长为2秒transform.DOScale(2, 2); //扩展到目标 Scale , 时长为2秒transform.DOPunchPosition(transform.forward,2); //让物体在目标位置之间来回移动,时间结束后,停止移动,就像被一拳打倒墙上一样,transform.DOS...

2020-03-27 15:47:52 1189

原创 Unity移动面板效果

public class MovePanel : MonoBehaviour{ private bool m_IsOn; private Transform m_Begin; private float m_Timer ; private void Start() { m_Begin = transform; } publi...

2020-03-20 21:57:28 419

原创 图片拖拽和交换位置

public void OnBeginDrag(PointerEventData eventData) { m_OriginSlotTrasnform = transform.parent; //记录当前Item的父对象位置 transform.SetParent(m_UICanvasTransform); //防止其它物体阻挡Item的渲染 ...

2020-03-20 16:56:24 272

原创 鼠标穿透UI元素解决

在用UGUI的时候遇到了鼠标穿透的问题,就是说在UGUI和3D场景混合的情况下,点击UI区域同时也会 触发3D中物体的鼠标事件。这是比较笨的方法:if (UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject()) return;好一点的方法 bool CheckGuiRa...

2020-03-19 14:00:41 381

原创 Unity脚本-part3

GetComponent函数Unity中,脚本可视为自定义的组件,你会经常需要获取同一个甚至其他对象上的脚本,通过GetComponent可以获取到其他的脚本和组件DeltaTimeDelta这个术语表示两个值的差别Time类中的delTime属性本质是两次update或fixedupdate的间隔,这可以用来平滑运动过程中使用的数值和其他增量的计算...

2019-08-24 22:27:17 110

原创 Unity脚本-初级Part 2

向量计算在游戏开发中,我们使用向量来定义网络,方向和其他各种计算Vector3.magnitude(),计算向量大小点乘积为0时,代表两个向量垂直比如创作一个飞行模拟器,你需要检查世界坐标系的上向量与飞机自身的前向量如果这两个是垂直的,就是点乘积为0时,飞机承受的阻力最小;随着点乘积为正且变大,我们可以知道飞机在拉升,我们可以增加一些阻力;如果点乘积为负且增加,我们就知道飞机正在下潜...

2019-08-18 21:22:16 119

原创 Unity脚本-介绍脚本

这里使用C#进行编写脚本在Unity中脚本主要有两个函数Start(){}和Updata(){}**Start()**函数在脚本所附的游戏对象进入场景时被调用可以通过 Debug.log()来获取游戏中的变量值,输入到控制台上Awake()可以在对象被使用前进行初始化,比如创建了一个人物模型,用Awake()将弹药数量添加到他身上,但在Start()中再赋予射击的能力。这个机制允许你在...

2019-08-17 23:11:18 611

原创 C# 错误调式与处理

使用 Debug.Log(""),Debug.LogError(""),Debug.LogWarn("");中断模式下的调试就是暂停程序的执行逐语句是一条一条语句调式逐过程是将方法当成一条语句来测试...

2019-06-15 01:09:39 153

原创 C# 委托

委托是什么?委托是C#中用于存储函数(方法)的的引用数据类型 //定义一个委托跟定义函数差异不大//定义委托需要使用deligate关键字//委托的定义不需要函数体...

2019-06-14 13:35:03 86

原创 C#第一天-接收用户的输入

使用console.ReadLine()方法;string str1 = Console.ReadLine();再利用toInt32()或者toDouble()方法将传入的字符串转换成整数或者浮点数类型 int num = Convert.ToInt32(str); Console.WriteLine(num); Console.ReadKey();WriteLine()方...

2019-06-08 16:01:36 371

原创 C#第一天,命名规则,变量范围

注意:命名中不能有" . "字符//当在字符串前面加上@字符的时候,我们就可以把一个字符串定义在多行 //编译器就不会再识别组成字符串中的转移字符 //如果需要在字符串中表示一个引号的话,需要使用两个双引号...

2019-06-08 13:55:33 166

原创 Java第20天-同步锁问题

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190424152701418.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzQzMjQ5,size_16,color_FFFFFF,...

2019-04-24 21:27:47 105

原创 Java第十九天-线程

package day19;/* * 创建一个多线程,完成1-100自然数的输出 */public class TestThread {public static void main(String []args){// 3.创建一个子类的对象 SubThread st = new SubThread(); //4.调用小城的start(),启动此线程,调用相应的run()方法...

2019-04-24 15:05:44 87

原创 Java第十八天-IO流,RandomAccessFile类

2019-04-22 15:40:58 132

原创 Java第十八天-IO流,其他流

//打印流FileOutputStream fos = null;try { fos = new FileOutputStream(new File("D:\\IO\\text.txt"));} catch (FileNotFoundException e) { e.printStackTrace();}PrintStream ps = new PrintStream(fos,tru...

2019-04-18 09:42:07 108

空空如也

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

TA关注的人

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