unity

unity的yield

元气小坏坏 提交于 2019-11-29 00:23:14
这里说的是Unity通过StartCoroutine开启IEnumerator协程里的yield相关 1.yield return 0,yield return null 等待下一帧接着执行下面的内容 2.yield return new WaitForSeconds(float secs) 等待指定秒数,接着执行下面的内容 3.yield return www; 使用www下载,等待下载完成后再执行下面代码 4.yield return StartCoroutine("协程方法名") 先执行协程方法,并等待,直到该协程方法执行完再执行后面的内容 5.yield break 退出协程,不执行break后面的代码 6.yield return resourcesRequest; 异步取到文件后执行后面的代码 来源: https://www.cnblogs.com/mcyushao/p/11434997.html

Unity \"Feature 'out variable declaration' cannot be used because it is not part of the C# 4.0\"

徘徊边缘 提交于 2019-11-29 00:02:34
Unity2017升级到2019后,脚本全都不可用,报错后半段部分内容为“Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification”。 在Unity选择【Edit】——【Project Settings】——【Player】——【Other Settings】——【Configuration】大项下的【Scripting Runtime Version】选项选择【.NET 4.x Equivalent】即可解决问题。 来源: https://www.cnblogs.com/yxfcnbg/p/11433530.html

每日踩坑 2019-08-22 Unity 依赖注入 未能为类选择构造函数

江枫思渺然 提交于 2019-11-28 22:19:43
Unity会自动使用参数最多的构造函数来进行创建对象, 假如在这个类中有多个构造函数时,而我们要指定其中一个作为Unity进行创建对象则必需用到 [InjectionConstructor] 气死我了 怎么会有这么睿智的玩意, 明明都传 ParameterOverride 了, 居然不会根据参数匹配。 参考: https://www.cnblogs.com/wujy/p/3321478.html https://www.cnblogs.com/chinadeveloper/p/6184307.html 来源: https://www.cnblogs.com/Aaxuan/p/11395602.html

Unity3D学习(day2/19/8/29)

折月煮酒 提交于 2019-11-28 22:02:32
part 1 新学一门语言总要从“Hello world”开始。 C#每一行写完要加;号 VS的界面与操作 Ctrl+K+C = python里的Ctrl+1 Ctrl+k+U = python里的Ctrl+1 可以用#region —#endregion来建立折叠区域 .cs结尾的文件类型是C#文件类型 3.定义变量 变量类型+变量名字 = 赋值; 还是python赋值简单 两种命名法来给变量和类来命名 数据类型 数字:int,float,double float存储小数加f 字符:string,char string 加双引 char 只能存一个,不能存空,单引号 占位符{0}_______{1},完事后英文逗号,写上变量 writeline输出时可以这样用,不知道可不可以像python那样占位 加加减减 前++,先给变量自身+1,再拿进去参加运算 后++,先拿原值参加运算,完了+1 复合赋值运算符 += 等于加上后面的数 -= /= %= *= 学到第七章了,下午要打dota加游泳,晚上班会,今天估计就只学这些了。 大概失眠的时候再打开B站看? 来源: https://blog.csdn.net/weixin_43886204/article/details/100132496

Unity C# CSV文件解析

元气小坏坏 提交于 2019-11-28 20:18:24
在游戏开发过程中,经常要用到Excel编辑各类数据,如果可以直接用Excel支持的文件格式来读取数据,修改将非常便捷。 Excel支持导出CSV类型的文件,这类文件不仅可以用Excel直接打开修改,即便用记事本打开也非常容易阅读,解析起来也很简单。 下面给出CSV文件的解析类: 1 using UnityEngine; 2 using System.IO; 3 using System.Text; 4 5 public class CSV { 6 7 static CSV csv; 8 public static CSV GetIns() 9 { 10 if (csv == null) 11 csv = new CSV(); 12 return csv; 13 } 14 15 //利用二维数组存储对应行和列中的字符串 16 public string[][] m_ArrayData; 17 18 public void LoadFile(string path,string fileName) 19 { 20 //读取新文件前保证之前的数据为空 21 m_ArrayData = new string[0][]; 22 string fillPath = path + "/" + fileName; 23 24 //解析每一行的数据 25 string[] lineArray; 26

Unity多语言功能

怎甘沉沦 提交于 2019-11-28 19:46:27
1.把Txt三种语言挂在Login(启动页)面板中去 2.要有多语言的功能的Text 都挂脚本LanguageText 脚本 LanguageMgr.cs脚本 using System; using System.Collections.Generic; using UnityEngine; using System.Text; public class LanguageMgr { private static StringBuilder mBuilder; private static LanguageMgr instance; public static LanguageMgr mInstance { get { if (instance == null) instance = new LanguageMgr(); return instance; } } /// <summary> 当前的语言 0简中 1英文 2繁中 </summary> public int mCurLanguage = 0; /// <summary> 得到当前语言的 txt 名字 </summary> public string GetCurLanguageTxtName() { if (mCurLanguage == 0)//简 { return "Language_ZH"; } else if

Unity生成简易代码工具

杀马特。学长 韩版系。学妹 提交于 2019-11-28 19:29:21
C#代码,可以自己编辑下,只要有规律,可以改成Lua的Panel代码,手写代码易错.特蛋痛的是lua写错编辑器还不报错 代码如下 using UnityEngine; using UnityEditor; using System.Collections.Generic; using System.Text; using System.IO; public class ZSXGenerateCodeWindow : EditorWindow { [MenuItem("Helps/生成初始代码")] public static void OpenWindow() { if (codeWindow == null) codeWindow = EditorWindow.GetWindow(typeof(ZSXGenerateCodeWindow)) as ZSXGenerateCodeWindow; codeWindow.Show(); } private static ZSXGenerateCodeWindow codeWindow = null; //选择的根游戏体 private GameObject root; void OnGUI() { DrawSelectUI(); DrawFindWidget(); } /// <summary> /// 绘制 选择要分析的UI ///

Unity检视面板的继承方法研究 (二)

天大地大妈咪最大 提交于 2019-11-28 18:08:32
  之前做了普通对象的可继承的检视面板类, 现在想要实现对Unity自带的检视面板的继承的话, 要怎样写呢?   万变不离其宗, 仍然是围绕UnityEditor.Editor.CreateEditor 这个函数来实现: /// <summary> /// decorate Unity's built-in inspector Editor. /// </summary> public class DecoratorEditor<T> : UnityEditor.Editor { protected T _target; protected UnityEditor.Editor _nativeEditor; public void OnEnable() { _target = (T)System.Convert.ChangeType(target, typeof(T)); Type targetEditorType = null; foreach(Assembly assembly in AppDomain.CurrentDomain.GetAssemblies()) { var tempT = assembly.GetType("UnityEditor." + typeof(T).Name + "Inspector"); if(tempT != null) {