Тебе нужно в классе Hero создать переменную с позицией персонажа типа int (можно использовать Vector2i). Там где обработка нажатий (W, A, S, D) нужно к позиции персонажа добавлять направление движения. А в методе update в классе Hero нужно позицию персонажа умножать на размер спрайта (в данном случае на 30), что в результате даст нужную позицию спрайта.