我正在将旧的awt java游戏移植到playn框架, 我有一些graphics.copyArea调用.. 有一些方法可以将这个调用映射到一些play.core.Canvas调用吗?
由于
答案 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和其他可以硬件加速的结构。