нов 102014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

ANIMACIJA

 

FLASH MAHER - ANIMACIJA

FLASH MAHER – ANIMACIJA

 

Da prvo odgovorimo na pitanje šta je to animacija? Animacija bi u prevodu mogla značiti kretanje, davanje života – oživljavanje statičnih slika. Naš cilj je da promenom statičkih slika učinimo da izgleda da se likovi kreću – menjaju kao da su živi. Što smo mi više spretniji to animirano kretanje izgleda realnije. Ne moraju objekti da se kreću da bi postigli željeni efekat. Oni mogu da menjaju oblik, izgled, boju ili neko drugo svojstvo, da bi se postigao odgovarajući cilj. Još dok nije postojao ni TV, veoma uspešno su animirani pokreti crtanjem pojedinačnih listova, i brzim promenama istih je nastajala iluzija kretanja. Animacija se i na TV-u izvršava na sličan način, a naše oko ne stiže da vidi promene statičnih slika, već nam se čini da je sve živo.

Flash ima definisanu pozornicu ‘stage‘ preko koje se prikazuju frejmovi koji nam omogućavaju da stvaramo animacije. Frejmovi (Frames)bi predstavljali slike, koje možemo da kreiramo predviđenim opcijama za dizajniranje iz Flash-a, a možemo i da im menjamo sadržaj koristeći AS3.0. Kao u prethodno navedenom primeru, frejmovi se smenjuju jedan za drugim, a mi imamo kontrolu kojom brzinom se to izvodi i kojim redosledom se prikazuju frejmovi. Ne moraju se frejmovi smenjivati po redu kao što su prikazani na vremenskoj liniji. Uz pomoć AS3.0 Flash nam daje mogućnost da izaberemo koji će sledeći frejm po redu biti prikazan. I ne samo jedan frejm! Vremenska linija (TimeLine) nam omogućava da stvaramo animaciju u više slojeva (Leyers), a u okviru svakog sloja se nalaze frejmovi. To znači da se u istom trenutku prikazuje frejm pod izabranim rednim brojem sa svakog sloja. Svaki frejm ima svoj prioritet za prikaz, i uvek se prikazuju frejmovi jedan ispred drugog po prioritetu, čime može da se veoma lako stvori utisak bližih i daljih obrjekata. Moguće je i da se na jednom istom frejmu duže zadrži po želji, jer se u AS3.0 često koriste i naredbe za crtanje u 2 i 3 dimenzije, pomoću kojih je moguće stvoriti realne animacije.

Istraživanjem je određeno da ljudi posmatrajući ekran već preko 24 frejmova prikazanih u sekundi imaju osećaj da su animacije stvarne, i ne primećuju da se slike menjaju po slajdovima. Što je veći broj frejmova promenjen u sekundi, animacije izgledaju prirodnije, ali obratite pažnju na to da kompjuteri imaju procesore sa limitiranom brzinom, tako da u zavisnosti od složenosti programa, može da dođe do preskakanja nekih delova slike i treperenja. Zato obratite pažnju na izbor brzine menjanja frejmova, a preporuka je da to bude od 12 – 30 po sekundi.

Simboli, instance, svojstva i metode!

Simbol može biti bilo koji objekt, grafika ili dugme ili bolo koja kombinacija. Pri konvertovanju nekog objekta u simbol biramo tip simbola (Movie Clip – film, Button – dugme ili Graphics – grafika), u zavisnosti od zahteva koji treba da izvrši. Da bi simbol bio upotrebljiv u kodu moramo da mu dodelimo ne samo ime nego i klasu koja se koristi u AS3.0, a to se radi tako što uključimo naprednu opciju ’Advanced’, selektujemo ’Export for ActionScript’ i izaberemo i jedinstveno ime klase u polju ’Class’. Bilo koji objekat kada pretvarimo u simbol, pojavljuje se u biblioteci simbola koja se vidi u prozoru ’LIBRARY’. Simbole kreiramo ručno ili kopiramo iz drugih ’fla’ fajlova, a mogu biti i kompajlirani drugim ’fla’ fajlom, pa da samo navedemo putanju do njih na predviđeno mesto. Imaju mogućnosti i animacije i kodiranja kao i glavni ’fla’ fajl. Njihova moć je velika, i veoma je važno razumeti minimum osnovni deo mogućnosti koje nam pružaju.

