Graphics2D awt将copyArea方法的端口改为playn

时间:2012-02-26 18:37:56

标签: playn

我正在将旧的awt java游戏移植到playn框架, 我有一些graphics.copyArea调用.. 有一些方法可以将这个调用映射到一些play.core.Canvas调用吗?

由于

1 个答案:

答案 0 :(得分:1)

您应该可以使用相同的画布作为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和其他可以硬件加速的结构。