//variabler og funktioner som kun køres en gang når movieclippet loades
onClipEvent (load) {
//antal millisekunder mellem hver and vises
tidMellemAnd = 2000;
//getTimer() angiver tiden siden filmens start
naesteAnd = getTimer()+tidMellemAnd;
//viser scoren i visPoint-feltet og tiden i tidsfeltet
_root.visPoint.text = "Point: "+_root.score;
_root.visSkudTilbage.text = "Skud tilbage: "+_root.skud;
//Skjuler musemarkøren
Mouse.hide();
}
//nedenstående ActionScript udføres 24 gange i sekundet da FrameRaten i
//dette tilfælde er 24
onClipEvent (enterFrame) {
//sætter sigtekornes placering på x-aksen lig musens
_root.sigtekorn._x = _root._xmouse;
//sætter sigtekornes placering på y-aksen lig musens
_root.sigtekorn._y = _root._ymouse;
//hvis skkud er lig 0 er spillet slut og der skiftes til frame 2
if (_root.skud == 0) {
_root.gotoAndPlay(2);
}
//hvis den samlede tid er større end naesteAnd skal der vises
//en ny and
if (getTimer()>=naesteAnd) {
while (true) {
// der findes et tilfældigt tal mellem 0 og 7 da der er
//8 ænder
nummer = int(Math.random()*7);
//hvis den tilfældige and er i frame 1 hvor den er
//skjult stoppes
//while sætningen, ellers findes et nyt tilfældigt tal
if (_root["and"+nummer]._currentFrame == 1) {
break;
}
}
//viser den tilfældige and ved at skifte til frame 2
_root["and"+nummer].gotoAndPlay(2);
//sætter den næste tid hvor der skal vises en ny and
naesteAnd = getTimer()+tidMellemAnd;
}
}
//nedestående ActionScript udføres hvergang der klikkes med musen
onClipEvent (mouseDown) {
//skifter sigtekornet til frame 2 hvor der er skud effekter
_root["sigtekorn"].gotoAndPlay(2);
//sætter variablerne x og y lig sigtekornet placering
x = _root["sigtekorn"]._x;
y = _root["sigtekorn"]._y;
//loop som løbes igennem 8 gange og tjekker om hver af de 8
//ænders placering er lig variablerne x og y
for (i=0; i<8; i++) {
//tjekker ikke ænder som er i frame 1, altså de skjulte ænder
if (_root["and"+i]._currentFrame>1) {
//hvis en ands placering er lig variablerne x og y
//skifter anden til
//frame 30 og der lægges 50 point til scoren
if (_root["and"+i].hitTest(x, y, false)) {
_root["and"+i].gotoAndPlay(30);
_root.score += 50;
}
}
}
//trækker 1 fra variablen skud
_root.skud--;
//opdaterer score-feltet
_root.visPoint.text = "Point: "+_root.score;
//opdaterer skud-feltet
_root.visSkudTilbage.text = "Skud tilbage: "+_root.skud;
}
//nedestående ActionScript udføres når venstre piletast er trykket ned
on (keyPress "<Left>") {
//if sætningen tjekker for at der man ikke kan gå ud af banen
//i venstre side
if (_root.trae._x<650) {
//flytter MovieClippet trae 10 pixels til højre
_root.trae._x += 10;
_root.busk._x += 6;
_root.bjerg._x += 4;
//flytter de 5 ænder som gemmer sig bag træerne 10 pixels
//til højre ligesom træerne
for (i=0; i<5; i++) {
_root["and"+i]._x += 10;
}
//flytter de 3 ænder som gemmer sig bag buskene 6 pixels
//til højre ligesom buskene
for (i=5; i<8; i++) {
_root["and"+i]._x += 6;
}
}
}
//nedestående ActionScript har samme funktion som det overstående
//blot i modsat retning
on (keyPress "<Right>") {
if (_root.trae._x>-150) {
_root.trae._x += -10;
_root.busk._x += -6;
_root.bjerg._x += -4;
for (i=0; i<5; i++) {
_root["and"+i]._x += -10;
}
for (i=5; i<8; i++) {
_root["and"+i]._x += -6;
}
}
}