Pesquisa de site

Introdução à biblioteca pyglet para desenvolvimento de jogos em Python


Pyglet é uma biblioteca poderosa para desenvolvimento de jogos e aplicações multimídia em Python. Ele fornece uma interface fácil de usar para criar jogos, manipular gráficos, reproduzir áudio e manipular entradas do usuário. Ele é construído sobre a biblioteca OpenGL, que permite renderização gráfica de alto desempenho.

Os seguintes passos devem ser seguidos durante o desenvolvimento de um jogo usando a biblioteca pyglet.

Instalação

Podemos instalar o Pyglet usando pip executando o seguinte comando no ambiente python.

Exemplo

pip install pyglet

Saída

Collecting pyglet
  Downloading pyglet-2.0.7-py3-none-any.whl (841 kB)
     -------------------------------------- 841.0/841.0 kB 2.0 MB/s eta 0:00:00
Installing collected packages: pyglet
Successfully installed pyglet-2.0.7
Note: you may need to restart the kernel to use updated packages.

Tratamento de janelas e eventos

Para criar uma janela e manipular eventos, precisamos importar o módulo 'pyglet' e criar uma instância da classe 'pyglet.window.Window'.

Exemplo

Neste exemplo, criamos uma janela com resolução de 800x600 pixels. A função on_draw() é chamada sempre que a janela precisa ser redesenhada. Dentro desta função, limpamos a janela chamando window.clear(). Finalmente, iniciamos o loop de eventos Pyglet chamando pyglet.app.run() .

import pyglet
window = pyglet.window.Window(800, 600)
@window.event
def on_draw():
   window.clear()
pyglet.app.run()

Saída

Sprites e Gráficos

Pyglet fornece uma classe 'pyglet.sprite.Sprite' para lidar com sprites e gráficos, onde podemos carregar imagens, criar sprites e desenhá-los na tela.

Exemplo

Neste exemplo, carregamos um arquivo de imagem usando pyglet.resource.image() e criamos um sprite com essa imagem. Dentro da função on_draw(), desenhamos o sprite na tela chamando sprite.draw().

import pyglet
window = pyglet.window.Window(800, 600)
image = pyglet.resource.image('image.png')
sprite = pyglet.sprite.Sprite(image)
@window.event
def on_draw():
   window.clear()
   sprite.draw()
pyglet.app.run()

Saída

Tratamento da entrada do usuário

Pyglet fornece maneiras convenientes de lidar com entradas do usuário, como eventos de teclado e mouse. Podemos definir manipuladores de eventos para responder às ações do usuário.

Exemplo

Neste exemplo, definimos dois manipuladores de eventos, a saber, 'on_key_press()' e 'on_key_release()' e essas funções são chamadas quando uma tecla é pressionada ou liberada, respectivamente . O parâmetro 'symbol' representa a tecla que foi pressionada ou liberada, e o parâmetro 'modifiers' representa quaisquer teclas modificadoras, como Shift ou Alt, que foram pressionadas simultaneamente.

import pyglet
window = pyglet.window.Window(800, 600)
@window.event
def on_key_press(symbol, modifiers):
   print(f"Key {symbol} pressed")
@window.event
def on_key_release(symbol, modifiers):
   print(f"Key {symbol} released")
pyglet.app.run()

Saída

Key 46 pressed
Key 108 pressed
Key 46 released
Key 108 released
Key 108 pressed
Key 108 released

Áudio e Som

Pyglet suporta reprodução de áudio e efeitos sonoros e podemos carregar arquivos de áudio, criar objetos sonoros e reproduzi-los em nosso jogo.

Exemplo

Neste exemplo, carregamos um arquivo de áudio usando 'pyglet.resource.media()' e criamos um objeto de som e então chamamos 'sound.play()' para reproduzir o som.

import pyglet
sound = pyglet.resource.media('sound.wav', streaming=False)
sound.play()
pyglet.app.run()

Artigos relacionados: