A biblioteca py5 pode ser usada de várias maneiras, são estilos ou contextos de programação que chamamos de "modos". Mais detalhes podem ser encontrados em py5coding.org - The Five py5 Modes.
⚠️ Se estiver em um Mac:
Leia Special Notes for OSX Users.
Este modo pode parecer familiar para alguns programadores Python. Você importa a biblioteca no começo do código e define algumas funções especiais que o py5 chama para você, como setup()
(executa uma vez quando o sketch é iniciado), draw()
(repete continuamente, usado para interação e animações ) e, se quiser, algumas outras funções de evento. No final você chama py5.run_sketch()
.
O exemplo a seguir cria um pequeno sketch que desenha retângulos na posição atual do mouse:
import py5
def setup():
py5.size(300, 200)
py5.rect_mode(py5.CENTER)
def draw():
py5.rect(py5.mouse_x, py5.mouse_y, 10, 10)
py5.run_sketch()
⚠️ Cuidado:
Não usefrom py5 import *
, isso quebra muitas coisas! Se você quiser evitar os prefixospy5.
, considere usar o imported mode.
ℹ️ Detalhe interno:
Se você não definir uma funçãosettings()
(opcional neste modo), a funçãosetup()
será dividida emsetup()
esettings()
para você "automagicamente" sob o capô, de acordo com algumas regras especiais, pois a infra do Processing requer quesize()
esteja emsettings()
, mas você não precisa se preocupar com isso.
Originalmente criado para programadores iniciantes, o modo importado é análogo ao modo como as pessoas programamam no Processing IDE. Você não precisa digitar py5.
o tempo todo.
Para usar este modo, você precisa do py5 Jupyter Notebook Kernel (instruções de instalação aqui) ou, se estiver usando outros editores de código, precisa executar o seu código a partir da ferramenta de linha de comando run_sketch
($ run_sketch your_sketch.py
).
Outra opção é usar o Thonny IDE com o plug-in thonny-py5mode instalado, que cria um menu py5 com a opção Imported mode for py5, que, quando estiver marcada, faz o Thonny executar a ferramenta run_sketch
para você.
Este é o exemplo anterior escrito para imported mode:
def setup():
size(300, 200)
rect_mode(CENTER)
def draw():
rect(mouse_x, mouse_y, 10, 10)
# Se estiver usando um Jupyter Notebook precisa acrescentar:
run_sketch()
Se estiver usando a ferramenta
run_sketch
ou o pluginthonny-py5mode
no Thonny não precisarun_sketch()
no final.
No static mode podemos criar imagens estáticas usando código sem precisar de declarações de função. Ele foi pensado para quem está dando seus primeiros passos na programação com Python.
O código abaixo, escrito para static mode, criará uma imagem de 300 por 200 pixels com fundo cinza e 20 quadrados posicionados aleatoriamente:
size(300, 200)
rect_mode(CENTER)
for _ in range(20):
rect(random_int(width), random_int(height), 10, 10)
Para usar o modo estático no Jupyter Lab, instale o py5bot Kernel conforme descrito na página de instalação do py5, depois inicie o Jupyter Lab usando $ jupyter lab
. Você verá py5bot apresentado como uma opção no Launcher. Clique nele e coloque o código em uma célula do notebook.
Você também pode usar a ferramenta run_sketch
ou o plug-in Thonny IDE conforme descrito para modo importado.
Para usuários mais avançados que desejam executar vários esboços ao mesmo tempo, o class mode convida você a criar uma classe com um método settings
, agora necessário, setup
,draw
e outros métodos desejados.
O primeiro exemplo de module mode convertido para class mode seria assim:
from py5 import Sketch
class TestSketch(Sketch):
def settings(self):
self.size(300, 200)
def setup(self):
self.rect_mode(self.CENTER)
def draw(self):
self.rect(self.mouse_x, self.mouse_y, 10, 10)
test = TestSketch()
test.run_sketch()
Para mais detalhes, visite a documentação do py5 completa em py5coding.org