@Override
	public void render(float delta) {
		camera.update();
	    update();
	    batch.setProjectionMatrix(camera.combined);
	   
	    for(int i = 0; i<500; i++)  Gdx.graphics.getDeltaTime();
	   
	      batch.begin();
	      
	      /** Draw Function
	       * batch.draw(TextureImg,X-positionToDraw, Y-PositionToDraw);
	       */
	      
	      font.setColor(Color.WHITE);
	      batch.draw(backgroundImg,background1.x,background1.y);
	      batch.draw(backgroundImg,background2.x,background2.y);
	      	
		    // Draw enemies
		    for(int i = 0; i<enemies.size();i++)batch.draw(enemies.get(i).getImg(), enemies.get(i).getRect().x,enemies.get(i).getRect().y);
		    //Draw Space.player shots
		    for(int i = 0; i<Space.player.getShots().size();i++)batch.draw(Space.player.getShots().get(i).getProjectileImg(), Space.player.getShots().get(i).getRect().x, Space.player.getShots().get(i).getRect().y);
		    
		    //Draw Enemy shots
		    for(int i = 0; i<enemyShots.size(); i++){
		    	batch.draw(enemyShots.get(i).getProjectileImg(),enemyShots.get(i).rectangle.x, enemyShots.get(i).rectangle.y);
		    }
		    
		  //Draw Space.player
		    batch.draw(Space.player.getShipImg(), Space.player.getShip().x, Space.player.getShip().y);
		    		
		    //Draw all drops
		    for(int i = 0; i<drops.size();i++)batch.draw(drops.get(i).getOrbImg(), drops.get(i).getRect().x, drops.get(i).getRect().y);
		    
		    //Draw necessary information to screen using font
		      font.draw(batch, "Current Wave: "+wave, 5, 20);
		      //font.draw(batch, ((10+wave%4*10) - enemiesKilled) + " Enemies Left", 300, 20);
		      font.draw(batch, (Space.player.speed) + " Current Speed", 300, 20);
		      if(Space.player.currentForm==4)font.draw(batch, "Game over", 330, 240);
		      
		      if(Space.player.currentForm ==0)font.draw(batch, "Time Left in Form: " + (Space.player.fireFormDuration - Space.player.timeSinceTransform)/second, 5, 60);
		      else if(Space.player.currentForm == 1)font.draw(batch, "Time Left in Form: " + (Space.player.lightningFormDuration - Space.player.timeSinceTransform)/second, 5, 60);
		      else if(Space.player.currentForm == 2)font.draw(batch, "Time Left in form: " + (Space.player.windFormDuration - Space.player.timeSinceTransform)/second, 5, 60);
		      else font.draw(batch, "Default Form", 5, 60);

		      //Draw HUD
		      batch.draw(healthBarImg, (float)(38+Space.player.healthBarPosMod), 464);		      

		      batch.draw(timerBarImg, (float)(204+Space.player.timerBarPosMod), 442);
		      
		      batch.draw(hudImg, 0, 440);
		      
		      if (Space.player.fireFormEnabled){
		    	  batch.draw(imageLib.fireEnabledImg, 31, 443);
		      } 
		      
		      if (Space.player.lightningFormEnabled){
		    	  batch.draw(imageLib.lightningEnabledImg, 92, 443);
		      } 
		      
		      if (Space.player.windFormEnabled){
		    	  batch.draw(imageLib.windEnabledImg, 152, 443);
		      } 
		      for (int i=0; i<testExplosions.size();i++)batch.draw(explosionImg,testExplosions.get(i).getRect().x,testExplosions.get(i).getRect().y);


		    batch.end();
	}