окт 292014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

FUNKCIJE

 

FLASH MAHER - FUNKCIJE

FLASH MAHER – FUNKCIJE

 

Pri pisanju velikog koda došlo je do potrebe – ideje, da se zamene isti ili slični delovi koda koji se ponavljaju više puta, jednim delom koda (prilagodljivim po potrebi) koji može da se poziva više puta, radi lakšeg snalaženja, razumevanja i preglednosti. Sa ovim ciljem stvorene su funkcije koje predstavljaju blokove koda. Organizovane su u zasebne celine, sa ciljem da se više puta izvrše određeni zadaci. Svaka funkcija ima svoje jedinstveno ime, i može da se poziva više puta kad god je potrebno.
AS3.0 ima veliki broj formiranih funkcija koje možemo pozivati. Njihov kod nije prikazan kao ni kod bilo koje ugrađene osobine koju Flash nudi.

Globalne funkcije u AS3.0 su: Array, Boolean, decodeURI (Uniform Resource Identifier), decodeURIComponent, encodeURI, encodeURIComponent, escape, int, isFinite, isNaN, isXMLName, Number, Object, parseFloat, parseInt, String, trace, uint, unescape, Vector, XML i XMLList.
Najprostiji način pozivanja funkcije:

trace(„Hi!“);

AS3.0 nam naravno dopušta da kreiramo kodom sopstvene funkcije. Postoji dva načina definisanja funkcija.
1) Nakon ključne reči ’function’ navodimo jedinstveno ime funkcije. Iza imena funkcije se nalazi obavezno par malih zagrada ( ), između kojih mogu, a ne moraju da se nalaze ulazni podaci ove funkcije odvojeni zarezima. Nakon malih zagrada može a ne mora da stoji dodatak (označava povratnu informaciju iz funkcije) koji se odvaja znakom ’:’. Nakon ovakvog formiranja karakteristika funkcije, u okviru velikih zagrada { } se piše blok koda koji se izvršava kada se pozove funckija. AS3.0 ne izvršava funkcije dok se ne pozovu iz koda, tako da kodovi funkcija mogu da se nađu na bilo kom mestu celokupnog koda – početku, sredini ili kraju.

function MyTraceFunction() { trace(“Hi!”); }

2) Kreiranjem podatka definisanog kao ’Function’.

var MyTraceFunction:Function = function () { trace(“Hi!”); }

Bez obzira koji smo od ova dva načina definisanja funkcije iskoristili, kada poželimo u kodu možemo izvršiti našu funkciju.

MyTraceFunction();

Funkcije koje se izvršavaju klasičnim pozivanjem mogu a ne moraju imati ulazne parametre, i mogu a ne moraju imati povratne informacije.

function SayHi(Name:String):void {

trace(“Hi ” + Name + “!”);

}

SayHi(“Your name”);

U ovom slučaju ulazni parametar se zove „Name“ i pripada klasi ’String’. Kada iza funkcije piše ’:void’ podrazumeva se da funkcija ne šalje nazad povratne informacije. Preporuka je da se uvek piše ’:void’ kada je to moguće (nekada je i obavezno) da bi program radio.
Kada iza funkcije stoji neka klasa kao što je na primer ’Number’, to znači da funkcija treba da vrati informaciju klase ’Number’ tamo odakle je pozvana.

function SQRT(InputIntegerNumber:int):Number {

return Math.sqrt(InputIntegerNumber);

}

var Answer:Number = SQRT(2);

trace(Answer);

trace(SQRT(3));

Povratna informacija može biti bilo koja klasa. Glavne klase u AS3.0 su: ArgumentError, arguments, Array, Boolean, Class, Date, DefinitionError, Error, EvalError, Function, int, Math, Namespace, Number, Object, QName, RangeError, ReferenceError, RegExp, SecurityError, String, SyntaxError, TypeError, uint, URIError, Vector, VerifyError, XML i XMLList.