Njihove kopije kojima se služimo pri programiranju i koje se prikazuju kada se reprodukuje sadržaj kroz Flash Player se nazivaju ’Instance’. Jedan simbol može da ima više aktivnih kopija – instanci.
Svaka instanca ima svoja svojstva – osobine ili karakteristike, a može da ima i metode – akcije koje izvršava. Svaka instanca ima svoje jedinstveno ime, a u prozoru ’PROPERTIES’ su prikazane njene osobine, koje mogu biti različite zavisno od tipa simbola čija je kopija data instanca. Važno je razumeti da možemo da menjamo izgled i osobine svake instance posebno, i time ne utičemo na glavni simbol, a da kada menjamo osobine i izgled simbola, utičemo na sve instance – kopije tog simbola. Svojstva instanci se definišu i menjaju tako što se između imena instance i svojstva stavlja tačka ’.’ koja služi kao separator i pomaže AS3.0 da definiše mapu ili putanju da bi se data komanda izvršila.

Specijalna osbina AS3.0 je to da svojstva objekata ne moraju da budu samo podaci, već mogu da budu i funkcije ili drugi objekti. Ovo je specifičnost objektno orijentisanog programiranja. AS3.0 kod može da odradi poslove višeg nivoa od običnih programskih jezika.

Metode su instrukcije koje ukazuju da nešto treba da se uradi. Oni obično zahtevaju parametre u okviru malih zagrada, koji dodatno definišu pravila za izvršavanje metoda.

 

FLASH MAHER!
FLASH MAHER – UVOD!
FLASH MAHER – OSNOVNI PODACI!
FLASH MAHER – OPERATORI I USLOVNE NAREDBE!
FLASH MAHER – FUNKCIJE!
FLASH MAHER – DOGAĐAJI!
FLASH MAHER – FILTERI!
FLASH MAHER – GRAFIKA!
FLASH MAHER – MASKA!
FLASH MAHER – ANIMACIJA!
FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE!
FLASH MAHER – FLASH I PHP!

VojaMaher

нов 052014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

MASKA

 

FLASH MAHER – MASKA

 

Maska je samo jedna od osobina koje su veoma dobro urađene programom Adobe Flash Professional. Masku je moguće uraditi i iz vremenske linije promenom osobine lejera u ’Mask’ i uz pomoć kodiranja. Prva metoda sa dodatkom OOP loadera i kodiranog simbola je prikazana u narednom primeru. Linkovi slika koje se smenjuju su zapisani u ’XML’ fajlu. Takođe su u njemu podaci i o brzini izbleđivanja slike, koeficijentu izbleđivanja slika i dužini trajanja pauze do zamene postojeće slike novom. U ovom primeru se vidi da sem linkova, skoro sve što treba da se podesi možemo da definišemo u ’XML’ bazi, i na taj način olakšamo testiranje programa pri raznim vrednostima podataka.

Primer:

import flash.geom.*;

import flash.filters.*;

import flash.display.*;

import flash.events.*;

import flash.text.*;

import flash.net.*;

import PictureLoader;

var Photos:Array = new Array();

Photos[0] = new MovieClip();

var Text:TextField = new TextField();

Text.width = Text.height = 250;

Text.background = Text.selectable = false;

Text.wordWrap = true;

var FontTextFormat:TextFormat = new TextFormat(“Georgia”, 42, 0xffff00, true, false, false, null, null, “center”);

Text.defaultTextFormat = FontTextFormat;

var FilterShadow:DropShadowFilter = new DropShadowFilter();

var FilterGlow:GlowFilter = new GlowFilter(0x333333, 0.7, 10, 10);

