Pull to refresh
15
0
Afflictio @Afflictio

User

Send message

JobOnHour.ru — Работа на час

Reading time2 min
Views1.2K
Хочу предоставить вашему вниманию новый сервис по поиску подработки jobonhour.ru.

image

Идея пришла в голову случайно. Мой товарищ часто по работе бывал в знаменитом Бобруйске и замечал там постоянно мужиков 10-15, которые тусовались на небольшом пятачке. Каждый был с сумкой и непонятно, что они там делали. Выяснилось, что это некая, скажем так, биржа людей. Т.е., мужикам было делать нечего, и кому нужны были работники, те приезжали на эту площадку и выбирали себе подходящих. Черт его знает, кому что надо было, может кирпичи разгрузить, цемент какой.

Читать дальше →
Total votes 100: ↑86 and ↓14+72
Comments111

Создание градиентной маски во Flash 8

Reading time1 min
Views2K
Что бы создать градиентную маску во Flash до 8 версии, приходилось создавать над маской ещё и мувик с градиентом под цвет заднего фона, а если задний фон тоже картинка, то создание такой маски становилось ещё сложнее. В восьмой версии Flash, у мувиков появилось свойство cacheAsBitmap, с помощью которого мы получили выигрыш в производительности FlashPlayer`a, при програмной анимации большого количества мувиков на сцене, и получили возможность создавать градиентные маски очень просто. Разберём пару примеров, один сделаем ручками, задавая bitmap caching в панели Properties



Другой сделаем програмно, вытаскивая мувики на сцену из библиотеки и применяя к ним cacheAsBitmap. Я не буду тут ничего расписывать, т.к. прокоментировал всё в исходниках, так что качайте и разбирайтесь.

Исходник
Total votes 5: ↑4 and ↓1+3
Comments0

Engine Papervision3D [ Лучшее 3D Demo ]

Reading time1 min
Views1.9K
Демо, сделанное на 3D движке, повергло в шок аудиторию на MacWorld, где она была представлена. Люди говорили, что восторг вызван не только скоростью демо, но так же она продемонстрировала лучшее качество в 3D когда либо сделанное на Flash’е.
Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments13

Оптимизация кода [Actionscript].

Reading time2 min
Views2.8K
Каждый раз, начиная новый проект, многие из нас задаются вопросом, а как же лучше написать ту или иную часть кода. В данной статье я попробовал собрать свои наблидения, советы на форумах по оптимизации кода на AS.

Надеюсь эти советы будут полезны и для вас.
Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments3

Favourite Website Awards [для тех кто ещё не знает этот портал]

Reading time1 min
Views545
Всем, кто ещё сомневается, зачем нужен Flash.
Собрание лучших работ/сайтов с 2000 года на flash технологии.

Один из лучших порталов награждающий flash сайты в нескольких номинациях – FWA.
Total votes 10: ↑2 and ↓8-6
Comments1

Недокументированные возможности ActionScript 1.0/2.0. Часть 1.

Reading time3 min
Views836
Нередко для решения какой-то важной задачи требуется перебрать свойства объекта. Допустим, вы хотите вывести значения свойств на панели Output для получения отладочной информации. Другой пример — декодирование неизвестных свойств объекта, возвращенного, скажем, при обращении к базе данных на сервере. Естественно, нам хотелось бы перебрать скрытые (недокументированные) свойства ActionScript и посмотреть, не найдется ли в них чего-нибудь интересного.

С точки зрения интерпретатора Flash базовый цикл ActionScript for..in означает следующее: «Взять указанный объект и для каждого из его свойств (включая методы, хранящиеся в свойствах) выполнить тело цикла». Тем не менее, многие встроенные методы и свойства ActionScript по умолчанию исключаются из перебора в цикле for..in. Предполагается, что программиста интересуют объекты и свойства, созданные им в программе, а не те, которые заложены в основу работы ActionScript, поэтому встроенные свойства исключаются из перебора for..in. Недокументированная функция ASSetPropFlags() позволяет сделать видимыми даже те свойства и методы, которые обычно остаются невидимыми для перебора.

Как нетрудно догадаться по ее имени, функция ASSetPropFlags() позволяет задавать флаги защиты свойств из ActionScript. Флаги указывают Flash Player, должны ли соответствующие методы и свойства включаться в перебор for.in. Функция ASSetPropFlags() также позволяет запретить запись (или перебор) свойств и методов пользовательских объектов, чтобы предотвратить их случайную модификацию. Это особенно актуально для глобальных свойств распространяемых компонентов, чтобы предотвратить конфликты со сторонними компонентами, используемыми в том же SWF-файле.

Давайте в общих чертах посмотрим, как же работает функция ASSetPropFlags().
Синтаксис вызова ASSetPropFlags():
ASSetPropFlаgs(объект, cвойства, маскаТrие, мacкaFalse)
где:
объект — объект или область видимости;
свойства — свойства/методы объекта, для которых вы собираетесь изменить
флаги защиты. Специальный аргумент null означает «все свойства»;
маскаТrие — целочисленная битовая маска, определяющая флаги конфигурации. Значимыми являются три последних бита целого числа, представляющие (справа налево) флаги «защиты от перезаписи», «защиты от удаления» и «скрытия». Например, двоичное значение 11О (06 в шестнадцатеричной записи, 6 в десятичной) защищает свойства, заданные вторым параметром, от записи и удаления, но перестает скрывать их при переборе;
мacкaFalse — другая целочисленная битовая маска, которая работает аналогично маскеТrие, но сбрасывает заданные флаги. мacкaFalse применяется до применения маскиТrие.

На странице FlashCodersWild (http://chattyfig.figleaf.com/flashcoders-wiki/?AssetPropFlags) меется диаграмма с описанием различных битовых масок, используемых функцией ASSetPropFlags().
Свойства/методы, которые мы хотим сделать видимыми, принадлежат к области видимости _global, содержащей все встроенные классы ActionScript. Таким образом, после выполнения следующей команды все классы ActionScript становятся полностью доступными для перебора:
ASSetPropFlags(_global. null. 6. 1);
Следующий фрагмент выводит список всех классов, найденных в открытой области видимости:

// Установить флаги защиты в _global равными 110(дв.), чтобы сделать их доступными для перебора
ASSetPropFlags(_global. null. 6. 1);

// Составление списка объектов в _global
for (thisObject in _global) {
 trace(thisObject);
}

Чтобы узнать, есть ли в этих классах что-нибудь интересное, мы последовательно переберем все их свойства. Если при поиске обнаружится свойство prototype, в котором хранятся методы и свойства класса (в ActionScript 1.0 и 2.0), мы переберем его содержимое:

// Установить флаги защиты в _global равными 110(дв.), чтобы сделать их доступными для перебора
ASSetPropFlags(_global, null, 6, 1);
// Составление списка объектов в _global
for (thisObject in _global) {
  ASSetPropFlags(_global[thisObject], null, 6, 1);
 
  trace("\n" + thisObject);
  for (props in _global[thisObject]) {
    trace(" " + props);

// Вывод содержимого prototype,
    if (props == «prototype») {
      ASSetPropFlags(_global[thisObject].prototype, null, 6, 1);
      for (protoChain in _global[thisObject].prototype) {
        trace(" " + protoChain);
      }
    }
  }
}


Если присоединить этот код к кадру 1 и протестировать ролик в Flash MX 2004, он
выведет длинный список документированных классов с методами и свойствами.
Total votes 1: ↑1 and ↓0+1
Comments0

Information

Rating
Does not participate
Location
Минская обл., Беларусь
Date of birth
Registered
Activity