Unity功能——宏定义的使用

news2024/11/17 10:44:10

声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。


Unity功能——宏定义的使用


文章目录

  • Unity功能——宏定义的使用
    • 一.开发环境
    • 二.问题描述
    • 三.宏的使用原理及代码格式.
      • 实现原理:
      • 对应代码:
    • 四.系统自带的宏关键词
      • 4.1中文版本(机翻):
    • 五.自定义宏
      • 5.1 Unity中自定义宏操作:
    • 六.总结
    • 七.官网文档链接


一.开发环境

Unity 版本无限制
VS 版本无限制


二.问题描述

仅在对应平台(PC/Android/IOS等)运行对应代码


三.宏的使用原理及代码格式.

实现原理:

添加对应宏定义,达到定义内代码在对应平台运行.

对应代码:

在函数(方法)内使用# if +对应宏为开头,以 #endif为结尾,可以使用elif /else等.

#if UNITY_EDITOR
    Debug.Log("Editor");
 
#elif UNITY_STANDALONE
    Debug.Log("UNITY_STANDLONE");
 
#elif UNITY_ANDROID||UNITYIOS
    Debug.Log("UNITY_ANDROID||UNITY_IOS");
 
#endif
   Debug.Log("DoubleTap");

如图一所示.

添加对应说明图片
图一

四.系统自带的宏关键词

Define功能
UNITY_EDITORScripting symbol to call Unity Editor scripts from your game code.
UNITY_EDITOR_WINScripting symbol for Editor code on Windows.
UNITY_EDITOR_OSXScripting symbol for Editor code on Mac OS X.
UNITY_EDITOR_LINUXScripting symbol for Editor code on Linux.
UNITY_STANDALONE_OSXScripting symbol to compile or execute code specifically for Mac OS X (including Universal, PPC and Intel architectures).
UNITY_STANDALONE_WINScripting symbol for compiling/executing code specifically for Windows standalone applications.
UNITY_STANDALONE_LINUXScripting symbol for compiling/executing code specifically for Linux standalone applications.
UNITY_STANDALONEScripting symbol for compiling/executing code for any standalone platform (Mac OS X, Windows or Linux).
UNITY_WIIScripting symbol for compiling/executing code for the Wii console.
UNITY_IOSScripting symbol for compiling/executing code for the iOS platform.
UNITY_IPHONE已弃用。改用 UNITY_IOS。
UNITY_ANDROIDScripting symbol for the Android platform.
UNITY_LUMINScripting symbol for the Magic Leap OS platform. You can also use PLATFORM_LUMIN.
UNITY_TIZENScripting symbol for the Tizen platform.
UNITY_TVOSScripting symbol for the Apple TV platform.
UNITY_WSAScripting symbol for Universal Windows Platform. Additionally, NETFX_CORE is defined when compiling C# files against .NET Core and using .NET scripting backend.
UNITY_WSA_10_0Scripting symbol for Universal Windows Platform. Additionally WINDOWS_UWP is defined when compiling C# files against .NET Core.
UNITY_WEBGLScripting symbol for WebGL.
UNITY_FACEBOOKScripting symbol for the Facebook platform (WebGL or Windows standalone).
UNITY_ANALYTICSScripting symbol for calling Unity Analytics methods from your game code. Version 5.2 and above.
UNITY_ASSERTIONSScripting symbol for assertions control process.
UNITY_64Scripting symbol for 64-bit platforms.

4.1中文版本(机翻):

在这里插入图片描述

五.自定义宏

除了默认的宏定义外,可以通过Unity自定义宏

5.1 Unity中自定义宏操作:

BuildSettings(Ctrl+Shift+B)——PlayerSettings——OtherSettings——Scripting Define Symbols
多个宏定义用 ; (分号)隔开;

在这里插入图片描述

注意事项:打包(构建)测试时,如果使用了测试才用的自定义宏,正版发布版本别忘了取消.

六.总结

保持饥饿,保持愚蠢.
这世界唯一能够相信的就是你付出的努力和你走过的路.

七.官网文档链接

宏定义官方文档链接
https://docs.unity3d.com/Manual/PlatformDependentCompilation.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

拿下大厂Offer的关键——飞滴出行网约车项目全新完结

哈喽各位小伙伴,好久不见吖!正月初八,你开工了吗?告别新春的氛围,又开始新一年的奋斗。尤其是年前的离职的小伙伴,马上又是金三银四,你的面试还要准备多久?今天给大家分享一份阿里大…

Leetcode力扣秋招刷题路-0098

从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结 98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点…

[cpp进阶]C++类型转换

文章目录C语言的类型转换为什么C需要四种类型转换C强制类型转换static_castreinterpret_castconst_castdynamic_castexplicitRTTIC语言的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收…

使用lnmp与wordpress做1个外贸询盘网站

目录 lnmp安装 包安装 mysql元数据库 网路策略确认 iptables确认 mysql允许远程访问 wordpress下载安装 包安装 nginx配置 wordpress配置 初始化 astra,elementor和woocommerce插件 插件安装 模板选择 自定义网页 国内不兴建站,通常只有码…

openstack: nova : reset-state

https://github.com/openstack/python-novaclient 牵扯的两个project是:nova和python-novaclient; 这个命令从代码分析和实际使用上来看只是将nova数据库里的实例的状态更改;没有对实例做实质的操作。 https://docs.openstack.org/nova/pik…

01 C语言实现动态气泡碰撞和移动的效果,小球碰撞,Win7气泡壁纸,碰撞算法