Text.filters = [FilterShadow, FilterGlow];

Text.text = “And\nyou are\ncertainly\ngood!!!”;

Photos[0].addChild(Text);

addChild(Photos[0]);

var OldId:int = 0;

var NewId:int = 1;

var MaxId:int = 0;

var MainXml:XML = new XML();

var XMLLoader:URLLoader = new URLLoader();

XMLLoader.addEventListener(Event.COMPLETE, CompleteHandler);

XMLLoader.load(new URLRequest(“Photos.xml”));

function CompleteHandler(event:Event):void {

XMLLoader.removeEventListener(Event.COMPLETE, CompleteHandler);

MainXml = new XML(event.target.data);

for each(var Picture in MainXml..Picture) {

MaxId += 1;

Photos[MaxId] = new MovieClip();

var NewPictureLoader:PictureLoader = new PictureLoader(Photos[MaxId], String(Picture.Name));

if(MaxId == 2) {

StartNextPhotos();

}

}

}

function StartNextPhotos():void {

Photos[NewId].alpha = 0;

addChild(Photos[NewId]);

var WaitTimer:Timer = new Timer(Number(MainXml.Speed));

WaitTimer.addEventListener(TimerEvent.TIMER, NextPicture);

WaitTimer.start();

function NextPicture(event:TimerEvent):void {

Photos[OldId].alpha -= Number(MainXml.AlphaStep);

Photos[NewId].alpha += Number(MainXml.AlphaStep);

if(Photos[OldId].alpha <= Number(MainXml.AlphaStep)) {

WaitTimer.removeEventListener(TimerEvent.TIMER, NextPicture);

WaitTimer.stop();

Photos[NewId].alpha = 1;

OldId = NewId;

NewId == MaxId ? NewId = 0: NewId ++;

setTimeout(StartNextPhotos, Number(MainXml.Pause));

}

event.updateAfterEvent();

}

}

Simbol ’MainMask’ ima svoj kod:

var RotateTimer:Timer = new Timer(30);

RotateTimer.addEventListener(TimerEvent.TIMER, RotatePicture);

RotateTimer.start();

function RotatePicture(event:TimerEvent):void {

this.rotation += 5;

event.updateAfterEvent();

}

Dodatni fajl u AS3.0 kodu je ’PictureLoader.as’ gde se vidi prost primer OOP:

package {

import flash.display.*;

import flash.events.*;

import flash.geom.*;

import flash.net.*;

public class PictureLoader {

public function PictureLoader(UniObject:MovieClip, Link:String):void {

var MyUILoader:Loader = new Loader();

MyUILoader.load(new URLRequest(Link));

MyUILoader.contentLoaderInfo.addEventListener( Event.COMPLETE, CompleteHandler);

function CompleteHandler(event:Event):void {

MyUILoader.contentLoaderInfo.removeEventListener( Event.COMPLETE, CompleteHandler);

UniObject.BitMap = Bitmap(MyUILoader.content);

UniObject.addChild(UniObject.BitMap);

}

}

}

}

I konačno ’Photos.xml’ je sledećeg koda:

<?xml version=”1.0″ encoding=”utf-8″?>

<Store>

      <Speed>50</Speed>

      <Pause>3000</Pause>

      <AlphaStep>0.05</AlphaStep>

      <Picture>

                  <Name>Picture1.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture2.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture3.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture4.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture5.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture6.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture7.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture8.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture9.jpg</Name>

      </Picture>

      <Picture>

                  <Name>Picture10.jpg</Name>

      </Picture>

</Store>

Kao kod simbola ’MainMask’, svaki simbol može da ima svoj kod. Može da se koristi i animacija i kodiranje svakog simbola posebno, a moguća je i komunikacija između skripti koje su pisane u simbolima, tako da su mogućnosti koje AS3.0 nudi sa simbolima izvanredne.

Drugi primer uz korišćenje samo AS3.0 koda:

import flash.geom.*;

import flash.display.*;

import flash.events.*;

import flash.net.*;

