forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Уроки (http://forum.boolean.name/forumdisplay.php?f=145)
-   -   Директивы препроцессора. (http://forum.boolean.name/showthread.php?t=15525)

Lestar 21.09.2011 19:30

Директивы препроцессора.
 
В саму суть углубляться я не буду,можно подробно ознакомиться здесь.
Затрону только часть применимую к Unity.Здесь можно просмотреть все использующиеся директивы #define в Unity.Что это нам дает.При мультиплатформенном приложении мы можем изолировать часть кода,который не актуален для данной платформы.Например тот же мультитач никоим образом к веб версии не относится.
PHP код:

#if(UNITY_IPHONE)
// Тело логики
#endif 

В данном случае логика при компиляции не будет проигнорирована только в случае билда под iPhone.

Параллельно мы так же рассмотрим RuntimePlatform .Задача та же, изолировать код согласно используемой платформы.
Например
PHP код:

if (Application.platform == RuntimePlatform.IPhonePlayer)
{
//Тело логики


Отличие в том,что решение о использовании RuntimePlatform принимается в момент выполнения кода,а директивы препроцессора еще во время его компиляции(код в теле директивы не соответствующей платформы не будет скомпилирован и включен в конечный билд).


Часовой пояс GMT +4, время: 17:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot