unity
萌汉子@
这个作者很懒,什么都没留下…
展开
-
拓展自定义编辑器窗口(EditorGUILayout类)
近段时间在学习扩展unity编辑器窗口Unity支持自行创建窗口,也支持自定义窗口布局。在Project视图中创建一个Editor文件夹,在文件夹中再创建一条脚本。自定义窗口需要让脚本继承EditorWindow再设置MenuItem,此时在Unity导航菜单栏中GameObjec->window就可创建一个自定义窗口。using UnityEngine;using UnityEditor;//引入编辑器命名空间publicclassMyEditor:EditorWindow{[Menu原创 2021-08-26 15:55:16 · 1449 阅读 · 0 评论 -
C#之隐藏方法
隐藏方法:可以用与基类成员名称相同的成员来屏蔽基类成员。隐藏数据成员:在派生类中声名名称和类型相同的成员,不需要new关键字。隐藏函数成员:在派生类中声名新的带有相同函数签名的成员(函数名和函数参数相同即可,对返回值类型无要求),在声名前面加上new关键字。如果签名相同的方法在基类和派生类中都进行了声明,但是该方法没有分别声明为virtual和override,派生类就会隐藏基类方法。(要使用new关键字进行声明)基类class MyBaseClass{ public int MyM原创 2021-03-25 14:17:14 · 1285 阅读 · 0 评论 -
C#之程序运行时的内存区域
我们把内存分为堆 空间和栈空间栈空间比较小,但是读取速度快堆空间比较大,但是读取速度慢栈的特征:数据只能从栈的顶端插入和删除把数据放入栈顶称为入栈(push)从栈顶删除数据称为出栈(pop)堆是一块内存区域,与栈不同,堆里的内存能够以任意顺序存入和移除GC Garbage Collector垃圾回收器CLR的GC就是内存管理机制,我们写程序不需要关心内存的使用,因为这些都是CLR帮我们做了。类型被分为两种:值类型(整数,bool struct char翻译 2021-03-24 18:31:30 · 323 阅读 · 0 评论 -
C#之属性访问器
属性的定义结构: public int MyIntProp{ get{ // get code } set{ //set code } }1,定义属性需要名字和类型2,属性包含两个块 get块和set块3,访问属性和访问字段一样,当取得属性的值的时候,就会调用属性中的get块,所以get块,类型需要一个返回值就是属性的类型;当我们去给属性设置值的时候,就会调用属性中的set块,我们可以在set块中通过value访问到我们设置的值。通过属性来访问字段:原创 2021-03-24 18:04:34 · 1152 阅读 · 0 评论 -
C#基础之构造函数
构造函数的基础我们构造对象的时候,对象的初始化过程是自动完成的,但是在初始化对象的过程中有的时候需要做一些额外的工作,例如需要初始化对象存储的数据,构造函数就是用于初始化数据的函数。声明基本的构造函数的语法就是声明一个和所在类同名的方法,但是该方法没有返回类型。public class MyClass{ public MyClass() { 这个构造函数的函数体 }}当我们使用new关键字创建类的时候,就会调用构造方法。我们一般会使用构造方法进翻译 2021-03-24 18:00:26 · 556 阅读 · 0 评论 -
unity之UI逻辑框架(一)
原创 2021-03-16 19:11:18 · 447 阅读 · 0 评论 -
Unity热更新之ILRuntime(一)(实现摆脱lua的c#热更新)
ILRuntime入门笔记基础知识#官方地址:https://github.com/Ourpalm/ILRuntime官方文档:https://ourpalm.github.io/ILRuntime/文档Markdown源文件:请阅读 **ILRuntime\docs\source\src\ **下的源文件 比这个目录下的源文件新 **ILRuntime\Documents\ **,经过对比两个目录有小部分差异。官方Unity3D热更例子工程:https://github.com/Our原创 2020-10-30 12:45:43 · 1519 阅读 · 0 评论 -
Unity商业游戏底层加载框架二之打包策略
原创 2020-10-28 17:59:49 · 286 阅读 · 1 评论 -
Unity 调用手机功能( 震动、相机)
1.震动:HandHeld.Vibrate(),调用一次震动时长为0.5s,想震动时间长可以多调几次2.使用相机: Application.RequestUserAuthorization(UserAuthorization.WebCam); if(Applicaiton.HasUserAuthorization(UserAuthorization.WebCam)){ WebCamDevice[] devices = WebCamTexture.devices; de原创 2020-10-22 16:24:27 · 475 阅读 · 0 评论 -
unity之坐标转换
Unity中的四种坐标系 ——世界坐标(World Space)世界坐标很好理解,它是一个3D坐标。就是游戏物体在你创造世界中的坐标。transfrom.position获得的是物体相对于世界坐标的位置,transfrom.localPosition获得的是物体相对于父物体坐标的位置模型Mesh保存的顶点坐标均为局部坐标系下的坐标——屏幕坐标(Screen Space)屏幕坐标是以像素来定义的,与分辨率有关,例如分辨率为1280*720的屏幕则Screen.width为1280,Scre..原创 2020-10-13 15:34:58 · 422 阅读 · 0 评论 -
Unity商业游戏底层加载框架一
本模块主要讲解: AssetBundle打包管理; 类对象池和资源对象池; 离线数据及配置表; 使用框架制作简单的UI; 预备知识了解 程序集(可以自行网上查找了解); unity资源加载方式(1,拖到组件上 2,Resources.load 3,AssetBundle 4,AssetDataBase.LoadAtPtah); c#的xml序列化 1,类转成xml 2,以及转成二进制; unity asset序列化;xml序列化与反序列化例子//要序列...原创 2020-09-18 19:24:25 · 507 阅读 · 0 评论 -
游戏中的设计模式二
今天呢主要介绍一下设计模式几本很好的书: 《设计模式 可复用面向对象软件的基础》 《Head First 设计模式(中文版)》 《设计模式与完美游戏开发》上班的时候好好挣钱。下班的时候好好提升自己哦~~~~~~~...原创 2020-09-14 19:23:32 · 77 阅读 · 0 评论 -
游戏中的设计模式一
什么是设计模式?设计模式的作用? 解决同一种类型的问题 使用设计模式可以让代码结构更加清晰 设计过程中可以反复使用的、可以解决特定问题的设计方法https://www.zhihu.com/question/19558521 面向对象设计中的常见设计原则 单一职责原则 开-闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 最少知识原则(迪米特法则) 少用继承多用组合(合成复用)上述原则作用:让自己设计实现出来的软件系统更加稳定,容易维护并且具有一致性。 下面就是..原创 2020-09-14 18:42:54 · 294 阅读 · 0 评论 -
unity3D Xlua热更新流程
基于unity3D的xlua热更新流程Description —— 描述Xlua 是腾讯出品的热更新方案由于其开源,且热更新方案简单易用,便于开发者对代码进行维护与修改,而得到广泛认可这里 Chinar 对 Xlua 实现热更新的流程与坑进行一些记录与说明Xlua Import and Open Hotfix —— Xlua导入项目并且开启热更新导入 Xlua /到项目中后,我们需要在设置面板开启热更新才可以完全使用输入命令后,一定要回车,然后等待编译!Generate and Injec原创 2020-09-04 17:34:03 · 583 阅读 · 0 评论 -
unity UGUI之获取UI子节点在Canvas的2D坐标(一)
在做unityUGUI时,经常会遇到屏幕坐标转换为ugui坐标,前段时间项目需求鼠标点击屏幕遥杆就在手指点击的位置,会有屏幕左边转化为UGUI坐标来实现,今天想大家分享一下坐标转换,如下图所示,UI比较复杂了子节点会很多,假设我想获取某个子的子节点的2D坐标。首先我们要搞清楚 transform.postion 和 rectTransform.anchoredPosition 这两个坐标是完全不一样的。前面的是3D坐标,后面的是2D在Rect里的坐标,并且还是相对坐标,那么节点深了坐标就更不好换算了。.原创 2020-07-10 20:32:07 · 1863 阅读 · 0 评论 -
Unity 音频管理器SoundManager(一)
using System.Collections;using System.Collections.Generic;using UnityEngine;using XLua;[LuaCallCSharp]public class SoundManager : MonoBehaviour{ private float bgmVolumScale = 1f; //背景音乐声音大小比例 private float effVolumScale = 0.5f; //音效声音大小比例 ...原创 2020-06-19 12:06:43 · 1711 阅读 · 1 评论 -
unity UGUI之共有弹框类
using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.Events;using UnityEngine.UI;public class GlobalTipUIView : LuaBehaviour{ public enum MessageType { OK, //ok .原创 2020-06-02 14:26:00 · 338 阅读 · 2 评论