Показать сообщение отдельно
Старый 17.04.2012, 11:07
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 5  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Я вчера начал писать, там целая статья будет. Если крадко, то во время статик инита сслыка на класс в global ещё не прописана. А компилятор по разному получает эту ссылку для обращения к классу и для создания объекта например, поэтому
Код AS3:
package {
 
    public class ClassName {
 
        trace(ClassName);
        staticFunction();
 
        public static function staticFunction():void {
            trace(ClassName);
            trace(new ClassName());
        }
 
    }
 
}
Код:
[class ClassName]
 null
[object ClassName]
Это потому что в функции он ищет класс как this(на самом деле в статиках на уровне ассемблера есть this и там это класс) если хотим создать объект, и достаёт из глобала если хотим получить ссылку на класс.

Добавлено через 5 минут
Код AS3:
 trace(ClassName);
в статик ините и в методе компилируется в разный байткод avm2, и обычно они работаю одинаково, но в данном случае нет.
__________________
:)