окт 292014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

OPERATORI I USLOVNE NAREDBE

 

FLASH MAHER - OPERATORI I USLOVNE NAREDBE

FLASH MAHER – OPERATORI I USLOVNE NAREDBE

 

Operatori su najčešće simboli na primer +, -, *, /, =, a mogu biti i reči. Služe nam za rad sa podacima, definisanje svojstava, karakteristika…

Spisak sa opisom svih operatora može se naći u pratećoj dokumentaciji, koja je ugrađena u Flash, i do nje se može doći klikom na ‘Help’.

 

Primarni operatori:

  • [ ] – inicijalizuje t.j. formira niz
  • { x : y } – inicijalizuje objekat
  • ( ) – grupni izrazi
  • f(x) – poziva funkciju
  • new – poziva konstruktor
  • y i x[y] – pristup osobini
  • <> I </> – inicijalizuje XML objekt (E4X)
  • @ – pristup atributima (E4X)
  • :: – kvalifikuje ime (E4X)
  • .. – pristup potomku XML elementa (E4X)

 

Unarni operatori:

  • :: – kvalifikuje ime (E4X)
  • + – unarno plus
  • – – unarno minus
  • ! – logičko NOT
  • ~ – nad bitovima NOT
  • delete – briše osobinu
  • typeof – vraća tip informacije
  • void – vraća nedefinisanu vrednost
  • ++ – unarno povećava vrednost za 1
  • — – unarno umanjuje vrednost za 1

 

Objašnjenje za ++ i –:

var NewId:Number = 0;

trace(++ NewId); // 1

trace(NewId); // 1

 

Postfiks operatori:

Postfiks operatori porasta ili smanjenja vrednosti se izvršavaju posle operacija:

  • ++ – povećava vrednost za 1
  • — – smanjuje vrednost za 1

var NewId:Number = 0;

trace(NewId ++); // 0

trace(NewId); // 1

 

Operatori multiplikacije:

  • * – množenje
  • / – deljenje
  • % – vraća ostatak pri deljenju – modul

 

Operatori dodavanja:

  • + – sabiranje
  • – – oduzimanje

 

Operatori nad bitovima:

  • << – pomeranje bitova ulevo
  • >> – pomeranje bitova udesno
  • >>> – nenegativno pomeranje bitova desno

 

Operatori upoređivanja:

  • < – manje od
  • > – veće od
  • <= – manje ili jednako od
  • >= – veće ili jednako od
  • as – proverava tip podatka
  • in – proverava osobine objekta
  • instanceof – proverava tip instance
  • is – proverava tip podatka

 

Operatori jednakosti:

  • == – jednako sa
  • != – različito od
  • === – striktno jednako
  • !== – striktno različito

 

Operatori nad bitovima:

  • & – logičko AND
  • ^ – logičko XOR
  • | – logičko OR

 

Logički operatori:

  • && – logičko AND
  • || – logičko OR

 

Uslovni operator:

  • ?: – Ovo je skraćeni operator niza naredbi:

if(question) { code_1} else { code_2}

Piše se u obliku:

SomeNumber > 0 ? trace(“it is > 0”): trace(“it is not > 0”);

 

Operatori dodeljivanja:

  • = – dodeljivanje vrednosti
  • *= – množenje svoje vrednosti novom i dodeljivanje vrednosti sebi
  • /= – deljenje svoje vrednosti novom i dodeljivanje vrednosti sebi
  • %= – modul svoje vrednosti novom i dodeljivanje vrednosti sebi
  • += – sabiranje svoje vrednosti novom i dodeljivanje vrednosti sebi
  • -= – oduzimanje svoje vrednosti novom i dodeljivanje vrednosti sebi
  • <<= – logička operacija nad bitovima ulevo
  • >>= – logička operacija nad bitovima udesno
  • >>>= – logička nenegativna operacija nad bitovima udesno
  • &= – logičko AND
  • ^= – logičko XOR
  • |= – logičko OR

 

Operator ‘.’ se koristi za dodeljivanje osobina objektima, pristupanje podacima klasama i razdvajanje pri importovanju paketa i klasa.

Operator ‘,’ se koristi za razdvajanje podataka.

