自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

U3DJueQi的博客

爱到骨子里

  • 博客(23)
  • 收藏
  • 关注

原创 AssetBundle之加载包体内的AssetBundle

位置:包体内的AssetBundle只能放在StreamingAssets文件下,别的目录是无法读取哦加载函数:(1)AssetBundle.LoadFromFile() 同步加载(2)AssetBundle.LoadFromFileAsync()异步加载特别注意:加载AssetBundle之前,需要使用AssetBundleManifest文件提取每个AssetBundl...

2018-12-24 20:31:37 754

原创 AssetBundle之依赖关系的处理

实际情况:我们经常会在两个或者多个Prefab中使用同一份的贴图和材质,如果直接进行打包,则会打包两份贴图和材质,造成资源的冗余。同类型的资源,通常可以打包成一个bundle。解决方法:我们可以直接在可能冗余的资源上输入AssetBundle的名字和后缀,然后进行打包,这样预设体会自动依赖材质和贴图。我们都知道当我们创建AssetBundle时,会自动创建对应的Manifest文件(资源依...

2018-12-24 20:11:21 2373

原创 AssetBundle之打包AssetBundle

设置AssetBundle     想要打包一个AssetBundle我们应该如何处理呢,Unity为我们提供了比较方便的方法,我们使用BulildPipeline.BuildAssetBundles()进行打包。步骤:(1)选择需要打包的资源,写入资源名以及后缀名(2)资源存放目录,我们经常使用的时StreamingAssets目录(3)编写自动打包的函数(通常是对编辑器...

2018-12-24 19:42:57 270

原创 运行模式之引用资源

我们都知道当我们打包时,Unity会自动的删除没有引用的资源,通常只有Resources和StreamingAssets两个文件夹下的资源。如果一个场景被加入到Scenes In Build ,那么这个场景中在层级面板中的游戏对象都会被都会被打入大游戏包中,比如场景有一个(1)人物模型;(2)模型中使用了材质A;(3)材质中使用了贴图B。这样在打包时已上的资源都会被打包。但是人...

2018-12-24 19:24:03 153

原创 资源加载和优化之编辑器Prefab

一,创建Prefab函数:PrefabUtility.CreatePrefab(),需要提供保存的目录以及当前的游戏对象。            ReplacePrefabOptions.ConnectToPrefab()表示创建的Prefab的同时自动关联到创建它的这个游戏对象。[MenuItem("Assets/Tools/CreatePrefab",false ,3)] ...

2018-12-19 12:13:01 362

原创 资源的加载和优化之编辑器模式下的资源加载

小常识:编辑器模式不是打包后的运行模式,而是在编辑器模式下运行的模式。在编辑器模式下,我们可以加载到硬盘、上的任意资源。而且我们可根据中实际的需要对编辑器进行扩展,但是一旦游戏发布后,大量在编辑器模式下的代码就不可以使用了。资源分类:在编辑器模式下资源分为两类,类一:可识别资源,比如引擎可以识别的资源声音,动画,视频,Prefab,UI等资源;类二:无法识别的资源,一般都是外部导入的资源,...

2018-12-19 11:21:47 603

原创 找出一个字符串中最长并且不重复的子字符串,要求时间复杂度越小越好

题目:找出一个字符串中长度最长并且不含重复字符的子字符串;要解决这个问题有多种解法,在这里我们来实现一种时间复杂度最小的方法,使用了哈希值代码如下:最终,时间复杂度为O(n),是用空间换时间来实现的。 //最长字符,开始位置的索引 public int startIndex = 0; //最长字符结束位置的索引 public int endIndex =...

2018-10-19 15:24:50 1692 1

原创 在Untiy中实现扫雷游戏,并且打包Apk

前言:《扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。在实现扫雷的主要逻辑中,主要的难点:(1)如何检测以一个对象为中心的八个方向上面的雷的个数。(2)检测如果是八个方向上面都没有雷的存在,应该如何去处理。在这里主要使用的是一个递归调用,网上很多说是泛洪算法,不管如何说,就是一个...

2018-10-10 18:39:19 330

原创 用Untiy自带的函数实现分数的动态变化模块,数值由a到b的动态变化,需要提供目标数值以及时间

用Unity自带的函数实现,有两种方案方方案一:使用协程(实际操作没有成功)方案二:使用Update(在Update中实现)以下代码是在Update中实现的: /// <summary> /// 目标数值 /// </summary> int _target; /// <summary> /// 变...

2018-10-09 13:37:51 704

原创 解析Json数据时的乱码问题

在使用Litjson解析json数据时,出现了乱码问题,错误提示如下:JsonException: Invalid character '' in input stringLitJson.Lexer.NextToken ()LitJson.JsonReader.ReadToken ()LitJson.JsonReader.Read ()LitJson.JsonMapper.Re...

2018-08-06 11:35:14 1682

原创 线程池

问题:创建线程和销毁线程代价不菲,过多的线程会消耗大量的内存和CPU资源。为改善这种情况,.NET提供了一种称之为线程池(ThreadPool)的技术。如果程序中包含若干个简单的且不需要特殊控制的线程,就可以使用线程池,它不但简单快捷,而且所消耗的系统开销远Thread少。常用ThreadPool类的部分方法: ThreadPool.GetMaxThreads();//...

2018-08-03 18:16:19 228

原创 线程同步之管程

管程:线程同步的另一种方法就是使用管程类,它使用独占锁的方式控制线程的同步,只有只有获得独占锁的线程才能访问临界资源。当一个线程进入临界区时,首先调用Monitor类的Enter()方法,尝试尝试获取临街资源的独占锁,若独占锁已被其他线程占用,就进入等待状态,直到释放独占锁为止。如果独占锁没有被其他线程占用,该线程会获取到独占锁,进入临界区,执行操作临界资源的代码。如果这时恰好有其他线程也来...

2018-08-03 16:28:07 253

原创 线程同步浅谈

了解线程同步前,我们先来了解几个相关的概念哦。无关线程:线程之间没有任何的联系,它们各自独立运行,互不干扰。相关线程:一个线程等待另一个线程的运算结果,两个线程共享一个资源等。例如:我们在线观看视频,一个线程下载视频,另一个线程播放线程,这两个线程相互合作才能正常的观看视频。临界资源:线程的相关性集中体现在同一资源的访问上,这个共享资源称为临街资源。现实问题:有两个线程,一个w...

2018-08-03 15:35:11 178

原创 链表闲谈一

了解链表之前先区分两个概念:1.0 顺序表:用地址连续的存储单元顺序存储线性表中的各个数据元素,逻辑上相邻的数据元素在物理位置上也相邻。(常见的数组)2.0 链表不要求逻辑上相邻的数据元素在物理位置上也相邻。链表:先了解链表:定义:链表使用一组任意的存储单元来存储线性表中的数据元素。在存储数据元素时,除了要存储数据元素本身的信息外,还要存储与它相邻的数据元素的地址信息,这两部分...

2018-08-02 15:30:25 119

原创 有关泛型UnityAction<T>和EventTrigger的搭配使用

功能需求:在消消乐中,将鼠标点击的对象和相邻的对象(鼠标点击后放置的地方)位置进行互换;介绍:1.0 使用的EventTrigger使用事件触发进行监听事件         2.0 UnityAction&lt;T&gt;这是一个泛型委托,用来将方法注册进去;         3.0 我们可以在UnityEvent中使用AddListener()方法注册UnityAction&lt;T&gt;; ...

2018-06-22 17:29:13 1640

原创 背包物品之效果一

背包内容需要实现以下功能:点击当前物品会变暗,再次点击当前物品会变亮,再次点击的不是当前物品,则只有最后点击的物品变暗,其他所有物品都会被点亮。代码如下:层级结构如下:Btn_1是button,Ima1,Ima2都是Sprite以下脚本挂在BtnHome的父物体上: //测试用的静态变量 public static string curName = null; private UIBut...

2018-04-11 18:36:11 252

原创 NGUI中使用ScrollBar和ScrollView遇到的问题

一 ScrollBar(滑动条)格式如下:(1)ScrollBar对象中挂有ScrollBar组件(2)子类中建立两个Sprite对象,名字为Foreground(前背景),Background(后背景)(3)调节Foreground的长度,和Background在滑动方向上的尺寸一致。(4)把子类中的对象拖动懂ScrollBar组件中的Apperaence中去(5)调节Size尺寸,为程序运行时...

2018-03-29 18:35:06 3373 1

原创 NGUI中的层级问题(通过修改(Depth)深度来解决前后遮挡问题)

先来认识一下NGUI中可以调节深度的组件:(1)Widget组件:通过修改Depth的大小来调节深度问题,数值越大,则就会挡住数值小的对象。(2)Panel组件 :通过修改Depth的大小来调节深度问题,数值越大,则就会挡住数值小的对象。、说明:(1)带有Widget组件的对象,只能和带有Widget组件的对象进行比较,不能和带有Panel组件的对象进行比较,带有Panel组件的对象总会挡在带有W...

2018-03-29 17:54:40 2060 1

原创 在屏幕内随机先后的生成10个子弹,子弹是UI图片,实现能碰到屏幕边缘反弹,反弹10次之后子弹消失

实现的效果图如下:c此编程题主要涉及两个部分,一是子弹在屏幕中的随机生成,第二就是子弹碰到屏幕的边界进行反弹(因为子弹是有方向的,因此不能使用物理碰撞)一 随机生成子弹,这里使用了协成,首先在项目中建立一个空物体,改名字为GameManager用来随机生成子弹,代码如下://子弹预设体,这里使用的直接拖拽,也可以使用其他方式 public GameObject bulletPr

2018-01-09 09:44:26 1751 1

原创 关于回文数的研究

一 知识扩展 “回文”是指正读反读都能读通的句子,这是一种语法,如“我为人人,人人为我”等。在数学中有这样一类数字也有这样的特征,称为回文数;如自然数n,如果将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=12344321,则称n为一回文数;注意:1.偶数个的数字也有回文数1244212.小数没有回文数 二 求

2018-01-06 15:47:30 400

原创 计算两个长度未知的字符串数组的和

说明:因为这两个字符串数组的长度未知,因此我们不能使用任何一种基本的数据类型进行计算;思路:我们将字符串进行拆分,成字符数组,然后,从最后一位数字进行计算,需要进位的进行进位;如下:下面是小编写的程序,经过验证,没有问题!!! static void Main(string[] args) { string number1 = "1

2018-01-06 13:58:17 405

原创 向一个容量为100的数组中随机的插入1-100中的数,并且数字不能重复

本次所解决的问题是向一个容量为100的数组中随机的插入1-100中的数,而且所有的数都不能重复;用到的知识有数组,随机数以及使用循环进行赋值和检测;下面是小编写的程序; public static void MakerArray() { int [] array= new int[100];//新建一个100的数组 Random

2018-01-06 13:41:04 1194 2

原创 求出第N个斐波那契数

一 知识普及(神魔是斐波那契数列)    斐波那契数列(Fibonacci sequence),又称 黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“ 兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以 递归的方法定义:F(0)=0,F(1)=1, F(n)

2018-01-06 13:15:22 524

空空如也

空空如也

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

TA关注的人

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