Unity编译指令

Unity includes a feature named "Platform Dependent Compilation". This consists of some preprocessor directives that let you divide your scripts to compile and execute a section of code exclusively for one of the supported platforms.

Unity包含一个名为"平台依赖编译"的功能。他包含一些预处理指令,能够让你专门在一个支持的平台上分开编译和执行某一段代码。

Furthermore, you can run this code within the Editor, so you can compile the code specifically for your mobile/console and test it in the Editor!

此外,你可以在编辑器中运行此代码,这样你就可以在mobile/console上编译此代码,并在编辑器中对其进行测试!

Platform Defines 平台的定义

The platform defines that Unity supports for your scripts are:

Unity支持的平台定义脚本是:

  • UNITY_EDITOR
    Define for calling Unity Editor scripts from your game code.
    定义从游戏代码调用Unity编辑器脚本
  • UNITY_STANDALONE_OSX
    Platform define for compiling/executing code specifically for Mac OS (This includes Universal, PPC and Intel architectures).
    专门用于Mac OS(包括Universal, PPC and Intel架构)编译或执行的代码的平台定义
  • UNITY_DASHBOARD_WIDGET
    Platform define when creating code for Mac OS dashboard widgets.
    当为Mac OS dashboard widgets创建代码时的平台定义
  • UNITY_STANDALONE_WIN
    Use this when you want to compile/execute code for Windows stand alone applications.
    在你想为Windows独立的应用程序编译/执行代码时使用的脚本
  • UNITY_WEBPLAYER
    Platform define for web player content (this includes Windows and Mac Web player executables).
    平台定义网页播放器的内容(包括Windows和Mac播放器的可执行文件)
  • UNITY_WII
    Platform define for compiling/executing code for the Wii console.
    为Wii游戏机编译/执行的代码的平台定义脚本
  • UNITY_IPHONE
    Platform define for compiling/executing code for the iPhone platform.
    为iPhone平台编译/执行的代码的平台定义脚本
  • UNITY_ANDROID
    Platform define for the Android platform.
    为Android平台的平台定义脚本
  • UNITY_PS3
    Platform define for running Play Station 3 code.
    为运行PS3代码的平台定义脚本
  • UNITY_XBOX360
    Platform define for executing XBbox 360 code.
    为执行XBbox360代码的平台定义脚本
  • UNITY_NACL
    Platform define when compiling code for Google native client (this will be set additionally to UNITY_WEBPLAYER).
    为Google本地客户端(在UNITY_WEBPLAYER进行设置)编译代码的平台定义脚本
  • UNITY_FLASH
    Platform define when compiling code for Adobe Flash.
    为了Adobe Flash编译时的代码的平台定义脚本

Note: These defines were introduced at version 3.0.

注意:这些定义在3.0版本时被引入。

Also you can compile code selectively depending on the version of the engine you are working on. Currently the supported ones are:

你可以选择性的编译代码,这取决于你正在使用的引擎的版本。目前支持的有:

  • UNITY_2_6
    Platform define for the major version of Unity 2.6.
    支持Unity2.6主版本号的平台定义
  • UNITY_2_6_1
    Platform define for specific version 1 from the major release 2.6.
    支持2.6以后的具体版本2.6.1的平台定义
  • UNITY_3_0
    Platform define for the major version of Unity 3.0.
    支持Unity3.0主版本号的平台定义
  • UNITY_3_0_0
    Platform define for the specific version 0 of Unity 3.0.
    支持Unity3.0版本以后特定的版本3.0.0的平台定义
  • UNITY_3_1
    Platform define for major version of Unity 3.1.
    支持Unity3.1主版本号的平台定义
  • UNITY_3_2
    Platform define for major version of Unity 3.2.
    支持Unity3.2主版本号的平台定义
  • UNITY_3_3
    Platform define for major version of Unity 3.3.
    支持Unity3.3主版本号的平台定义
  • UNITY_3_4
    Platform define for major version of Unity 3.4.
    支持Unity3.4主版本号的平台定义
  • UNITY_3_5
    Platform define for major version of Unity 3.5.
    支持Unity3.5主版本号的平台定义

Note: For versions before 2.6.0 there are no platform defines as this feature was first introduced in that version.

注意:之前2.6.0版本中没有平台定义,此功能是在该版本中首次引入。

C# Example:

using UnityEngine; using System.Collections; public class PlatformDefines : MonoBehaviour { voidStart () { #if UNITY_EDITOR Debug.Log("Unity Editor"); #endif #if UNITY_IPHONEDebug.Log("Iphone"); #endif #if UNITY_STANDALONE_OSX Debug.Log("Stand Alone OSX"); #endif #if UNITY_STANDALONE_WIN Debug.Log("Stand Alone Windows"); #endif } }

Then, depending on which platform you selected, one of the messages will get printed on the Unity console when you press play.

然后,根据你选择的平台,当按下Play时,Unity会在控制台中输出一条消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值