Operator ‘:’ se koristi za definisanje tipa podataka, dodeljivanje tipa podatka parametrima funkcija ili označavanje povratnih informacija funkcija.
Uslovne naredbe u AS3.0 nam omogućavaju da izvršavamo željene delove koda. Najčešća uslovna naredba je ’if( question ) { /* code */ }’ sa prikazanom sintaksom. Najzastupljeniji operatori koji se koriste u uslovnim naredbama su: == (služi za upoređenje – razlikovati od dodeljivanja vrednosti jednog simbola =), != (različito), <, >, <=, >=, && (logičko AND), || (Logičko OR) i !(Logičko NOT).
Postoji nekoliko osnovnih modela korišćenja uslovnih naredbi. Za sve je zajedničko da se iskaz – pitanje nalazi u okviru malih zagrada ( ), a blok koda koji se izvršava dok (ako) je uslov ispunjen se nalazi u okviru velikih zagrada { }.

  • Naredba ‘if’, predstavlja osnovnu naredbu grananja i odgovara pitanju ‘ako je’. Ako je iskaz u okviru malih zagrada tačan, izvršava se naredni blok koda u okviru velikih zagrada (može i kod bez velikih zagrada, kada se izvršava naredni iskaz). Ako iskaz nije tačan navedeni kod se preskače.

if(x == 2) { trace(“True!”); }

U slučaju da nije iskaz tačan moguće je izvršiti blok koda kada je iskaz netačan naredbom ‘else’ posle koje opet sledi blok koda u okviru velikih zagrada ili jedan iskaz bez zagrada.

else { trace(“False!”); }

U slučaju da želimo novi upit odmah nakon netačnog iskaza ‘if( )’, možemo da iskoristimo jedan iskaz bez zagrada i ponovo upotrebimo naredbu ‘if’ tako da naredba izgleda kao ‘else if’, koja se svodi na osnovnu naredbu ‘if’.

else if(x == 3) trace(“x = 3”);

Skraćeni oblik koji se ponekad može iskoristiti za jedan kod ‘if else’ je objašnjen u odeljku uslovni operator ‘?:’.

  • Naredba ‘switch’ je usavršena naredba ‘if’, koja menja više uzastopnih naredbi ‘if else’ ali na pregledniji način. Jedno pitanje – iskaz, može da ima više mogućnosti na osnovu kojih treba izvršiti odgovarajući blok koda. Posle naredbe ‘switch’ se u okviru velikih zagrada navode mogući slučajevi naredbom ‘case’ posle koje sledi blok koda koji se završava naredbom ‘break’. Ako se nijedan od slučajeva ne zadovolji izvršava se blok koda posle naredbe ‘default’ koji se takođe završava sa ‘break’. To može da se predstavi kodom:

var NowDate:Date = new Date();

var DayId:uint = NowDate.getDay();

switch(DayId) {

case 1:

trace(“Monday”);

break;

case 2:

trace(“Tuesday”);

break;

case 3:

trace(“Wednesday”);

break;

case 4:

trace(“Thursday”);

break;

case 5:

trace(“Friday”);

break;

case 6:

trace(“Saturday”);

break;

case 0:

trace(“Sunday…”);

trace(“It’s my favorite day!”);

break;

default:

trace(“Error!”);

break;

}

  • Naredba ‘while’ predstavlja naredbu grananja, koja programu nalaže da izvršava naredni blok koda u okviru velikih zagrada dok se ne ostvari ispunjenje uslova – iskaza.

var Id:int = 0;

var MaxId:int = 10;

var Sum:int = 0;

while(Id < MaxId) {

Id ++;

Sum += Id;

}

trace(“Sum=” + Sum);

Dodatak naredbi ‘while’ je naredba ‘do’, koja obezbeđuje da se blok koda izvrši jednom obavezno.

var Id:int = 0;

do {

Id ++;

trace(Id);

}

while (Id < 10);

  • Niz naredbi za elegantno kodiranje programskih petlji naredbom ‘for’ je sledeći:

for(var Id:int = 1; Id <= 10; Id ++) {

trace(Id);

}

Mogući su i drugačiji slični oblici kodiranja ‘for in’:

var PointObject:Object = {x:123, y:456};

for(var IndexName:String in PointObject) {

trace(IndexName + “: ” + PointObject[IndexName]);

}

