Graphics2D AWT порт метода copyArea для воспроизведения - PullRequest
0 голосов
/ 26 февраля 2012

Я портирую старую Java-игру AWT на Playn Framework, У меня есть несколько вызовов graphics.copyArea .. есть какой-то способ отобразить этот вызов в некоторые вызовы play.core.Canvas?

Спасибо

1 Ответ

1 голос
/ 27 февраля 2012

Вы должны иметь возможность использовать тот же холст, что и источник и назначение вызова 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);

Однако, если вы действительно отображаете все на холст в каждом кадре, вывероятно, вы обнаружите, что это очень медленно.Вам будет лучше реструктурировать вещи, чтобы использовать ImageLayer и другие конструкции, которые могут быть аппаратно ускорены.

...