Copy link to clipboard
Copied
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
}
}
Copy link to clipboard
Copied
If you identify which line is 109 it will be easier to help you.
Copy link to clipboard
Copied
You have bagsCollected as a variable of type uint, and also bagsCollected as a function on 109. Change one.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now