自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 Unity程序框架总结归置系列(5)——场景切换模块

上一篇——Unity程序框架总结归置系列(4)——mono模块肝啊肝。因为这个东西也很简单,直接上:(代码中的GameConst在下面)/// <summary>/// 场景转换模块管理器,这里开始用到之前写的模块/// </summary>public class SceneMgr : SingleTon<SceneMgr>{ private SceneMgr() { } /// <summary> /// 同步加载场

2021-02-06 17:03:15 261 1

原创 Unity程序框架总结归置系列(4)——mono模块

上一篇——Unity程序框架总结归置系列(3)——事件中心肝。哦,这次有点不一样了,这次我们有两个脚本。先看第一个:/// <summary>/// mono控制器,用于给没有继承monobehavior的类可以使用mono的相关生命周期,如update/// </summary>public class MonoCtrl : MonoBehaviour{ private event UnityAction updateEvent; private

2021-02-06 15:57:21 342 1

原创 Unity程序框架总结归置系列(3)——事件中心

上一篇——Unity程序框架总结归置系列(2)——对象池依然是话不多说,直接肝。/// <summary>/// 事件中心/// </summary>public class EventsCenter : SingleTon<EventsCenter>{ private EventsCenter() { eventsDic = new Dictionary<string, UnityAction<object>

2021-02-06 15:43:17 263 1

原创 Unity程序框架总结归置系列(2)——对象池

上一篇——Unity程序框架总结归置系列(1)——单例基类该说的,上一篇也说了。话不多说,直接开肝。unity对象池模块using System.Collections.Generic;using UnityEngine;/// <summary>/// 对象池管理器/// </summary>public class PoolManager : SingleTon<PoolManager>{ /// <summary> //

2021-02-06 15:18:41 171 2

原创 Unity程序框架总结归置系列(1)——单例基类

写在前面的话这个系列的博客,是博主准备用来记录总结unity开发手游要用到的最基本的公共模块,也可以说是程序框架。希望能帮助博主理清思绪,向主程靠近。如果通过对这个系列的阅读,能让你对自己的学习路线有那么一些些帮助,那当然也是极好的。当然,如果在阅读过程中有什么疑问,也可以在评论区提出讨论,我在休息日有时间会统一回复。以上这段话只在这里阐述一次,后面的系列就都是直接开干了。...

2021-02-06 13:19:50 160

原创 C#踩坑之foreach

今天在写一段代码的时候遇到一个问题,我使用foreach遍历一个字典,在此过程中修改了字典的内容,结果报错。回头看了看基础语法:发现里面明确提到了不要在foreach中修改集合。。。。因为foreach是只读遍历,所以无法做写(增删改)操作。写了个小测试: List<int> list = new List<int>(new int[] { 1, 2, 3, 4, 5 }); foreach (int item in list)

2020-07-22 09:13:37 599

原创 献给Lua小白的Lua基础入门

lua的起源lua是Roberto Ierusalimschy、Luiz Henrique de Figueiredo 和 Waldemar Celes在1993年创建的一门轻量的可嵌入的快速的脚本语言,其功能非常强大,是以C语言编写的开源语言。lua本身的目的是为嵌入应用程序为应用程序提供灵活的扩展和定制功能。Lua特性脚本语言------解释型语言嵌入程序开发易与其他语言相互调用轻量面向过程函数式编程热更新安装Lua下载地址:http://luabinaries.sourcef

2020-07-01 20:10:51 1644 3

原创 unity3D之实现一个简单的UI框架

写在前面的话我会先把源码直接给出来。博主本身也不是什么大牛,所以写的也不是什么很厉害的框架,只是一个很小很小的UI框架,给初学者一点入门的思路。很多人在刚开始接触框架的时候都会有一种感觉:这NM什么DDX啊?!完全懵逼了有没有?!我还没开始写代码呢!怎么就已经有这么多代码要看啊?!还有大部分新人都会吐槽的事情:为什么要这么写啊?这玩意随便写个脚本挂上去不是分分钟实现功能吗?你这绕来绕去搞毛?这个主程是不是NT?!emmmmmmmmmmm…如果你知道主程怎么想的,你不就是主程了?所以,初次接触框架的话,

