Skip to main content
Known Participant
February 6, 2015
Question

duplicate function?

  • February 6, 2015
  • 2 replies
  • 246 views

Wheres the duplicate function in this code?

How do I fix this? Im a beginner, (don't look at the comments)

Its on line 109:

Thanks in advance.

import flash.display.Stage;

//importeert stage in code

import flash.display.MovieClip;

//maakt gebruik moviecips mogelijk

import flash.events.KeyboardEvent;

//maakt gebruik keyboard mogelijk

import flash.utils.Timer;

//maakt codes gebaseerd op tijd mogelijk

import flash.events.TimerEvent;

//maakt time-based events mogelijk

import flash.events.Event;

//maakt events mogelijk

//Variables

var player:MovieClip = player;

//refereert aan de mc player op de stage

var pDir:String = new String();

//string waardoor de richting vd player bepaalt wordt

var pStepSize:int = 5;

//integer bepaalt stapgroote v. player

var wallArray:Array = new Array(wall1,wall2,wall3,wall4, wall5, sidewall1, sidewall2, sidewall3, infoWall);

//array/tabel van alle muren

var MoneyBagArray:Array = new Array (MoneyBag1, MoneyBag2, MoneyBag3);

//array/tabel van alle geldzakken

var heartArray:Array = new Array (heart1, heart2, heart3);

//array/tabel van alle life-iconen

var gameTimer:Timer = new Timer(0);

//nieuwe timer genaamd gameTimer

var count_time:Number = 40;

//refereert aan duur van het spel (in sec.)

var myTimer:Timer = new Timer(1000,count_time);

//nieuwe timer genaamd myTimer, 1000 staat voor intervaltijd in ms

var bagsCollected:uint = 0;

//beginwaarde score op nul

var score_tf:TextField = new TextField();

//refereert aan textfield on-stage om score op weer te geven

var gameOverScreen:MovieClip = gameOverScreen;

//refereert aan de layer met daarin het "game over" scherm

var startGameScreen:MovieClip = startGameScreen;

//refereert aan de layer met daarin het "start game" scherm

var lives:int=10;

//refeert aan hoeveelheid levens

//Init

player.stop();

//van tevoren: player stopt

pDir = "NONE";

//van tevoren: richting zoals standaard on-stage

addChild(count_tf);

//zet score textfield op stage

gameOverScreen.visible = false;

//van tevoren: "game over"-scherm niet zichtbaar

endGameScreen.visible = false;

//van tevoren: "end game"-scherm niet zichtbaar

myTimer.stop();

//van tevoren: timer reset

gameTimer.delay = 25

//25 frames per seconde

gameTimer.repeatCount = 0;

//Totaal aantal keren dat de timer is ingesteld om te worden uitgevoerd

gameTimer.start();

//start timer als deze nog niet wordt uitgevoerd

//Events

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);

//'luistert' onstage naar toetsen die worden ingedrukt

stage.addEventListener(KeyboardEvent.KEY_UP, keyPressedUp);

//'luistert' onstage naar toetsen die worden losgelaten

gameTimer.addEventListener(TimerEvent.TIMER, onTick);

//'luistert' onstage naar verandering vd 'gameTimer'

myTimer.addEventListener(TimerEvent.TIMER, countdown);

//'luistert' onstage naar verandering van 'myTimer'

addEventListener(Event.ENTER_FRAME,bagsCollected);

//Functions

function onTick(e:TimerEvent):void

//checkt elk frame op activiteit bij onderstaande functions

//void = flash verwacht geen waarde terug

{

  movePlayer();

  rotatePlayer();

  collisionDetectWall();

  collisionDetectFinish();

  collisionDetectMoneyBag();

}

//function collisionDetectMoneyBag(){

  //for(var i:uint = 0; i < MoneyBagArray.length;i++){

  //?

  //var MoneyTemp:MovieClip = MoneyBagArray;

  //MoneyTemp roept alle MoneyBags aan, 

  //if(player.hitTestObject(MoneyBagArray[0])){

  //Als de player het eerste = [0] item in MoneyBagArray raakt..

  //trace (MoneyBagArray[0]);

  //trace...

  //}

  //}

//}

109          function bagsCollected(e:Event){

110             score_tf.text = String(MoneyBagArray.bagsCollected)

111         }

function update (event:Event):void

{

player=MovieClip(root).player;

if(MoneyBagArray.hitTestObject(player))

{

bagsCollected += 10;

MoneyBagArray.removeEventListener(Event.ENTER_FRAME,update);

parent.removeChild(score_tf);

  }

}