import PictureLoader;

var Photos:MovieClip = new MovieClip();

var PhotosLoader:PictureLoader = new PictureLoader(Photos, “Picture1.jpg”);

addChild(Photos);

var CircleMask:Sprite = new Sprite();

CircleMask.graphics.beginFill(0x000000);

CircleMask.graphics.drawCircle(100, 100, 50);

CircleMask.graphics.endFill();

addChild(CircleMask);

Photos.mask = CircleMask;

Photos.addEventListener(MouseEvent.MOUSE_DOWN, StartDrag);

Photos.addEventListener(MouseEvent.MOUSE_OUT, StopDrag);

Photos.addEventListener(MouseEvent.MOUSE_UP, StopDrag);

function StartDrag(event:MouseEvent):void {

CircleMask.startDrag();

}

function StopDrag(event:MouseEvent):void {

CircleMask.stopDrag();

}

U ovom primeru se poziva isti ’PictureLoader.as’ za učitavanje jedne slike. Moguće je i pomeranje maske mišem komandom ’startDrag()’.

 

FLASH MAHER!
FLASH MAHER – UVOD!
FLASH MAHER – OSNOVNI PODACI!
FLASH MAHER – OPERATORI I USLOVNE NAREDBE!
FLASH MAHER – FUNKCIJE!
FLASH MAHER – DOGAĐAJI!
FLASH MAHER – FILTERI!
FLASH MAHER – GRAFIKA!
FLASH MAHER – MASKA!
FLASH MAHER – ANIMACIJA!
FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE!
FLASH MAHER – FLASH I PHP!

VojaMaher

нов 012014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

GRAFIKA

 

FLASH MAHER – GRAFIKA

 

Klasa Graphics sadrži skup metoda pomoću kojih možete formirati složene vektorske oblike. Pomoću AS3.0 koda moguće je napraviti dinamičke animacije koje drugi programski jezici ne podržavaju.

Osnovne metode klase Graphics su:

beginBitmapFill(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Ispunjava oblast za crtanje Bitmap slikom.

beginFill(color:uint, alpha:Number = 1.0):void
Selektuje boju i providnost pri crtanju.

beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = “pad”, interpolationMethod:String = “rgb”, focalPointRatio:Number = 0):void
Formira gradijent (prelaz) ispune koji se koristi pri crtanju.

beginShaderFill(shader:Shader, matrix:Matrix = null):void
Formira metodu Shader ispune.

clear():void
Briše grafiku i resetuje sve karakteristike ispune na osnovne.

copyFrom(sourceGraphics:Graphics):void
Kopira sve grafičke komande sa navedene mete.

curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number):void
Iscrtava krivu liniju definisanu kontrolnom tačkom i tačkom utočišta.

drawCircle(x:Number, y:Number, radius:Number):void
Iscrtava krug oko definisanog centra sa datim poluprečnikom.

drawEllipse(x:Number, y:Number, width:Number, height:Number):void
Iscrtava elipsu od gornjeg levog ugla definisanog sa ’x’ i ’y’ sa poluprečnicima osa ’width’ i ’height’.

drawGraphicsData(graphicsData:Vector.):void
Pridružuje seriju ’IgraphicsData’ instaci komandi za crtanje.

drawPath(commands:Vector., data:Vector., winding:String = “evenOdd”):void
Pridružuje seriju komandi za crtanje.

drawRect(x:Number, y:Number, width:Number, height:Number):void
Iscrtava pravougaonik.

drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number = NaN):void
Iscrtava pravougaonik sa zaobljenim uglovima.

drawTriangles(vertices:Vector., indices:Vector. = null, uvtData:Vector. = null, culling:String = “none”):void
Iscrtava niz trouglova dajući im trodimenzionalni izgled.

endFill():void
Zatvara otvorene grafičke metode.

lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void
Definiše bitmapu koja se koristi za iscrtavanje linija.

lineGradientStyle(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = “pad”, interpolationMethod:String = “rgb”, focalPointRatio:Number = 0):void
Definiše vrstu linije kojom se iscrtava.