2020-06-27 18:52:03 2965 9

原创 U3DBUG积累之自制动画播放时位置会跑偏

具体问题:使用录制功能自制的动画每次在播放时,动画物体的位置是对的,但动画展现的地方却在别的位置,也就是说动画播放时会莫名其妙跑偏。解决方案:经过我多次调试,发现,如果你是使用录制功能制作的动画,那么你需要把你的播放动画对象放入一个空对象中,否则你录制时记录的是世界坐标,那么你虽然调整了对象坐标,但一播放动画,对象就会会到记录的世界坐标播放动画,而放入一个空对象后录制的就是相对于空对象的本地坐标了。...

2020-06-22 19:36:24 841 1

原创 U3D使用sqllite报错SqliteException: SQLite error no such column

错误信息:SqliteException: SQLite error no such column这是我在使用插入语句时报的错。解决方案:仔细分析了一下我的插入语句,发现我要插入的类型是TEXT,那么注意,要插入的字符串需用‘ ’单引号引起来,如下:Insert into users(username,password) values(" + “’” +username+"’" + ‘,’ + “’”+password+"’" + “)”;这样,你的插入语句才是符合sql语句规范的。...

2020-06-22 19:31:45 1106

原创 photon框架使用[PunRPC]的时候报了空引用

具体问题:使用[PunRPC]的时候,方法内使用了一个组件,这个组件我是在start()中获取的,运行到[PunRPC]标记的方法时会报错空引用,即找不到上述的组件解决方案:在awake中获取所需组件就可以解决该空引用报错,我不知道原因,但确实解决了。个人猜测是执行顺序问题,或者单纯就是unity出了BUG。...

2020-06-22 19:22:24 810

原创 Unity3D打包游戏报错

以下是报错信息:ArgumentException: The Assembly System.Configuration is referenced by System.Data (‘Assets/Plugins/System.Data.dll’). But the dll is not allowed to be included or could not be found.我的解决方式很简单,打开Build Settings–>Player Settings面板找到other Settin

2020-06-22 19:15:41 947

原创 一起来玩U3D之协程基础

程序、进程、线程程序是以文件的形式百存放在外存储器是静态的概念,运行一个程序首先要将程序文件从外存储器调入内存才能度运行。进程是一知个正在执行的程序,是一个动态的概念,简单来说程序被执行调入内存后道称为进程[CPU只能访问内存的数据],进程可以细分为线程,这样可以充分共享资源,减少内存开内销提高并发性。好,简单的了解了程序、进程、线程的关系之后,我们来看看unity的协程到底是什么。协程的...

2020-04-09 19:23:12 284

原创 一起来玩U3D之本地数据库工具类

sqlite本地数据库工具类这是一个获取数据库连接的框架,可以在使用本地数据库的时候继承此类,就不用反复去写数据库的链接操作。下面直接给出代码(该说的在注释里写的算是比较详细了):using System.Collections;using System.Collections.Generic;using UnityEngine;using Mono.Data.Sqlite;pub...

2020-03-28 08:42:24 172

原创 U3D中解析json数据使用ScrollView动态展示

ScrollView中用Text组件动态展示多条文本信息今天想使用ScrollView展示从json中解析出来的文本信息时,发现使用网格自动布局的话没有办法根据每条信息的不同调整各条信息的网格大小,因为网格布局中cellsize是调整后,所有网格都会调整,于是改用vertical自动布局,好处是可以自由设置每个Text组件的大小,就可以实现ScrollView中多条文本根据各自的文本长度调整文本...

2020-03-25 22:11:12 275

原创 一起来玩U3D之背包系统优化

背包系统优化上一次发的背包其实不能算面向对象。只是一种面向过程的解决了背包的基本需求,这次更新面向对象该怎么实现背包。多的就不说了,实现的效果是一样的,说一下脚本。首先抽取一个抽象类BagItem,如下:using UnityEngine;//装备种类public enum EquipType{ //无类型 None, //武器 Weapon, //防具 Armor, ...

2020-03-16 21:23:49 725

原创 一起来玩U3D之角色背包功能实现

这个背包是博主刚学完UGUI的八个回调时写的简陋版,之后会更新一个进阶版。个人觉得理解这个之后,再去写复杂的背包功能using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class EquipItemController : MonoBehaviour, IBeginDragHandle...

2020-03-14 13:16:47 397

原创 一起来玩U3D之场景转换+关卡选择

场景转换在游戏中我们经常会有场景转换的使用,比如传送阵等那么U3D中如何实现场景转换呢?假设我们现在有两个如下场景:那么如何在这两个场景中切换呢?首先,打开下面的界面然后再打开的界面中拖入我们的场景最后我们要在两个场景中分别创建一个脚本注意脚本中首先引入命名空间using UnityEngine.SceneManagement;public void OnClickLo...

2020-03-13 22:15:44 4206 3

原创 一起来玩U3D之登录功能UI界面

UGUI之登录窗口首先,我们需要新建一个画布然后,可以先设置一个背景图片点击下图指出的按钮可以选择一个背景图片。注意:选择完背景图片别忘了调整透明度接着,我们来创建输入框自行调整到合适的位置,合适的大小Input Field下有两个文本ui——Placeholder和TextPlaceholder里面的文本会在用户未输入时显示在输入框内text中的文本是用来保存用户输入的文...

2020-03-11 20:50:53 1120 2

原创 一起来玩U3D之基础物理引擎

一、人机交互Input类人机交互的常用外部设备就是我们平时用的那些⿏标、键盘、⼿柄、遥杆、触屏、VR⼿柄、按键、VR 等等一系列。我们就是使用这些与计算机进行交互,下面我们看看U3D中常用 的一些方法来实现交互。Input键盘输⼊⽅法GetKey ——按住时返回TrueGetKeyDown ——按下第⼀个帧返回TrueGetKeyUp ——松开第⼀帧返回True例如://这三个方...

2020-03-09 19:19:46 440

原创 一起来玩U3D之坦克大战(单机)

The War Of Tanks!!!项目需求:主⻆移动、坦克转身、开炮敌⼈⼯⼚ ⽣成敌⼈必须在空地⽣成随机位置 、每隔3s⽣成⼀辆坦克 、设置敌⼈数量<=50辆摄像机跟随炮弹敌⼈AI:随机转身、随机移动、开炮智能 距离判断道具管理器:随机⽣成道具每隔5秒⽣成⼀个道具道具:禁锢敌⼈3s 50%、摧毁所有敌⼈ 5%、⽆敌5s 40%、召唤有个友⽅坦克 5%大概就是这...

2020-03-08 20:41:40 3110

原创 C#面向对象总结小项目之实现英雄联盟回合制小游戏(文字版)

完成模拟英雄联盟1V1对战的回合制文字游戏具体要求如下:英雄初始没有学习技能,也没有装备英雄每回合可以1 选择学习⼀个技能【每个英雄最多学习4个技能】或给学过的技能升⼀级【每个技能最⾼3级,默认1级】升级后的技能伤害有所提⾼特殊效果可以酌情设计【眩晕、沉默等】(选做)英雄每回合可以选择行动⼀次(三种行动可选,但会因为所处状态有所限制)1、【普通攻击】(若被眩晕,则...

2020-02-29 15:18:09 5465 7

原创 C#中集合的练习(arraylist/list)

利⽤ArrayList或者是List<>做⼀个⼩型的学⽣管理系统添加学⽣移除学⽣【根据学号移除】查询学⽣【根据姓名查询学⽣、根据性别查询学⽣、根据年龄查询学⽣】按身⾼排序学⽣按年龄排序学⽣按成绩排序学⽣【从⾼到低】(成绩【数语英】【数学同分⽐语⽂】【语⽂还同分⽐英 语】)下面是代码(偷懒全写在一个文件里):using System;using System.Col...

2020-02-27 21:01:56 1210 2

原创 C#面向对象练习之接口与泛型

一定义接⼝IBattle,该接⼝包含功能Attack(),Move(),Jump();定义接⼝IRest,该接⼝包含功能SitDown(),Sleep()。定义接⼝IPlayer,接⼝IPlayer继承IBattle与IRest。定义Soldier类实现IPlayer接⼝ interface IBattle { /// <summary> ...

2020-02-26 20:14:43 735

原创 C#面向对象之多态的几个练习

一、计算平面图形面积与周长定义抽象类Shape,类中有两个抽象⽅法,分别是求⾯积Area和周⻓Circumference。定义圆类Circle,继承⾃Shape,类中有成员变量radius表示半径,实现Shape中求周⻓和⾯积的⽅法定义矩形类Rectangle,继承⾃Shape,类中有成员变量length,width表示⻓和宽,实现Shape中的求周⻓和⾯积的⽅法定义静态⽅法求⼀个图形...

2020-02-25 21:22:29 2786

原创 C#面向对象练习之模拟商城购物

购物系统商品类namespace ShoppingSystem{ /* * 商品信息包括:商品名称、商品价格、商品型号、商品描述等 */ /// <summary> /// 商品类 /// </summary> class Goods { /// <summary> ...

2020-02-22 17:17:14 2650

原创 C#面向对象基础之String类的练习

练习一有⼀个GET⽹络请求中,⽹络连接(url字符串)通常是如下形式:http://msdn.microsoft.com/zh-CN/?query=string其中? 后⾯表示参数。上⾯的例⼦中,参数名为query的参数值为string(1).判断⼀个字符串是否是合法的url字符串(以http://或https://开头)(2).判断⽹络连接中是否包含参数(提示:通过是否有?判断)(...

2020-02-20 20:10:17 618

原创 C#面向对象基础练习之狗血剧情小故事

题目要求买房是⼤事:创建两个类,模拟⽣活中房屋和⼈的特征和⾏为。房屋类:属性:房屋主⼈、地址、⾯积、每平⽶价格⽅法:估价、升值等⼈类:属性:姓名、性别、钱、配偶、房⼦⽅法:挣钱、买房⼦、结婚、卖房⼦、离婚等在Main⽅法中运⽤以上两个类创建对象模拟以下情景:⼀个⼈⼯作挣钱,有⼀天终于攒够了钱,买了⼀个房⼦,然后找了⼀个对象结婚。后来婚姻出现了第三者,两⼈离婚后此⼈卖掉了房⼦,...

2020-02-19 21:27:14 359

原创 C#面向对象练习之模拟英雄互相伤害

题目要求模拟英雄互相伤害的场景:创建武器类,包含字段:加攻击⼒,加⽣命值,加防御⼒,加速度值,类型(包括攻击,防御,法术,移动,打野)创建英雄类,包含字段:⾎量,攻击⼒,名字,防御⼒,移动速度,等级英雄类当中包括的⽅法:(1)加装装备(2)卸载装备(3)攻击英雄(4)受到攻击会掉⾎,举例:攻击⼒为100的时候,掉⾎为100。当⾎量⼩于等于0的时候英雄阵亡(5)每杀⼀个英雄等...

2020-02-18 22:04:53 1566

原创 C#中关于枚举和结构体的几个小练习

一、创建英雄的装备创建英雄装备结构体,包含名称,攻击⼒加成,法术强度加成,⾎量加成。有5个装备保存在结构体数组当中,编程找出⾎量加成最⾼者对装备数组按照攻击⼒加成排序并使装备按照攻击⼒加成升序进⾏信息打印首先是创建这个结构体,代码如下:struct Equipment { //此结构体为一件装备,包含名称,攻击⼒加成,法术强度加成,⾎量加成...

2020-02-17 21:37:31 1430 1

原创 C#中的枚举与结构体

枚举类型什么是枚举?1.枚举类型是⼀个⾃定义类型。定义方式:enum 枚举名 { 枚举值1,枚举值2… }2.枚举类型是⼀个值类型枚举值还可标记一个整型数字予以匹配,默认从0开始计数3.枚举类型的创建//装备类型 enum EquipType { Helmet = 100,//头盔 BodyArmor = 200,//防弹⾐ Knapsack,//背包 Knife }...

2020-02-17 21:26:27 672

原创 C#中的foreach和一个小练习

foreach迭代遍历语法规则如下:注意:迭代遍历是只读的,不能修改//foreach性能消耗要⼤⼀点,所以能⽤for的尽量⽤for foreach (var item in number) { Console.WriteLine(item); //迭代遍历是只读的,不能写⼊ //item = 1; }有疑问的可以私信博主。点个关注,给个赞呗!...

2020-02-17 21:16:47 381

原创 C#二维数组练习之求二维数组最大值以及求对角线的和

二维数组最大值查询有⼀个3⾏4列的⼆维数组,要求编程找出最⼤元素,并输出所在的⾏和列。其实很简单,就是两两比较保存角标就行。直接上代码: //首先定义一个3⾏4列的二维数组并初始化 int[,] testArr01 = new int[3, 4] { { 34, 25, 60, 43 }, ...

2020-02-17 21:10:50 3247

原创 C#中的二维数组

二维数组二维数组的定义有两个下标的数组称为二维数组二维数组本质上是以数组作为数组元素的数组,即“数组的数组”创建方式:数组类型[,] 数组名;如:int[,] map;二维数组的初始化动态初始化1.数据类型[,] 数组名 = new 数据类型[第一维长度,第二维长度]如:int[,] map = new int[5,3];2.数据类型[,] 数组名 = new 数据类型[...

2020-02-17 21:07:48 14774

原创 十大排序算法之选择排序

选择排序选择排序是一种简单直观的排序方法。它的基本算法思想就是遍历一组数据,选一个最大或最小的放在首位,然后再遍历后选一个第二大或第二小的放在第二位,以此类推,直到结束。这个算法思想很容易理解,我们直接看代码(C#实现): //定义一个整型数组 int[] arr01 = new int[] { 9, 1, 4, 3, 2, 8, 6, 7, 5, 0 };...

2020-02-17 14:21:02 259

原创 十大排序算法之冒泡排序

冒泡排序冒泡排序是一种简单的排序方法。基本的算法思想就是对要排序的一组数据进行一遍遍的遍历,每次遍历都对相邻的元素进行比较且调整顺序,直到这组数据没有需要调整的地方,排序完成。下面先用文字叙述一下该排序算法(升序):1.比较相邻的元素。如果第一个比第二个大,就交换他们两个,从头一直比到尾,这样最终,队尾的数字应该就是最大的数。2.重复操作以上步骤,除了最后一个数3.每次都会比上次的遍历...

2020-02-17 13:55:53 251

原创 十大经典排序算法之插入排序

插入排序**说起排序算法,最先要说的就是插入排序。**因为它简单且稳定。那么什么是插入排序呢?例如:有一组数据已经有序(不论升序降序)的排列好了,这时候我们需要在这组数据中再插入一个数据,并且要求该组数据依然有序,那么这个时候我们就可以使用插入排序算法解决问题。算法思想(我们以数组的操作举例(升序)):1.首先,包含两个以上元素的数组才需要排序。所以我们就从数组的第二个元素开始。2...

2020-02-17 13:11:25 199

原创 C#基础练习之打印菱形

答应菱形 * 输出菱形 * 输入n,用*输出边长为n的菱形(空心与实心两种)C#代码实现如下:这里没有使用数组。但思想是一样的。//提示用户输入 Console.WriteLine("请输入一个整数边长以打印菱形:"); //定义n保存用户输入 int n = Int32.Pars...

2020-02-15 16:25:44 1525

原创 C#基础练习之换硬币

换硬币问题 * 编程求:把一张1元的钞票换成5分,2分和1分的硬币,要求每种至少一枚, * 并且所换硬币数不超过30枚。请问有哪几种换法。 * * 需求分析: 1.1元=100分 * 2.三元方程求解不等式 * 5...

2020-02-15 16:20:03 658

原创 C#基础练习之猴子摘桃问题

猴子摘桃 *猴子吃桃问题。 * 猴子第一天摘下若干个桃子,每天都吃了前一天剩下的一半零一个, * 到第十天早上想再吃的时候,就剩下一个桃子, * 求第一天共摘了多少个桃子。 * * 需求分析: * 1.逆推过去就是每天的前一天有 (今天的数量 + 1) * 2...

2020-02-15 16:09:29 1228

空空如也

空空如也

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

TA关注的人

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