Programmering i ActionScript
Kapittel 2 - Instanser og grafikk
Mye repetisjon her, men litt mer forklaringer enn i den
første boken, så lurt å lese dette nøye for å være sikker
på at man har forstått alt og skjønner hva kode-eksemplene
gjør.
Her arbeides det med en del sentrale klasser
(Objektorientert programmering: Sammensatt datatype med egenskaper
(variabler) og metoder (funksjoner) )
som er innebygd i Flash-miljøet:
- MouseEvent
- MovieClip
- ClassicText
- Graphics
Klassene finner vi i ActionScript-panelet til venstre i
Actions-panelet.
Her bruker jeg såkalte UML-diagrammer
til å beskrive de viktigste
egenskapene og metodene til disse klassene:
| flash.events.MouseEvent |
| stageX, stageY: int |
Muse-koordinater da hendelsen skjedde |
| altKey, ctrlKey, shiftKey: Boolean |
Var Alt, Ctrl eller Shift nede? |
| currentTarget: Object |
Hvor lytteren ble hengt på |
| target: Object |
Hvilket objekt som ble klikket på |
| CLICK, RIGHT_CLICK, MOUSE_DOWN, MOUSE_UP,...:
int |
Konstanter (tallkoder med navn) |
|
| toString(): String |
Skriver ut info om klassen |
|
Kan prøve ut med å lage en Button "knapp" og litt
kode:
import flash.events.MouseEvent;
stage.addEventListener(MouseEvent.CLICK, musKlikket);
function musKlikket(evt: MouseEvent): void {
trace("Event som tekst: "+evt.toString());
trace("StageX, StageY: "+evt.stageX+" ,"+evt.stageY);
trace("currentTarget: "+evt.currentTarget);
trace("target: "+evt.target);
trace("Alt-tast nede: "+evt.altKey);
}//musKlikket()
Som kan gi omtrent slik output:
Event som tekst: [MouseEvent type="click" bubbles=true cancelable=false eventPhase=2 localX=257 localY=142 stageX=257 stageY=142 relatedObject=null ctrlKey=false altKey=false shiftKey=false buttonDown=false delta=0]
StageX, StageY: 257 ,142
currentTarget: [object Stage]
target: [object Stage]
Alt-tast nede: false
Event som tekst: [MouseEvent type="click" bubbles=true cancelable=false eventPhase=3 localX=61 localY=10 stageX=264 stageY=285 relatedObject=null ctrlKey=false altKey=false shiftKey=false buttonDown=false delta=0]
StageX, StageY: 264 ,285
currentTarget: [object Stage]
target: [object Button]
Alt-tast nede: false
| flash.display.MovieClip |
| currentFrame: int |
Hvilken ramme er vi i nå? |
| currentFrameLabel: int |
Hvilket navn har denne rammen? |
| totalFrames: int |
Totalt antall rammer |
| graphics: Graphics |
Tilhørende tegneområde |
| mouseX, mouseY: int |
Mus-koordinater |
| stage: Stage |
Peker til stage |
| visible: Boolean |
Synlig eller ikke |
| x,y, height, width: int |
Koordinater |
|
| addEventListener(Event, Function) |
|
| removeEventListener(Event, Function) |
|
| addChild(DisplayObjectContainer) |
Legge til andre display-objekter hierarkisk |
| getChildAt( int): DisplayObjectContainer |
Returner display-objekt med denne indeks |
| getChildByName( String):
DisplayObjectContainer |
Returnerer display-objekt med dette navn |
| getChildIndex(DisplayObjectContainer): int |
Returnerer indeks til disply-objekt |
| getRect(DisplayObject): Rectangle |
Returnerer Rectangle objekt. (x,y,w,h)
(flash.geom.Rectangle) |
| stop(), play() |
Tidslinje-operasjoner |
| gotoAndPlay(int, Scene), gotoAndStop(int,
Scene) |
|
| nextFrame(), prevFrame() |
|
| nextScene(), prevScene() |
|
| hitTestObject( DisplayObject) : Boolean |
Overlapper et annet objekt med dette
objektet? |
| toString(): String |
Skriftlig info om dette objektet. |
|
Classic Text laget med Tools-menyens
T-verktøy blir objekter fra klassen TextField!
| flash.text.TextField |
| name: String |
Navnet på objektet (instance name) |
| backgroundColor: uint |
Farver angitt som positive heltall på
heksadesimal form: 0xrrggbb.
(Siffre: 0..f ) |
| borderColor: uint |
|
| textColor: uint |
|
| length: int |
Lengde tekstfelt |
| multiline: Boolean |
Flere linjer eller ikke |
| visible: Boolean |
Synlig |
| numlines: int |
Antall linjer |
| text: String |
Teksten i tekstfeltet |
| x,y,width, height |
|
|
| addEventListener(Event, Function) |
|
| removeEventListener(Event, Function) |
|
| appendText(String) |
Legger til tekst |
| replaceText(start: int, slutt: int, ny:
String) |
Skrifter ut tekst fra index start til slutt
med ny. |
| toString(): String |
Skriftlig info om objektet. |
|
Display-objekter har et Graphics-område vi kan tegne på:
| flash.display.Graphics |
|
|
| clear() |
Fjern alt |
| lineStyle( tykkelse, farve, alfa) |
Setter strek-egenskaper |
| moveTo( x, y) |
Beveg penn til (x,y) |
| lineTo( x, y) |
Tegn strek til (x,y) |
| drawCircle( x, y, r) |
Tegn sirkel, |
| DrawEllipse( x, y, w, h) |
ellipse, |
| drawRect( x, y, w, h) |
rektangel |
| drawRoundRect( x, y, w, h, w_hjørne,
h_hjørne) |
og rektangel med runde hjørner |
| beginFill( farve, alfa) |
Start legg inn fyll |
| endFill() |
Avslutt legg inn fyll |
|