{"id":964,"date":"2026-04-02T01:29:27","date_gmt":"2026-04-02T04:29:27","guid":{"rendered":"https:\/\/www2.ic.uff.br\/pplay\/?page_id=964"},"modified":"2026-04-02T01:29:27","modified_gmt":"2026-04-02T04:29:27","slug":"cenarios-2-0","status":"publish","type":"page","link":"http:\/\/www2.ic.uff.br\/pplay\/cenarios-2-0\/","title":{"rendered":"Cen\u00e1rios"},"content":{"rendered":"\n<div class=\"doc-container\">\n    <div class=\"doc-header\">\n        <h1>C\u00e2mera, Mapas e Parallax<\/h1>\n        <div class=\"doc-badge\">M\u00f3dulos: camera, tilemap, parallax | Dificuldade: Avan\u00e7ado<\/div>\n        <p>Liberte seu jogo do limite de 800&#215;600 pixels. Com estas tr\u00eas ferramentas integradas, voc\u00ea pode criar mundos gigantescos com fundos de ilus\u00e3o 3D que rolam infinitamente.<\/p>\n    <\/div>\n\n    <div class=\"doc-section\">\n        <h2>1. O Arquivo de Mapa (TXT)<\/h2>\n        <p>Desenhe seu cen\u00e1rio em um bloco de notas. O caractere <code>#<\/code> pode ser uma parede, e o <code>.<\/code> um espa\u00e7o vazio.<\/p>\n        <pre class=\"doc-code\"><code># Arquivo: level_1.txt\n####################\n#..................#\n#....####..........#\n#..................#\n####################<\/code><\/pre>\n    <\/div>\n\n    <div class=\"doc-section\">\n        <h2>2. Carregando e Focando a C\u00e2mera<\/h2>\n        <p>Ao desenhar um Sprite ou um TileMap, a Power PPlay 2.0 verifica automaticamente se existe uma c\u00e2mera na cena. Se existir, as coordenadas s\u00e3o ajustadas sem voc\u00ea perceber.<\/p>\n        <pre class=\"doc-code\"><code>from PPlay.camera import Camera\nfrom PPlay.tilemap import TileMap\nfrom PPlay.parallax import ParallaxSystem\n\ncam = Camera(800, 600)\n\n# O Dicion\u00e1rio de Mapeamento\nmapping = {\n    '#': 'tijolo.png',\n    'solido': ['#']  # Define que o Tijolo bloqueia o player\n}\n\nmapa = TileMap(tamanho_tile=64)\nmapa.carregar_mapa(\"level_1.txt\", mapping)\n\n# Fundo Infinito (Parallax)\nfundo = ParallaxSystem()\nfundo.add_layer(\"ceu_estrelado.png\", 0.0) # 0.0 = Est\u00e1tico\nfundo.add_layer(\"montanhas.png\", 0.4)     # 0.4 = Move devagar\n\nwhile True:\n    # A C\u00e2mera persegue o personagem com \"Lerp\" (Suaviza\u00e7\u00e3o de 0.1)\n    cam.follow(player, suavizacao=0.1)\n\n    fundo.draw()  # Desenha montanhas infinitas\n    mapa.draw()   # Desenha apenas os tijolos que aparecem na tela (Culling)\n    player.draw()\n    \n    janela.update()<\/code><\/pre>\n    <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>C\u00e2mera, Mapas e Parallax M\u00f3dulos: camera, tilemap, parallax | Dificuldade: Avan\u00e7ado Liberte seu jogo do limite de 800&#215;600 pixels. Com estas tr\u00eas ferramentas integradas, voc\u00ea pode criar mundos gigantescos com fundos de ilus\u00e3o 3D que rolam infinitamente. 1. O Arquivo de Mapa (TXT) Desenhe seu cen\u00e1rio em um bloco de notas. O caractere # pode [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"tutorial-template.php","meta":{"footnotes":""},"_links":{"self":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/964"}],"collection":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/comments?post=964"}],"version-history":[{"count":1,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/964\/revisions"}],"predecessor-version":[{"id":966,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/964\/revisions\/966"}],"wp:attachment":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/media?parent=964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}