нов 012014
 

FLASH MAHER

 

Adobe Flash Professional – Univerzalna knjiga

ACTION SCRIPT 3.0

 

GRAFIKA

 

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


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 – GRAFIKA!”

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

  2. […] FLASH MAHER – GRAFIKA! […]

  3. […] FLASH MAHER – GRAFIKA! […]

  4. […] FLASH MAHER – GRAFIKA! […]

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

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

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