Transcript
Page 1: Flash platform –  обзорный курс. Лекция 3

DisplayList – завершение

Работа с медиа

Сетевое взаимодейтсвие

Локальное хранение и передача данных

FLASH PLATFORM – ОБЗОРНЫЙ КУРС.ЛЕКЦИЯ 3

Page 2: Flash platform –  обзорный курс. Лекция 3

DISPLAY LIST – ДРЕВОВИДНАЯ СТРУКТУРА

Stage

Sprite

Shape Sprite

MovieClip

SimpleButton

Page 3: Flash platform –  обзорный курс. Лекция 3

ФИЛЬТРЫ

• DisplayObject.filters:Array

• Пакет flash.filters• GlowFilter

• BlurFilter

• DropShadowFilter

• ColorMatrixFilter

• GradientBevelFilter

• GradientGlowFilter

• ConvolutionFilter

• DisplacementMapFilter

• ShaderFilter

Page 4: Flash platform –  обзорный курс. Лекция 3

ФИЛЬТРЫ

• DisplayObject.filters:Array

• Пакет flash.filters• GlowFilter

• BlurFilter

• DropShadowFilter

• ColorMatrixFilter

• GradientBevelFilter

• GradientGlowFilter

• ConvolutionFilter

• DisplacementMapFilter

• ShaderFilter

myObject.filters = [new BlurFilter(), new GlowFilter(0x00FF00)];

Page 5: Flash platform –  обзорный курс. Лекция 3

DisplayObject.mask

МАСКИ

Page 6: Flash platform –  обзорный курс. Лекция 3
Page 7: Flash platform –  обзорный курс. Лекция 3
Page 8: Flash platform –  обзорный курс. Лекция 3
Page 9: Flash platform –  обзорный курс. Лекция 3
Page 10: Flash platform –  обзорный курс. Лекция 3

• DisplayObject.mask:DisplayObject

• var mask:Shape = new Mask();

• //draw mask

• myObject.mask = mask;

Page 11: Flash platform –  обзорный курс. Лекция 3

