我正在将一个旧的 awt java 游戏移植到 playn 框架,我有一些 graphics.copyArea 调用.. 有一些方法可以将此调用映射到一些 play.core.Canvas 调用?
谢谢
我正在将一个旧的 awt java 游戏移植到 playn 框架,我有一些 graphics.copyArea 调用.. 有一些方法可以将此调用映射到一些 play.core.Canvas 调用?
谢谢
您应该能够使用相同的画布作为Canvas.drawImage
呼叫的来源和目的地:
CanvasImage image = graphics().createImage(100, 100);
// draw stuff in your canvas image
// define the source of the copyArea: 15x15+5+5
float sx = 5, sy = 5, swidth = 15, sheight = 15;
// note that we use swidth/sheight for dwidth/dheight because we don't want to scale,
// we just want to copy data from one place in the image to another
image.canvas().drawImage(image, 25, 25, swidth, sheight, sx, sy, swidth, sheight);
但是,如果您真的在每一帧上都将所有内容渲染到 Canvas,您可能会发现这非常慢。您最好重组事物以使用 ImageLayer 和其他可以硬件加速的构造。