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