lineShaderStyle(shader:Shader, matrix:Matrix = null):void
Specifikuje metodu Shader pri iscrtavanju linija.

lineStyle(thickness:Number = NaN, color:uint = 0, alpha:Number = 1.0, pixelHinting:Boolean = false, scaleMode:String = “normal”, caps:String = null, joints:String = null, miterLimit:Number = 3):void
Definiše stil linije za iscrtavanje.

lineTo(x:Number, y:Number):void
Iscrtava liniju od trenutne pozicije do definisane tačke (x, y).

moveTo(x:Number, y:Number):void
Pomera trenutnu poziciju za crtanje u tačku (x, y).

U narednim primerima je prikazano osnovno kodiranje za iscrtavanje većine grafičkih elemenata koje AS3.0 podržava. U ’Help’-u su detaljnije objašnjena svojsva svake metode. Treba obratiti pažnju na to da AS3.0 iscrtava novu grafiku uvek preko svih grafika, tako da ako želimo da stvorimo efekt bližih i daljih objekata, potrebno je da kreiramo više instanci tipa ’MovieClip’ ili drugih koji podržavaju grafičke metode, a nakon toga iskoristimo naredbu ’addChild’ ili ’addChildAt’ za definisanje njihovih prioriteta pri prikazivanju.

 

U narednom primeru prikazane su metode za iscrtavanje linija:

import flash.display.*;

import flash.geom.*;

var Picture:Sprite = new Sprite();

Picture.graphics.lineStyle(20, 0x000000, 1, false, “normal”, null, null, 3);

Picture.graphics.lineTo(100, 50);

Picture.graphics.curveTo(200, 150, 50, 250);

Picture.graphics.drawCircle(200, 50, 20);

stage.addChild(Picture);

Picture.graphics.lineStyle(10);

var MyMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);

MyMatrix.createGradientBox(30, 30, 0, 0, 0);

Picture.graphics.lineGradientStyle(“radial”, [0xff0000, 0x00ff00, 0x0000ff], [1, 1, 1], [0, 128, 255], MyMatrix, “repeat”, “rgb”, 0);

Picture.graphics.moveTo(0, 0);

Picture.graphics.lineTo(550, 400);

Picture.graphics.drawCircle(300, 100, 50);

Picture.graphics.drawEllipse(300, 200, 100, 30);

Picture.graphics.lineStyle(2, 0xff0000);

Picture.graphics.drawRect(400, 100, 60, 40);

Picture.graphics.drawRoundRect(400, 150, 60, 40, 20);

Picture.graphics.lineGradientStyle(“radial”, [0xff0000, 0x00ff00, 0x0000ff], [1, 1, 1], [0, 128, 255], MyMatrix, “pad”, “rgb”, 0);

Picture.graphics.drawTriangles(Vector.([100,200, 200,200, 100,300, 200,300]), Vector.([0,1,2, 1,3,2]));

 

U narednom primeru prikazane su metode za iscrtavanje ispuna – tela:

import flash.display.*;

import flash.geom.*;

var Picture:Sprite = new Sprite();

Picture.graphics.beginFill(0x0000ff, 1);

Picture.graphics.lineTo(100, 50);

Picture.graphics.curveTo(200, 150, 50, 250);

Picture.graphics.beginFill(0xff00ff, 1);

Picture.graphics.drawCircle(200, 50, 20);

stage.addChild(Picture);

Picture.graphics.lineStyle(10);

var LineMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);

LineMatrix.createGradientBox(20, 20, 0, 0, 0);

Picture.graphics.lineGradientStyle(“linear”, [0xff0000, 0x00ff00, 0x0000ff], [1, 1, 1], [0, 128, 255], LineMatrix, “repeat”, “rgb”, 0);

var BodyMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);

BodyMatrix.createGradientBox(20, 20, 0, 0, 0);

