• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

I need help with shooting in my flash game for University

New Here ,
Apr 05, 2014 Apr 05, 2014

Copy link to clipboard

Copied

Hi there

Ive tried to make my tank in my game shoot, all the code that is there works but when i push space to shoot which is my shooting key it does not shoot I really need help with this and I would appriciate anyone that could help

listed below should be the correct code

//checking if the space bar is pressed and shooting is allowed

if(evt.keyCode == 32 && shootAllow){

    //making it so the user can't shoot for a bit

    shootAllow = false;

    //declaring a variable to be a new Bullet

    var newBullet:Bullet = new Bullet();

    //changing the bullet's coordinates

    newBullet.y = tank_mc.y + tank_mc.width/2 - newBullet.width/2;

    newBullet.x = tank_mc.x;

    //then we add the bullet to stage

    addChild(newBullet);

}

listed below is my entire code

import flash.display.MovieClip;

    //declare varibles to create mines

//how much time before allowed to shoot again

var cTime:int = 0;

//the time it has to reach in order to be allowed to shoot (in frames)

var cLimit:int = 12;

//whether or not the user is allowed to shoot

var shootAllow:Boolean = true;

var minesInGame:uint;

var mineMaker:Timer;

var cursor:MovieClip;

var index:int=0;

var tankMine_mc:MovieClip;

var antiTankmine_mc:MovieClip;

var maxHP:int = 100;

var currentHP:int = maxHP;

var percentHP:Number = currentHP / maxHP;

function initialiseMine():void

{

    minesInGame = 15;

    //create a timer fires every second

    mineMaker = new Timer(6000, minesInGame);

    //tell timer to listen for Timer event

    mineMaker.addEventListener(TimerEvent.TIMER, createMine);

    //start the timer

    mineMaker.start();

}

function createMine(event:TimerEvent):void

{

//var tankMine_mc:MovieClip;

//create a new instance of tankMine

tankMine_mc = new Mine();

//set the x and y axis

tankMine_mc.y = 513;

tankMine_mc.x = 1080;

// adds mines to stage

addChild(tankMine_mc);

tankMine_mc.addEventListener(Event.ENTER_FRAME, moveHorizontal);

}

function moveHorizontal(evt:Event):void{

   

    evt.target.x -= Math.random()*5;

   

    if (evt.target.x >= stage.stageWidth)

   

    {

        evt.target.removeEventListener(Event.ENTER_FRAME, moveHorizontal);

       

        removeChild(DisplayObject(evt.target));

    }

}

initialiseMine();

    //declare varibles to create mines

var atmInGame:uint;

var atmMaker:Timer;

function initialiseAtm():void

{

    atmInGame = 15;

    //create a timer fires every second

    atmMaker = new Timer(8000, minesInGame);

    //tell timer to listen for Timer event

    atmMaker.addEventListener(TimerEvent.TIMER, createAtm);

    //start the timer

    atmMaker.start();

}

function createAtm(event:TimerEvent):void

{

//var antiTankmine_mc

//create a new instance of tankMine

antiTankmine_mc = new Atm();

//set the x and y axis

antiTankmine_mc.y = 473;

antiTankmine_mc.x = 1080;

// adds mines to stage

addChild(antiTankmine_mc);

antiTankmine_mc.addEventListener(Event.ENTER_FRAME, moveHorizontal);

}

function moveHorizontal_2(evt:Event):void{

   

    evt.target.x -= Math.random()*10;

   

    if (evt.target.x >= stage.stageWidth)

   

    {

        evt.target.removeEventListener(Event.ENTER_FRAME, moveHorizontal);

       

        removeChild(DisplayObject(evt.target));

    }

}

initialiseAtm();

function moveForward():void{

   

    bg_mc.x -=10;

   

}

function moveBackward():void{

   

    bg_mc.x +=10;

   

}

var tank_mc:Tank;

// create a new Tank and put it into the variable

// tank_mc

tank_mc= new Tank;

// set the location ( x and y) of tank_mc

tank_mc.x=0;

tank_mc.y=375;

// show the tank_mc on the stage.

addChild(tank_mc);

stage.addEventListener(KeyboardEvent.KEY_DOWN, onMovementKeys);

//creates the movement

function onMovementKeys(evt:KeyboardEvent):void

{

    //makes the tank move by 10 pixels right

    if (evt.keyCode==Keyboard.D)

    {

    tank_mc.x+=5;

   

    }

//makes the tank move by 10 pixels left

if (evt.keyCode==Keyboard.A)

{

tank_mc.x-=5

}

//checking if the space bar is pressed and shooting is allowed

if(evt.keyCode == 32 && shootAllow){

    //making it so the user can't shoot for a bit

    shootAllow = false;

    //declaring a variable to be a new Bullet

    var newBullet:Bullet = new Bullet();

    //changing the bullet's coordinates

    newBullet.y = tank_mc.y + tank_mc.width/2 - newBullet.width/2;

    newBullet.x = tank_mc.x;

    //then we add the bullet to stage

    addChild(newBullet);

}

if (tank_mc.hitTestObject(antiTankmine_mc))

    {

        //tank_mc.gotoAndPlay("hit");

        currentHP -= 10;

       

        // remove anti tank mine

       

        removeChild(antiTankmine_mc);

    }

   

if (tank_mc.hitTestObject(tankMine_mc))

    {

       

        //tank_mc.gotoAndPlay("hit");

        currentHP -= 10;

       

        // remove anti tank mine

       

        removeChild(tankMine_mc);

    }

    //var maxHP:int = 100;

//var currentHP:int = maxHP;

//var percentHP:Number = currentHP / maxHP;

    //Incrementing the cTime

//checking if cTime has reached the limit yet

if(cTime < cLimit){

    cTime ++;

} else {

    //if it has, then allow the user to shoot

    shootAllow = true;

    //and reset cTime

    cTime = 0;

}

function updateHealthBar():void

{

    percentHP = currentHP / maxHP;

    healthBar.barColor.scaleX = percentHP;

}

    if(currentHP <= 0)

    {

        currentHP = 0;

        trace("Game Over");

    }

    updateHealthBar();

}

TOPICS
ActionScript

Views

593

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Apr 05, 2014 Apr 05, 2014

Copy link to clipboard

Copied

LATEST

USe the trace function to analyze what happens and what fails to happen in the code you showed.  trace the conditional values to see if they are set up to allow a shot when you press the key

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines