Kapittel 2 - Fagdag 23.11.16


Kode-oppgaver: (Side 31-43)

1) Gjør eksemplet side 43, der du først lager et grafikkobjekt og klikker det ut på skjermen. (Se også eksemplet side 41)

I tillegg lager du knapper som gjør ting med grafikkobjektet etter at det har kommet ut på skjermen: (Se eksempel side 33)

Skisse av løsning:

(Last ned og prøv: katt.fla

/*
   Fagdag 3 - 24.11.16
   Demo som kombinerer
      Eksempel side 41, eksempels side 43
	  og kode-eksempler side 31 - 33
   Laget grafikk og gitt klassenavn Katt i Linkage i Library
   Knapper:
       btnRoter, btnSkaler og btnSkjul
*/
var katt = new Katt();
stage.addChild(katt);
katt.x = 300;
katt.y = 300;
// Flytting av katt med mus:
stage.addEventListener(MouseEvent.CLICK, musKlikket);
function musKlikket(evt: MouseEvent): void {
   if(evt.target == stage) {		// Ikke flytt katt hvis knapper trykket
      katt.x = mouseX;
      katt.y = mouseY;
   }//if
}//musKlikket()
// Flytting av katt med piltaster:
stage.addEventListener(KeyboardEvent.KEY_DOWN, tastTrykket);
function tastTrykket(evt: KeyboardEvent): void {
   var tastekode = evt.keyCode;
   if(tastekode == Keyboard.RIGHT) {
      katt.x += 10;
   }else if(tastekode == Keyboard.LEFT) {
      katt.x -= 10
   }else if(tastekode == Keyboard.UP) {
      katt.y -= 10;
   }else if(tastekode == Keyboard.DOWN) {
      katt.y += 10;
   }else {
	//Her kunne vi fanget opp andre tastetrykk...
   }//if
}//tastTrykket()
// Vise/skjule katt:
btnSkjul.addEventListener(MouseEvent.CLICK,btnSkjulTrykket);
function btnSkjulTrykket(evt: MouseEvent): void {
   if(btnSkjul.label == "Skjul") {
      katt.visible = false;
      btnSkjul.label = "Vis";
   }else{
      katt.visible = true;
      btnSkjul.label = "Skjul";
   }//if
}//btnSkjulTrykket()
// Roter katt:
btnRoter.addEventListener(MouseEvent.CLICK,btnRoterTrykket);
function btnRoterTrykket(evt: MouseEvent): void {
   katt.rotation = katt.rotation+10;
}//btnRoterTrykkket()
// Skaler katt:
btnSkaler.addEventListener(MouseEvent.CLICK, btnSkalerTrykket);
function btnSkalerTrykket(evt: MouseEvent): void {
   katt.scaleX = katt.scaleX + 0.1;
}//btnSkalerTrykket()