Picture.graphics.beginGradientFill(“radial”, [0x333333, 0x00ff00, 0x999999], [1, 1, 1], [100, 128, 150], BodyMatrix, “repeat”, “lineaRgb”, 0);

Picture.graphics.moveTo(0, 0);

Picture.graphics.lineTo(550, 400);

Picture.graphics.drawCircle(300, 100, 50);

Picture.graphics.drawEllipse(300, 200, 100, 30);

Picture.graphics.lineStyle(2, 0xff0000);

Picture.graphics.drawRect(400, 100, 60, 40);

Picture.graphics.drawRoundRect(400, 150, 60, 40, 20);

Picture.graphics.beginGradientFill(“linear”, [0xff0000, 0x00ff00, 0x0000ff], [1, 1, 1], [100, 128, 155], BodyMatrix, “repeat”, “rgb”, 0);

Picture.graphics.drawTriangles(Vector.([100,200, 200,200, 100,300, 200,300]), Vector.([0,1,2, 1,3,2]));

Picture.graphics.endFill();

 

U narednom primeru prikazane su metode za iscrtavanje korišćenje ’BitmapData’ ispuna i na linije i na ispune:

import flash.display.*;

import flash.geom.*;

import flash.net.*;

var Picture:Sprite = new Sprite();

var ImageLoader:Loader = new Loader();

ImageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, CompleteHandler);

ImageLoader.load(new URLRequest(“Picture1.jpg”));

function CompleteHandler(event:Event):void {

ImageLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, CompleteHandler);

var BitMap:Bitmap = Bitmap(ImageLoader.content);

var Rectang:Rectangle = new Rectangle(0, 0, ImageLoader.width, ImageLoader.height);

var BitMapData:BitmapData = new BitmapData(ImageLoader.width, ImageLoader.height);

BitMapData.copyPixels(BitMap.bitmapData, Rectang, new Point(0, 0));

Picture.graphics.beginBitmapFill(BitMapData, new Matrix(), true, false);

Picture.graphics.lineTo(100, 50);

Picture.graphics.curveTo(200, 150, 50, 250);

Picture.graphics.drawCircle(200, 50, 20);

stage.addChild(Picture);

Picture.graphics.lineStyle(10);

var LineMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);

LineMatrix.createGradientBox(20, 20, 0, 0, 0);

Picture.graphics.lineGradientStyle(“linear”, [0xff0000, 0x00ff00, 0x0000ff], [1, 1, 1], [0, 128, 255], LineMatrix, “repeat”, “rgb”, 0);

var BodyMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);

BodyMatrix.createGradientBox(20, 20, 0, 0, 0);

Picture.graphics.drawCircle(300, 100, 50);

Picture.graphics.drawEllipse(300, 200, 100, 30);

Picture.graphics.lineStyle(20, 0xff0000);

Picture.graphics.beginFill(0x000000, 0);

Picture.graphics.lineBitmapStyle(BitMapData, new Matrix(), true, false);

Picture.graphics.drawRect(400, 50, 60, 40);

Picture.graphics.drawRoundRect(400, 150, 60, 40, 20);

Picture.graphics.drawTriangles(Vector.([100,300, 200,300, 100,380, 200,380]), Vector.([0,1,2, 1,3,2]));

Picture.graphics.endFill();

}

Obavezno posle izvršenih komandi za crtanje upotrebite ’graphics.endFill();’ jer bez ove metode dolazi do kočenja programa kada se crtanje programski ponavlja više puta.

Adobe stalno dodaje nove komande, tako da ako imate najnoviju verziju programa Adobe Flash Professional, moguće je da postoje neke naredbe koje ovde nisu spomenute.

 

FLASH MAHER!
FLASH MAHER – UVOD!
FLASH MAHER – OSNOVNI PODACI!
FLASH MAHER – OPERATORI I USLOVNE NAREDBE!
FLASH MAHER – FUNKCIJE!
FLASH MAHER – DOGAĐAJI!
FLASH MAHER – FILTERI!
FLASH MAHER – GRAFIKA!
FLASH MAHER – MASKA!
FLASH MAHER – ANIMACIJA!
FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE!
FLASH MAHER – FLASH I PHP!

