C#
文章平均质量分 84
小漂少年
北京移动游戏开发者
展开
-
C#不定参数函数
当我们需要调用某个函数,而函数参数的个数不定时,我们可以采用params类型的参数;例如:简单的字符串拼接,在不知会有几个字符串进行拼接的时候,我们把函数的参数类型定义为params类型/// /// 得到字符的拼接 /// /// /// public static string getString(params object[] li原创 2015-07-17 22:45:53 · 2121 阅读 · 0 评论 -
unity 获取当前键盘按键
using UnityEngine;using System.Collections;public delegate void OnTapKey(KeyCode kc);public class InputKeyEvent : MonoBehaviour { public OnTapKey onTapKey; // Use this for initialization voi原创 2016-04-20 10:54:33 · 4604 阅读 · 0 评论 -
数据类型转换
public static T GetValue(string key , object defulatv) { string v = PlayerPrefs.GetString (key, defulatv.ToString()); T t = (T)System.Convert.ChangeType (v, typeof(T)); return t; }原创 2016-07-13 12:11:02 · 303 阅读 · 0 评论 -
AssetBundle.CreateFromFile使用时注意事项
在使用AssetBundle.CreateFromFile加载AssetBundle时有两点需要注意:1:在创建资源包时需要选择不压缩(unity5.x资源打包方式)AssetBundleManifest amf = BuildPipeline.BuildAssetBundles(assetPath , abbs ,BuildAssetBundleOptions.Uncompressed原创 2016-06-15 15:54:25 · 3470 阅读 · 0 评论 -
AssetBundle资源打包
unity5.x AssetBundle 资源打包方法:using UnityEngine;using UnityEditor;using System.IO;using System.Collections.Generic;public class BASB{ [@MenuItem("Asset/Build AssetBundles")] public static vo原创 2016-06-15 16:03:40 · 1535 阅读 · 1 评论 -
C#对象深拷贝
public static T DeepCopy(this T obj) { //如果是字符串或值类型则直接返回 if (obj is string || obj.GetType().IsValueType) return obj; object retval = Activator.CreateInstance(obj.GetType()); FieldInfo[] fiel原创 2016-08-10 16:02:05 · 685 阅读 · 0 评论 -
unity 粒子特效播放状态停止在最后一帧
using UnityEngine;using System.Collections;using System.Collections.Generic;public class Test: MonoBehaviour{ public List pausePsObjNames; // Use this for initialization void Start () { Pau原创 2017-01-12 13:48:36 · 5358 阅读 · 0 评论 -
unity C# 含有实体字符的字符串转换成正常的字符串
using UnityEngine;using System.Collections;using System.Text;using System.Text.RegularExpressions;public class TTTTTTst : MonoBehaviour{ // Use this for initialization void Start () { // &原创 2017-02-23 17:10:10 · 1128 阅读 · 0 评论 -
Unity UGUI 打印机效果
using UnityEngine;using System.Collections;using UnityEngine.UI;public class Typewriter : MonoBehaviour { public string con; Text _conText; Text _Context{ get{ if (_conText == null) {原创 2018-01-04 10:00:54 · 968 阅读 · 0 评论 -
Unity抓取Log信息
Unity抓取程序报错logusing UnityEngine;using System.Collections;using System.Collections.Generic;using System.Text;public class LogEvent : MonoBehaviour{ StringBuilder logBuilder = new StringBuil原创 2018-01-24 11:13:21 · 2585 阅读 · 1 评论 -
monodevelop引用dll及制作dll
使用monodevelop 制作dll时需要引用别的dll 时需要将此添加到引用库(references)中:新建一个Library(类库)这几步的目的是把所引用的别的dll 导入进来;完成之后即可使用dll里的类;把需要制作dll的代码完成之后,build 一下工程,在bin/Debug即可找到制作的dll。原创 2016-04-13 16:31:12 · 4819 阅读 · 0 评论 -
Unity 使用 dll 来控制log开关
Unity 开发模式中常常需要log一些信息,但是在正式发布时又想将其全部关闭,如果有很多log,那一个一个的去关闭就未免显得有点繁琐。通过一个开关,来控制log 是否输入更简便一些。如果在看log信息时想更精准定位到是哪一行代码则需要把log输出的订成dll。可把此脚本制成dll:using UnityEngine;using System.Collections;namespac原创 2018-01-24 12:05:20 · 646 阅读 · 0 评论 -
Unity编辑器模式下退出
Unity 编辑器模式下按键退出运行状态: #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif原创 2016-03-18 13:01:07 · 4439 阅读 · 0 评论 -
unity计时器功能的实现
最近在游戏开发的过程中需要做一些技能cd, buff持续时间的控制等功能,这些功能都需要一个计时器;为了便利开发,自己写了一个简单的计时器,这样大部分有关计时的都可以用此计时器了;计时器主要实现功能:在规定的时间内倒计时,其中可以暂停,可以继续,可以设置是否受时间速率的影响等;倒计时过程中可以时刻返回倒计时的状态;可以获取倒计时剩余时间,倒计时结束的回调。以下代码在原创 2015-07-17 00:21:04 · 21119 阅读 · 3 评论 -
C#参数类型 params、out和ref
parmas类型的参数using System;public class MyClass{ public static void UseParams(params int[] list) { for (int i = 0 ; i < list.Length; i++) { Console.WriteLine(lis转载 2015-07-17 23:03:54 · 668 阅读 · 0 评论 -
C# Action和Func
Action 委托(有多种类型Action):封装一个方法,无返回值。可以使用此委托以参数形式传递方法,而不用显式声明自定义的委托。 封装的方法必须与此委托定义的方法签名相对应。 封装的方法不得有返回值。 通常,这种方法用于执行某个操作。下面举个例子演示不带参数和带一个参数的实现,其他的则是类似;先定义一个类public class Person{ string nam原创 2015-07-18 21:55:32 · 865 阅读 · 0 评论 -
C# goto 语句
参考:https://msdn.microsoft.com/zh-cn/library/13940fs2.aspxgoto 语句将程序控制直接传递给标记语句。goto 的一个通常用法是将控制传递给特定的 switch-case 标签或 switch 语句中的默认标签。goto 语句还用于跳出深嵌套循环。下面的示例演示了 goto 在 swit转载 2015-07-17 19:24:13 · 808 阅读 · 0 评论 -
C#类的扩展
参考:https://msdn.microsoft.com/zh-cn/library/bb383977.aspx扩展方法使你能够向现有类型“添加”方法(oc的类目与此相似),而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个原创 2015-07-18 12:08:13 · 702 阅读 · 0 评论 -
C# Enumerable 类
Enumerable 类命名空间: System.Linq提供一组用于查询实现 IEnumerable 的对象的 static(在 Visual Basic 中为 Shared)方法。 该类中的方法提供标准查询运算符的实现,该运算符用于查询实现 IEnumerable 的数据源。 标准查询运算符是通用方法,它们遵循 LINQ(LINQ,语言集成查询(Langu原创 2015-07-30 13:10:30 · 8742 阅读 · 0 评论 -
C#匿名函数之匿名方法与lambda表达式
匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。共有两种匿名函数:.匿名方法.lambda表达式下面示例如何使用:class Test{ delegate int Add(int a , int b); static int MyAdd原创 2015-07-18 23:21:12 · 2321 阅读 · 0 评论 -
C#字典的遍历方法
命名空间: System.Collections.GenericDictionary 类KeyValuePair 结构用指定的键和值初始化 KeyValuePair 结构的新实例。 Dictionary data = new Dictionary(); data.Add("a", 1); data.Add("b",原创 2015-07-20 15:37:17 · 2997 阅读 · 0 评论 -
C#静态构造函数
静态构造函数具有以下特点:静态构造函数既没有访问修饰符,也没有参数。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。无法直接调用静态构造函数。在程序中,用户无法控制何时执行静态构造函数。静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。静态构造函数在为非托管代码创转载 2015-07-20 22:15:07 · 359 阅读 · 0 评论 -
子类用反射可以访问父类中的私有成员变量及方法
通常子类是不能访问父类的私有的成员变量及私有的方法,哪怎么才能做到呢?利用反射可以很容易的做到,以下代码在unity中测试通过;定义一个父类:using UnityEngine;using System.Collections;public class TestBase : MonoBehaviour{ private int a = 1; public int b原创 2015-07-16 18:55:27 · 6862 阅读 · 0 评论 -
C# ?? 和 ?: 运算符
?:条件运算符 根据 Boolean 表达式的值返回两个值之一。 下面是条件运算符的语法。condition ? first_expression : second_expression;condition 的计算结果必须为 true 或 false。 如果 condition 为 true,则将计算 first_expression 并使其成为结果。 如果 condition原创 2015-07-24 21:33:08 · 1226 阅读 · 0 评论 -
unity EasyTouch虚拟摇杆的使用(边界情况处理)
EasyTouch3.1.6 下载 : http://download.csdn.net/detail/fucun1984686003/9169591EasyTouch 的简单用法......我们在使用EasyTouch 过程中会遇到这样这样一个问题:当摇杆中心按钮移动到边界时需要整体随触摸点移动(功夫熊猫的虚拟摇杆),这个需要怎么实现呢?在摇杆移动的过程中我们并不想让它超过屏幕边界怎么办呢?在这里我们依次进行详述...原创 2015-10-12 13:57:32 · 4528 阅读 · 0 评论 -
unity 粒子缩放代码实现
unity 中实现代码控制粒子的大小:demo 下载:http://download.csdn.net/detail/fucun1984686003/9242873//This script will only work in editor mode. You cannot adjust the scale dynamically in-game!using UnityEngin原创 2015-11-05 10:38:43 · 2512 阅读 · 0 评论 -
分段三次Hermite样条曲线的应用(Unity 动画曲线AnimationCurve的实现方法的还原)
分段三次Hermite插值是一种光滑的分段插值。分段三次Hermite插值函数要满足的条件:1. 已知节点(x_i,y_i) 及微商值 k_i (i = 0 , 1, 2, ....... n);2. 在每个小区间[x_i , x_i_1] 上是不高于三次的多项式。 Unity AnimationCurve动画曲线是根据一些关键帧的节点信息绘制的一条光滑的曲线。在每个关键帧存...原创 2018-07-17 19:24:10 · 3285 阅读 · 0 评论