Za rad sa ‘XML’ podacima koristi se ‘for each in’:

var myXML:XML = <Store>

<Day>Monday</Day>

<Day>Tuesday</Day>

<Day>Wednesday</Day>

<Day>Thursday</Day>

<Day>Friday</Day>

<Day>Saturday</Day>

<Day>Sunday</Day>

</Store>;

for each(var Item in myXML.Day) { // .

trace(Item);

}

trace(“—————“);

for each(var Day in myXML..Day) { // ..

trace(Day);

}

 

Primer 1. Sređivanje niza!

 

Niz od 10 slučajnih celih brojeva od 0 do 99 srediti u rastući.

Rešenje: Metoda 1.

// Create random array

var RandomArray:Array = new Array();

for(var Numer:int = 1; Numer <= 10; Numer ++) {

RandomArray[Numer] = int(Math.random() * 99.99);

trace(“Random number ” + String(Numer) + ” is: ” + String(RandomArray[Numer]));

}

// Arange array

for(var I1:int = 1; I1 <= 9; I1 ++) {

for(var J1:int = I1; J1 <= 10; J1 ++) {

if(RandomArray[I1] > RandomArray[J1]) {

var OldValue:int = RandomArray[I1];

RandomArray[I1] = RandomArray[J1];

RandomArray[J1] = OldValue;

}

}

}

// Print correct array

trace(“—————————————“);

for(Numer = 1; Numer <= 10; Numer ++) {

trace(“Ok number ” + String(Numer) + ” is: ” + String(RandomArray[Numer]));

}

 

Rešenje: Metoda 2.

var RandomArray:Array = new Array();

for(var Numer:int = 0; Numer <= 9; Numer ++) {

RandomArray[Numer] = int(Math.random() * 99.99);

}

trace(RandomArray);

// Bubbles method

var WorkAgain:Boolean = true;

while(WorkAgain) {

WorkAgain = false;

for(var I1:int = 0; I1 <= 8; I1 ++) {

if(RandomArray[I1] > RandomArray[I1 + 1]) {

var OldValue:int = RandomArray[I1];

RandomArray[I1] = RandomArray[I1 + 1];

RandomArray[I1 + 1] = OldValue;

WorkAgain = true;

}

}

}

trace(“—————————————“);

trace(RandomArray);

 

Rešenje: Metoda 3.

var RandomArray:Array = new Array();

for(var Numer:int = 0; Numer <= 9; Numer ++) {

RandomArray[Numer] = int(Math.random() * 99.99);

}

trace(RandomArray);

// Command

RandomArray.sort(Array.NUMERIC);

trace(“—————————————“);

trace(RandomArray);

 

Postoje i gotove naredbe za sređivanje alfanumeričkog niza po azbučnom redosledu u rastući (Array.CASEINSENSITIVE) ili opadajući (Array.DESCENDING). Primeri se mogu naći u odeljku Help. Unesite u polje za ’Search’ reč ’Array’ i izaberite stranu gde je nađeno ’Array’ kao glavna reč i videćete moguće naredbe za nizove i metode sa gotovim primerima.

Međutim, ovde smo rezultate ispisivali naredbom ’trace’ koja nam daje ispis u prozoru OUTPUT. Ovaj prozor nije vidljiv na WEB-u, niti u Flash Player-u. On samo služi za prikazivanje rezultata u fazi testiranja programa, dok se pravi aktivni prikaz kroz Flash Player radi korišćenjem klasa ili komponenata. Klasa koja služi za prikaz svih statičkih i dinamičkih tekstova, kao i tekstova koji se unose je ’TextField’. Kreiranjem AS3.0 kodom birate ime, i način prikaza ovog polja. Flash Vam nudi standardan prikaz sa formatiranjem teksta i polja gde se tekst prikazuje, upotrebu osnovnih HTML tagova i upotrebu CSS-a (Cascading Style Sheets).

 

Primer 2. Prikaz teksta na ekranu!

 

Primer: Metoda 1.

import flash.text.*;

import flash.filters.*;

/* Comments

TextFormat(font:String = null, size:Object = null, color:Object = null, bold:Object = null, italic:Object = null, underline:Object = null, url:String = null, target:String = null, align:String = null, leftMargin:Object = null, rightMargin:Object = null, indent:Object = null, leading:Object = null)

Comments */

