我有一個用JavaScript編寫的簡單遊戲。遊戲的渲染器使用CanvasRenderingContext2D。現在我想用Java改造我的遊戲,但是我遇到了麻煩。Java上的CanvasRenderingContext2D的任何替代方法?
Java上CanvasRenderingContext2D是否有其他選擇?我需要像ctx.save(),ctx.scale(),ctx.translation()等方法。我試圖使用Graphics2D,但它不是一個好的解決方案。
我有一個用JavaScript編寫的簡單遊戲。遊戲的渲染器使用CanvasRenderingContext2D。現在我想用Java改造我的遊戲,但是我遇到了麻煩。Java上的CanvasRenderingContext2D的任何替代方法?
Java上CanvasRenderingContext2D是否有其他選擇?我需要像ctx.save(),ctx.scale(),ctx.translation()等方法。我試圖使用Graphics2D,但它不是一個好的解決方案。
Graphics2D
大致功能上等同於CanvasRenderingContext2D
,所以我不確定爲什麼你會說Graphics2D
不是一個好的解決方案。
如果你不想使用Graphics2D
在Java的另一種選擇是用JavaFX Canvas
和GraphicsContext
,也大致功能上等同於渲染HTML的畫布。所有這些API或多或少都做同樣的事情(2D渲染),但在我看來,Java2D/Graphics2D
是最好的設計(特別是在API與實現完全分離的意義上,因此您可以輕鬆地更改目標 - 例如,我寫了Graphics2D
子類,以SVG和PDF格式輸出輸出,而不需要調用代碼中的任何更改)。