我在黑色画布上绘制了多个白色像素,以获得夜空。我给了星星随机位置,现在想要所有像素向下移动以模仿地球的运动。
我尝试过翻译,但这似乎不适用于像素。
有没有办法将画布中的所有像素向下移动?
答案 0 :(得分:0)
arrayCopy(pixels, 0, pixels, width, (height - 1) * width);
应该解决你的问题。有关arrayCopy的更多帮助,请查看此处:https://processing.org/reference/arrayCopy_.html
答案 1 :(得分:0)
基本上,创建动画的过程是这样的:
一种方法是将你的星星画到缓冲区。 createGraphics()
功能是你的朋友。然后使用image()
函数将该缓冲区绘制到屏幕上。然后每帧将缓冲区的y位置向下移动一些量。
另一种方法是将您的星标位置存储在一组变量中,例如ArrayList
个PVector
个实例。将这些位置绘制到屏幕上,然后每帧向下移动一下。
translate()
函数应该可以正常工作,而且它只是我上面概述的步骤的另一种方法。就像托比亚斯的回答一样。有很多不同的方法可以做到这一点。如果您仍然遇到问题,请在新问题帖子中发布MCVE。祝你好运。
无耻的自我推销:我写了一篇关于在Processing available here中创建动画的教程。