Vou explicar melhor o código. Como o foco aqui não é ensinar a linguagem em si, não vou me prender a conceitos da mesma e vou explicar apenas a parte necessária para se imprimir o "Olá, mundo!".
Quem já programa em python já deve estar familiarizado com a estrutura do código (identação, definição de função e tratamento de erros). Se ainda não programa recomendo que entre no site do python brasil e dê uma olhada nos ótimos tutoriais que existem por lá.
Enfim, vamos lá:
import psp2d
Aqui estamos importando o módulo psp2d. Com ele podemos fazer todo tipo de desenho 2d na tela, inclusive escrever o texto que queremos. :-)
Existem outros módulos que você usar como, por exemplo:
- pspnet - Módulo com classes e funções relacionadas à rede;
- pspsnd - Módulo que permite o controle de som e música;
- pspos - Módulo com funções específicas do PSP.
Se quiser uma referência completa destes módulos visite:
http://python-psp.net/pspdoc/
tela = psp2d.Screen()
A classe "Screen" representa a tela do PSP e você sempre precisará de uma para poder fazer qualquer coisa.
fundo = psp2d.Image(480, 272)
Essa linha serve para criar o fundo da tela, com as mesmas dimensões dela. No caso, você está definindo 480 para a largura e 272 para altura.
fonte = psp2d.Font('font.png')
Aqui estamos instanciando uma Fonte. Precisamos de uma para poder mostrar um texto, claro. Infelizmente não existe nenhuma fonte embutida, então você precisará baixar uma. O tipo da fonte é SFonte.
A font.png que eu usei no exemplo pode ser baixada aqui. Você precisa colocá-la no mesmo diretório do python.
tela.blit(fundo)
O método blit serve para copiar um objeto para sua instância. No caso, estamos copiando o fundo para a tela.
fonte.drawText(tela, 0, 0, mensagem)
O método drawText é usado para desenharmos o texto na tela. Seu uso é:
fonte.drawText(tela, posicaoX, posicaoY, mensagem)
No caso estamos desenhando na tela, na posição 0x 0y, o conteúdo da variável mensagem.
tela.swap()
Para se desenhar na tela são necessários dois buffers. Isso significa que ao invés de termos um buffer representando a tela, temos dois. Um é o buffer da visualização em si (display buffer), e o outro é o buffer do desenho (draw buffer).
Todas as opções de desenho são direcionadas ao buffer de desenho, que não é mostrado na tela. O método "swap" do objeto Screen troca o buffer de desenho e o buffer de visualização, fazendo com que o que desenhos na tela seja, de fato, mostrado nela.
O código mostrado aqui é o referente ao desenho do texto na tela.
while True:
joystick = psp2d.Controller()
if joystick.circle:
break
Este trecho do código está instanciando a classe Controller, que serve para reconhecer os botões do PSP e, dessa forma, permitir que você possa definir ações. O código acima está basicamente dizendo que se o botão circulo for pressionado é para ele sair do programa. O while True garante que isso fique em loop até que o botão seja pressionado.
if __name__ == '__main__':
try:
main('Ola, mundo! =)')
except:
import traceback
traceback.print_exc(file = file('erro.txt', 'w'))
O código acima basicamente faz com que o programa, ao rodar, chame o método main, passando a frase "Ola, mundo! =)" como parâmetro. Caso aconteça algum erro o mesmo deve ser salvo em um arquivo chamado "erro.txt".
Bem, é isso. Vou continuar brincando com o python no PSP e fazer alguns joguinhos. Se você interessou pelo assunto recomendo entrar no sites abaixo para mais informações e tutoriais: