Я пытаюсь написать 2d игровой движок, и я пытаюсь реализовать систему просмотра, так что, когда я рисую определенный видовой экран, координаты игры будут преобразованы в координаты экрана без необходимости вручную преобразование.
Я хочу создать оболочку Graphics2D, которая добавит метод setViewport.
Как я вижу, есть 2 варианта:
-
Создайте класс, который имеет экземпляр
Graphics2Dи имеет все те же методы, что иGraphics2DplussetViewport, и просто вызывает соответствующий метод в экземпляреGraphics2D. -
Подкласс
Graphics2Dи просто добавьте методsetViewport, а затем просто введите изGraphics2Dв этот новый класс
Я пробовал # 2, потому что # 1 казался очень непрактичным, но столкнулся с ClassCastException. Я не могу использовать Graphics или Graphics2D для этого нового класса. Когда я печатаю графический объект перед литой (либо Graphics, либо Graphics2D), оба выходят как sun.java2d.SunGraphics2D.
Я делаю что-то принципиально неправильно, пытаясь подкласса и броска? Если нет, как я могу исправить эту проблему?