【Unity】宏定义Scripting Define Symbols

1.宏的用处

我们在使用Unity开发的时候,经常需要根据不同环境执行不同的代码
比如安卓手机和苹果手机获取路径代码
这个时候,宏就派上用场了。

代码示例:

    //获取路径public string GtePath(){//不同平台,取不同的存储路径string strPath = string.Empty;//PC平台#if UNITY_STANDALONE_WINstrPath = Application.dataPath + "/../";//ios平台#elif UNITY_IPHONEstrPath = Application.persistentDataPath+"/";//安卓平台#elif UNITY_ANDROIDstrPath = Application.persistentDataPath+"/";#endifreturn strPath;}

2.常用的宏

  • UNITY_EDITOR: Unity编辑器
  • UNITY_EDITOR_WIN: Windows编辑器
  • UNITY_STANDALONE: 独立的平台(Mac,Windows或Linux)
  • UNITY_STANDALONE_WIN: Windows平台
  • UNITY_STANDALONE_OSX: Mac OS
  • UNITY_STANDALONE_LINUX: Linux
  • UNITY_ANDROID: 安卓
  • UNITY_IOS: iOS平台
  • UNITY_WEBGL: WEBGL平台

3.自定义宏

除了Unity给定的宏之外,我们也可以自己定义宏
在Project Settings / Player /Other Settings /Scripting Define Symbols中添加
现在添加一个 “DEV” 宏用于区别是否是开发版本
如果有多个宏,用 ; 分割
在这里插入图片描述
然后我们就可以在代码里使用 “DEV” 宏

在这里插入图片描述

4.代码设置宏

    public void SetSymbols(){//获取当前是哪个平台BuildTargetGroup buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;//获得当前平台已有的宏定义var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup);//另外加一个SDK宏symbols = symbols + ";SDK";//重新设置宏PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, symbols);}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

02.percona Toolkit工具pt-archiver命令实践

1.命令作用 Percona Toolkit有的32个命令,可以分为7大类 工具类别 工具命令 工具作用 备注 开发类 pt-duplicate-key-checker 列出并删除重复的索引和外键 pt-online-schema-change 在线修改表结构 pt-query-advisor 分析查询语句,并给出建议&#x…

隐私计算实训营学习四:SecretFlow的安装和部署

文章目录 一、SecretFlow安装二、SecretFolw部署模式简介三、SecretFlow部署-仿真模式四、SecretFlow部署-生产模式 一、SecretFlow安装 SecretFlow运行要求: Python > 3.8操作系统:CentOS7、Anolis8、Ubuntu 18.04/20.04、macOS 11.1、WSL2资源&am…

Camera入门基础知识

一、camera介绍 1.1 camera硬件组成 camera一般由Lens、VCM音圈马达、底座支架、Sensor、Driver IC、output interface组成。如下图: 这里面要注意的是有些摄像头模组有VCM,有些则没有,有些output interface输出的是CSI信号,有的输出的是串行信号,需要接解串器。…

Linux的一些基本指令

​​​​​​​ 目录 前言: 1.以指令的形式登录 2.ls指令 语法: 功能: 常用选项: 3.pwd指令 4.cd指令 4.1 绝对路径与相对路径 4.2 cd .与cd ..(注意cd后先空格,然后两个点是连一起的&#xff0…

post请求

写代码,看官网 因post请求数据是2种情况,一种传参数,一种不传参数 所以先定义变量 写判断条件,逻辑是参数的长度和参数是否为空 0和不为空不好理解,可以使用参数长度不等于0,说明参数有值,在…

化工企业能源在线监测管理系统,智能节能助力生产

化工企业能源消耗量极大,其节能的空间也相对较大,所以需要控制能耗强度,保持更高的能源利用率。 化工企业能源消耗现状 1、能源管理方面 计量能源消耗时,计量器具存在问题,未能对能耗情况实施完全计量,有…

linux命令学习——sort

sort可以对文本文件进行“排序”,比如-n可以对文本,按照首行字母数字顺序排序 -r参数可以对排序结果进行反转 -u参数可以对查看结果去重

【C++】关联式容器——map和set

1 关联式容器 STL中我们常用的部分容器,比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。 那什么是关联式容器呢?它与序…

DFS基础——迷宫

迷宫 配套视频讲解 关于dfs和bfs的区别讲解。 对于上图,假设我们要找从1到5的最短路,那么我们用dfs去找,并且按照编号从大到小的顺序去找,首先找到的路径如下, 从节点1出发,我们发现节点2可以走&#xff…

Automatic Prompt Engineering

让大模型自己生成prompt,生成提示(prompt)存在两种不同的操作方式。第一种方式是在文本空间中进行,这种提示以离散的文本形式存在。第二种方式是将提示抽象成一个向量,在特征空间中进行操作,这种提示是抽象…

Unity学习笔记 6.2D换帧动画

下载源码 UnityPackage 目录 1.导入图片 1.1. 图片的叠放顺序 2.图片切片 3.用动画控制器让马🐎动起来 1.导入图片 直接拖拽进场景 检查 Texture Type(纹理类型)是否为 Sprite 创建2D精灵对象,拖拽图片到Sprite&#xff08…

java 实现发送邮件功能

今天分享一篇 java 发送 QQ 邮件的功能 环境&#xff1a; jdk 1.8 springboot 2.6.3 maven 3.9.6 邮件功能依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>&…