Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > Блог об AS3

Action Script 3

Инициализатор класса

Запись от Яски размещена 05.11.2009 в 23:13
Сегодня обнаружил, что совсем не обязательно писать код внутри функций. Его можно писать внутри класса, вне класса и вне пакета. Такой код выполнится во время инициализации класса, т.е. при первом обращении к нему.
Простейший пример:
Код AS3:
package tst{
 
    public class Test {
 
    	private static var instance:Test;
 
	trace("Вызываем в классе");
 
	instance = new Test();
 
	public function Test() {
...
Старый
 
Размещено в Action Script 3
Комментарии 4 Яски вне форума

О пакетах классов

Запись от Яски размещена 03.11.2009 в 14:20
Обновил(-а) Яски 08.11.2009 в 20:23
После компиляции в байткод, пакет в котором находится класс фактически становится его неймспейсом (в байткоде нет пакетов). А значит работать с пакетами можно как с неймспейсами. Что это нам дает:
Получение класса по имени:
Код AS3:
// Через getDefinitionByName
var c1:Class = getDefinitionByName("b.A") as Class;
// Через ApplicationDomain.currentDomain, тоже самое, что предыдущая запись
var c2:Class = ApplicationDomain.currentDomain.getDefinition("b.A")
...
Старый
 
Размещено в Action Script 3
Комментарии 14 Яски вне форума

valueOf в AS3

Запись от Яски размещена 07.10.2009 в 02:03
У объекта можно определить метод с именем valueOf, который будет возвращать примитивное представление объекта, как заявлено в спецификации EcmaScript.
Вызывается этот метод в двух случаях — при сложении и при сравнении объектов, и в обоих случаях должен возвращать Number. Что-то типа очень ограниченной перегрузки операторов.
Примеры:
Код AS3:
// Degree.as
package classes {
 
	public class Degree {
 
		private var value:Number;
...
Старый
 
Размещено в Action Script 3
Комментарии 0 Яски вне форума

Сравнение строк в естественном порядке для Flash

Запись от Яски размещена 18.05.2009 в 17:45
http://code.google.com/p/as3natcompare/

Стандартная сортировка во флеш сортирует строки в алфавитном порядке и из-за этого может случиться проблема, что строки с числами будут сортироваться не в том порядке, в котором мы с вами привыкли, а по увеличению кодов символов цифр.
Например Flash отсортирует список так:
Цитата:
rfc1.txt
rfc2086.txt
rfc822.txt
Но было бы удобнее и привычнее, если бы программа сортировала строки в таком порядке:
Цитата:
rfc1.txt
...
Старый
 
Размещено в Action Script 3 , as3natcompare
Комментарии 0 Яски вне форума

Быстрый Math.round для положительных чисел

Запись от Яски размещена 17.01.2009 в 01:30
Обновил(-а) Яски 18.01.2009 в 14:42
Вместо метода Math.round можно использовать следующий подход:
Код AS3:
var value:Number = 3.3;
var roundValue:uint = uint(value + 0.5);
Этот способ работает быстрее стандартного в 30 раз. Только один минус — это будет работать только для положительных чисел. Для отрицательных чисел быстрого варианта еще не придумал.
Старый
 
Размещено в Action Script 3
Комментарии 16 Яски вне форума

Бесконечная рекурсия в toString

Запись от Яски размещена 17.01.2009 в 01:12
Обновил(-а) Яски 17.01.2009 в 01:15
Недавно натолкнулся на интересную проблему в абсолютно стандартном и простом методе. Нужно осторожно реализовывать метод toString, потому что можно случайно вызвать бесконечную рекурсию. Например, такой код вызовет исключение в встроенном методе флеш плеера.
Код AS3:
var arr:Array = new Array();
arr.push(arr);
trace(arr);
Метод trace вызывает toString у массива, во внутренней его реализации для каждого элемента, включая сам массив вызывается метод toString и так ...
Старый
 
Размещено в Action Script 3
Комментарии 0 Яски вне форума

 


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


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