VojaMaher

окт 282014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

Adobe Flash Professional Education

 

Kompanija Adobe je dugogodišnji globalni lider u oblasti digitalnih medija i marketinških rešenja. Gotovo da ne postoji osoba koja se makar malo razume u kompjutere i programiranje, a da ne zna ništa o firmi Adobe i da nikada nije koristila bar neki od programskih paketa koje Adobe nudi. Od samog početka Adobe programski paketi su se pokazali kao pouzdani, laki za učenje, korišćenje i primenu, tako da su postali glavni standardi kompjuterske industrije. Uz pomoć njih korisnici mogu da kreiraju i objavljuju različite sadržaje i da unovče svoj rad na skoro svim platformama i uređajima. Oblast primene paketa koje nudi Adobe je veliki. U njegovom asortimanu se nalaze programi za obradu teksta, grafike, zvuka, video materijala… Adobe veliku pažnju poklanja inovacijama i stalno unapređuje postojeća rešenja i objavljuje nove programske pakete…

Glavni programski paket za programiranje firme Adobe je Adobe Flash Professional koji prati najnovija dostignuća u programiranju, i jedan je od najomiljenijih programskih paketa u svetu programiranja. U okviru Adobe Flash Professional programskog paketa možete i dizajnirati i programirati, uvoziti i izvoziti, primati i prosleđivati podatke, povezivati se sa drugim programskim jezicima… Adobe Flash Professional podržava i tekst i grafiku i audio i video sadržaj, tako da je moguće napraviti kompleksne animacije za razne primene (prezentacije, učenje, video igre i skoro sve što Vam padne na pamet). Sve je moguće povezati u jednu celinu, a na Vama je da izaberete gde će se Vaš program izvršavati, način rada, karakteristike… Za reprodukciju sadržaja koji se formira programom Adobe Flash Professional koristi se neki ’plugin’ – dotatak: Adobe Flash Player ili Adobe Shockwave Player. Ovi dodaci mogu da reprodukuju sadržaj i na WEB pregledačima (Mozzila, Google Chrome, Internet Explorer i skoro svim ostalim), a reprodukcija je podržana i za Windows, Linux i Macintosh. Skoro svaki računar (preko 99%) širom sveta ima instaliran dodatak za prikazivanje Flash sadržaja, a i skoro svi kvalitetniji mobilni telefoni imaju ovu mogućnost.
S obzirom na to da je moguća ogromna primena ovog programa, zbog sigurnosti korisnika su namerno ograničene neke njegove mogućnosti, jer reprodukcija nakon instaliranog dodatka na WEB pregledačima radi direktno bez instaliranja svakog programa posebno. Koristeći Action Script 3.0 možete isprogramirati skoro sve što se može programirati u bilo kom drugom programskom jeziku, a Adobe Flash Professional nam nudi spajanje nespojivog za mnoge programske jezike, uz pomoć programskog jezika Action Script 3.0. Action Script 3.0 prevazilazi mogućnosti verzija 1.0 i 2.0 jer se zasniva na OOP – objektno orijentisanom programiranju, ima mnogo novih osobina i poboljšanja, i izvršava se desetina puta brže nego prethodne verzije.

