нов 052014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

MASKA

 

FLASH MAHER - 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


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

  4 Responses to “FLASH MAHER – MASKA!”

  1. […] FUNKCIJE! FLASH MAHER – DOGAĐAJI! FLASH MAHER – FILTERI! FLASH MAHER – GRAFIKA! FLASH MAHER – MASKA! FLASH MAHER – ANIMACIJA! FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO PROGRAMIRANJE! […]

  2. […] FUNKCIJE! FLASH MAHER – DOGAĐAJI! FLASH MAHER – FILTERI! FLASH MAHER – GRAFIKA! FLASH MAHER – MASKA! FLASH MAHER – ANIMACIJA! FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO […]

  3. […] FUNKCIJE! FLASH MAHER – DOGAĐAJI! FLASH MAHER – FILTERI! FLASH MAHER – GRAFIKA! FLASH MAHER – MASKA! FLASH MAHER – ANIMACIJA! FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO […]

  4. […] FUNKCIJE! FLASH MAHER – DOGAĐAJI! FLASH MAHER – FILTERI! FLASH MAHER – GRAFIKA! FLASH MAHER – MASKA! FLASH MAHER – ANIMACIJA! FLASH MAHER – OPP – OBJEKTNO ORIJENTISANO […]