宏定义的使用场合:

在程序中我们想要根据不同的运行环境去执行不同的代码时使用。比如我们在PC上和安卓上需要执行不同的代码,我们就可以使用Unity自带的宏定义来区分。

Unity中自带的宏定义:

UNITY_EDITOR 编译器调用;

UNITY_STANDALONE_OSX  专门为Max OS(包括Universal,PPC和Intelarchitectures)平台的定义。

UNITY_DASHBOARD_WIDGET   Mac OS Dashboard widget (Mac OS仪表板小部件)。

UNITY_STANDALONE_WIN   Windows 操作系统。

UNITY_STANDALONE_LINUX   Linux的独立的应用程序。

UNITY_STANDALONE   独立的平台(Mac,Windows或Linux)。

UNITY_WEBPLAYER  网页播放器(包括Windows和Mac Web播放器可执行文件)。

UNITY_WII   Wii游戏机平台。

UNITY_IPHONE  iPhone平台。

UNITY_ANDROID  Android平台。

UNITY_PS3   PlayStation 3。

UNITY_XBOX360   Xbox 360。

UNITY_NACL   谷歌原生客户端(使用这个必须另外使用UNITY_WEBPLAYER)。

UNITY_FLASH   Adobe Flash。

编写方式:

#if UNITY_EDITORDebug.Log("UNITY_EDITOR");
#elif UNITY_ANDROIDDebug.Log("UNITY_ANDROID");
#endif

注:代码如果是灰色的,说明没有被执行,需要在Unity的编译面板中更改,File —>Build Settings—>Player Settings—>Other Settings.

注:如果需要填写多个宏定义需要用分号隔开

Unity中的宏定义相关推荐

  1. Linux内核源码中使用宏定义的若干技巧

    在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发: 1. 类型检查 比如module_init的宏定义: 点击(此处)折叠 ...

  2. NASM汇编程序中的宏定义

    NASM汇编程序中的宏定义 格式如下: %macro 宏名 参数名列表 宏体 %endmacro 如: %macro Descriptor 3 dw %2 & 0FFFFh dw %1 &am ...

  3. Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D

    在源代码里面如果这样是定义的: #ifdef   MACRONAME //可选代码 #endif 那在makefile里面 gcc   -D   MACRONAME=MACRODEF 或者 gcc   ...

  4. 关于gcc扩展中的宏定义中用 # 和 ##

    关于gcc扩展中的宏定义中用 "#" 和 "##" 今天测试了宏定义中的 "#" 和 "##" 的区别. 结果如下: & ...

  5. 如何在Linux kernel Makefile中添加宏定义

    如何在Linux kernel Makefile中添加宏定义: CFLAGS_object.o += -DMACRO_NAME 在编译object.o时定义宏MACRO_NAME,在kernel中添加 ...

  6. C++中的内联函数和C中的宏定义的区别

    在C++中内联函数: 内联函数即是在函数的声明和和定义前面加上"inline"关键字,内联函数和常规函数一样,都是按照值来传递参数的,如果参数为表达式,如4.5+7.5,则函数将传 ...

  7. Linux 内核中的宏定义

    Linux 内核中的宏定义 rtoax 日期 内核版本:linux-5.10.13 注释版代码:https://github.com/Rtoax/linux-5.10.13 __attribute__ ...

  8. C++中的宏定义详解

    转载自:C++中的宏定义 和 C++宏定义详解 目录 一.#define解析 1 #define命令剖析 1.1   #define的概念 1.2 宏替换发生的时机 1.3 ANSI标准说明了五个预定 ...

  9. [C语言] 在单片机的嵌入式开发中使用宏定义一键开关日志输出/打log调试

    前言 在编写项目时,我们通常需要日志输出来帮助我们追踪程序执行的内容,以便在出现BUG时较为方便的复现,并在调试完成后快速的关闭过于详细的LOG输出,避免干扰使用中的体验,在函数中一个一个的增加pri ...

最新文章

  1. 存在多个不同注册中心的时候,如何平滑的统一注册中心?
  2. missing template arguments before异常解决
  3. oa部署mysql_oa系统部署
  4. 1082 与7无关的数(思维题,巨坑)
  5. 中国剩余定理及其拓展
  6. 列名 userid 不明确。 表结构_那些你不知道的表结构设计思路
  7. windows程序消息机制(Winform界面更新有关)
  8. 如何自己去写一个鼠标驱动_为什么要用哈密顿采样器(Hamiltonian Monte Carlo),以及如何自己写一个...
  9. 新经济、新选择——人才流动与迁徙2021
  10. iPhone开发之第三方回调函数的使用方法
  11. 初中数学计算机图片,初中数学课件背景图片大全.doc
  12. 再给大家推荐一些小游戏
  13. 基于DDD的现代ASP.NET开发框架--ABP系列之2、ABP入门教程
  14. 集合框架学习笔记:Collection体系和Map体系、Collections工具类
  15. linux 中dirname的用法
  16. SpringMVC知识点记录
  17. SpringBoot:概述,注解,搭建,部署
  18. 爬去豆瓣IP被封,用IP代理解决
  19. c++中赋值运算符重载
  20. 【数位DP】HDU3555-Bomb

热门文章

  1. Android热更新
  2. 获取淘宝订单的解决方案
  3. win10 vs2022 .net6 opencvsharp 4.5.5自己编译wecharts 微信二维码扫描模块。
  4. android平板电脑怎么才能连接,安卓平板电脑如何连接网线?
  5. Resilio Sync 无法获取追踪器列表 解决方法
  6. 薅羊毛的机会了,点个“赚”即有机会赚取高额佣金
  7. GEE5:kNDVI植被指数的获取
  8. java游戏暗金装备_暗黑2装备升级公式图解(暗金装备升级一览表)
  9. fastjson使用toJSONString时null值不序列化问题
  10. python画球鞋_基于Python爬虫原理的篮球鞋选择程序的设计与实现