I am wanting to make my bullets shoot like every 3 seconds.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | Here's My Bullet Code import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class Bullet here. * * @author (your name) * @version (a version number or a date) */ public class Bullet extends Mover { private int direction, speed; private int timeTillCanFire; public Bullet( int dir) { direction = dir; speed = 18 ; } public void act() { setRotation( 360 ); move( 1 ); setLocation(getX() + speed, getY()); checkBoundary(); } public Bullet() { setVelocity( 10 ); //velocity is 10 setRotation( 270 ); } public void checkBoundary() { if (getWorld() != null && getX() <= - 10 ) //if lazer leaves screen { getWorld().removeObject( this ); //remove self } if (getWorld() != null && getX() <= + 10 ) //if lazer leaves screen { getWorld().removeObject( this ); //remove self } if (getWorld() != null && getY() <= + 10 ) //if lazer leaves screen { getWorld().removeObject( this ); //remove self } if (getWorld() != null && getY() <= - 10 ) //if lazer leaves screen { getWorld().removeObject( this ); //remove self } } //"destroyEnemies()" destroys enemies. //"destroyEnemies()" destroys enemies. public static void delay( int time) { time = 3 ; } } and here's my player code for the bullets public void act() { if (Greenfoot.isKeyDown( "space" )) { getWorld().addObject( new Bullet(getRotation()), getX(), getY()); } } |