C语言实现动态气泡碰撞和移动的效果 作者将狼才鲸创建日期2023-01-29 Git源码仓库地址:C语言实现动态气泡碰撞和移动的效果CSDN文章地址:01 C语言实现动态气泡碰撞和移动的效果 一、前言 想要实现多气泡相互碰撞的效果; 想着这种在Win7壁纸…

【Cloudera Manager】cdh集群ntp时钟同步问题

CM启动后集群界面出现时钟未同步问题在集群主机通过ntpstat命令查看,出现unsynchronised标识通过timedatectl命令,显示NTP synchronized: no以上说明确实没有同步时钟问题排查与解决首先查看ntp配置文件,cat /etc/ntp.confserver 172.X.X.X配…

万年历农历法定节假日数据查询工具

1.数据来源于百度搜索置顶日历&#xff1a; 2.代码&#xff1a; http调用及数据处理均采用了hutool, 也可以用别的工具。 hutool 依赖如下&#xff1a; <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><versio…

DNS 域名解析服务器详解以及相关实验

目录 一&#xff0c; 域名解析服务器的介绍 1&#xff0c; 因特网的域名结构 2&#xff0c; 域名服务器的类型划分 二&#xff0c;DNS 域名解析的过程 三&#xff0c;DNS 解析方式 四&#xff0c;搭建 DNS 服务器 1&#xff0c;使用命令yum install bind -y安装dns软件 2&#…

对于初学python的小白大佬们有什么建议吗?

我认为态度是一块重要的敲门砖。米卢说&#xff1a;“态度决定一切”。你对人生的态度是这个世界真正的试金石。对不同的事情要有不同的态度。而对待自学&#xff0c;认真就妥了。 首先要为自己设定一个目标&#xff0c;对于初学者&#xff0c;看书的话可以看《Head First Pyt…

几款考研必备软件 你还不知道吗?

几款考研必备软件 你还不知道吗? 英语单词软件推荐 背单词软件 墨墨背单词[推荐指数]⭐️⭐️⭐️⭐️⭐️ 科学高效抗遗忘方法,记录详细记忆行为数据,结合记忆反馈帮你记忆更加牢固 界面简洁舒适无广告,没有任何干扰,就算是强迫症也能使用的非常舒适 完美收集权威单词本,全…

哈佛大学庄小威团队破解衰老大脑的关键变化

“了解衰老是生物医学最重要的目标之一&#xff0c;同时这也是一个非常具有挑战性的问题。”哈佛大学终身教授庄小威说&#xff0c;“造成挑战的原因之一在于大脑非常复杂&#xff0c;细胞种类繁多&#xff0c;许多不同类型的神经元和非神经元细胞形成了复杂的相互作用网络。”…

一种二阶Biquad滤波器

一、首先给出biquad的Z变换函数为&#xff1a; 为了计算方便可对上式进行归一化处理&#xff0c;分子分母同时除以a0&#xff0c;则得出如下&#xff1a; 对应的差分方程为&#xff1a; 二、用户定义参数如下 #ifndef LN2 #define LN2 0.69314718055994530942 #endif #ifnde…

密码学技术导论篇

密码学技术前言基础术语不要使用保密的密码算法任何密码总有一天都会被破解对称密码&#xff08;共享秘钥密码&#xff09;AES总结公钥密码 --- 用公钥加密&#xff0c;私钥解密秘钥配送问题公钥密码中间人攻击认证单向散列函数--- 消息的指纹单向散列函数的实际应用单向散列函…

python接口自动化——unittest简介(详解)

简介 前边的随笔主要介绍的requests模块的有关知识个内容&#xff0c;接下来看一下python的单元测试框架unittest。熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 TestNG&#xff0c;这个招聘的需求上也是经常见到的。python 里面也有单元 测试框架-unitt…

Lua 垃圾回收

Lua 垃圾回收 参考至菜鸟教程。 Lua 采用了自动内存管理。 这意味着你不用操心新创建的对象需要的内存如何分配出来&#xff0c; 也不用考虑在对象不再被使用后怎样释放它们所占用的内存。 Lua运行了一个垃圾收集器来收集所有死对象&#xff08;即在Lua中不可能再访问到的对象&…

新能源——充电控制

一、交流充电——慢充 交流充电&#xff1a;电网输入给车辆的交流电&#xff0c;220V AC单向电或380V AC三相电。 车载充电机&#xff1a;交流电转化为直流电 二、直流充电——快充 三、充电模式 模式1——标准插座 模式2——带有交流电动汽车供电设备的标准插座 模式3——…

idea maven打包编译报错 java.lang.AssertionError: input.getType

今天使用idea打包编译maven项目&#xff0c;出现如下报错 构建报错时&#xff0c;最先显示的是这个报错。查了一圈下来&#xff0c;我的配置是没有问题的。 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project…

WackoPicko通关教程

7.WackoPicko通关教程 首先进入网站&#xff0c;整体浏览网页&#xff0c;看网站的功能点 本着见框就插的原则&#xff0c;我们可以在搜索框进行查询 构造payload&#xff1a; <script>alert(/xss/)</script> 查看网站&#xff0c;成功触发弹窗 之后进入留言板…

45.Isaac教程--地图编辑器

地图编辑器 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录地图编辑器运行地图编辑器编辑现有地图层添加新的航点或多边形修改现有航点和多边形创建一个新的 WaypointMapLayer创建一个新的 PolygonMapLayer删除图层启用/禁用图层地图编辑…