function keyPressedDown(e:KeyboardEvent) {

  //functie is een keyboardevent

  var key:uint = e.keyCode;

  // uint?

  startGameScreen.visible = false;

  //startGameScreen in het begin niet zichtbaar

  myTimer.start();

  //start timer

  if(key == Keyboard.LEFT){

  //als linkerpijltje wordt ingedrukt..

  pDir = "LEFT";

  //richting player linksaf

  player.play();

  //player kan 'gaan'

  }

  if(key == Keyboard.RIGHT){

  pDir = "RIGHT";

  player.play();

  }

  if(key == Keyboard.UP){

  pDir = "UP";

  player.play();

  }

  if(key == Keyboard.DOWN){

  pDir = "DOWN";

  player.play();

  }

  if (e.keyCode == Keyboard.SPACE) {

  //als spatiebalk wordt ingedrukt..

        resetGame();

  //functie resetGame actief

  }

}

function keyPressedUp(e:KeyboardEvent) {

  var key:uint = e.keyCode;

  if(key == Keyboard.LEFT ||

    key == Keyboard.RIGHT ||

    key == Keyboard.UP ||

    key == Keyboard.DOWN){

    pDir = "NONE";

    player.stop();

  }

}

function movePlayer(){

  if (pDir == "LEFT"){

  //wanneer richting links wordt aangevraagd

  player.x -= pStepSize;

  //een 'stepsize' minder (= naar links) op de x-as

  }

  if (pDir == "RIGHT"){

  //wanneer richting rechts wordt aangevraagd

  player.x += pStepSize;

  ////een 'stepsize' meer(= naar rechts) op de x-as

  }

  if (pDir == "UP"){

  player.y -= pStepSize;

  }

  if (pDir == "DOWN"){

  player.y += pStepSize;

  }

}

function rotatePlayer(){

  if (pDir == "LEFT"){

  //wanneer draai naar links wordt aangevraagd

  player.rotation = -180;

  //draait de player 180 negatief (=naar links)

  }

  if (pDir == "RIGHT"){

  //wanneer draai naar rechts wordt aangevraagd

  player.rotation = 0;

  //blijft de player in dezelfde hoek staan als de standaard

  }

  if (pDir == "UP"){

  player.rotation = -90;

  }

  if (pDir == "DOWN"){

  player.rotation = -270;

  }

}

function movePlayerBack(){

  //functie actief wanneer player stuit op muren..

  if (pDir == "LEFT"){

  //en linksaf aan het gaan is..

  player.x += 25

  //stuit de player 25 pixels terug, naar rechts

  }

  if (pDir == "RIGHT"){

  //en rechtsaf aan het gaan is..

  player.x -= 25

  //stuit de player 25 pixels terug, naar links

  }

  if (pDir == "UP"){

  player.y += 25

  }

  if (pDir == "DOWN"){

  player.y -= 25

  }

}

function collisionDetectWall(){

  //functie voor botsing tussen player en muren

  for(var i:uint = 0; i < wallArray.length;i++){

  // uint?

  var wallTemp:MovieClip = wallArray;

  // wallTemp?

  if(player.hitTestObject(wallTemp)){

  //wanneer player muur raakt

  movePlayerBack();

  //functie movePlayerBack wordt actief

  lives--;

  //1 leven eraf

  heartArray[lives-1].alpha=0;

  if(lives<=0){

  //wanneer levens minder zijn dan 0..

  gameOverScreen.visible = true;

  //verschijnt het game-over scherm

  gameTimer.removeEventListener(TimerEvent.TIMER, onTick);

  //dan stopt de gameTimer

  resetGame();

  //wordt de functie resetGame geactiveerd

  }

  }

}

function resetGame():void {

  //bij void verwacht flash geen waarde terug, tenzij het waardes ontvangt

  myTimer.stop();

    startGameScreen.visible = true;

  myTimer.stop();

  player.x = 16;

  player.y = 22;

  pDir = "NONE";

  score_tf.text = "0";

  addChild(score_tf);

  //voegt opnieuw score textfield in op stage

}

//function collisionDetectWall(){

  //for(var i:uint = 0; i < wallArray.length;i++){

  //var wallTemp:MovieClip = wallArray;

  //if(player.hitTestObject(wallTemp)){

  //movePlayerBack();

  //lifesArray[2].visible = false;

  //if(lifesArray[2].visible == false){

  //lifesArray[1].visible = false;

  //if(lifesArray[1].visible == false){

  //lifesArray[0].visible = false;

  //if(lifesArray[0].visible == false){

  //gameOverScreen.visible = true;

  //}

  //}

  //}

  //}

  //}

//}

function countdown(event:TimerEvent):void {

countdownTime_tf.text = String((count_time) - myTimer.currentCount);

  if(myTimer.currentCount == 0){

  gameOverScreen.visible = true;

  }

}

function collisionDetectFinish(){

  if(player.hitTestObject(Finish) == true){

  //wanneer de player de finish aanraakt/haalt..

  }

  endGameScreen.visible = true;

  //verschijnt het endGame scherm

  }

}

This topic has been closed for replies.

2 replies

Inspiring
February 6, 2015

You have bagsCollected as a variable of type uint, and also bagsCollected as a function on 109. Change one.

Ned Murphy
Legend
February 6, 2015

If you identify which line is 109 it will be easier to help you.