Programmering‎ > ‎exempel‎ > ‎

skapaTegel funktion

Källkod till funktionen som vi gick igenom på lektionen:

skapaTegel funktion

function skapaTegel(ox:int, oy:int, h:int, w:int) {
for(var i:int = 0; i < h; i++) {
for(var j:int = 0; j < w; j++) {
//skapar en tegelsten
var t_mc:Tegelsten = new Tegelsten();
//beräknar x med förskjutning
t_mc.x = ox + (i * t_mc.width) - ((t_mc.width/2)*(j%2));
//beräknar y
t_mc.y = oy + j * t_mc.height;
//slumpar rotation mellan -2 till +2 grader
t_mc.rotation = Math.random()*4-2;
//kopplar klickevent till tegelstenen
t_mc.addEventListener(MouseEvent.CLICK, tegelKlick);
//lägger till tegelstenen till scenen
addChild(t_mc);
}
}
}

Exempel på hur den kan anropas:

anropa funktionen

//skapar en tegelmur 100px till vänster
//och 50px nedåt
//7 stenar bred och 7 stenar hög


skapaTegel(100, 50, 7, 7);


Komplett exempel på hur animationerna kan styras med script samt hur enkel poängräkning kan gå till:

komplett exempel

var krossade:int = 0;
var total:int;
var time:int = 0;

//fixerar scenen vid över vänstra hörnet
stage.align = StageAlign.TOP_LEFT;

function skapaTegel(ox:int, oy:int, h:int, w:int) {
for(var i:int = 0; i < h; i++) {
for(var j:int = 0; j < w; j++) {
//skapar en tegelsten
var t_mc:Tegelsten = new Tegelsten();
//beräknar x med förskjutning
t_mc.x = ox + (i * t_mc.width) - ((t_mc.width/2)*(j%2));
//beräknar y
t_mc.y = oy + j * t_mc.height;
//slumpar rotation mellan -2 till +2 grader
t_mc.rotation = Math.random()*4-2;
//kopplar klickevent till tegelstenen
t_mc.addEventListener(MouseEvent.CLICK, tegelKlick);
//lägger till tegelstenen till scenen
addChild(t_mc);
}
}
}

//ritar ut en mur på 7*7 Tegelstenar
skapaTegel(100,50,7, 7);
total = 7 * 7;

function tegelKlick(e:MouseEvent) {
if(hammer_mc.currentFrame == 1) {
hammer_mc.play();
  //En sten kan bara krossas en gång
if(Tegelsten(e.target).currentFrame <= 1){
Tegelsten(e.target).play();
krossade++;
   //Beräknar antalet krossade stenar i procent
krossade_txt.text = String(Math.round((krossade/total)*100))+"%";
}
}
}

//skapar en hammare
var hammer_mc:Hammare = new Hammare();
addChild(hammer_mc);

//fixar så att hammaren följer musen
addEventListener(Event.ENTER_FRAME, mousePointer); 
function mousePointer(e:Event){
//om hammaren är animerad ska den inte flyttas
if(hammer_mc.currentFrame == 1) {
hammer_mc.x = mouseX;
hammer_mc.y = mouseY;
}
}

//timer för tidräkning
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, tick);
timer.start();

function tick(e:TimerEvent) {
time++;
tid_txt.text = String(time);
}

Comments