<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Emerson MX &#187; PyGame</title>
	<atom:link href="http://emersonmx.wordpress.com/category/pygame/feed/" rel="self" type="application/rss+xml" />
	<link>http://emersonmx.wordpress.com</link>
	<description>O Poder das Gambiarras</description>
	<lastBuildDate>Fri, 13 Nov 2009 01:09:17 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='emersonmx.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/18ea8a886223956925088cf252ea50e2?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Emerson MX &#187; PyGame</title>
		<link>http://emersonmx.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://emersonmx.wordpress.com/osd.xml" title="Emerson MX" />
		<item>
		<title>Uma simples janela (PyGame)</title>
		<link>http://emersonmx.wordpress.com/2008/06/11/uma-simples-janela-pygame/</link>
		<comments>http://emersonmx.wordpress.com/2008/06/11/uma-simples-janela-pygame/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 07:32:45 +0000</pubDate>
		<dc:creator>emersonmx</dc:creator>
				<category><![CDATA[PyGame]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://emersonmx.wordpress.com/?p=10</guid>
		<description><![CDATA[

Pré-requisitos
Antes de fazer alguma coisa no PyGame, nós precisamos do Python(linguagem) e o PyGame(wrapper SDL pra Python) e aproveite quando for baixar o PyGame baixe também a documentação (pra num precisar ter que ir na internet toda vez que quiser saber como funciona determinada função).
Para escrever os scripts eu recomendo o Notepad++(Windows) ou o Gedit(Ubuntu), [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=emersonmx.wordpress.com&blog=3844578&post=10&subd=emersonmx&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-align:center;"><img src="http://i160.photobucket.com/albums/t170/emersonmx/pygame_logo.png" alt="" /></p>
<p class="MsoNormal" style="text-align:justify;">
<h2>Pré-requisitos</h2>
<p class="MsoNormal" style="text-align:justify;">Antes de fazer alguma coisa no PyGame, nós precisamos do <a href="http://python.org">Python</a>(linguagem) e o <a href="http://pygame.org">PyGame</a>(wrapper SDL pra Python) e aproveite quando for baixar o PyGame baixe também a documentação (pra num precisar ter que ir na internet toda vez que quiser saber como funciona determinada função).</p>
<p class="MsoNormal" style="text-align:justify;">Para escrever os scripts eu recomendo o Notepad++(Windows) ou o Gedit(Ubuntu), mas nada impede de você usar o editor que você mais gosta, se quiser pode usar até o EDIT do DOS ou PICO do UNIX.</p>
<p class="MsoNormal" style="text-align:justify;">Agora que temos todas as parafernálias, podemos começar com o nosso primeiro game, que por padrão de todo tutorial que envolve programação terá o nome de&#8230;</p>
<p class="MsoNormal" style="text-align:justify;">&#8230;OLÁ MUNDO!!!</p>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:justify;"><span id="more-10"></span></p>
<h2>Importando os módulos</h2>
<p class="MsoNormal" style="text-align:justify;">Abra seu editor e comece com essas linhas:</p>
<p><strong>import pygame, sys<br />
from pygame.locals import *</strong></p>
<p class="MsoNormal" style="text-align:justify;">PS.: Se retornar algum erro durante o import do PyGame, reinstale.</p>
<p class="MsoNormal" style="text-align:justify;">A primeira linha diz para o Python importar o módulo Pygame e o Sys, eles serão usados em nosso game.</p>
<p class="MsoNormal" style="text-align:justify;">Na segunda ele importa os Locals do PyGame que contém eventos de mouse, teclado, joystick, etc. para que você não precise ficar digitando <strong>pygame</strong> antes.</p>
<p class="MsoNormal" style="text-align:justify;">ex.: <strong>pygame.QUIT</strong></p>
<p class="MsoNormal" style="text-align:justify;">Já importamos o Pygame e CIA, é hora de iniciá-lo com a função:</p>
<p class="MsoNormal" style="text-align:justify;"><strong>pygame.init() </strong></p>
<p class="MsoNormal" style="text-align:justify;">Se você fizer isso na linha de comando do Python ele irá retornar (6, 0) = 6 módulos iniciados corretamente e 0 não iniciado. Agora você pode usar os módulos sem medo de ser feliz.</p>
<p class="MsoNormal" style="text-align:justify;">
<h2>Criando uma janela para nosso game</h2>
<p><strong>tela = pygame.display.set_mode((140, 40))</strong></p>
<p class="MsoNormal" style="text-align:justify;">Essa linha serve para criar um janela no tamanho 140&#215;40 pixels (coloquei a função na variável tela pra simplificar a vida da gente mais tarde). Se quiser deixar a tela centralizada, é só importar o módulo OS e colocar essa linha em seu script:</p>
<p><strong>os.environ['SDL_VIDEO_CENTERED'] = &#8216;1&#8242; </strong></p>
<p class="MsoNormal" style="text-align:justify;"><a href="http://www.libsdl.org/cgi/docwiki.cgi/Environment_20variables">Aqui</a> tem uma lista de todas as variaveis.</p>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:justify;"><strong>minha_fonte = pygame.font.SysFont(&#8216;Arial&#8217;, 20, True)</strong></p>
<p class="MsoNormal" style="text-align:justify;">Criei uma variavel com o nome <strong>minha_fonte</strong> que será usada pra mostrar &#8220;Ola mundo!!!&#8221; em negrito e no tamanho 20 na tela. Com isso a fonte será carregada e deixada prontinha pra gente usar.</p>
<p class="MsoNormal" style="text-align:justify;">
<h2>Laços e eventos</h2>
<p class="MsoNormal" style="text-align:justify;">O Main Loop(Laço principal) é onde vai ter tudo que precisar ser usado constantemente, então prepare o laço while pra gente colocar outro laço dentro (FOR). Se você não esctuar/pegar os eventos(<strong>pygame.event.get()</strong>) a janela trava, e é aí que entra o locals que importamos logo no inicio, o código vai ficar assim:</p>
<pre><strong>while 1:
    for evento in pygame.event.get():
        if evento.type == QUIT:
            sys.exit()</strong></pre>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:justify;">PS.: existe mais eventos tais como: MOUSEBUTTONDOWN, MOUSEBUTTONUP, KEYUP, KEYDOWN, etc. (Ver mais eventos na documentação).</p>
<p class="MsoNormal" style="text-align:justify;">
<h2><strong>Olá Mundo!!!</strong></h2>
<p class="MsoNormal" style="text-align:justify;">É hora de preencher a superfície com alguma cor pra deixar mais bunitim.</p>
<p class="MsoNormal" style="text-align:justify;"><strong>tela.fill((255, 255, 255))</strong></p>
<p class="MsoNormal" style="text-align:justify;">O PyGame usa o sistema RGB e o sistema HEXADECIMAL para as cores, mais vamos usar RGB(vermelho, verde e azul), que terá todos os valores das cores no máximo(255) formando o branco(255, 255, 255). Você pode alterar os valores para obter as mais diferentes cores dos arco-íris (uuuuui!!!). Caso você goste pode usar essa cor (255, 0, 255).</p>
<p class="MsoNormal" style="text-align:justify;">PS.: Se for pintar a tela pinte antes de colocar o texto ou qualquer outra coisa.</p>
<p class="MsoNormal" style="text-align:justify;">Sim! A parte mais esperada, vamos BLITAR/MOSTRAR o texto na tela “Ola Mundo!!!”, para isso se usa:</p>
<p class="MsoNormal" style="text-align:justify;"><strong> </strong></p>
<p><strong>tela.blit(minha_fonte.render</strong> <strong>(&#8216;Ola Mundo!!!&#8217;, True, (0, 0, 0)), (10, 10))</strong></p>
<p class="MsoNormal" style="text-align:justify;"><strong> </strong></p>
<p class="MsoNormal" style="text-align:justify;">Decifrando o cabaré, ele vai mostrar “Ola Mundo!!!” na tela usando Antialias(True), na cor Preta(0, 0, 0) e na posição x = 10 e y = 10.</p>
<p class="MsoNormal" style="text-align:justify;">E pra terminar a briga de foice basta chamar o <strong>pygame.display.flip(),</strong> que vai atualizar a tela toda para que você possa ver o tão esperado Ola Mundo!!!</p>
<p class="MsoNormal" style="text-align:justify;">
<h2>Finalizando</h2>
<p class="MsoNormal" style="text-align:justify;">É pessuá acabôsse o muído, mais fique triste não, eu ainda vou trazer mais coisa sobre o PyGame envolvendo: imagens, som, sprites, colisão, fazendo uma bola pular e muito mais.</p>
<p class="MsoNormal" style="text-align:justify;">AHuAhauhuA</p>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:justify;">Olha como ficou a janela do Olá Mundo!!!</p>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:center;"><img class="aligncenter size-full wp-image-52" title="olamundo" src="http://emersonmx.files.wordpress.com/2008/06/olamundo.jpg?w=146&#038;h=65" alt="olamundo" width="146" height="65" /></p>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:justify;">E esse é o script:</p>
<blockquote>
<pre><span style="color:#0000ff;"><strong>import</strong></span> pygame<span style="color:#000080;">,</span> sys<span style="color:#000080;">,</span> os
<span style="color:#0000ff;"><strong>from</strong></span> pygame.locals <strong><span style="color:#0000ff;">import</span> <span style="color:#000080;">*</span></strong>

os.environ<span style="color:#000080;"><strong>[</strong></span><span style="color:#999999;">'SDL_VIDEO_CENTERED'</span><span style="color:#000080;"><strong>]</strong> </span><span style="color:#000080;">=</span> <span style="color:#999999;">'1'</span>

pygame.init<span style="color:#000080;"><strong>()</strong></span>
tela <span style="color:#000080;">=</span> pygame.display.set_mode<span style="color:#000080;"><strong>((</strong></span><span style="color:#ff0000;">140</span>, <span style="color:#ff0000;">40</span><span style="color:#000080;"><strong>))</strong></span>

minha_fonte <span style="color:#000080;">=</span> pygame.font.SysFont<span style="color:#000080;"><strong>(</strong></span><span style="color:#999999;">'Arial'</span><span style="color:#000080;">,</span> <span style="color:#ff0000;">20</span><span style="color:#000080;">,</span> True<span style="color:#000080;"><strong>)</strong></span>

<strong><span style="color:#0000ff;">while</span> </strong><span style="color:#ff0000;">1</span><strong><span style="color:#000080;">:</span></strong>
    <span style="color:#0000ff;"><strong>for</strong> </span>evento <span style="color:#0000ff;"><strong>in</strong> </span>pygame.event.get<span style="color:#000080;"><strong>()</strong>:</span>
        <span style="color:#0000ff;"><strong>if</strong></span> evento.type <span style="color:#000080;">== </span>QUIT<span style="color:#000080;">:</span>
            sys.exit<span style="color:#000080;"><strong>()</strong></span>

    tela.fill<span style="color:#000080;"><strong>((</strong></span><span style="color:#ff0000;">255</span><span style="color:#000080;">,</span> <span style="color:#ff0000;">255</span>, <span style="color:#ff0000;">255</span><span style="color:#000080;"><strong>))</strong></span>
    tela.blit<span style="color:#000080;"><strong>(</strong></span>minha_fonte.render<span style="color:#000080;"><strong>(</strong></span><span style="color:#999999;">'Ola Mundo!!!'</span>, True, <span style="color:#000080;"><strong>(</strong></span><span style="color:#ff0000;">0</span><span style="color:#000080;">,</span> <span style="color:#ff0000;">0</span><span style="color:#000080;">,</span> <span style="color:#ff0000;">0</span><span style="color:#000080;"><strong>))</strong>,</span> <span style="color:#000080;"><strong>(</strong></span><span style="color:#ff0000;">10</span><span style="color:#000080;">,</span> <span style="color:#ff0000;">10</span><span style="color:#000080;"><strong>))</strong></span>
    pygame.display.flip<span style="color:#000080;"><strong>()</strong></span></pre>
</blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/emersonmx.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/emersonmx.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/emersonmx.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/emersonmx.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/emersonmx.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/emersonmx.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/emersonmx.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/emersonmx.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/emersonmx.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/emersonmx.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/emersonmx.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/emersonmx.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=emersonmx.wordpress.com&blog=3844578&post=10&subd=emersonmx&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://emersonmx.wordpress.com/2008/06/11/uma-simples-janela-pygame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/44f28c86dac295ad0acf38d2ff87420a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">EMX</media:title>
		</media:content>

		<media:content url="http://i160.photobucket.com/albums/t170/emersonmx/pygame_logo.png" medium="image" />

		<media:content url="http://emersonmx.files.wordpress.com/2008/06/olamundo.jpg" medium="image">
			<media:title type="html">olamundo</media:title>
		</media:content>
	</item>
	</channel>
</rss>