有没有办法将大量小图像绘制成较大的图像,因此只需要移动大图像?具体来说,我正在制作一个自上而下瓦片的RPG,我正在尝试地图滚动。移动每个瓷砖比移动一个大图像慢得多,所以我正在寻找一种方法将所有瓷砖绘制到一个图像上(我看了一下纹理,但找不到任何示例或教程)这是最好的方法,是有可能吗?
答案 0 :(得分:5)
你应该看看AbstractImage.blit_into()(及其衍生物)。这里有一个基本上你想要的例子,其中img1.png和img2.png只是pyglet源代码示例文件夹中pyglet.png的副本:
import pyglet
window = pyglet.window.Window()
image = pyglet.image.Texture.create(256,128)
img1 = pyglet.image.load('img1.png')
img2 = pyglet.image.load('img2.png')
image.blit_into(img1,0,0,0)
image.blit_into(img2,128,0,0)
@window.event
def on_draw():
window.clear()
image.blit(0,0)
pyglet.app.run()