![](/img/trans.png)
[英]Pyglet. OpenGL. How to draw rect in front of other based on “z” axis
[英]Pyglet. How to set "z" axis value for Sprite when put it into Batch
蟒蛇:3.6.6
pyglet 版本:1.3.2
將元素添加到pyglet.graphics.Batch()
中,我了解如何設置z
軸
# e.g. z = -2
texture_group = pyglet.graphics.TextureGroup(
pyglet.image.load(os.path.join(GROUND_DIR, "t1.png")).texture
)
self.vertices = self.batch.add(
4, pyglet.gl.GL_QUADS,
texture_group,
('v3f', (x, y, z,
x_, y, z,
x_, y_, z,
x, y_, z)),
('t2f', (0, 0, 1, 0, 1, 1, 0, 1)))
但我在使用pyglet.sprite.Sprite()
期間找不到設置z
軸值的方法
image = pyglet.image.load(os.path.join(MOVEMENT_DIR, "t1_1.png"))
image2 = pyglet.image.load(os.path.join(MOVEMENT_DIR, "t1_2.png"))
self.sprite = pyglet.sprite.Sprite(
img=pyglet.image.Animation(
frames=[
pyglet.image.AnimationFrame(image, 1),
pyglet.image.AnimationFrame(image2, 1)
]
),
x=x,
y=y,
batch=self.batch
)
Sprite 在z=0
上繪制。 例如,我需要在z=-1
上移動
我試圖將z
直接設置為圖像紋理
texture = image.texture
texture.z = -1
但無論如何,精靈再次被繪制在z=0
上。
是否可以“說” pyglet.sprite.Sprite()
應該在 z 軸的哪個位置繪制?
對於任何建議/鏈接/等,我將不勝感激,因為我在文檔中找不到這方面,也找不到相同情況的示例。
也許您可以使用不同的批次:
batch_down.draw() # background
batch.draw()
但我們不能在批次之間移動精靈。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.