- 博客(11)
- 收藏
- 关注
原创 UnityC#利用字典时间复杂度最快最节省资源的方式删除一个数组在另一个数组中包含元素
思路:定义一个字典存储数组2,键为该元素,值为true,在字典中判断是否含有数组1中的元素键,不含有就存入一个List中,最后得到的List转为Array数组就是不含有数组2元素的新数组1,如果要删除字典中含有数组1的元素,只需要判断键值true或false即可。传统方法时间复杂度为n方,这种方法为2n。using System.Collections;using System.Collections.Generic;using UnityEngine;public class Sort : Mo
2020-12-01 11:17:11
724
原创 UnityC#实现各种排序算法(面试必备)
算法原理就不用过多介绍了,直接上代码:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Sort : MonoBehaviour{ List<int> nums = new List<int> { 2, 6, 7, 1, 45, 23, 14, 64, 22 }; // Start is called before th
2020-12-01 10:39:08
1135
原创 Lua的简单单例和基于框架的单例类实现
Singleton = {}function Singleton:new(o) o = o or {} setmetatable(o,self) self.__index = self return oendfunction Singleton:GetInstance() if self.instance == nil then self.instance = self:new() end return self.instance
2020-11-24 20:39:44
341
原创 学习随笔:Unity刘海屏适配思路
作为移动端开发者,刘海屏适配必不可少。记录一种较好的适配思路(应付面试):1.检测是否为刘海屏。可以使用平台和分辨率来判断,也可以读取SystemInfo.deviceModel获取设备型号。2.如果是刘海屏,对刘海处交互元素贴边的UI进行适配,3.获取刘海尺寸:width、height。(将该处UI交互元素向内或其他方向偏移)设置其最底层Panel的offsetMin或者offsetMax,设置的值需要自行微调。4.监听屏幕转动方向事件。...
2020-11-20 10:43:53
809
原创 学习笔记:Unity文件的各种写入操作
//第一种(文件流方式)://默认在文件里重写数据,,若将append设置为true则为追加数据var fileStream = new StreamWriter("Assets/LuaFileInfo.txt", true);//var fileStream = new StreamWriter(path);//fileStream .WriteLine(str);fileStream.Write("Assets/LuaScripts/" + fileName+"\n");fileStream
2020-11-19 20:55:36
1742
原创 学习随笔:Unity直线和球形射线检测的使用
射击游戏中常见的射线检测是这样:if (Input.GetMouseButtonDown(0)) { RaycastHit hit; if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 1000,3)) { Debug.Log(hit.collider.name);
2020-11-16 20:00:25
3864
原创 Unity简单MVC框架Demo
记录一个简单的MVC框架:Model模块:using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;//Model统一代表数据,游戏中存在多个不同的Model//事件等价于观察者模式public class Model { private string name; private int h
2020-11-11 19:53:06
489
原创 Unity给对象添加可见红外射线及射击功能
欢迎来到橘子广场。进入正题:首先给枪添加LineRenderer组件,这里我选择的是局部坐标控制(世界坐标容易出问题),勾选1可以增加射线亮度,取消2勾选,3处调节射线范围大小接下来就是代码部分:using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.EventSystems;public class RayView : MonoBehaviour{ public flo
2020-10-29 20:26:30
1803
2
原创 Unity实现角色控制器流畅控制人物
Hello,有缘人,这里是橘子广场,this is a Unity角色控制器的代码,实现人物的流场控制和视角的转换。我这里使用的是第一人称人物控制,当然第三人称重新设置下相机即可。首先搭建好场景,空物体加角色控制器,设置好碰撞体大小,将主摄像机房放在角色头上。接下来就是具体代码:using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerController:
2020-10-29 18:48:42
1642
原创 Unity消息中心,通知模式
//消息中心using System.Collections;using System.Collections.Generic;using UnityEngine;public class MessageCenter : Singleton{//委托消息传递public delegate void DelMsgDelivery(ParameterData pa);//消息中心缓存集合<string: 数据大的分类,DelMsgDelivery:数据执行委托>public sta
2020-10-13 11:20:32
1222
原创 Unity3D帧动画,图片的切换实现动画效果
Unity帧动画using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class FrameAnimation : MonoBehaviour{public Sprite[] pictures;public bool loop=false;float frequence = 0.1f;float calTime = 0f;int in
2020-10-12 20:31:10
2181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人