在Java中,我可以将像素数据写入图像,然后通过重写方法(paint和paintComponent)将其打印到屏幕上。我可以通过更新图像并调用refresh()调用paint / paintComponent循环来轻松刷新屏幕。
我想在swift(3)中使用UIImage执行此操作。我可以更新图像,但我无法弄清楚如何将图像重复投影到屏幕上,打印屏幕,并在我需要刷新屏幕时重复。
首先,什么类型的快速项目(单视图应用,游戏等)最适合重复刷新屏幕?
其次,我如何在Swift中创建一个(规范的)循环,每隔一段时间刷新一次屏幕?
在java中,这看起来像(在扩展Frame的类中):
static int width = 1440;
static int height = 900;
private BufferedImage canvas;
static Color[][] RGBMap = new Color[width][height];
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setBackground(Color.WHITE);
g2.clearRect(0, 0, width, height);
g2.drawImage(this.canvas, null, null);
paint();
}
public void paint() {
int i = 0;
while (i < width) {
int t = 0;
while (t < height) {
this.canvas.setRGB(i, t, RGBMap[i][t].getRGB());
t++;
}
i++;
}
//Refreshes RGBMap
iterate();
repaint();
}