var NewTextFormat:TextFormat = new TextFormat(“Geogia”, 50, 0xff0000, true, false, false, null, null, TextFieldAutoSize.CENTER);

var ExampleTextField:TextField = new TextField();

ExampleTextField.x = ExampleTextField.y = 100;

ExampleTextField.width = 300;

ExampleTextField.height = 200;

ExampleTextField.background = true;

ExampleTextField.backgroundColor = 0x888888;

ExampleTextField.defaultTextFormat = NewTextFormat;

ExampleTextField.text = “Example…\nNew row…”;

stage.addChild(ExampleTextField);

 

Primer: Metoda 2.

import flash.display.*;

import flash.text.*;

var NewTextExample:TextField = new TextField();

NewTextExample.x = NewTextExample.y = NewTextExample.width = NewTextExample.height = 100;

NewTextExample.background = true;

NewTextExample.backgroundColor = 0x888888;

NewTextExample.wordWrap = true;

NewTextExample.htmlText = “<P ALIGN=’LEFT’><FONT FACE=’Times New Roman’ SIZE=’14’ COLOR=’#ff0000′ LETTERSPACING=’2′><b>Lorem ipsum dolor sit amet.</b></FONT></P>”;

stage.addChild(NewTextExample);

 

Primer: Metoda 3.

import flash.display.*;

import flash.text.*;

var CssTextField:TextField = new TextField();

CssTextField.x = CssTextField.y = 10;

CssTextField.background = true;

CssTextField.backgroundColor = 0xff0000;

CssTextField.multiline = true;

CssTextField.autoSize = TextFieldAutoSize.LEFT;

stage.addChild(CssTextField);

var CssData:String = “p { font-family: Times New Roman, Times, _serif; font-size: 14; color: #000000; font-Style: italic; margin-left: 10; }”;

CssData += “h1 { font-family: Arial, Helvetica, _sans; font-size: 20; color: #FFFFCC; font-weight: bold; } .bluetext { color: #0000CC; }”;

var CssStyleSheet:StyleSheet = new StyleSheet();

CssStyleSheet.parseCSS(CssData);

CssTextField.styleSheet = CssStyleSheet;

CssTextField.htmlText = “<h1>This is a headline</h1><p>This is a line of text.<br/><span class=’bluetext’>This line of text is colored blue.</span></p>”;

var Style:Object = CssStyleSheet.getStyle(“h1”);

CssTextField.htmlText += “<p>Headline font-family is: ” + Style.fontFamily + “</p>”;

CssTextField.htmlText += “<p>Headline color is: ” + Style.color + “</p>”;

 

Pored ovih metoda moguće je i bez programiranja postići ove efekte, primenom panela alata, menija i prozora ’Properties’. Uz pomoć njih se može direktno na ’stage’ dodati ’TextField’ i aranžirati po želji. ’TextField’ na ’stage’ se dodaje pomoću panela alata klikom na opciju ’TextTool’ te na ’stage’ gde želite da se pojavi ovo polje.

Kao što se iz priloženog vidi, u Flash-u je moguće na razne načine uraditi istu stvar. Na nama je da izaberemo metodu kojom dolazimo do rešenja.

Sve što se pojavljuje na ekranu, pomoću AS3.0 moguće je naknadno izmeniti, dodati filtere, osluškivače… Flash nam nudi da kroz kod dodamo osluškivače, u zavisnosti od kojih se izvršavaju odgovarajuće funkcije – akcije. Postoje razne vrste osluškivača koji startuju neku funkciju kada se desi predviđeni događaj. Događaji mogu biti vezani za: tastaturu, miša, vreme, učitavanja, greške… Primenljivi su na jednostavan način, a kada ih savladate, moći će te da unesete živost u svoje programe.

 

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

  8 Responses to “FLASH MAHER – OPERATORI I USLOVNE NAREDBE!”

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

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

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

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

  5. […] FLASH MAHER – OPERATORI I USLOVNE NAREDBE! […]

  6. […] FLASH MAHER – OPERATORI I USLOVNE NAREDBE! […]

  7. […] FLASH MAHER – OPERATORI I USLOVNE NAREDBE! […]

  8. […] FLASH MAHER – OPERATORI I USLOVNE NAREDBE! […]