Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #73, ДЕКАБРЬ 2006 г.

и на горячее...

 

Спецвыпуск: Хакер, номер #073, стр. 073-040-3


[новые типы данных (new primitive types).]

В ядре ActionScript 3 добавилось несколько базовых типов данных. В ActionScript 2 был только 1 численный тип Number (double float). Теперь добавлен новый целочисленный тип int (32-bit), использование которого в целочисленных операциях (например, в счетчиках циклов) позволило значительно ускорить язык.

Другой новый тип - uint – беззнаковый 32-битный int.

[Flash Player API]

– это набор классов и методов, реализующих возможности Flash Player посредством языка ActionScript 3. К сожалению, в этой статье недостаточно места для описания всего API, поэтому приведем лишь наиболее значимые и интересные моменты.

[новая модель событий (DOM3 event model).]

В Flash Player API реализована новая эффективная модель обработки событий, включающая event bubbling. Заимствованная у спецификации W3C DOM3, данная модель позволяет наиболее эффективным способом управлять происходящими в интерактивной среде событиями и обрабатывать их.

[новые классы для управления графикой Display List API.]

- Sprite

Класс Sprite по аналогии с классом MovieClip реализует базовый набор методов для работы с графическим элементом (bitmap).

// Создаем кнопку на спрайте

import flash.display.Sprite;

import flash.events.MouseEvent;

var circle1:Sprite = new Sprite();

circle1.graphics.beginFill(0xCC0000);

circle1.graphics.drawCircle(40, 40, 40);

circle1.buttonMode = true;

circle1.addEventListener(MouseEvent.CLICK, clicked);

// Реакция на клик

function clicked(event:MouseEvent):void {

trace ("Click!");

}

addChild(circle1);

- Shape

Класс Shape реализует набор графических примитивов для создания динамической векторной графики.

// Рисуем прямоугольник со скругленными углами

var child:Shape = new Shape();

child.graphics.beginFill(0xCC0000);

child.graphics.lineStyle(1, 0xFFFFFF);

child.graphics.drawRoundRect(0, 0, 100, 200, 5);

child.graphics.endFill();

addChild(child);

- Filters

Набор классов группы filters - мощнейший набор динамических фильтров.

// Эффект размытия в одну строку

obj.filters.push(new BlurFilter(5, 5, 1));

[звук.]

В Flash Player API существенно расширены возможности работы со звуком. Например, теперь, используя класс SoundMixer, можно получить доступ к raw-данным звуковой дорожки.

// Частотный анализатор (эквалайзер)

// Автор: http://theflashblog.com/?p=181#

var s:Sound = new Sound();

var sc:SoundChannel;

var ba:ByteArray = new ByteArray();

var array:Array;

s.load(new URLRequest("mix.mp3"));

sc = s.play(0,1000);

this.addEventListener(Event.ENTER_FRAME, spectrum);

var a:Number = 0;

function spectrum(event:Event)

{

a = 0;

graphics.clear();

SoundMixer.computeSpectrum(ba,true,0);

for(var i=0; i < 256; i=i+8)

{

a = ba.readFloat();

var num:Number = a*360;

graphics.lineStyle(num/15,0x0066FF|(num << 8));

graphics.drawCircle(stage.stageWidth/2,

Назад на стр. 073-040-2  Содержание  Вперед на стр. 073-040-4