Svaka klasa može da ima definisana svoja svojstva, metode i konstante. Na primer klasa ‘Math’ ima definisane konstante: E:Number = 2.71828182845905; LN10:Number = 2.302585092994046; LN2:Number = 0.6931471805599453; LOG10E:Number = 0.4342944819032518; LOG2E:Number = 1.442695040888963387; PI:Number = 3.141592653589793; SQRT1_2:Number = 0.7071067811865476 i SQRT2:Number = 1.4142135623730951 i definisane metode: abs(val:Number):Number; acos(val:Number):Number; asin(val:Number):Number; atan(val:Number):Number; atan2(y:Number, x:Number):Number; ceil(val:Number):Number; cos(angleRadians:Number):Number; exp(val:Number):Number; floor(val:Number):Number; log(val:Number):Number; max(val1:Number, val2:Number, … rest):Number; min(val1:Number, val2:Number, … rest):Number; pow(base:Number, pow:Number):Number; random():Number; round(val:Number):Number; sin(angleRadians:Number):Number; sqrt(val:Number):Number i tan(angleRadians:Number):Number. Sva svojstva i metode vraćaju rezultat klase ‘Number’, a neke imaju neke od metoda zahtevaju jednu a neke dve ili vise ulaznih veličina.

trace(Math.cos(60 * Math.PI / 180));

Ulazne informacije u funkciju AS3.0 pretvara u niz i deklariše kao ’arguments’. Možete koristiti argumente funkcije za rekurzivno pozivanje funkcija.

TraceNumberOfRepeat (10, “*”);

function TraceNumberOfRepeat (NumberOfRepeat:int, Comment:String):void {

trace(arguments[0] + ” ” + arguments[1] + “*”);

if(arguments[0] > 1) arguments.callee(arguments[0] – 1, arguments[1] + “*”);

}

Ovaj primer ima 2 ulazne informacije: ’NumberOfRepeat’ klase ’int’ koji se imenuje i kao ’arguments[0]’ i ’Comment’ klase ’String’ koji se imenuje i kao ’arguments[1]’. Naredba ’arguments.callee ’ menja ime ’ TraceNumberOfRepeat’.
Specijalni način pozivanja funkcije za razumevanje argumenata je korišćenje ’rest’ parametra (ostalih parametara):

function ArgumentsArray(FirstValue:int, … RestArguments) {

trace(“FirstValue=” + FirstValue);

for (var Id:uint = 0; Id < RestArguments.length; Id ++) {

trace(“Argument[” + String(Id) + “]=” + RestArguments[Id]);

}

}

ArgumentsArray(13, 222, 456);

Ovakav opis funkcije dozvoljava da na kraju imate proizvoljan broj podataka.
U slučaju da neki od ulaznih parametara ima obično neku očekivanu vrednost, to može da se naznači pri definisanju funkcije:

function DefaultValue(FirstValue:int = 1, SecondValue:int = 2):int {

return FirstValue * SecondValue;

}

DefaultValue(3);

Iz ovog primera se vidi da broj ulaznih parametara funkcije nije isti broju parametara naredbi u kojoj se poziva funkcija. Oni parametri koji nedostaju uzimaju osnovne vrednosti, definisane unapred. Kod klasičnog definisanja funkcija AS3.0 prijavljuje grešku ako ovi parametri nisu isti.

Primena funkcija olakšava programiranje, razdvaja delove programskog koda na pregledne celine i omogućava nam da izvršimo zadatke koji su nekada neizvodljivi linijskim programiranjem. Za svako ozbiljnije programiranje neophodna je primena funkcija, a radi lakšeg razumevanja, potrudite se da nazive funkcija izaberete tako da Vam ukazuju jasno čemu one služe. Pošto u nazivu funkcije nije dozvoljeno prazno mesto, preporuka je da koristite velika slova za početke reči ili donju crtu za razdvajanje reči u nazivu. Bez obzira kako se Vama sviđa da imenujete nazive i funkcija i promenljivih, potrudite se da se pridržavate nekog pravila, jer ako treba kasnije da radite promene koda, mnogo će Vam biti lakše ako poštujete neka pravila.

 

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


This is some text prior to the author information. You can change this text from the admin section of WP-Gravatar  Maher! Read more from this author

  7 Responses to “FLASH MAHER – FUNKCIJE!”

  1. […] – 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 […]

  2. […] – 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 […]

  3. […] – 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 […]

  4. […] – 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 […]

  5. […] FLASH MAHER – FUNKCIJE! […]

  6. […] FLASH MAHER – FUNKCIJE! […]

  7. […] FLASH MAHER – FUNKCIJE! […]