flash.display.BitmapData• .draw(source:IBitmapDrawable, matrix:Matrix = null,

colorTransform:flash.geom:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void

• Куча методов для работы с изображением

• Display – with new Bitmap()

• .getPixels(rect:Rectangle):ByteArray – извлечь пиксели.

Page 12: Flash platform –  обзорный курс. Лекция 3

flash.utils.ByteArray – упакованный массив байтов

ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ - BYTEARRAY

Page 13: Flash platform –  обзорный курс. Лекция 3

BYTEARRAY• .length:uint

• .position:uint

• .readByte():int

• .readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

• .readBoolean():Boolean

• .readDouble():Number, readFloat():Number, readInt():int …etc

• .readUTF():String, .readUTFBytes(length:uint):String, .readMultiByte(length:uint, charSet:String):String

• .readObject():*

• .write*

Page 14: Flash platform –  обзорный курс. Лекция 3

Пакет flash.media

Sound

Microphone

Video

Camera

РАБОТА С МЕДИА-ДАННЫМИ

Page 15: Flash platform –  обзорный курс. Лекция 3

flash.media.Sound• new Sound();

• sound.load(new URLRequest(‘soundUrl.mp3’));

• sound.play(startTime:Number = 0, loops:int = 0, sndTransform:flash.media:SoundTransform = null):SoundChannel

• sound.close():void

• sound.extract(target:ByteArray, length:Number, startPosition:Number = -1):Number

• sound.id3:ID3Info

• Events:

• Event.OPEN

• ProgressEvent.PROGRESS

• Event.COMPLETE

• IOErrorEvent.IO_ERROR

• Event.ID3

• SampleDataEvent.SAMPLE_DATA

Page 16: Flash platform –  обзорный курс. Лекция 3

flash.media.SoundTransform

• .volume : Number (0 – 1)

• …

• flash.display.SimpleButton.soundTransform

• flash.display.Sprite.soundTransform

• flash.media.Microphone.soundTransform

• flash.media.SoundChannel.soundTransform

• flash.media.SoundMixer.soundTransform

• flash.net.NetStream.soundTransform

Page 17: Flash platform –  обзорный курс. Лекция 3

flash.media.SoundChannel• .position:Number (in ms)

• .soundTransform:SoundTransform

• .leftPeak:Number

• .rightPeak:Number

• .stop()

• Events:

• Event.SOUND_COMPLETE

Page 18: Flash platform –  обзорный курс. Лекция 3

flash.media.SoundMixer

• Global sound control class

• .soundTransform:SoundTransform

• .stopAll():void

• .computeSpectrum(outputArray:ByteArray, FFTMode:Boolean = false, stretchFactor:int = 0):void

Page 19: Flash platform –  обзорный курс. Лекция 3

flash.media.Microphone• .getMicrophone(index:int = -1):Microphone

• .names:Array

• …

• Events:

• ActivityEvent.ACTIVITY

• StatusEvent.STATUS

• SampleDataEvent.SAMPLE_DATA

Page 20: Flash platform –  обзорный курс. Лекция 3

flash.media.Video

• Extends DisplayObject

• .attachCamera(camera:Camera):void

• .attachNetStream(netStream:NetStream):void

• .clear():void

• .videoHeight:int

• .videoWidth:int

• .smoothing:Boolean

Page 21: Flash platform –  обзорный курс. Лекция 3

flash.media.Camera

• .names:Array

• .getCamera(name:String = null):Camera

• .setMode(width:int, height:int, fps:Number, favorArea:Boolean = true):void

• …

• Events:

• ActivityEvent.ACTIVITY

• StatusEvent.STATUS

Page 22: Flash platform –  обзорный курс. Лекция 3

Пакет flash.net

URLLoader

URLStream

NetConnection, NetStream

XMLSocket, Socket

ВЗАИМОДЕЙСТВИЕ С СЕТЬЮ

Page 23: Flash platform –  обзорный курс. Лекция 3

URLLoader• .load(request:URLRequest):void

• URLRequest – new URLRequest(url:String = null)

• .method – URLRequestMethod.GET/URLRequestMethod.POST

• .data – data to be sent. URLVariables/ByteArray/String

• .dataFormat:String =

• URLLoaderDataFormat.TEXT

• URLLoaderDataFormat.BINARY

• URLLoaderDataFormat.VARIABLES

• . data:*

• .bytesTotal:uint

• .bytesLoaded:uint

Events:

Event.OPENProgressEvent.PROGRESSSecurityErrorEvent.SECURITY_ERRORIOErrorEvent.IO_ERRORHTTPStatusEvent.HTTP_STATUSEvent.COMPLETE

Page 24: Flash platform –  обзорный курс. Лекция 3

var request:URLRequest = new URLRequest(‘http://mydomain.com/service’);

var data:URLVariables = new URLVariables();

data.user = “nikitap”;

data.action = “remove”;

/// etc

request.data = data;

request.method = URLRequestMethod.POST;

var loader:URLLoader = new URLLoader(request);

loader.addEventListener(Event.COMPLETE, loader_completeHandler);

//….

private function loader_completeHandler(event:Event):void

{

var loader:URLLoader = URLLoader(event.target);

trace(loader.data);}

Page 25: Flash platform –  обзорный курс. Лекция 3

flash.net.URLStream• Поточная загрузка

• ProgressEvent.PROGRESS – загрузка порции

• Чтение – аналогично ByteArray (IDataInput)

Page 26: Flash platform –  обзорный курс. Лекция 3

flash.net.FileReference• Чтение, запись и отправка локальный файлов; загрузка файлов с сервера

• .browse(typeFilter:Array = null):Boolean

• .load():void

• .download(request:URLRequest, defaultFileName:String = null):void

• .save(data:*, defaultFileName:String = null):void

• .upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void

• .data : ByteArray

• .name : String

• .size : Number

• .type : Number

• Events:

• Event.OPEN, ProgressEvent.PROGRESS, Event.COMPLETE

• Event.SELECT, Event.CANCEL

Page 27: Flash platform –  обзорный курс. Лекция 3

flash.net.NetConnection / flash.net.NetStream

• Воспроизведение .flv/.f4v – файлов по HTTP

• Обращение к Flash Remoting – сервисам (BlazeDZ, ZendAMF, AMFPHP, LCDS, GraniteDS, etc…)

• RTMP-cервера

• P2P-cоедиения

Page 28: Flash platform –  обзорный курс. Лекция 3

flash.net.NetConnection - .f4v-видео

var nc:NetConnection = new NetConnection();

nc.connect(‘null’);

var ns:NetStream = new NetStream(ns);

ns.play(“http://mydomain.com/myvideo.f4v”);

var video:Video = new Video();

video.width = 640;

video.height = 480;

video.attachNetStream(ns);

addChild(video);

Page 29: Flash platform –  обзорный курс. Лекция 3

flash.net.XMLSocket / flash.net.Socket

• TCP – соединение с сервером

• Любые протоколы

• XMLSocket – null-terminated messages

• .connect(host:String, port:int):void

• (for XMLSocket) .send(object:*)

• (for Socket) – the same as ByteArray

• Events:

• Event.CONNECT, Event.CLOSE

• (for XMLSocket) DataEvent.DATA (.data – received data)

• (for Socket) ProgressEvent.SOCKET_DATA

Page 30: Flash platform –  обзорный курс. Лекция 3

flash.media.Camera


Top Related