[英]Pyglet: sprite not drawing if used in a batch
我有一個用於message.box的游戲,該函數顯示一個漂亮的背景(Sprite),並在其頂部顯示一個標簽(它的文本是接收到的string
參數)。
當我調用它的方法draw()時,它起作用了,並且精靈顯示在屏幕上。 但是我需要批量使用它,以便可以與其他元素(在這種情況下為Label)一起呈現。 可悲的是,只有標簽被渲染。 我試過只使用Sprite,但再次失敗了。
這是代碼:
def message_box(self, string):
batch = pyglet.graphics.Batch()
dialog = pyglet.text.Label(string + " (Press ESC)",
font_name="Arial",
font_size=12,
x=cfg.resolution[0] / 3 + 26,
y=400,
anchor_x="center", anchor_y="center", batch=batch)
img = pyglet.resource.image('gui/dialog_full.png')
dia = pyglet.sprite.Sprite(img, batch=batch)
dia.x = 26
dia.y = 196
batch.draw()
我是python和pyglet的初學者,所以我真的不知道這里發生了什么。
您給標簽指定了anchor_x和anchor_y的確定坐標,但沒有給圖像指定坐標。 您確定您的精靈不在窗口外面繪制嗎?
這可能是顯卡的兼容性問題。
AMD / ATI卡存在一個已知問題: Pyglet:Sprite.draw()和Batch.draw()不起作用,但是Image.blit起作用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.