{"id":954,"date":"2026-04-02T01:22:08","date_gmt":"2026-04-02T04:22:08","guid":{"rendered":"https:\/\/www2.ic.uff.br\/pplay\/?page_id=954"},"modified":"2026-04-02T01:23:55","modified_gmt":"2026-04-02T04:23:55","slug":"inputs-2-0","status":"publish","type":"page","link":"http:\/\/www2.ic.uff.br\/pplay\/inputs-2-0\/","title":{"rendered":"Inputs"},"content":{"rendered":"\n<div class=\"doc-container\">\n    <div class=\"doc-header\">\n        <h1>Inputs e Action Mapping<\/h1>\n        <div class=\"doc-badge\">M\u00f3dulo: PPlay.input_manager | Dificuldade: Intermedi\u00e1rio<\/div>\n        <p>A Power PPlay 2.0 traz uma revolu\u00e7\u00e3o na leitura de controles. Em vez de ler as teclas diretamente do hardware, n\u00f3s mapeamos &#8220;Inten\u00e7\u00f5es&#8221; (A\u00e7\u00f5es), o que facilita a cria\u00e7\u00e3o de menus de op\u00e7\u00f5es e suporte a m\u00faltiplos controles.<\/p>\n    <\/div>\n\n    <div class=\"doc-section\">\n        <h2>1. O M\u00e9todo Cl\u00e1ssico (Keyboard)<\/h2>\n        <p>Se voc\u00ea precisa de uma leitura simples, a pr\u00f3pria janela j\u00e1 possui os leitores instanciados (Singleton).<\/p>\n        <table class=\"doc-table\">\n            <tr>\n                <th>Comando<\/th>\n                <th>Quando usar?<\/th>\n            <\/tr>\n            <tr>\n                <td><code>janela.keyboard.key_pressed(\"SPACE\")<\/code><\/td>\n                <td>Retorna True enquanto a tecla estiver <strong>segurada<\/strong>. \u00datil para metralhadoras ou andar.<\/td>\n            <\/tr>\n            <tr>\n                <td><code>janela.keyboard.key_down(\"SPACE\")<\/code><\/td>\n                <td>Retorna True <strong>apenas uma vez<\/strong> no instante do clique. \u00datil para pulos ou menus.<\/td>\n            <\/tr>\n        <\/table>\n    <\/div>\n\n    <div class=\"doc-section\">\n        <h2>2. Action Mapping (Padr\u00e3o Profissional)<\/h2>\n        <p>Desacople o seu c\u00f3digo. Defina o que a a\u00e7\u00e3o significa, e teste a a\u00e7\u00e3o em vez da tecla. Isso \u00e9 id\u00eantico a motores como Unity e Unreal.<\/p>\n        <pre class=\"doc-code\"><code>from PPlay.input_manager import InputManager\n\n# 1. Configura\u00e7\u00e3o (No in\u00edcio do c\u00f3digo)\n# A a\u00e7\u00e3o \"atirar\" pode ser ativada por J, CONTROL ou o Clique do Mouse\nInputManager.define_action(\"atirar\", [\"J\", \"LEFT_CONTROL\"])\nInputManager.define_action(\"mover_direita\",[\"RIGHT\", \"D\"])\n\n# 2. No Loop Principal\nif InputManager.action_pressed(\"atirar\"):\n    print(\"PEW! PEW! Tiro \u00fanico disparado!\")\n\nif InputManager.is_active(\"mover_direita\"):\n    player.x += 300 * janela.delta_time()<\/code><\/pre>\n    <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Inputs e Action Mapping M\u00f3dulo: PPlay.input_manager | Dificuldade: Intermedi\u00e1rio A Power PPlay 2.0 traz uma revolu\u00e7\u00e3o na leitura de controles. Em vez de ler as teclas diretamente do hardware, n\u00f3s mapeamos &#8220;Inten\u00e7\u00f5es&#8221; (A\u00e7\u00f5es), o que facilita a cria\u00e7\u00e3o de menus de op\u00e7\u00f5es e suporte a m\u00faltiplos controles. 1. O M\u00e9todo Cl\u00e1ssico (Keyboard) Se voc\u00ea precisa [&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\/954"}],"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=954"}],"version-history":[{"count":2,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/954\/revisions"}],"predecessor-version":[{"id":957,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/954\/revisions\/957"}],"wp:attachment":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/media?parent=954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}