Pyglet将一组图像绘制成一个更大的图像

时间:2012-08-05 05:24:38

标签: python pyglet

有没有办法将大量小图像绘制成较大的图像,因此只需要移动大图像?具体来说,我正在制作一个自上而下瓦片的RPG,我正在尝试地图滚动。移动每个瓷砖比移动一个大图像慢得多,所以我正在寻找一种方法将所有瓷砖绘制到一个图像上(我看了一下纹理,但找不到任何示例或教程)这是最好的方法,是有可能吗?

1 个答案:

答案 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()