Action Script 3.0 (AS3.0) se izvršava u novoj virtualnoj mašini AMV2, koja je deo plugin-a. Da bi se izvršavao program pisan za Adobe Flash Professional, AS3.0 kod se kompajlira u ’Bytecode’ – vrsta programskog jezika razumljivog računaru. ’Bytecode’ se pridružuje ’swf’ fajlovima koje odgovarajući plugin izvršava. Swf fajl je taj koji nas najviše interesuje, jer je on konačni produkt koji se izvršava, i obeležava se sa ekstenzijom ’.swf’ (’.swf’ je fajl ekstenzija Shockwave Flash format datoteke kreirana od strane firme Macromedia, a sada u vlasništvu firme Adobe). Swf je skraćenica od Small Web Format – mali veb format, što je veoma važna karakteristika swf fajlova – zauzimaju malo memorije – brzo se učitavaju, a samim tim brzo i startuju. Swf fajlovi mogu sadržati tekst, grafiku, zvuk i video i dizajnirani su za efikasnu upotrebu preko interneta. AS3.0 sprovodi ECMAScript za XML (E4X), od skora standardizovan kao ECMA-357. Ovaj standard ima cilj da pruži alternativu DOM3 interfejsima (Document Object Model Level 3) koji obezbeđuje standardni način generisanja i rukovanja porukama izazvanim raznim događajima. Za nas je za sada samo važno da znamo da formiramo fajl sa ‘.swf’ ekstenzijom (Flash to radi automatski kada se startuje testiranje ili objavljivanje programa), i da ugradimo ovaj fajl kasnije u HTML kod (i to može automatski da se podesi).
Action Script 3.0 je jedan od najobimnijih programskih jezika, ali neka Vas to ne uplaši. API (application programming interface) je tako lepo organizovan da je moguće pisati program skoro kao da pišete engleskim jezikom, a da ne primećujete da se radi o programu. Svaki delić ovog programskog jezika je detaljno objašnjen u svakom izdanju programa Adobe Flash Profesional u odeljku Help, sa tekstualnim i tabelarnim objašnjenjem skoro svih mogućnosti koje su predviđene u toj verziji, kao i razlikama u odnosu na prethodne verzije. Veoma je teško izbrojiti koliko ukupno naredbi ima ovaj programski jezik. Za svaku naredbu su pregledno prikazane njene osobine, a za veliki broj naredbi, pored objašnjenja mogu se naći i gotovi primeri, koje možete koristiti u svom kodu. Sve je izvanredno organizovano i po azbučnom redosledu, i po grupama koje mogu da Vam olakšaju nalaženje naredbi i delova koda koji su Vam potrebni za rešavanje nekog problema, a na internetu se mogu naći i primeri koda i gotovi tutorijali sa kompletnim fajlovima, koji ponekad uključuju i video prikaze celog postupka pravljenja programa. U najnovijim verzijama je dodat i asistent za pisanje koda, koji Vam pomaže u pisanju koda kada to poželite. Veoma bitna karakteristika programa Adobe Flash Professional je i posedovanje dotatka za pronalaženje grešaka (Debug). Ovaj dodatak ne samo da vam kaže o kojoj se grešci radi, i u kom redu se nalazi, već omogućava i celokupno praćenje svih vrednosti promenljivih koje se javljaju u programu u svakom trenutku vremena i još mnogo toga.
Jedan od najvećih nedostataka ovog programa je nepotpuna kompatibilnost sa SEO optimizacijom – sadržaji koji se prikazuju nisu vidljivi najpopularnijim pretraživačima (Google, Yahoo, Bing i drugi), tako da se retko ko od programera odlučuje da ceo sajt pravi reprodukcijom kroz Flash Player, već se odlučuju da se većina sadržaja prikazuje kroz HTML kod, kroz koji se poziva i dodatak za reprodukciju.

Ova knjiga je pisana tako da Vas dovede do znanja za savladavanje najnaprednijih zadataka iz programiranja, i podrazumeva da ste savladali osnovno znanje o korišćenju vremenske linije (Timeline), frejmova (Frames), lejera (Leyers), simbola (Symbols), pozornice (Stage), prozora panela i palete alata.

 

FLASH MAHER!
FLASH MAHER – UVOD!
FLASH MAHER – OSNOVNI PODACI!
FLASH MAHER – OPERATORI I USLOVNE NAREDBE!
FLASH MAHER – FUNKCIJE!
FLASH MAHER – DOGAĐAJI!
FLASH MAHER – FILTERI!
FLASH MAHER – GRAFIKA!
FLASH MAHER – MASKA!
FLASH MAHER – ANIMACIJA!
FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE!
FLASH MAHER – FLASH I PHP!

VojaMaher