C# 入门(18) 预处理指令(perprocessor directive)、Unity平台选择
来源:互联网 发布:单片机烧录程序 编辑:程序博客网 时间:2024/06/16 10:13
C#的预处理指令
参考书籍: 《C#图解教程》
在C++里面一般一个源文件就要一个#ifdef,因为要避免重定义,C#就不用这东西了,直接用命名空间这省事。
- #define,允许重定义。
- #define 和 #undef 指令只能放在源文件第一行。
比较好用的就是#region和#endregion,可以用来折叠代码用。
在Unity中,用于多平台控制输入常用#if,#else,#elif,#endif,这四个组合使用。如
#if UNITY_STANDALONE //单机时输入 horizontal = (int)Input.GetAxisRaw("Horizontal"); vertical = (int)Input.GetAxisRaw("Vertical");#elif UNITY_IOS || UNITY_ANDROID //ios或安卓输入 Input.touches[0]; //获取第一个触摸。 //省略操作。#endif
但更建议使用[System.Diagnostics.Conditional]特性,该特性只能用于返回void类型。生成IL(公共中间语言)比#if更效率。
//需要该命名空间。using System.Diagnostics;//声明定义。[Conditional("UNITY_STANDALONE")]void getHorizontalAndVerticalFromStandalone(ref int horizontal,ref int vertical){ horizontal = (int)Input.GetAxisRaw("Horizontal"); vertical = (int)Input.GetAxisRaw("Vertical");}//IOS或Android[Conditional("UNITY_IOS"),Conditional("UNITY_ANDROID")]void getHorizontalAndVerticalFromMobile(ref int horizontal,ref int vertical){ Input.touches[0]; //省略操作。}////控制输入类中////直接调用,如果是单机,第二个方法不会执行。getHorizontalAndVerticalFromStandalone(ref horizontal,ref vertical);getHorizontalAndVerticalFromMobile(ref horizontal,ref vertical);
0 0
- C# 入门(18) 预处理指令(perprocessor directive)、Unity平台选择
- C语言-预处理指令(Preprocessing Directive)
- C#预处理器指令。Unity多平台很有用哦。
- Unity平台预处理器指令
- C语言-预处理指令(Preprocessing Directive)-宏定义
- unity C#预处理器指令
- C#预处理器指令入门
- JSP指令(directive)
- Directive(指令)
- 自定义指令(directive)
- Vue 指令(Directive)
- C# 调试(上) 预处理指令
- Angularjs自定义指令(directive)
- Angular 指令(Directive)属性型指令
- 预处理指令(宏)
- unity平台的预处理
- unity平台的预处理
- unity平台的预处理
- java删除Linux目录下的文件夹
- JSP/Servlet 工作原理
- JavaScript中的正则表达式
- 关于JAVA编程规范
- 有用!专家对多个软件研发案例反思后,最终得出的12条方法论!
- C# 入门(18) 预处理指令(perprocessor directive)、Unity平台选择
- Android 新一代多渠道打包神器
- SFTP上传文件到资源服务器 工具类
- Hadoop中Writable和WritableComparable区别
- RecyclerView与ListView的缓存机制比较
- [Tools]内网渗透SMB转发技巧
- 有关于CoordinatorLayout介绍
- org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingExce
- ArcGis API for JavaScript——时间轴