簡體   English   中英

Pyglet:如果批量使用,則不會繪制精靈

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM