Biên dịch dành riêng cho nền tảng Unity

Unity cung cấp tính năng biên dịch dành riêng cho nền tảng cho phép các nhà phát triển viết mã sẽ chỉ được đưa vào bản dựng cho một nền tảng cụ thể. Tính năng này hữu ích khi cần để viết mã dành riêng cho nền tảng hoặc để optimize các bản dựng bằng cách loại trừ mã không cần thiết cho một số nền tảng nhất định.

Cách sử dụng tính năng biên dịch dành riêng cho nền tảng

Để sử dụng tính năng biên dịch dành riêng cho nền tảng trong Unity, hãy sử dụng các chỉ thị tiền xử lý. Các chỉ thị tiền xử lý là các hướng dẫn đặc biệt cho trình biên dịch được thực thi trước quá trình biên dịch thực tế. Những lệnh này có thể được sử dụng để có điều kiện bao gồm hoặc loại trừ mã dựa trên nền tảng đích.

Sau đây là ví dụ về cách sử dụng tính năng biên dịch dành riêng cho nền tảng trong Unity:

#if UNITY_IOS
    // iOS-specific code
    // This code will only be included in the build for iOS
#elif UNITY_ANDROID
    // Android-specific code
    // This code will only be included in the build for Android
#else
    // Code for other platforms
    // This code will be included in the build for all other platforms
#endif

Trong ví dụ này, các lệnh 'UNITY_IOS''UNITY_ANDROID' được cung cấp bởi Unity và có thể được sử dụng để biên dịch mã có điều kiện cho các nền tảng iOS và Android, tương ứng. Bạn có thể sử dụng các chỉ thị dành riêng cho nền tảng có sẵn khác, chẳng hạn như 'UNITY_EDITOR' (dành cho Unity Editor), 'UNITY_STANDALONE' (dành cho các bản dựng độc lập), 'UNITY_WEBGL' (dành cho bản dựng WebGL) và hơn thế nữa.

#if UNITY_EDITOR
    // Editor-specific code
    // This code will only be included when running in the Unity Editor
    using UnityEditor;
#elif UNITY_STANDALONE
    // Standalone build-specific code
    // This code will only be included when building for standalone platforms (Windows, macOS, Linux)
#elif UNITY_WEBGL
    // WebGL-specific code
    // This code will only be included when building for WebGL
    using UnityEngine.Networking;
#endif

// Shared code that will be included in all builds
public class MyScript : MonoBehaviour
{
    private void Start()
    {
#if UNITY_EDITOR
        Debug.Log("Running in Unity Editor");
#elif UNITY_STANDALONE
        Debug.Log("Running in standalone build");
#elif UNITY_WEBGL
        Debug.Log("Running in WebGL build");
#endif
    }
}

Phần kết luận

Bằng cách sử dụng tính năng biên dịch dành riêng cho nền tảng, nhà phát triển có thể viết mã tận dụng các tính năng và khả năng của từng nền tảng trong khi vẫn giữ cơ sở mã được sắp xếp và tối ưu hóa cho các nền tảng mục tiêu khác nhau trong Unity.

Bài viết được đề xuất
Làm việc với mảng và danh sách trong Unity Code
Các đoạn mã hữu ích hàng đầu dành cho nhà phát triển Unity
Triển khai dịch chuyển tức thời trong Unity
Giới thiệu về ngôn ngữ kịch bản Unity C#
Thủ thuật lập trình Unity
Phương pháp làm xáo trộn Unity và bảo vệ chống hack
Tạo hiệu ứng thời gian đạn trong Unity