Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   debug/release версии (http://www.flasher.ru/forum/showthread.php?t=146264)

inozemcev 02.11.2010 20:10

debug/release версии
 
Давно уже искал лаконичный способ распилить приложение и вот наконец, нашел

Итак насколько вам известно в конфиг xml проекта. будь - то flash builder или flash develop есть такая запись:
Код:

<define append="true">
        <name>CONFIG::debug</name>
        <value>true</value>
</define>
<define append="true">
        <name>CONFIG::release</name>
        <value>false</value>
</define>

В ней говорится в каком режиме компилируется swf. Все эти настройки редактируются автоматически, поэтому можно этого всего не знать. Главное запомнить два пространства имен CONFIG::debug и CONFIG::release

теперь, если вы хотите добавить какой - то функционал, соответсвующий режиму, то
просто добавляете в тело функции следующее:

Код AS3:

  // Release functionality only
                CONFIG::release
                {
                        trace ('release version code');
                }
 
                // Debug functionality only
                CONFIG::debug
                {
                        trace ('debug version code');
                }

Если вы хотите, в зависимости от режима создавать экземпляры
соответствующих классов, то в соотвтсвующем пакете класса нужно создать
две реализации класса
Код AS3:

                CONFIG::release
                public class SomeClass
                {
                  public function SomeClass()
                  {
                        super();
                  }
                }
 
                // Debug version
                CONFIG::debug
                public class SomeClass
                {
                        public function SomeClass()
                        {
                          super();
                        }
                }


Rzer 02.11.2010 20:20

Или так, например, для SWC библиотеки:
Код AS3:

public static var isDebug:Boolean = new Error().getStackTrace().search(/:[0-9]+\]$/m) > -1;

Но твой способ, более удобный.


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.