@Override
	public void update(GameContainer gc, StateBasedGame sb, int delta) {
		float rotation = owner.getRotation();
		float scale = owner.getScale();
		Vector2f position = owner.getPosition();
		
		Input input = gc.getInput();
		
		if(input.isKeyDown(Input.KEY_A)) {
			rotation -= 0.2f * delta;
		}
		if(input.isKeyDown(Input.KEY_D)) {
			rotation += 0.2f * delta;
		}
		if(input.isKeyDown(Input.KEY_W)) {
			float joint = 0.4f * delta;
			
			position.x += joint * Math.sin(Math.toRadians(rotation));
			position.y -= joint * Math.cos(Math.toRadians(rotation));
		}
		if(input.isKeyDown(Input.KEY_S)) {
			float joint = -0.4f * delta;
			
			position.x += joint * Math.sin(Math.toRadians(rotation));
			position.y -= joint * Math.cos(Math.toRadians(rotation));
		}
		
		owner.setPosition(position);
		owner.setRotation(rotation);
		owner.setScale(scale);
	}