我有一个用JavaScript编写的简单游戏。 Game的渲染器使用CanvasRenderingContext2D。现在我想用Java重拍我的游戏,但我遇到了麻烦。
Java上有CanvasRenderingContext2D的替代品吗?我需要像ctx.save(),ctx.scale(),ctx.translation()等方法。我试过使用Graphics2D,但这不是一个好的解决方案。
答案 0 :(得分:0)
Graphics2D
在功能上大致相当于CanvasRenderingContext2D
,所以我不确定为什么你说Graphics2D
不是一个好的解决方案。
如果你不想在Java中使用Graphics2D
另一种选择,那就是使用JavaFX Canvas
和GraphicsContext
,在功能上大致相当于在HTML Canvas上渲染。< / p>
所有这些API或多或少都做同样的事情(2D渲染),但在我看来,Java2D/Graphics2D
是最好的设计(特别是在API与实现完全分离的意义上,所以你可以轻松更改目标 - 例如,我编写了Graphics2D
子类,以SVG和PDF格式编写输出,无需更改调用代码。)