# Godot Engine Documentation in Portuguese # Copyright (C) 2014-2022, Juan Linietsky, Ariel Manzur and the Godot community (CC-BY 3.0) # This file is distributed under the same license as the Godot Engine package. # # André Silva , 2021. # Baiterson , 2022. # Breno Alves Sampaio , 2023. # Daniel Mucciolo , 2023. # DeeJayLSP , 2020-2021. # Diogo Gomes , 2022. # Esdras Caleb Oliveira Silva , 2022. # Evandro Luiz (The.Custon) , 2023. # Fellipe Ugliara , 2023. # Francisco Cândido , 2023. # Gabriel Cavalcante , 2022. # Gabriel Manzke Lindemann , 2023. # Hevinis , 2023. # João Lopes , 2020-2021. # Laureano , 2022. # Lucas Campos , 2022. # Lucas Scardone Avila , 2023. # Nathan Soares , 2022. # Plínio Victor P v v , 2023. # Rafael Testa , 2022. # Renu , 2022. # SamuelPatrickMeneses , 2023. # ssantos , 2021-2023. # Wesley PI , 2023. # Matheus Natal Santos , 2023. # Pedro Silva , 2023. # Pedro Sotero , 2023. # André Luiz Santana Siqueira , 2023. # Evandr0 , 2023. # João Victor Fonseca Souza , 2023. msgid "" msgstr "" "Project-Id-Version: Godot Engine 3.2\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot-docs-l10n\n" "POT-Creation-Date: 2023-11-21 12:44+0100\n" "PO-Revision-Date: 2023-10-23 20:50+0000\n" "Last-Translator: João Victor Fonseca Souza \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.1.1-dev\n" #: ../../docs/index.rst:75 ../../docs/about/docs_changelog.rst:151 #: ../../docs/tutorials/inputs/mouse_and_input_coordinates.rst:7 #: ../../docs/tutorials/scripting/gdscript/gdscript_advanced.rst:7 #: ../../docs/contributing/development/core_and_modules/variant_class.rst:7 msgid "About" msgstr "Sobre" #: ../../docs/index.rst:89 #: ../../docs/tutorials/platform/android/android_in_app_purchases.rst:13 #: ../../docs/contributing/documentation/contributing_to_the_documentation.rst:15 msgid "Getting started" msgstr "Primeiros passos" #: ../../docs/index.rst:104 msgid "Manual" msgstr "Manual" #: ../../docs/index.rst:137 msgid "Contributing" msgstr "Contribuindo" #: ../../docs/index.rst:149 ../../docs/about/docs_changelog.rst:163 msgid "Community" msgstr "Comunidade" #: ../../docs/index.rst:160 msgid "Class reference" msgstr "Referência de classe" #: ../../docs/index.rst:2 msgid "Godot Docs – *master* branch" msgstr "Documentação do Godot - versão *master*" #: ../../docs/index.rst:6 msgid "" "Godot's documentation is available in various languages and versions. Expand " "the \"Read the Docs\" panel at the bottom of the sidebar to see the list." msgstr "" "A documentação do Godot está disponível em vários idiomas e versões. Expanda " "o painel \"Ler a Documentação\" na parte inferior da barra lateral para ver " "a lista." #: ../../docs/index.rst:12 #, fuzzy msgid "" "This documentation is translated from the `original English one `_ by community members on `Weblate `_." msgstr "" "Esta documentação é traduzida do `original em inglês `_ por membros da comunidade em `Weblate `_." #: ../../docs/index.rst:16 msgid "" "Depending on the translation effort's completion level, you may find " "paragraphs or whole pages which are still in English. You can help the " "community by providing new translations or reviewing existing ones on " "Weblate." msgstr "" "Dependendo do nível do progresso da tradução, pode encontrar parágrafos ou " "páginas inteiras que ainda estão em inglês. Pode ajudar a comunidade a " "fornecer novas traduções ou a revisar as existentes no Weblate." #: ../../docs/index.rst:21 msgid "" "For the time being, localized translations are only available for the " "\"stable\" branch. You can still view the English documentation for other " "engine versions using the \"Read the Docs\" panel at the bottom of the " "sidebar." msgstr "" "Por enquanto, as traduções localizadas estão apenas disponíveis na versão " "\"estável\". Você também pode visualizar a documentação em Inglês de outras " "versões da engine utilizando o botão \"Ler a Documentação\" no painel " "lateral." #: ../../docs/index.rst:26 msgid "" "Welcome to the official documentation of `Godot Engine `__, the free and open source community-driven 2D and 3D game engine! If " "you are new to this documentation, we recommend that you read the :ref:" "`introduction page ` to get an overview of what this " "documentation has to offer." msgstr "" "Seja bem-vindo à documentação oficial do `Godot Engine `__, o motor de jogos gratuito e de código aberto impulsionado pela " "comunidade para jogos 2D e 3D! Se não conhece a documentação, sugerimos que " "leia a :ref:`introdução ` para ter uma visão geral sobre o " "que a documentação tem para oferecer." #: ../../docs/index.rst:32 msgid "" "The table of contents in the sidebar should let you easily access the " "documentation for your topic of interest. You can also use the search " "function in the top-left corner." msgstr "" "O sumário na barra lateral deve permitir que você acesse facilmente a " "documentação do tópico de seu interesse. Você também pode utilizar a função " "de busca no canto superior esquerdo." #: ../../docs/index.rst:36 msgid "Get involved" msgstr "Envolva-se" #: ../../docs/index.rst:38 msgid "" "Godot Engine is an open source project developed by a community of " "volunteers. The documentation team can always use your feedback and help to " "improve the tutorials and class reference. If you don't understand " "something, or cannot find what you are looking for in the docs, help us make " "the documentation better by letting us know!" msgstr "" "Godot Engine é um projeto de código aberto desenvolvido por uma comunidade " "de voluntários. A equipa de documentação sempre pode usar o seu feedback e " "ajudar a aprimorar os tutoriais e a referência de classe. Se não entender " "alguma coisa ou não encontrar o que está a procurar nos documentos, ajude-" "nos a melhorar a documentação a informar-nos!" #: ../../docs/index.rst:44 msgid "" "Submit an issue or pull request on the `GitHub repository `_, help us `translate the documentation " "`_ into your language, or " "talk to us on the ``#documentation`` channel on the `Godot Contributors Chat " "`_!" msgstr "" "Submeta um problema ou pull request no `Repositório do GitHub `, ajude-nos a `traduzir a " "documentação em `_ para o " "seu idioma, ou fale conosco sobre qualquer coisa no canal ``#documentation`` " "do `Discord `_, ou no canal ``#documentation`` " "do `Chat de Contribuidores do Godot em ´!" #: ../../docs/index.rst:50 msgid "weblate_widget" msgstr "weblate_widget" #: ../../docs/:0 msgid "Translation status" msgstr "Estado da tradução" #: ../../docs/index.rst:52 msgid "Offline documentation" msgstr "Documentação offline" #: ../../docs/index.rst:54 msgid "" "To browse the documentation offline, you can use the mirror of the " "documentation hosted on `DevDocs `__. To enable " "offline browsing on DevDocs, you need to:" msgstr "" "Para pesquisar a documentação offline, você pode usar a documentação " "espelhada presente em `DevDocs `__. Para " "habilitar a busca offline em DevDocs, você precisa :" #: ../../docs/index.rst:58 msgid "Click the three dots in the top-left corner, choose **Preferences**." msgstr "" "Clique nos três pontos no topo superior esquerdo , e escolha " "**Preferencias**." #: ../../docs/index.rst:59 msgid "" "Enable the desired version of the Godot documentation by checking the box " "next to it in the sidebar." msgstr "" "Habilite a versão desejada da documentação do Godot clicando na caixa " "próxima a barra lateral." #: ../../docs/index.rst:61 msgid "Click the three dots in the top-left corner, choose **Offline data**." msgstr "" "Clique nos três pontos no canto superior esquerdo, e selecione **Offline " "data**." #: ../../docs/index.rst:62 msgid "Click the **Install** link next to the Godot documentation." msgstr "Clique no link **Instalar** próximo a documentação do Godot." #: ../../docs/index.rst:64 msgid "" "You can also `download an HTML copy `__ for " "offline reading (updated every Monday). Extract the ZIP archive then open " "the top-level ``index.html`` in a web browser." msgstr "" "Você também pode `descarregar uma cópia em HTML `__ para ler offline (atualizada todas as segundas-feiras). Extraia o " "arquivo ZIP e abra ``index.html`` na raiz num navegador da web." #: ../../docs/index.rst:68 msgid "" "For mobile devices or e-readers, you can also `download an ePub copy " "`__ for offline reading (updated every " "Monday). Extract the ZIP archive then open the ``GodotEngine.epub`` file in " "an e-book reader application." msgstr "" "Também pode `descarregar uma cópia em HTML `__ para ler " "offline (atualizada todas as segundas-feiras). Extraia o arquivo ZIP e abra " "o arquivo ``GodotEngine.epub`` em um programa de leitura de livros digitais." #: ../../docs/_templates/versions.html:26 #: ../../docs/tutorials/performance/cpu_optimization.rst:149 msgid "Languages" msgstr "Idiomas" #: ../../docs/_templates/versions.html:32 msgid "Versions" msgstr "Versões" #: ../../docs/_templates/versions.html:39 msgid "On Read the Docs" msgstr "Em Leia os documentos" #: ../../docs/_templates/versions.html:41 #, fuzzy msgid "Project Home" msgstr "Configuração do projeto" #: ../../docs/_templates/versions.html:44 #, fuzzy msgid "Builds" msgstr "Embutidos" #: ../../docs/_templates/versions.html:47 msgid "Downloads" msgstr "Baixar" #: ../../docs/about/introduction.rst:4 #: ../../docs/getting_started/introduction/index.rst:8 #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:4 #: ../../docs/tutorials/best_practices/project_organization.rst:7 #: ../../docs/tutorials/best_practices/version_control_systems.rst:7 #: ../../docs/tutorials/editor/managing_editor_features.rst:9 #: ../../docs/tutorials/2d/2d_transforms.rst:7 #: ../../docs/tutorials/2d/2d_lights_and_shadows.rst:7 #: ../../docs/tutorials/2d/2d_meshes.rst:9 #: ../../docs/tutorials/2d/2d_sprite_animation.rst:7 #: ../../docs/tutorials/2d/2d_antialiasing.rst:16 #: ../../docs/tutorials/2d/custom_drawing_in_2d.rst:7 #: ../../docs/tutorials/2d/2d_movement.rst:7 #: ../../docs/tutorials/2d/using_tilesets.rst:7 #: ../../docs/tutorials/2d/using_tilemaps.rst:13 #: ../../docs/tutorials/3d/using_transforms.rst:7 #: ../../docs/tutorials/3d/3d_text.rst:7 #: ../../docs/tutorials/3d/3d_rendering_limitations.rst:7 #: ../../docs/tutorials/3d/standard_material_3d.rst:7 #: ../../docs/tutorials/3d/lights_and_shadows.rst:7 #: ../../docs/tutorials/3d/particles/index.rst:10 #: ../../docs/tutorials/3d/high_dynamic_range.rst:9 #: ../../docs/tutorials/3d/3d_antialiasing.rst:16 #: ../../docs/tutorials/3d/using_multi_mesh_instance.rst:9 #: ../../docs/tutorials/3d/mesh_lod.rst:22 #: ../../docs/tutorials/3d/using_gridmaps.rst:7 #: ../../docs/tutorials/animation/2d_skeletons.rst:9 #: ../../docs/tutorials/animation/animation_tree.rst:7 #: ../../docs/tutorials/audio/audio_buses.rst:9 #: ../../docs/tutorials/audio/audio_streams.rst:9 #: ../../docs/tutorials/audio/sync_with_audio.rst:9 #: ../../docs/tutorials/export/feature_tags.rst:7 #: ../../docs/tutorials/io/saving_games.rst:7 #: ../../docs/tutorials/io/binary_serialization_api.rst:9 #: ../../docs/tutorials/i18n/internationalizing_games.rst:7 #: ../../docs/tutorials/i18n/pseudolocalization.rst:7 #: ../../docs/tutorials/inputs/input_examples.rst:7 #: ../../docs/tutorials/math/vector_math.rst:7 #: ../../docs/tutorials/math/matrices_and_transforms.rst:7 #: ../../docs/tutorials/networking/ssl_certificates.rst:9 #: ../../docs/tutorials/performance/index.rst:7 #: ../../docs/tutorials/performance/general_optimization.rst:7 #: ../../docs/tutorials/performance/gpu_optimization.rst:7 #: ../../docs/tutorials/physics/using_area_2d.rst:7 #: ../../docs/tutorials/physics/using_character_body_2d.rst:7 #: ../../docs/tutorials/physics/ray-casting.rst:7 #: ../../docs/tutorials/physics/ragdoll_system.rst:7 #: ../../docs/tutorials/physics/kinematic_character_2d.rst:7 #: ../../docs/tutorials/platform/android/android_plugin.rst:7 #: ../../docs/tutorials/plugins/editor/import_plugins.rst:13 #: ../../docs/tutorials/plugins/editor/3d_gizmos.rst:9 #: ../../docs/tutorials/rendering/viewports.rst:7 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:7 #: ../../docs/tutorials/scripting/gdextension/what_is_gdextension.rst:7 #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:7 #: ../../docs/tutorials/scripting/debug/custom_performance_monitors.rst:7 #: ../../docs/tutorials/scripting/pausing_games.rst:7 #: ../../docs/tutorials/scripting/filesystem.rst:7 #: ../../docs/tutorials/scripting/singletons_autoload.rst:7 #: ../../docs/tutorials/scripting/scene_tree.rst:7 #: ../../docs/tutorials/scripting/scene_unique_nodes.rst:7 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:7 #: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:7 #: ../../docs/tutorials/shaders/shader_materials.rst:7 #: ../../docs/tutorials/shaders/screen-reading_shaders.rst:7 #: ../../docs/tutorials/shaders/advanced_postprocessing.rst:7 #: ../../docs/tutorials/shaders/using_viewport_as_texture.rst:7 #: ../../docs/tutorials/shaders/custom_postprocessing.rst:7 #: ../../docs/tutorials/ui/bbcode_in_richtextlabel.rst:7 #: ../../docs/contributing/development/best_practices_for_engine_contributors.rst:7 #: ../../docs/contributing/development/core_and_modules/2d_coordinate_systems.rst:7 #: ../../docs/contributing/development/core_and_modules/custom_godot_servers.rst:7 #: ../../docs/contributing/development/core_and_modules/custom_resource_format_loaders.rst:7 #: ../../docs/contributing/development/core_and_modules/custom_audiostreams.rst:7 #: ../../docs/contributing/development/editor/editor_style_guide.rst:7 #: ../../docs/community/asset_library/submitting_to_assetlib.rst:7 msgid "Introduction" msgstr "Introdução" #: ../../docs/about/introduction.rst:11 msgid "" "Welcome to the official documentation of **Godot Engine**, the free and open " "source community-driven 2D and 3D game engine! Behind this mouthful, you " "will find a powerful yet user-friendly tool that you can use to develop any " "kind of game, for any platform and with no usage restriction whatsoever." msgstr "" "Bem-vindo à documentação oficial do Godot Engine, o motor de jogo 2D e 3D de " "código aberto e gratuito orientado para a comunidade! Por trás disso tudo, " "encontrará uma ferramenta poderosa e de fácil utilização que pode usar para " "desenvolver qualquer tipo de jogo, para qualquer plataforma e sem nenhuma " "restrição de uso." #: ../../docs/about/introduction.rst:16 msgid "" "This page gives a broad overview of the engine and of this documentation, so " "that you know where to start if you are a beginner or where to look if you " "need information on a specific feature." msgstr "" "O objetivo dessa página é fornecer uma ampla apresentação da engine e do " "conteúdo desta documentação, para que saiba por onde começar se for um " "iniciante, ou onde procurar se precisar de informações sobre uma " "funcionalidade específica." #: ../../docs/about/introduction.rst:21 msgid "Before you start" msgstr "Antes de começar" #: ../../docs/about/introduction.rst:23 #, fuzzy msgid "" "The :ref:`Tutorials and resources ` page lists " "video tutorials contributed by the community. If you prefer video to text, " "consider checking them out. Otherwise, :ref:`Getting Started " "` is a great starting point." msgstr "" "A página :ref:`Tutoriais e recursos ` lista os " "tutoriais em vídeo contribuídos pela comunidade. Se preferir vídeo ao invés " "de texto, vale a pena dar uma olhada. Caso contrário, :ref:`Getting Started " "` é um óptimo ponto de partida" #: ../../docs/about/introduction.rst:28 #, fuzzy msgid "" "In case you have trouble with one of the tutorials or your project, you can " "find help on the various :ref:`Community channels `, " "especially the Godot `Discord`_ community and `Q&A `_." msgstr "" "Caso tenha problemas com um dos tutoriais ou com o seu projeto, poderá " "encontrar ajuda em vários :ref:`Canais da comunidade " "`, especialmente na comunidade Godot no `Discord`_ e " "nas `perguntas e respostas `_." #: ../../docs/about/introduction.rst:34 msgid "About Godot Engine" msgstr "Sobre o Godot Engine" #: ../../docs/about/introduction.rst:36 #, fuzzy msgid "" "A game engine is a complex tool and difficult to present in a few words. " "Here's a quick synopsis, which you are free to reuse if you need a quick " "write-up about Godot Engine:" msgstr "" "Um motor de jogos é uma ferramenta complexa e, portanto, é difícil " "apresentar o Godot em poucas palavras. No entanto, aqui está uma sinopse " "rápida, que está livre para reutilizar se precisar de uma curta definição " "sobre Godot Engine:" #: ../../docs/about/introduction.rst:40 msgid "" "Godot Engine is a feature-packed, cross-platform game engine to create 2D " "and 3D games from a unified interface. It provides a comprehensive set of " "common tools, so that users can focus on making games without having to " "reinvent the wheel. Games can be exported with one click to a number of " "platforms, including the major desktop platforms (Linux, macOS, Windows), " "mobile platforms (Android, iOS), as well as Web-based platforms and consoles." msgstr "" "Godot Engine é um motor de jogos multi-plataforma repleto de recursos para " "criar jogos 2D e 3D a partir de uma interface unificada. Ele fornece um " "conjunto abrangente de ferramentas comuns, para que os utilizadores possam " "se concentrar em criar jogos sem precisar reinventar a roda. Os jogos podem " "ser exportados num clique para várias plataformas, incluindo as principais " "plataformas de desktop (Linux, MacOS, Windows), além de plataformas móveis " "(Android, iOS) e as baseadas na Web (HTML5)." #: ../../docs/about/introduction.rst:47 #, fuzzy msgid "" "Godot is completely free and open source under the :ref:`permissive MIT " "license `. No strings attached, no royalties, " "nothing. Users' games are theirs, down to the last line of engine code. " "Godot's development is fully independent and community-driven, empowering " "users to help shape their engine to match their expectations. It is " "supported by the `Godot Foundation `_ not-for-" "profit." msgstr "" "Godot é completamente gratuito e de código aberto sob a permissiva licença " "MIT. Sem amarras, sem royalties, nada. Os jogos dos utilizadores são deles, " "até a última linha do código do motor. O desenvolvimento do Godot é " "totalmente independente e voltado para a comunidade, a capacitar os " "utilizadores a ajudar a moldar o seu motor para atender às suas " "expectativas. Ele é mantido pela `Software Freedom Conservancy `_ sem fins lucrativos." #: ../../docs/about/introduction.rst:57 msgid "Organization of the documentation" msgstr "Organização da documentação" #: ../../docs/about/introduction.rst:59 msgid "This documentation is organized into several sections:" msgstr "Esta documentação é organizada em várias seções:" #: ../../docs/about/introduction.rst:61 #, fuzzy msgid "" "**About** contains this introduction as well as information about the " "engine, its history, its licensing, authors, etc. It also contains the :ref:" "`doc_faq`." msgstr "" "A secção :ref:`sec-general` contém esta introdução, bem como informações " "sobre a engine, o seu histórico, o seu licenciamento, autores, etc. Ela " "também contém o :ref:`doc_faq`." #: ../../docs/about/introduction.rst:64 #, fuzzy msgid "" "**Getting Started** contains all necessary information on using the engine " "to make games. It starts with the :ref:`Step by step ` tutorial which should be the entry point for all new users. " "**This is the best place to start if you're new!**" msgstr "" "A secção :ref:`sec-learn` é a *raison d'être* para esta documentação " "existir, já que contém todas as informações necessárias sobre a utilização " "da engine para criar jogos. Ela começa com o tutorial :ref:`Passo a passo " "`, que deve ser o ponto de entrada para todos os " "novos utilizadores." #: ../../docs/about/introduction.rst:68 #, fuzzy msgid "" "The **Manual** can be read or referenced as needed, in any order. It " "contains feature-specific tutorials and documentation." msgstr "" "A secção :ref:`sec-tutorials`, pode ser lida conforme necessário, em " "qualquer ordem. Ela contém tutoriais e documentações de funcionalidades " "específicas." #: ../../docs/about/introduction.rst:70 msgid "" "**Contributing** gives information related to contributing to Godot, whether " "to the core engine, documentation, demos or other parts. It describes how to " "report bugs, how contributor workflows are organized, etc. It also contains " "sections intended for advanced users and contributors, with information on " "compiling the engine, contributing to the editor, or developing C++ modules." msgstr "" "**Contribuindo** fornece informações relacionadas à contribuição para a " "Godot, seja na própria engine, documentação, demos ou outras partes. " "Descreve como reportar bugs, como os fluxos de trabalho dos colaboradores é " "organizado, etc. Também possui seções destinadas à usuários e colaboradores " "mais avançados, com informações sobre como compilar a engine, contribuir " "para o editor, ou desenvolvimento de módulos em C++." #: ../../docs/about/introduction.rst:76 #, fuzzy msgid "" "**Community** is dedicated to the life of Godot's community. It points to " "various community channels like the `Godot Contributors Chat `_ and `Discord`_ and contains a list of recommended third-" "party tutorials and materials outside of this documentation." msgstr "" "A secção :ref:`sec-community` fornece informações relacionadas à " "contribuição do desenvolvimento da engine e à vida da comunidade, como por " "exemplo reportar erros, ajudar com a documentação, etc. Ela também mostra " "vários canais da comunidade, como IRC e Discord e contém uma lista de " "recomendações de tutoriais de terceiros fora desta documentação." #: ../../docs/about/introduction.rst:81 msgid "" "Finally, the **Class reference** documents the full Godot API, also " "available directly within the engine's script editor. You can find " "information on all classes, functions, signals and so on here." msgstr "" #: ../../docs/about/introduction.rst:85 #, fuzzy msgid "" "In addition to this documentation, you may also want to take a look at the " "various `Godot demo projects `_." msgstr "" "Além desta documentação, também pode dar uma olhada nos vários `Projetos de " "demonstração do Godot `_." #: ../../docs/about/introduction.rst:89 msgid "About this documentation" msgstr "Sobre essa documentação" #: ../../docs/about/introduction.rst:91 msgid "" "Members of the Godot Engine community continuously write, correct, edit, and " "improve this documentation. We are always looking for more help. You can " "also contribute by opening Github issues or translating the documentation " "into your language. If you are interested in helping, see :ref:`Ways to " "contribute ` and :ref:`Writing documentation " "`, or get in touch with the " "`Documentation team `_ on " "`Godot Contributors Chat `_." msgstr "" "Membros da comunidade Godot Engine, continuamente escrevem, corrigem, " "editam, e melhoram essa documentação. Nós estamos sempre buscando por mais " "ajuda. Você também pode contribuir entrando em Github Issues e traduzindo a " "documentação para sua linguagem. Se você esta interessado em ajudar, " "confira :ref:`Ways to contribute ` e :ref:`Writing " "documentation `, ou entre em contato " "com `Documentation team `_ em " "`Godot Contributors Chat `_." #: ../../docs/about/introduction.rst:99 #, fuzzy msgid "" "All documentation content is licensed under the permissive Creative Commons " "Attribution 3.0 (`CC BY 3.0 `_) license, with attribution to \"*Juan Linietsky, Ariel Manzur, and the " "Godot Engine community*\" unless otherwise noted." msgstr "" "Todo o conteúdo está sob a licença permissiva Creative Commons Attribution " "3.0 (`CC-BY 3.0 `_), com " "atribuição a \"Juan Linietsky, Ariel Manzur e a comunidade Godot Engine\"." #: ../../docs/about/introduction.rst:104 msgid "*Have fun reading and making games with Godot Engine!*" msgstr "Divirta-se lendo e fazendo jogos com Godot Engine!" #: ../../docs/about/faq.rst:1 msgid "FAQ" msgstr "Perguntas Frequentes" #: ../../docs/about/faq.rst:7 #: ../../docs/community/asset_library/what_is_assetlib.rst:42 msgid "Frequently asked questions" msgstr "Perguntas Frequentes" #: ../../docs/about/faq.rst:10 msgid "" "What can I do with Godot? How much does it cost? What are the license terms?" msgstr "" "O que posso fazer com o Godot? Quanto custa? Quais são os termos de licença?" #: ../../docs/about/faq.rst:12 msgid "" "Godot is `Free and open source Software `_ available under the `OSI-approved `_ MIT license. This means it is free as in " "\"free speech\" as well as in \"free beer.\"" msgstr "" "Godot é um `Software Livre e de Código Aberto `_ disponível sob a Licença MIT `OSI-" "approved `_. Isso significa que é " "gratuito tanto na \"liberdade de expressão\" quanto na \"cerveja grátis.\"" #: ../../docs/about/faq.rst:16 msgid "In short:" msgstr "Resumindo:" #: ../../docs/about/faq.rst:18 msgid "" "You are free to download and use Godot for any purpose: personal, non-" "profit, commercial, or otherwise." msgstr "" "Está livre para descarregarr e usar Godot para qualquer propósito, pessoal, " "sem fins lucrativos, comercial, ou qualquer outro." #: ../../docs/about/faq.rst:19 msgid "" "You are free to modify, distribute, redistribute, and remix Godot to your " "heart's content, for any reason, both non-commercially and commercially." msgstr "" "Pode modificar, (re)distribuir e remixar o Godot o quanto quiser, por " "qualquer motivo, seja ele comercial ou não-comercial." #: ../../docs/about/faq.rst:22 msgid "" "All the contents of this accompanying documentation are published under the " "permissive Creative Commons Attribution 3.0 (`CC BY 3.0 `_) license, with attribution to \"Juan " "Linietsky, Ariel Manzur and the Godot Engine community.\"" msgstr "" "Todo o conteúdo desta documentação anexa está publicado sob a licença " "permissiva Creative Commons Attribution 3.0 (`CC-BY 3.0 `_), com atribuição a \"Juan Linietsky, " "Ariel Manzur e a comunidade Godot Engine.\"" #: ../../docs/about/faq.rst:26 msgid "" "Logos and icons are generally under the same Creative Commons license. Note " "that some third-party libraries included with Godot's source code may have " "different licenses." msgstr "" "Logomarcas e ícones geralmente estão sob a mesma licença Creative Commons. " "Note que algumas bibliotecas de terceiros incluídas no código-fonte do Godot " "podem ter licenças diferentes." #: ../../docs/about/faq.rst:30 #, fuzzy msgid "" "For full details, look at the `COPYRIGHT.txt `_ as well as the `LICENSE.txt `_ and `LOGO_LICENSE." "txt `_ " "files in the Godot repository." msgstr "" "Para mais detalhes, dê uma olhada nos ficheiros `COPYRIGHT.txt `_, e também `LICENSE." "txt `_ e " "`LOGO_LICENSE.txt `_ no repositório do Godot." #: ../../docs/about/faq.rst:35 msgid "" "Also, see `the license page on the Godot website `_." msgstr "" "Veja também a `página da Licença no site do Godot `_." #: ../../docs/about/faq.rst:38 msgid "Which platforms are supported by Godot?" msgstr "Quais plataformas são suportadas por Godot?" #: ../../docs/about/faq.rst:40 msgid "**For the editor:**" msgstr "**Para o editor:**" #: ../../docs/about/faq.rst:42 ../../docs/about/faq.rst:50 #: ../../docs/about/faq.rst:226 #: ../../docs/tutorials/rendering/jitter_stutter.rst:84 #: ../../docs/tutorials/ui/gui_using_fonts.rst:764 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:16 #: ../../docs/contributing/documentation/building_the_manual.rst:29 #: ../../docs/contributing/documentation/building_the_manual.rst:45 #: ../../docs/contributing/documentation/building_the_manual.rst:61 #: ../../docs/contributing/documentation/building_the_manual.rst:145 msgid "Windows" msgstr "Windows" #: ../../docs/about/faq.rst:43 ../../docs/about/faq.rst:51 #: ../../docs/about/faq.rst:237 #: ../../docs/tutorials/editor/default_key_mapping.rst:29 #: ../../docs/tutorials/editor/default_key_mapping.rst:94 #: ../../docs/tutorials/editor/default_key_mapping.rst:147 #: ../../docs/tutorials/editor/default_key_mapping.rst:222 #: ../../docs/tutorials/editor/default_key_mapping.rst:303 #: ../../docs/tutorials/editor/default_key_mapping.rst:350 #: ../../docs/tutorials/editor/default_key_mapping.rst:361 #: ../../docs/tutorials/editor/default_key_mapping.rst:374 #: ../../docs/tutorials/editor/default_key_mapping.rst:405 #: ../../docs/tutorials/editor/default_key_mapping.rst:418 #: ../../docs/tutorials/editor/default_key_mapping.rst:441 #: ../../docs/tutorials/editor/default_key_mapping.rst:458 #: ../../docs/tutorials/editor/default_key_mapping.rst:493 #: ../../docs/tutorials/rendering/jitter_stutter.rst:121 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:30 msgid "macOS" msgstr "macOs" #: ../../docs/about/faq.rst:44 ../../docs/about/faq.rst:52 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:58 #, fuzzy msgid "Linux, \\*BSD" msgstr "X11 (Linux, \\*BSD)" #: ../../docs/about/faq.rst:45 msgid "Android (experimental)" msgstr "Android(experimental)" #: ../../docs/about/faq.rst:46 #, fuzzy msgid "`Web `__ (experimental)" msgstr "`GitHub `_" #: ../../docs/about/faq.rst:48 msgid "**For exporting your games:**" msgstr "**Para exportar os seus jogos:**" #: ../../docs/about/faq.rst:53 #: ../../docs/tutorials/export/one-click_deploy.rst:68 #: ../../docs/tutorials/platform/android/index.rst:2 #: ../../docs/tutorials/rendering/jitter_stutter.rst:128 #: ../../docs/tutorials/ui/gui_using_fonts.rst:764 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:135 msgid "Android" msgstr "Android" #: ../../docs/about/faq.rst:54 #: ../../docs/tutorials/rendering/jitter_stutter.rst:135 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:141 msgid "iOS" msgstr "iOS" #: ../../docs/about/faq.rst:55 #: ../../docs/contributing/development/debugging/using_sanitizers.rst:166 #: ../../docs/contributing/development/debugging/vulkan/vulkan_validation_layers.rst:146 msgid "Web" msgstr "Web" #: ../../docs/about/faq.rst:57 #, fuzzy msgid "" "Both 32- and 64-bit binaries are supported where it makes sense, with 64 " "being the default. Official macOS builds support Apple Silicon natively as " "well as x86_64." msgstr "" "Ambos os binários de 32 e 64 bits são suportados onde fizerem sentido, a ser " "64 o padrão. Oficialmente macOS builds suporta nativamente Apple Silicon " "como também x86_64." #: ../../docs/about/faq.rst:60 msgid "" "Some users also report building and using Godot successfully on ARM-based " "systems with Linux, like the Raspberry Pi." msgstr "" "Alguns utilizadores também relatam terem compilado e utilizado o Godot com " "êxito em sistemas baseados em ARM com Linux, como Raspberry Pi." #: ../../docs/about/faq.rst:63 #, fuzzy msgid "" "The Godot team can't provide an open source console export due to the " "licensing terms imposed by console manufacturers. Regardless of the engine " "you use, though, releasing games on consoles is always a lot of work. You " "can read more about :ref:`doc_consoles`." msgstr "" "A equipa da Godot não pode prover uma exportação open-source para consoles " "por conta de termos de licenciamento impostos pelas fabricantes de consoles. " "Independente da engine que utilizar, lançar jogos para consoles é sempre um " "trabalho e tanto. Pode ler mais sobre isso aqui: :ref:`doc_consoles` ." #: ../../docs/about/faq.rst:68 msgid "" "For more on this, see the sections on :ref:`exporting ` and :ref:`compiling Godot yourself `." msgstr "" "Para mais informações, veja as seções :ref:`Exportando ` e :ref:`Compilando Godot você mesmo `." #: ../../docs/about/faq.rst:73 msgid "" "Godot 3 also had support for Universal Windows Platform (UWP). This platform " "port was removed in Godot 4 due to lack of maintenance, and it being " "deprecated by Microsoft. It is still available in the current stable release " "of Godot 3 for interested users." msgstr "" #: ../../docs/about/faq.rst:79 msgid "Which programming languages are supported in Godot?" msgstr "Quais linguagens de programação são suportadas pelo Godot?" #: ../../docs/about/faq.rst:81 #, fuzzy msgid "" "The officially supported languages for Godot are GDScript, C#, and C++. See " "the subcategories for each language in the :ref:`scripting ` section." msgstr "" "As linguagens suportadas oficialmente em Godot são GDScript, Visual " "Scripting, C# e C++. Veja as subcategorias para cada linguagem na secção de :" "ref:`scripting `." #: ../../docs/about/faq.rst:84 msgid "" "If you are just starting out with either Godot or game development in " "general, GDScript is the recommended language to learn and use since it is " "native to Godot. While scripting languages tend to be less performant than " "lower-level languages in the long run, for prototyping, developing Minimum " "Viable Products (MVPs), and focusing on Time-To-Market (TTM), GDScript will " "provide a fast, friendly, and capable way of developing your games." msgstr "" "Se está apenas a começar com o Godot ou desenvolvimento de jogos em geral, " "GDScript é a linguagem recomendada para aprender e usa, uma vez que é nativa " "ao Godot. Enquanto linguagens de script tendem a ter menos performance que " "liguagens de menor nível, para prototipagem, desenvolvimento de Minimum " "Viable Products (MVPs) e focar em Time-To-Market (TTM), GDScript vai " "fornecer um modo rápido, amigável e capaz de desenvolver os seus jogos." #: ../../docs/about/faq.rst:91 #, fuzzy msgid "" "Note that C# support is still relatively new, and as such, you may encounter " "some issues along the way. C# support is also currently missing on the web " "platform. Our friendly and hard-working development community is always " "ready to tackle new problems as they arise, but since this is an open source " "project, we recommend that you first do some due diligence yourself. " "Searching through discussions on `open issues `__ " "is a great way to start your troubleshooting." msgstr "" "Observe que o suporte ao C# ainda é relativamente novo e, como tal, pode " "encontrar alguns problemas ao longo do caminho. Nossa comunidade de " "desenvolvimento amistosa e trabalhadora está sempre pronta para enfrentar " "novos problemas à medida que eles surgem, mas como esse é um projeto de " "código aberto, recomendamos que faça primeiro uma diligência prévia. " "Pesquisando através de discussões em `open issues `_ para verificar se há problemas descobertos. Esta " "é uma ótima maneira de começar a sua solução de problemas." #: ../../docs/about/faq.rst:100 #, fuzzy msgid "" "As for new languages, support is possible via third parties with " "GDExtensions. (See the question about plugins below). Work is currently " "underway, for example, on unofficial bindings for Godot to `Python `_ and `Nim `_." msgstr "" "Quanto a novas linguagens, é possível oferecer suporte através de terceiros " "a utilizar os recursos GDNative / NativeScript / PluginScript. (Veja abaixo " "sobre como os plugins funcionam.) Existe trabalho em andamento, por exemplo, " "para vinculações não oficiais do Godot para `Python `_ e para `Nim `_." #: ../../docs/about/faq.rst:107 msgid "What is GDScript and why should I use it?" msgstr "O que é GDScript e porque devo usá-lo?" #: ../../docs/about/faq.rst:109 #, fuzzy msgid "" "GDScript is Godot's integrated scripting language. It was built from the " "ground up to maximize Godot's potential in the least amount of code, " "affording both novice and expert developers alike to capitalize on Godot's " "strengths as fast as possible. If you've ever written anything in a language " "like Python before, then you'll feel right at home. For examples and a " "complete overview of the power GDScript offers you, check out the :ref:" "`GDScript scripting guide `." msgstr "" "O GDScript é a linguagem de script integrada do Godot. Foi construído a " "partir do zero para maximizar o potencial do Godot com a menor quantidade de " "código, a ajudar aos programadores novatos e experientes a usufruir dos " "pontos fortes do Godot o mais rápido possível. Se já escreveu alguma coisa " "numa linguagem como o Python antes disso, se sentirá em casa. Para exemplos, " "histórico e uma visão geral completa do poder que o GDScript oferece, " "confira nosso guia `GDScript: `_." #: ../../docs/about/faq.rst:116 #, fuzzy msgid "" "There are several reasons to use GDScript, especially when you are " "prototyping, in alpha/beta stages of your project, or are not creating the " "next AAA title. The most salient reason is the overall **reduction of " "complexity**." msgstr "" "Há várias razões para usar o GDScript - especialmente quando está a criar " "protótipos, em estágios alfa/beta do seu projeto, ou não está a criar o " "próximo título AAA--mas a razão mais importante é a **redução geral da " "complexidade**." #: ../../docs/about/faq.rst:120 #, fuzzy msgid "" "The original intent of creating a tightly integrated, custom scripting " "language for Godot was two-fold: first, it reduces the amount of time " "necessary to get up and running with Godot, giving developers a rapid way of " "exposing themselves to the engine with a focus on productivity; second, it " "reduces the overall burden of maintenance, attenuates the dimensionality of " "issues, and allows the developers of the engine to focus on squashing bugs " "and improving features related to the engine core, rather than spending a " "lot of time trying to get a small set of incremental features working across " "a large set of languages." msgstr "" "A intenção original de criar uma linguagem de script personalizada e " "altamente integrada para Godot era dupla: primeiro, reduz a quantidade de " "tempo necessária para começar a usar o Godot, a oferecer aos programadores " "uma maneira rápida de se expor ao motor com foco na produtividade; segundo, " "reduz a carga geral de manutenção, atenua a dimensionalidade dos problemas e " "permite que os programadores do motor se concentrem em esmagar bugs e " "melhorar os recursos relacionados ao núcleo do motor--em vez de gastar muito " "tempo a tentar obter um pequeno conjunto de recursos incrementais que " "funcionam num grande conjunto de linguagens." #: ../../docs/about/faq.rst:128 #, fuzzy msgid "" "Since Godot is an open source project, it was imperative from the start to " "prioritize a more integrated and seamless experience over attracting " "additional users by supporting more familiar programming languages, " "especially when supporting those more familiar languages would result in a " "worse experience. We understand if you would rather use another language in " "Godot (see the list of supported options above). That being said, if you " "haven't given GDScript a try, try it for **three days**. Just like Godot, " "once you see how powerful it is and rapid your development becomes, we think " "GDScript will grow on you." msgstr "" "Já que Godot é um projeto de código aberto, foi imperativo desde o começo " "priorizar uma experiência mais integrada ao invés de atrair utilizadores " "adicionais a suportar linguagens de programação mais familiares--" "especialmente quando suportar essas linguagens mais familiares resultaria em " "uma experiência pior. Entendemos se prefere usar alguma outra linguagem no " "Godot (Veja a lista de opções suportadas acima). Com isso dito, se não " "tentou usar o GDScript, experimente por **três dias**. Assim como Godot, uma " "vez que vê o quão poderoso e rápido seu desenvolvimento se torna, nos " "achamos que o GDScript irá crescer consigo." #: ../../docs/about/faq.rst:137 msgid "" "More information about getting comfortable with GDScript or dynamically " "typed languages can be found in the :ref:`doc_gdscript_more_efficiently` " "tutorial." msgstr "" "Mais informações sobre como ficar mais confortável a usar GDScript ou outras " "linguagens de tipagem dinâmica encontram-se no tutorial :ref:" "`doc_gdscript_more_efficiently`." #: ../../docs/about/faq.rst:141 msgid "What were the motivations behind creating GDScript?" msgstr "Quais foram as motivações por trás da criação do GDScript?" #: ../../docs/about/faq.rst:143 #, fuzzy msgid "" "In the early days, the engine used the `Lua `__ " "scripting language. Lua can be fast thanks to LuaJIT, but creating bindings " "to an object-oriented system (by using fallbacks) was complex and slow and " "took an enormous amount of code. After some experiments with `Python " "`__, that also proved difficult to embed." msgstr "" "Em primórdios dele, o motor utilizava a linguagem de script `Lua `__. Lua é rápida, mas criar ligações com um sistema orientado a " "objetos (a usar fallbacks) era complexo, lento e necessitava de uma " "quantidade enorme de código. Após alguns experimentos com `Python `__, ela também demonstrou ser difícil de embutir." #: ../../docs/about/faq.rst:149 msgid "" "The main reasons for creating a custom scripting language for Godot were:" msgstr "" "As principais razões para criação de uma linguagem personalizada para Godot " "foram:" #: ../../docs/about/faq.rst:151 msgid "" "Poor threading support in most script VMs, and Godot uses threads (Lua, " "Python, Squirrel, JavaScript, ActionScript, etc.)." msgstr "" "Não há um bom suporte a threads na maioria das VMs de scripting e o Godot " "utiliza threads (Lua, Python, Squirrel, JavaScript, ActionScript, etc.)." #: ../../docs/about/faq.rst:153 msgid "" "Poor class-extending support in most script VMs, and adapting to the way " "Godot works is highly inefficient (Lua, Python, JavaScript)." msgstr "" "Não há um bom suporte a extensão de classes na maioria das VMs de scripting, " "e adaptá-las para a forma como o Godot funciona é altamente ineficiente " "(Lua, Python, JavaScript)." #: ../../docs/about/faq.rst:155 #, fuzzy msgid "" "Many existing languages have horrible interfaces for binding to C++, " "resulting in a large amount of code, bugs, bottlenecks, and general " "inefficiency (Lua, Python, Squirrel, JavaScript, etc.). We wanted to focus " "on a great engine, not a great number of integrations." msgstr "" "Muitas linguagens existentes têm interfaces terríveis entre si e o C++, a " "resultar numa grande quantidade de código, bugs, gargalos e ineficiência em " "geral (Lua, Python, Squirrel, JavaScript e etc). Queríamos focar em uma " "engine incrível e não numa incrível quantidade de integrações." #: ../../docs/about/faq.rst:159 #, fuzzy msgid "" "No native vector types (Vector3, Transform3D, etc.), resulting in highly " "reduced performance when using custom types (Lua, Python, Squirrel, " "JavaScript, ActionScript, etc.)." msgstr "" "Não existem tipos de vetor nativos (vector3, matrix4, etc.), a resultar em " "uma performance muito reduzida ao usar tipos personalizados (Lua, Python, " "Squirrel, JavaScript, ActionScript, etc.)." #: ../../docs/about/faq.rst:162 msgid "" "Garbage collector results in stalls or unnecessarily large memory usage " "(Lua, Python, JavaScript, ActionScript, etc.)." msgstr "" "Coletor de lixo resulta em atrasos e um grande uso desnecessário de memória " "(Lua, Python, JavaScript, ActionScript, etc.)." #: ../../docs/about/faq.rst:164 #, fuzzy msgid "" "Difficulty integrating with the code editor for providing code completion, " "live editing, etc. (all of them)." msgstr "" "Dificuldade de integração com o editor de código para fornecer " "complementação de código, edição em tempo real e etc. (todas elas). Isso é " "muito bem suportado por GDScript." #: ../../docs/about/faq.rst:167 msgid "GDScript was designed to curtail the issues above, and more." msgstr "O GDScript foi projetado para reduzir os problemas acima e mais." #: ../../docs/about/faq.rst:170 #, fuzzy msgid "What 3D model formats does Godot support?" msgstr "Quais tipos de formatos de modelos 3D são suportados por Godot?" #: ../../docs/about/faq.rst:172 msgid "" "You can find detailed information on supported formats, how to export them " "from your 3D modeling software, and how to import them for Godot in the :ref:" "`doc_importing_3d_scenes` documentation." msgstr "" #: ../../docs/about/faq.rst:177 msgid "" "Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Godot?" msgstr "" "A [insira aqui uma SDK fechada como PhysX, GameWorks, etc.] será suportada " "no Godot?" #: ../../docs/about/faq.rst:179 #, fuzzy msgid "" "The aim of Godot is to create a free and open source MIT-licensed engine " "that is modular and extendable. There are no plans for the core engine " "development community to support any third-party, closed-source/proprietary " "SDKs, as integrating with these would go against Godot's ethos." msgstr "" "O objetivo do Godot é criar um motor gratuito com licença MIT de código " "aberto que seja modular e extensível. Não há planos para que a comunidade de " "desenvolvimento do motor dê suporte a qualquer SDK de terceiros, de código " "fechado/proprietário, já que a integração com estes seriam contra a " "filosofia do Godot." #: ../../docs/about/faq.rst:184 #, fuzzy msgid "" "That said, because Godot is open source and modular, nothing prevents you or " "anyone else interested in adding those libraries as a module and shipping " "your game with them, as either open- or closed-source." msgstr "" "Assim, a ser de código aberto e modular, nada impede que ou qualquer outra " "pessoa interessada adicione essas bibliotecas como um módulo e publique o " "seu jogo com elas, seja em código aberto ou fechado. Tudo é permitido." #: ../../docs/about/faq.rst:188 msgid "" "To see how support for your SDK of choice could still be provided, look at " "the Plugins question below." msgstr "" "Para ver como prover suporte ao seu SDK de preferência, veja a pergunta " "sobre Plugins acima." #: ../../docs/about/faq.rst:191 #, fuzzy msgid "" "If you know of a third-party SDK that is not supported by Godot but that " "offers free and open source integration, consider starting the integration " "work yourself. Godot is not owned by one person; it belongs to the " "community, and it grows along with ambitious community contributors like you." msgstr "" "Se conhece uma SDK de terceiros que não é suportada por Godot mas que " "oferece uma integração livre e de código aberto, considere a começar a " "trabalhar na integração por si mesmo. Godot não é propriedade de uma pessoa; " "ela pertence à comunidade e cresce junto com contribuidores ambiciosos da " "comunidade como você." #: ../../docs/about/faq.rst:197 msgid "How can I extend Godot?" msgstr "Como posso estender Godot?" #: ../../docs/about/faq.rst:199 msgid "" "For extending Godot, like creating Godot Editor plugins or adding support " "for additional languages, take a look at :ref:`EditorPlugins " "` and tool scripts." msgstr "" "Para estender o Godot, como criar plugins para o Editor da Godot ou " "adicionar suporte a novas linguagens, dê uma olhada em :ref:`EditorPlugins " "` e scripts de ferramentas." #: ../../docs/about/faq.rst:203 #, fuzzy msgid "" "Also, see the official blog post on GDExtension, a way to develop native " "extensions for Godot:" msgstr "" "Veja também os posts oficiais no blog (em inglês) sobre os seguintes tópicos:" #: ../../docs/about/faq.rst:205 #, fuzzy msgid "" "`Introducing GDNative's successor, GDExtension `_" msgstr "`GDNative está aqui! `_" #: ../../docs/about/faq.rst:207 #, fuzzy msgid "" "You can also take a look at the GDScript implementation, the Godot modules, " "as well as the `Jolt physics engine integration `__ for Godot. This would be a good starting point to see " "how another third-party library integrates with Godot." msgstr "" "Também pode dar uma olhada na implementação da GDScript, nos módulos em " "Godot e também no `suporte não-oficial a Python `_ para Godot. Isto seria um bom ponto de partida " "para ver como uma ferramenta externa integra-se com Godot." #: ../../docs/about/faq.rst:213 msgid "" "How do I install the Godot editor on my system (for desktop integration)?" msgstr "" "Como instalo o editor Godot no meu sistema (para integração com a area de " "trabalho)?" #: ../../docs/about/faq.rst:215 msgid "" "Since you don't need to actually install Godot on your system to run it, " "this means desktop integration is not performed automatically. There are two " "ways to overcome this. You can install Godot from `Steam `__ (all platforms), `Scoop " "`__ (Windows), `Homebrew `__ (macOS) or " "`Flathub `__ " "(Linux). This will automatically perform the required steps for desktop " "integration." msgstr "" "Como você não precisa realmente instalar o Godot em seu sistema para executá-" "lo, isso significa que a integração da área de trabalho não é realizada " "automaticamente. Existem duas maneiras de superar isso. Você pode instalar " "Godot de `Steam `__ " "(todas as plataformas), `Scoop `__ (Windows), `Homebrew " "`__ (macOS) ou `Flathub `__ (Linux). Isso executará automaticamente as etapas " "necessárias para a integração da área de trabalho." #: ../../docs/about/faq.rst:223 msgid "" "Alternatively, you can manually perform the steps that an installer would do " "for you:" msgstr "" "Como alternativa, você pode executar manualmente as etapas que um instalador " "faria por você:" #: ../../docs/about/faq.rst:228 msgid "" "Move the Godot executable to a stable location (i.e. outside of your " "Downloads folder), so you don't accidentally move it and break the shortcut " "in the future." msgstr "" "Mova o executável Godot para um local estável (ou seja, fora da sua pasta " "Downloads), para que você não o mova acidentalmente e quebre o atalho no " "futuro." #: ../../docs/about/faq.rst:230 msgid "Right-click the Godot executable and choose **Create Shortcut**." msgstr "" "Clique com o botão direito do rato no executável Godot e escolha **Criar " "atalho**." #: ../../docs/about/faq.rst:231 #, fuzzy msgid "" "Move the created shortcut to ``%APPDATA%\\Microsoft\\Windows\\Start " "Menu\\Programs``. This is the user-wide location for shortcuts that will " "appear in the Start menu. You can also pin Godot in the task bar by right-" "clicking the executable and choosing **Pin to Task Bar**." msgstr "" "Mova o atalho criado para ``%LOCALAPPDATA%\\Microsoft\\Windows\\Start " "Menu\\Programs``. Este é o local de todo o usuário para os atalhos que " "aparecerão no menu Iniciar. Você também pode fixar Godot na barra de tarefas " "clicando com o botão direito do rato no executável e escolhendo **Pin to " "Task Bar**." #: ../../docs/about/faq.rst:239 msgid "" "Drag the extracted Godot application to ``/Applications/Godot.app``, then " "drag it to the Dock if desired. Spotlight will be able to find Godot as long " "as it's in ``/Applications`` or ``~/Applications``." msgstr "" "Arraste o aplicativo Godot extraído para ``/Applications/Godot.app``, então " "arraste-o para o Dock se desejar. O Spotlight será capaz de encontrar Godot " "desde que esteja em ``/Applications`` ou ``~/Applications``." #: ../../docs/about/faq.rst:244 #: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:343 #: ../../docs/tutorials/rendering/jitter_stutter.rst:102 #: ../../docs/tutorials/ui/gui_using_fonts.rst:764 msgid "Linux" msgstr "Linux" #: ../../docs/about/faq.rst:246 msgid "" "Move the Godot binary to a stable location (i.e. outside of your Downloads " "folder), so you don't accidentally move it and break the shortcut in the " "future." msgstr "" "Mova o binário Godot para um local estável (ou seja, fora da sua pasta " "Downloads), para que você não o mova acidentalmente e quebre o atalho no " "futuro." #: ../../docs/about/faq.rst:248 msgid "" "Rename and move the Godot binary to a location present in your ``PATH`` " "environment variable. This is typically ``/usr/local/bin/godot`` or ``/usr/" "bin/godot``. Doing this requires administrator privileges, but this also " "allows you to :ref:`run the Godot editor from a terminal " "` by entering ``godot``." msgstr "" "Renomeie e mova o binário Godot para um local presente em sua variável de " "ambiente ``PATH``. Normalmente é ``/usr/local/bin/godot`` ou ``/usr/bin/" "godot``. Fazer isso requer privilégios de administrador, mas também permite " "que você :ref:`execute o editor Godot a partir de um terminal " "` digitando ``godot``." #: ../../docs/about/faq.rst:254 msgid "" "If you cannot move the Godot editor binary to a protected location, you can " "keep the binary somewhere in your home directory, and modify the ``Path=`` " "line in the ``.desktop`` file linked below to contain the full *absolute* " "path to the Godot binary." msgstr "" "Se você não pode mover o binário do editor Godot para um local protegido, " "você pode manter o binário em algum lugar em seu diretório pessoal, e " "modificar a linha ``Path=`` no arquivo ``.desktop`` linkado abaixo para " "conter o * completo caminho absoluto* para o binário Godot." #: ../../docs/about/faq.rst:259 #, fuzzy msgid "" "Save `this .desktop file `__ to ``$HOME/." "local/share/applications/``. If you have administrator privileges, you can " "also save the ``.desktop`` file to ``/usr/local/share/applications`` to make " "the shortcut available for all users." msgstr "" "Salve `este arquivo .desktop `__ em ``$HOME/." "local/ compartilhar/aplicativos/``. Se você tem privilégios de " "administrador, você também pode salvar o arquivo ``.desktop`` em ``/usr/" "local/share/applications`` para tornar o atalho disponível para todos os " "usuários." #: ../../docs/about/faq.rst:265 msgid "Is the Godot editor a portable application?" msgstr "Godot é um aplicativo portátil?" #: ../../docs/about/faq.rst:267 msgid "" "In its default configuration, Godot is *semi-portable*. Its executable can " "run from any location (including non-writable locations) and never requires " "administrator privileges." msgstr "" "Em sua configuração padrão, Godot é *semi-portátil*. Seu executável pode ser " "executado em qualquer local (incluindo locais não graváveis) e nunca requer " "privilégios de administrador." #: ../../docs/about/faq.rst:271 msgid "" "However, configuration files will be written to the user-wide configuration " "or data directory. This is usually a good approach, but this means " "configuration files will not carry across machines if you copy the folder " "containing the Godot executable. See :ref:`doc_data_paths` for more " "information." msgstr "" "No entanto, os arquivos de configuração serão gravados na configuração de " "todo o usuário ou no diretório de dados. Esta é geralmente uma boa " "abordagem, mas isso significa que os arquivos de configuração não serão " "transportados pelas máquinas se você copiar a pasta que contém o executável " "Godot. Veja :ref:`doc_data_paths` para mais informações." #: ../../docs/about/faq.rst:276 msgid "" "If *true* portable operation is desired (e.g. for use on an USB stick), " "follow the steps in :ref:`doc_data_paths_self_contained_mode`." msgstr "" "Se a operação portátil *true* for desejada (por exemplo, para uso em um " "pendrive), siga as etapas em :ref:`doc_data_paths_self_contained_mode`." #: ../../docs/about/faq.rst:280 msgid "Why does Godot use Vulkan or OpenGL instead of Direct3D?" msgstr "Porquê a Godot usa Vulkan Ou OpenGL ao invés do Direct3D?" #: ../../docs/about/faq.rst:282 #, fuzzy msgid "" "Godot aims for cross-platform compatibility and open standards first and " "foremost. OpenGL and Vulkan are the technologies that are both open and " "available on (nearly) all platforms. Thanks to this design decision, a " "project developed with Godot on Windows will run out of the box on Linux, " "macOS, and more." msgstr "" "O Godot busca a compatibilidade entre plataformas e padrões livres antes de " "tudo! O OpenGL e O Vulkan são tecnologias livres e disponíveis em (quase) " "todas as plataformas. Graças a essa decisão de projeto, um projeto " "desenvolvido com Godot no Windows funcionará sem problemas no Linux, macOS e " "mais." #: ../../docs/about/faq.rst:288 msgid "" "Since Godot only has a few people working on its renderer, we would prefer " "having fewer rendering backends to maintain. On top of that, using a single " "API on all platforms allows for greater consistency with fewer platform-" "specific issues." msgstr "" "Como há poucas pessoas a trabalhar no renderizador do Godot, preferimos ter " "menos renderizadores backend para manter. Além disso, usar uma única API em " "todas as plataformas nos permite uma melhor consistência com menos problemas " "característicos de cada plataforma." #: ../../docs/about/faq.rst:293 #, fuzzy msgid "" "In the long term, we may develop a Direct3D 12 renderer for Godot (mainly " "for Xbox), but Vulkan and OpenGL will remain the default rendering backends " "on all platforms, including Windows." msgstr "" "A longo prazo, talvez desenvolveremos um renderizador Direct3D 12 para o " "Godot (principalmente para os propósitos do Xbox), porém Vulkan e OpenGL " "continuarão a ser o renderizador padrão em todas as plataformas, incluindo o " "Windows." #: ../../docs/about/faq.rst:298 msgid "Why does Godot aim to keep its core feature set small?" msgstr "" "Por quê Godot pretende manter a quantidade das funcionalidades base dele " "baixa?" #: ../../docs/about/faq.rst:300 #, fuzzy msgid "" "Godot intentionally does not include features that can be implemented by add-" "ons unless they are used very often. One example of something not used often " "is advanced artificial intelligence functionality." msgstr "" "Godot não inclui funcionalidades que podem ser implementadas por " "[i]complementos[/i] intencionalmente, exceto se sejam usadas muito " "frequentemente. Um exemplo disso seria uma função de inteligência artificial " "avançada." #: ../../docs/about/faq.rst:304 msgid "There are several reasons for this:" msgstr "Há algumas razões para isto:" #: ../../docs/about/faq.rst:306 #, fuzzy msgid "" "**Code maintenance and surface for bugs.** Every time we accept new code in " "the Godot repository, existing contributors often take the responsibility of " "maintaining it. Some contributors don't always stick around after getting " "their code merged, which can make it difficult for us to maintain the code " "in question. This can lead to poorly maintained features with bugs that are " "never fixed. On top of that, the \"API surface\" that needs to be tested and " "checked for regressions keeps increasing over time." msgstr "" "**Manutenção de código e \"superfície\" para bugs** Toda vez que aceitamos " "um novo código no repositório do [i]Godot[/i], contribuidores existentes " "costumam se responsabilizarem pela manutenção. Alguns contribuidores não " "continuam a trabalhar no código após ter o trabalho deles mesclado, o que " "pode complicar a manutenção desse código. Isso pode levar a funcionalidades " "com bugs que nunca são corrigidos. Além disso a \"superfície da API\" que " "precisa ser testada e verificada continua a crescer com o decorrer do tempo." #: ../../docs/about/faq.rst:314 msgid "" "**Ease of contribution.** By keeping the codebase small and tidy, it can " "remain fast and easy to compile from source. This makes it easier for new " "contributors to get started with Godot, without requiring them to purchase " "high-end hardware." msgstr "" "**Facilidade de contribuição.** Mantendo a base de código pequena e limpa, a " "tarefa de compilar o fonte continuará simples e rápida. Isso deixa mais " "fácil para novos contribuidores começarem a trabalhar com a Godot, sem a " "necessidade dos mesmos comprarem máquinas mais potentes." #: ../../docs/about/faq.rst:319 msgid "" "**Keeping the binary size small for the editor.** Not everyone has a fast " "Internet connection. Ensuring that everyone can download the Godot editor, " "extract it and run it in less than 5 minutes makes Godot more accessible to " "developers in all countries." msgstr "" "**Manter o tamanho binário pequeno para o editor.** Nem todos têm uma " "conexão rápida à Internet. Ter certeza de que todos podem descarregar a " "Godot, extraí-la e rodá-la em menos de 5 minutos faz dele mais acessível " "para programadores em todos os países." #: ../../docs/about/faq.rst:324 #, fuzzy msgid "" "**Keeping the binary size small for export templates.** This directly " "impacts the size of projects exported with Godot. On mobile and web " "platforms, keeping file sizes low is important to ensure fast installation " "and loading on underpowered devices. Again, there are many countries where " "high-speed Internet is not readily available. To add to this, strict data " "usage caps are often in effect in those countries." msgstr "" "**Manter o tamanho do binário pequeno para \"Templates\" de exportação** " "Isso impacta diretamente no tamanho dos projetos exportados com a Godot. Em " "plataformas móveis e na Web, manter os tamanhos dos ficheiros pequenos é " "essencial para assegurar instalações rápidas e baixos tempos de carregamento " "em aparelhos de baixa performance. E, novamente, existem muitos países onde " "a Internet de alta velocidade não está disponível para todos. Além disso, " "limites de banda costumam estar em efeito nesses países." #: ../../docs/about/faq.rst:331 msgid "" "For all the reasons above, we have to be selective of what we can accept as " "core functionality in Godot. This is why we are aiming to move some core " "functionality to officially supported add-ons in future versions of Godot. " "In terms of binary size, this also has the advantage of making you pay only " "for what you actually use in your project. (In the meantime, you can :ref:" "`compile custom export templates with unused features disabled " "` to optimize the distribution size of your " "project.)" msgstr "" "Por todas as razões acima, temos que ser seletivos no que podemos aceitar " "como funcionalidade base no Godot. Esse é o motivo pelo qual pretendemos " "mover algumas funcionalidades base para add-ons oficiais em versões futuras " "do Godot. Em termos de tamanho do binário, isso também tem a vantagem de " "fazer com que \"pague\" somente pelo que usa no seu projeto. (Enquanto isso, " "pode :ref:`compilar modelos de exportação personalizados com certas " "funcionalidades desativadas ` para otimizar o " "tamanho do seu projeto.)" #: ../../docs/about/faq.rst:340 msgid "" "How should assets be created to handle multiple resolutions and aspect " "ratios?" msgstr "" "Como devem ser criados os assets para lidar com múltiplas resoluções ou " "proporções de ecrã?" #: ../../docs/about/faq.rst:342 msgid "" "This question pops up often and it's probably thanks to the misunderstanding " "created by Apple when they originally doubled the resolution of their " "devices. It made people think that having the same assets in different " "resolutions was a good idea, so many continued towards that path. That " "originally worked to a point and only for Apple devices, but then several " "Android and Apple devices with different resolutions and aspect ratios were " "created, with a very wide range of sizes and DPIs." msgstr "" "Essa pergunta aparece com frequência e provavelmente por conta do " "desentendimento criado pela Apple quando eles dobraram a resolução dos " "aparelhos deles. Isso fez as pessoas pensarem que ter os mesmos conteúdos em " "diferentes resoluções era uma boa ideia, então muitos continuaram nesse " "caminho. Aquilo funcionou até certo ponto e só em aparelhos Apple, mas então " "vários aparelhos Apple e Android com diferentes resoluções e aspectos foram " "criados e com uma variedade enorme de tamanhos e DPIs." #: ../../docs/about/faq.rst:350 #, fuzzy msgid "" "The most common and proper way to achieve this is to, instead, use a single " "base resolution for the game and only handle different screen aspect ratios. " "This is mostly needed for 2D, as in 3D, it's just a matter of camera " "vertical or horizontal FOV." msgstr "" "A forma mais comum e apropriada de fazer isso é, na verdade, usar uma " "resolução base única para o jogo e apenas lidar com as diferentes razões de " "aspeto. Isso é mais necessário para 2D, pois em 3D é só uma questão de " "ajuste do campo de visão (XFov e YFov) da câmara." #: ../../docs/about/faq.rst:355 #, fuzzy msgid "" "Choose a single base resolution for your game. Even if there are devices " "that go up to 1440p and devices that go down to 400p, regular hardware " "scaling in your device will take care of this at little or no performance " "cost. The most common choices are either near 1080p (1920x1080) or 720p " "(1280x720). Keep in mind the higher the resolution, the larger your assets, " "the more memory they will take and the longer the time it will take for " "loading." msgstr "" "Escolha uma resolução base para o seu jogo. Mesmo que existam aparelhos que " "vão até 2k e outros que desçam até os 400p, o redimensionamento por hardware " "normal no seu aparelho vai tomar conta disso a pouco ou nenhum custo de " "desempenho. As escolhas mais comuns são próximas a 1080p (1920x1080) ou 720p " "(1280x720). Tenha em mente que, quanto maior a resolução, maiores são os " "conteúdos e mais memória eles vão ocupar e mais tempo levará para carregar." #: ../../docs/about/faq.rst:363 #, fuzzy msgid "" "Use the stretch options in Godot; canvas items stretching while keeping " "aspect ratios works best. Check the :ref:`doc_multiple_resolutions` tutorial " "on how to achieve this." msgstr "" "Use as opções de esticamento no Godot, a esticar em 2D enquanto mantém o " "aspeto (proporção) funciona melhor. Veja o tutorial :ref:" "`doc_multiple_resolutions` sobre como fazer isso." #: ../../docs/about/faq.rst:367 msgid "" "Determine a minimum resolution and then decide if you want your game to " "stretch vertically or horizontally for different aspect ratios, or if there " "is one aspect ratio and you want black bars to appear instead. This is also " "explained in :ref:`doc_multiple_resolutions`." msgstr "" "Determine uma resolução mínima e aí decida se quer que o seu jogo estique " "verticalmente ou horizontalmente para diferentes razões de aspeto, ou se tem " "uma mínima e quer que apareçam barras pretas em vez de esticar. Isso também " "é explicado no passo anterior." #: ../../docs/about/faq.rst:372 msgid "" "For user interfaces, use the :ref:`anchoring ` to " "determine where controls should stay and move. If UIs are more complex, " "consider learning about Containers." msgstr "" "Para interfaces de utilizador, utilize a :ref:`ancoragem " "` para determinar onde os controles devem estar e se " "mover. Se as interfaces são mais complexas, considere aprender sobre " "Containers." #: ../../docs/about/faq.rst:376 msgid "And that's it! Your game should work in multiple resolutions." msgstr "E é tudo! O seu jogo deve funcionar em várias resoluções." #: ../../docs/about/faq.rst:379 msgid "When is the next release of Godot out?" msgstr "Quando será o próximo lançamento?" #: ../../docs/about/faq.rst:381 msgid "" "When it's ready! See :ref:`doc_release_policy_when_is_next_release_out` for " "more information." msgstr "" "Veja :ref:`doc_release_policy_when_is_next_release_out` para mais " "informações." #: ../../docs/about/faq.rst:385 #, fuzzy msgid "Which Godot version should I use for a new project?" msgstr "Inicie Godot e crie um novo projeto." #: ../../docs/about/faq.rst:387 msgid "" "We recommend using Godot 4.x for new projects, but depending on the feature " "set you need, it may be better to use 3.x instead. See :ref:" "`doc_release_policy_which_version_should_i_use` for more information." msgstr "" #: ../../docs/about/faq.rst:392 msgid "Should I upgrade my project to use new Godot versions?" msgstr "" #: ../../docs/about/faq.rst:394 msgid "" "Some new versions are safer to upgrade to than others. In general, whether " "you should upgrade depends on your project's circumstances. See :ref:" "`doc_release_policy_should_i_upgrade_my_project` for more information." msgstr "" #: ../../docs/about/faq.rst:399 msgid "I would like to contribute! How can I get started?" msgstr "Gostaria de contribuir! Como posso começar?" #: ../../docs/about/faq.rst:401 #, fuzzy msgid "" "Awesome! As an open source project, Godot thrives off of the innovation and " "the ambition of developers like you." msgstr "" "Impressionante! Como um projeto de código aberto, Godot prospera da inovação " "e ambição de programadores como você." #: ../../docs/about/faq.rst:404 msgid "" "The best way to start contributing to Godot is by using it and reporting any " "`issues `_ that you might " "experience. A good bug report with clear reproduction steps helps your " "fellow contributors fix bugs quickly and efficiently. You can also report " "issues you find in the `online documentation `_." msgstr "" #: ../../docs/about/faq.rst:410 msgid "" "If you feel ready to submit your first PR, pick any issue that resonates " "with you from one of the links above and try your hand at fixing it. You " "will need to learn how to compile the engine from sources, or how to build " "the documentation. You also need to get familiar with Git, a version control " "system that Godot developers use." msgstr "" #: ../../docs/about/faq.rst:415 msgid "" "We explain how to work with the engine source, how to edit the " "documentation, and what other ways to contribute are there in our :ref:" "`documentation for contributors `." msgstr "" #: ../../docs/about/faq.rst:419 msgid "I have a great idea for Godot. How can I share it?" msgstr "Tenho uma grande ideia para Godot. Como posso compartilhar essa ideia?" #: ../../docs/about/faq.rst:421 msgid "" "We are always looking for suggestions about how to improve the engine. User " "feedback is the main driving force behind our decision-making process, and " "limitations that you might face while working on your project are a great " "data point for us when considering engine enhancements." msgstr "" #: ../../docs/about/faq.rst:426 msgid "" "If you experience a usability problem or are missing a feature in the " "current version of Godot, start by discussing it with our `community " "`_. There may be other, perhaps better, " "ways to achieve the desired result that community members could suggest. And " "you can learn if other users experience the same issue, and figure out a " "good solution together." msgstr "" #: ../../docs/about/faq.rst:432 msgid "" "If you come up with a well-defined idea for the engine, feel free to open a " "`proposal issue `_. " "Try to be specific and concrete while describing your problem and your " "proposed solution — only actionable proposals can be considered. It is not " "required, but if you want to implement it yourself, that's always " "appreciated!" msgstr "" #: ../../docs/about/faq.rst:438 msgid "" "If you only have a general idea without specific details, you can open a " "`proposal discussion `_. These can be anything you want, and allow for a free-form " "discussion in search of a solution. Once you find one, a proposal issue can " "be opened." msgstr "" #: ../../docs/about/faq.rst:443 msgid "" "Please, read the `readme `_ document before creating a proposal to learn more " "about the process." msgstr "" #: ../../docs/about/faq.rst:449 msgid "Is it possible to use Godot to create non-game applications?" msgstr "É possível utilizar a Godot para criar aplicações que não sejam jogos?" #: ../../docs/about/faq.rst:451 msgid "" "Yes! Godot features an extensive built-in UI system, and its small " "distribution size can make it a suitable alternative to frameworks like " "Electron or Qt." msgstr "" "Sim! O tamanho de distribuição pequeno do Godot, juntamente com o seu " "sistema de UI built-in, pode fazê-lo de uma alternativa para plataformas " "como Electron ou Qt." #: ../../docs/about/faq.rst:454 msgid "" "When creating a non-game application, make sure to enable :ref:`low-" "processor mode ` in the Project Settings to decrease CPU and GPU usage." msgstr "" "Quando criar uma aplicação que não seja um jogo, certifique-se de ativar :" "ref:`low-processor mode ` nas Configurações do Projeto para diminuir o uso da CPU " "e GPU." #: ../../docs/about/faq.rst:458 msgid "" "Check out `Material Maker `__ " "and `Pixelorama `__ for " "examples of open source applications made with Godot." msgstr "" "Confira `Material Maker `__ e " "`Pixelorama `__ para " "exemplos de aplicações de código aberto desenvolvidos com o Godot." #: ../../docs/about/faq.rst:465 msgid "Is it possible to use Godot as a library?" msgstr "É possível utilizar a Godot como uma biblioteca?" #: ../../docs/about/faq.rst:467 msgid "" "Godot is meant to be used with its editor. We recommend you give it a try, " "as it will most likely save you time in the long term. There are no plans to " "make Godot usable as a library, as it would make the rest of the engine more " "convoluted and difficult to use for casual users." msgstr "" "Godot é desenvolvida para ser usada com a interface de edição dela. " "Recomendamos que experimente, pois provavelmente economizará tempo a longo " "prazo. Não há planos de tornar Godot utilizável como uma biblioteca, pois " "isso tornaria o restante do mecanismo mais complicado e difícil de usar para " "utilizadores casuais." #: ../../docs/about/faq.rst:472 msgid "" "If you want to use a rendering library, look into using an established " "rendering engine instead. Keep in mind rendering engines usually have " "smaller communities compared to Godot. This will make it more difficult to " "find answers to your questions." msgstr "" "Se deseja usar uma biblioteca de renderização, procure usar um mecanismo de " "renderização estabelecido. Lembre-se de que os mecanismos de renderização " "geralmente têm comunidades menores em comparação com Godot. Isso tornará " "mais difícil encontrar respostas para as suas perguntas." #: ../../docs/about/faq.rst:478 msgid "What user interface toolkit does Godot use?" msgstr "Qual kit de ferramentas de interface do utilizador o Godot usa?" #: ../../docs/about/faq.rst:480 msgid "" "Godot does not use a standard :abbr:`GUI (Graphical User Interface)` toolkit " "like GTK, Qt or wxWidgets. Instead, Godot uses its own user interface " "toolkit, rendered using OpenGL ES or Vulkan. This toolkit is exposed in the " "form of Control nodes, which are used to render the editor (which is written " "in C++). These Control nodes can also be used in projects from any scripting " "language supported by Godot." msgstr "" "O Godot não usa um kit de ferramentas :abbr:`GUI (Interface Gráfica de " "Utilizador)` padrão como GTK, Qt ou wxWidgets. Em vez disso, Godot usa o " "próprio kit de ferramentas de interface de utilizador, renderizado usando " "OpenGL ES ou Vulkan. Este kit de ferramentas é exposto na forma de nós " "Control, que são usados para renderizar o editor (que é escrito em C++). " "Estes nós Control também podem ser usados em projetos de qualquer linguagem " "de scripting suportada pelo Godot." #: ../../docs/about/faq.rst:487 msgid "" "This custom toolkit makes it possible to benefit from hardware acceleration " "and have a consistent appearance across all platforms. On top of that, it " "doesn't have to deal with the LGPL licensing caveats that come with GTK or " "Qt. Lastly, this means Godot is \"eating its own dog food\" since the editor " "itself is one of the most complex users of Godot's UI system." msgstr "" "Este kit de ferramentas personalizado possibilita o benefício da aceleração " "de hardware e tem uma aparência consistente em todas as plataformas. Além " "disso, ele não precisa lidar com as ressalvas de licenciamento LGPL que vêm " "com GTK ou Qt. Por último, isso significa que o Godot \"come a própria " "comida de cão\", já que o próprio editor é um dos utilizadores mais " "complexos do sistema de UI do Godot." #: ../../docs/about/faq.rst:493 msgid "" "This custom UI toolkit :ref:`can't be used as a library " "`, but you can still :ref:`use Godot to create " "non-game applications by using the editor `." msgstr "" "Este kit de ferramentas de UI customizado :ref:`não pode ser usado como uma " "biblioteca `, mas ainda pode :ref:`usar o " "Godot para criar aplicações não-jogos usando o editor " "`." #: ../../docs/about/faq.rst:500 #, fuzzy msgid "Why does Godot use the SCons build system?" msgstr "Por que Godot não usa exceções?" #: ../../docs/about/faq.rst:502 #, fuzzy msgid "" "Godot uses the `SCons `__ build system. There are no " "plans to switch to a different build system in the near future. There are " "many reasons why we have chosen SCons over other alternatives. For example:" msgstr "" "Godot usa `SCons `__ para construir. Amamos-lo, não " "iremos trocá-lo por mais nada. Nem mesmo temos certeza se outros sistemas de " "construção estão à altura da tarefa de construir o Godot. Constantemente " "recebemos solicitações para mover o sistema de compilação para CMake ou " "Visual Studio, mas isto não vai acontecer. Existem muitos motivos pelos " "quais escolhemos SCons em vez de outras alternativas, por exemplo:" #: ../../docs/about/faq.rst:506 msgid "" "Godot can be compiled for a dozen different platforms: all PC platforms, all " "mobile platforms, many consoles, and WebAssembly." msgstr "" "Godot pode ser compilado para uma dúzia de plataformas diferentes: todas as " "plataformas de PC, todas as plataformas móveis, muitos consoles e " "WebAssembly." #: ../../docs/about/faq.rst:508 msgid "" "Developers often need to compile for several of the platforms **at the same " "time**, or even different targets of the same platform. They can't afford " "reconfiguring and rebuilding the project each time. SCons can do this with " "no sweat, without breaking the builds." msgstr "" "Os programadores geralmente precisam compilar para várias plataformas **ao " "mesmo tempo**, ou até mesmo destinos diferentes da mesma plataforma. Eles " "não podem se dar ao luxo de reconfigurar e reconstruir o projeto todas as " "vezes. SCons pode fazer isso sem suor, sem quebrar as compilações." #: ../../docs/about/faq.rst:512 msgid "" "SCons will *never* break a build no matter how many changes, configurations, " "additions, removals etc." msgstr "" #: ../../docs/about/faq.rst:514 msgid "" "Godot's build process is not simple. Several files are generated by code " "(binders), others are parsed (shaders), and others need to offer " "customization (:ref:`modules `). This requires " "complex logic which is easier to write in an actual programming language " "(like Python) rather than using a mostly macro-based language only meant for " "building." msgstr "" #: ../../docs/about/faq.rst:519 msgid "" "Godot build process makes heavy use of cross-compiling tools. Each platform " "has a specific detection process, and all these must be handled as specific " "cases with special code written for each." msgstr "" #: ../../docs/about/faq.rst:523 msgid "" "Please try to keep an open mind and get at least a little familiar with " "SCons if you are planning to build Godot yourself." msgstr "" #: ../../docs/about/faq.rst:529 msgid "Why does Godot not use STL (Standard Template Library)?" msgstr "" "Por que Godot não usa STL (Standard Template Library, ou Biblioteca de " "Modelos Padrão)?" #: ../../docs/about/faq.rst:531 #, fuzzy msgid "" "Like many other libraries (Qt as an example), Godot does not make use of STL " "(with a few exceptions such as threading primitives). We believe STL is a " "great general-purpose library, but we had special requirements for Godot." msgstr "" "Como muitas outras bibliotecas (Qt como exemplo), Godot não utiliza STL. " "Acreditamos que o STL é uma excelente biblioteca de uso geral, mas tínhamos " "requisitos especiais para Godot." #: ../../docs/about/faq.rst:535 msgid "" "STL templates create very large symbols, which results in huge debug " "binaries. We use few templates with very short names instead." msgstr "" "Os modelos STL criam símbolos muito grandes, o que resulta em enormes " "binários de depuração. Em vez disso, usamos alguns modelos com nomes bem " "curtos." #: ../../docs/about/faq.rst:537 msgid "" "Most of our containers cater to special needs, like Vector, which uses copy " "on write and we use to pass data around, or the RID system, which requires " "O(1) access time for performance. Likewise, our hash map implementations are " "designed to integrate seamlessly with internal engine types." msgstr "" "A maioria de nossos contentores atende a necessidades especiais, como " "Vector, que usa cópia na gravação e usamos para transmitir dados, ou o " "sistema RID, que requer tempo de acesso O(1) para desempenho. Da mesma " "forma, nossas implementações de hash map foram projetadas para integrar-se " "perfeitamente aos tipos de mecanismo interno." #: ../../docs/about/faq.rst:541 msgid "" "Our containers have memory tracking built-in, which helps better track " "memory usage." msgstr "" "Nossos contentores possuem rastreamento de memória embutido, o que ajuda a " "rastrear melhor o uso da memória." #: ../../docs/about/faq.rst:542 msgid "" "For large arrays, we use pooled memory, which can be mapped to either a " "preallocated buffer or virtual memory." msgstr "" "Para matrizes (arrays) grandes, usamos memória em pool, que pode ser mapeada " "para um buffer previamente alocado ou para uma memória virtual." #: ../../docs/about/faq.rst:544 msgid "" "We use our custom String type, as the one provided by STL is too basic and " "lacks proper internationalization support." msgstr "" "Usamos o nosso tipo de String personalizado, pois o fornecido pela STL é " "muito básico e carece de suporte adequado à internacionalização." #: ../../docs/about/faq.rst:548 msgid "Why does Godot not use exceptions?" msgstr "Por que Godot não usa exceções?" #: ../../docs/about/faq.rst:550 msgid "" "We believe games should not crash, no matter what. If an unexpected " "situation happens, Godot will print an error (which can be traced even to " "script), but then it will try to recover as gracefully as possible and keep " "going." msgstr "" "Acreditamos que os jogos não devem falhar, não importa o quê. Se ocorrer uma " "situação inesperada, o Godot imprimirá um erro (que pode ser rastreado até o " "script), mas tentará se recuperar o mais graciosamente possível e continuar." #: ../../docs/about/faq.rst:555 #, fuzzy msgid "" "Additionally, exceptions significantly increase the binary size for the " "executable and result in increased compile times." msgstr "" "Além disso, as exceções aumentam significativamente o tamanho do binário do " "executável." #: ../../docs/about/faq.rst:559 msgid "Does Godot use an ECS (Entity Component System)?" msgstr "" #: ../../docs/about/faq.rst:561 msgid "" "Godot does **not** use an ECS and relies on inheritance instead. While there " "is no universally better approach, we found that using an inheritance-based " "approach resulted in better usability while still being fast enough for most " "use cases." msgstr "" #: ../../docs/about/faq.rst:565 msgid "" "That said, nothing prevents you from making use of composition in your " "project by creating child Nodes with individual scripts. These nodes can " "then be added and removed at run-time to dynamically add and remove " "behaviors." msgstr "" #: ../../docs/about/faq.rst:569 msgid "" "More information about Godot's design choices can be found in `this article " "`__." msgstr "" #: ../../docs/about/faq.rst:573 #, fuzzy msgid "Why does Godot not force users to implement DOD (Data-Oriented Design)?" msgstr "" "Por que Godot não força os utilizadores a implementar o DoD (Data oriented " "Design, ou Design orientado a Dados)?" #: ../../docs/about/faq.rst:575 #, fuzzy msgid "" "While Godot internally attempts to use cache coherency as much as possible, " "we believe users don't need to be forced to use DOD practices." msgstr "" "Enquanto Godot internamente, para muitas das tarefas de alto desempenho, " "tente usar a coerência do cache da melhor maneira possível, acreditamos que " "a maioria dos utilizadores não precisa realmente ser forçado a usar práticas " "de DoD." #: ../../docs/about/faq.rst:578 #, fuzzy msgid "" "DOD is mostly a cache coherency optimization that can only provide " "significant performance improvements when dealing with dozens of thousands " "of objects which are processed every frame with little modification. That " "is, if you are moving a few hundred sprites or enemies per frame, DOD won't " "result in a meaningful improvement in performance. In such a case, you " "should consider a different approach to optimization." msgstr "" "O DoD é principalmente uma otimização da coerência do cache que só pode " "obter melhorias significativas de desempenho ao lidar com dezenas de " "milhares de objetos (que são processados a cada quadro com poucas " "modificações). Por exemplo, se estiver a mover algumas centenas de sprites " "ou inimigos por quadro, o DoD não o ajudará e você deverá considerar uma " "abordagem diferente para a otimização." #: ../../docs/about/faq.rst:585 msgid "" "The vast majority of games do not need this and Godot provides handy helpers " "to do the job for most cases when you do." msgstr "" "A grande maioria dos jogos não precisa disso e Godot fornece ajudantes úteis " "para fazer o trabalho na maioria dos casos." #: ../../docs/about/faq.rst:588 #, fuzzy msgid "" "If a game needs to process such a large amount of objects, our " "recommendation is to use C++ and GDExtensions for performance-heavy tasks " "and GDScript (or C#) for the rest of the game." msgstr "" "Se for necessário um jogo que realmente precise processar uma quantidade tão " "grande de objetos, nossa recomendação é usar C++ e GDNative para as partes " "de alto desempenho e GDScript (ou C#) para o restante do jogo." #: ../../docs/about/faq.rst:593 msgid "How can I support Godot development or contribute?" msgstr "Como posso ajudar o desenvolvimento do Godot ou contribuir?" #: ../../docs/about/faq.rst:595 msgid "See :ref:`doc_ways_to_contribute`." msgstr "Veja :ref:`doc_ways_to_contribute`." #: ../../docs/about/faq.rst:598 msgid "Who is working on Godot? How can I contact you?" msgstr "Quem está a trabalhar no Godot? Como entro em contato convosco?" #: ../../docs/about/faq.rst:600 msgid "" "See the corresponding page on the `Godot website `_." msgstr "" "Veja a página correspondente na `página do Godot `_." #: ../../docs/about/troubleshooting.rst:4 #: ../../docs/tutorials/3d/occlusion_culling.rst:261 #: ../../docs/tutorials/3d/resolution_scaling.rst:237 #: ../../docs/tutorials/export/one-click_deploy.rst:65 #: ../../docs/tutorials/inputs/controllers_gamepads_joysticks.rst:281 #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:246 #: ../../docs/contributing/development/compiling/compiling_for_android.rst:253 #: ../../docs/contributing/development/compiling/compiling_with_script_encryption_key.rst:83 #: ../../docs/contributing/development/editor/creating_icons.rst:92 msgid "Troubleshooting" msgstr "Solução de problemas" #: ../../docs/about/troubleshooting.rst:6 msgid "" "This page lists common issues encountered when using Godot and possible " "solutions." msgstr "" "Esta página lista problemas comuns ao usar a Godot e possíveis soluções." #: ../../docs/about/troubleshooting.rst:10 #, fuzzy msgid "" "See :ref:`doc_using_the_web_editor` for caveats specific to the Web version " "of the Godot editor." msgstr "" "Veja :ref:`doc_using_the_web_editor` para detalhes importantes específicos à " "versão HTML5 do editor da Godot." #: ../../docs/about/troubleshooting.rst:14 msgid "" "The editor runs slowly and uses all my CPU and GPU resources, making my " "computer noisy" msgstr "" #: ../../docs/about/troubleshooting.rst:16 msgid "" "This is a known issue, especially on macOS since most Macs have Retina " "displays. Due to Retina displays' higher pixel density, everything has to be " "rendered at a higher resolution. This increases the load on the GPU and " "decreases perceived performance." msgstr "" #: ../../docs/about/troubleshooting.rst:21 #, fuzzy msgid "There are several ways to improve performance and battery life:" msgstr "Existem duas maneiras de gravar recursos. Pode ser:" #: ../../docs/about/troubleshooting.rst:23 msgid "" "In 3D, click the **Perspective** button in the top left corner and enable " "**Half Resolution**. The 3D viewport will now be rendered at half " "resolution, which can be up to 4 times faster." msgstr "" #: ../../docs/about/troubleshooting.rst:26 msgid "" "Open the Editor Settings and increase the value of **Low Processor Mode " "Sleep (µsec)** to ``33000`` (30 FPS). This value determines the amount of " "*microseconds* between frames to render. Higher values will make the editor " "feel less reactive but will help decrease CPU and GPU usage significantly." msgstr "" #: ../../docs/about/troubleshooting.rst:30 msgid "" "If you have a node that causes the editor to redraw continuously (such as " "particles), hide it and show it using a script in the ``_ready()`` method. " "This way, it will be hidden in the editor but will still be visible in the " "running project." msgstr "" #: ../../docs/about/troubleshooting.rst:36 msgid "" "The editor stutters and flickers on my variable refresh rate monitor (G-Sync/" "FreeSync)" msgstr "" #: ../../docs/about/troubleshooting.rst:38 msgid "" "This is a `known issue `__. Variable refresh rate monitors need to adjust their gamma " "curves continuously to emit a consistent amount of light over time. This can " "cause flicker to appear in dark areas of the image when the refresh rate " "varies a lot, which occurs as the Godot editor only redraws when necessary." msgstr "" #: ../../docs/about/troubleshooting.rst:44 #, fuzzy msgid "There are several workarounds for this:" msgstr "Há algumas razões para isto:" #: ../../docs/about/troubleshooting.rst:46 msgid "" "Enable **Interface > Editor > Update Continuously** in the Editor Settings. " "Keep in mind this will increase power usage and heat/noise emissions since " "the editor will now be rendering constantly, even if nothing has changed on " "screen. To alleviate this, you can increase **Low Processor Mode Sleep " "(µsec)** to ``33000`` (30 FPS) in the Editor Settings. This value determines " "the amount of *microseconds* between frames to render. Higher values will " "make the editor feel less reactive but will help decrease CPU and GPU usage " "significantly." msgstr "" #: ../../docs/about/troubleshooting.rst:53 msgid "" "Alternatively, disable variable refresh rate on your monitor or in the " "graphics driver." msgstr "" #: ../../docs/about/troubleshooting.rst:54 msgid "" "VRR flicker can be reduced on some displays using the **VRR Control** or " "**Fine Tune Dark Areas** options in your monitor's OSD. These options may " "increase input lag or result in crushed blacks." msgstr "" #: ../../docs/about/troubleshooting.rst:57 msgid "" "If using an OLED display, use the **Black (OLED)** editor theme preset in " "the Editor Settings. This hides VRR flicker thanks to OLED's perfect black " "levels." msgstr "" #: ../../docs/about/troubleshooting.rst:61 #, fuzzy msgid "The editor or project takes a very long time to start" msgstr "O editor ou projeto leva muito tempo para iniciar." #: ../../docs/about/troubleshooting.rst:63 msgid "" "When using one of the Vulkan-based renderers (Forward+ or Forward Mobile), " "the first startup is expected to be relatively long. This is because shaders " "need to be compiled before they can be cached. Shaders also need to be " "cached again after updating Godot, after updating graphics drivers or after " "switching graphics cards." msgstr "" #: ../../docs/about/troubleshooting.rst:69 #, fuzzy msgid "" "If the issue persists after the first startup, this is a `known bug `__ on Windows when you have " "specific USB peripherals connected. In particular, Corsair's iCUE software " "seems to cause this bug. Try updating your USB peripherals' drivers to their " "latest version. If the bug persists, you need to disconnect the specific " "peripheral before opening the editor. You can then connect the peripheral " "again." msgstr "" "Esse é um `bug conhecido `__ no Windows quando tem periféricos USB específicos " "conectados. Em particular, o software iCUE da Corsair parece causar o bug. " "Tente atualizar os drivers dos seus periféricos USB para a última versão. Se " "o bug persistir, precisa desconectar os periféricos com defeito antes de " "abrir o editor. Após isso, pode conectá-lo novamente." #: ../../docs/about/troubleshooting.rst:77 msgid "" "Firewall software such as Portmaster may also cause the debug port to be " "blocked. This causes the project to take a long time to start, while being " "unable to use debugging features in the editor (such as viewing ``print()`` " "output). You can work this around by changing the debug port used by the " "project in the Editor Settings (**Network > Debug > Remote Port**). The " "default is ``6007``; try another value that is greater than ``1024``, such " "as ``7007``." msgstr "" #: ../../docs/about/troubleshooting.rst:85 #, fuzzy msgid "The Godot editor appears frozen after clicking the system console" msgstr "O editor do Godot parece congelar após clicar no console do sistema." #: ../../docs/about/troubleshooting.rst:87 msgid "" "When running Godot on Windows with the system console enabled, you can " "accidentally enable *selection mode* by clicking inside the command window. " "This Windows-specific behavior pauses the application to let you select text " "inside the system console. Godot cannot override this system-specific " "behavior." msgstr "" "Ao executar o Godot no Windows com o console do sistema aberto, pode " "acidentalmente ativar o *modo de seleção* a clicar dentro da janela de " "comando. Esse comportamento específico do Windows pausa a aplicação para que " "selecione o texto dentro do console do sistema. O Godot não pode ignorar " "esse comportamento específico do sistema." #: ../../docs/about/troubleshooting.rst:92 msgid "" "To solve this, select the system console window and press Enter to leave " "selection mode." msgstr "" "Para resolver isto, selecione a janela do console do sistema e pressione " "Enter para sair do modo de seleção." #: ../../docs/about/troubleshooting.rst:96 msgid "" "The Godot editor's macOS dock icon gets duplicated every time it is manually " "moved" msgstr "" #: ../../docs/about/troubleshooting.rst:98 msgid "" "If you open the Godot editor and manually change the position of the dock " "icon, then restart the editor, you will get a duplicate dock icon all the " "way to the right of the dock." msgstr "" #: ../../docs/about/troubleshooting.rst:102 msgid "" "This is due to a design limitation of the macOS dock. The only known way to " "resolve this would be to merge the project manager and editor into a single " "process, which means the project manager would no longer spawn a separate " "process when starting the editor. While using a single process instance " "would bring several benefits, it isn't planned to be done in the near future " "due to the complexity of the task." msgstr "" #: ../../docs/about/troubleshooting.rst:109 msgid "" "To avoid this issue, keep the Godot editor's dock icon at its default " "location as created by macOS." msgstr "" #: ../../docs/about/troubleshooting.rst:113 #, fuzzy msgid "" "Some text such as \"NO DC\" appears in the top-left corner of the Project " "Manager and editor window" msgstr "" "Textos como \"NO DC\" aparecem no canto superior esquerdo do gestor de " "projetos e na janela do editor." #: ../../docs/about/troubleshooting.rst:115 msgid "" "This is caused by the NVIDIA graphics driver injecting an overlay to display " "information." msgstr "" "Isso é devido ao driver gráfico da NVIDIA a injetar um overlay para mostrar " "informações." #: ../../docs/about/troubleshooting.rst:117 msgid "" "To disable this overlay on Windows, restore your graphics driver settings to " "the default values in the NVIDIA Control Panel." msgstr "" "Para desativar esse overlay no Windows, restaure as suas configurações do " "driver gráfico para os valores padrões no Painel de Controle NVIDIA." #: ../../docs/about/troubleshooting.rst:120 msgid "" "To disable this overlay on Linux, open ``nvidia-settings``, go to **X Screen " "0 > OpenGL Settings** then uncheck **Enable Graphics API Visual Indicator**." msgstr "" "Para desativar esse overlay no Linux, abra ``nvidia-settings``, vá até **X " "Screen 0 > OpenGL Settings** e desmarque **Enable Graphics API Visual " "Indicator**." #: ../../docs/about/troubleshooting.rst:124 #, fuzzy msgid "The editor or project appears overly sharp or blurry" msgstr "O editor ou projeto leva muito tempo para iniciar." #: ../../docs/about/troubleshooting.rst:130 msgid "" "Correct appearance (left), oversharpened appearance due to graphics driver " "sharpening (right)" msgstr "" #: ../../docs/about/troubleshooting.rst:132 msgid "" "If the editor or project appears overly sharp, this is likely due to image " "sharpening being forced on all Vulkan or OpenGL applications by your " "graphics driver. You can disable this behavior in the graphics driver's " "control panel:" msgstr "" #: ../../docs/about/troubleshooting.rst:136 msgid "" "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control " "Panel**. Open the **Manage 3D settings** tab on the left. In the list in the " "middle, scroll to **Image Sharpening** and set it to **Sharpening Off**." msgstr "" #: ../../docs/about/troubleshooting.rst:139 msgid "" "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click " "the settings \"cog\" icon in the top-right corner. Go to the **Graphics** " "tab then disable **Radeon Image Sharpening**." msgstr "" #: ../../docs/about/troubleshooting.rst:143 msgid "" "If the editor or project appears overly blurry, this is likely due to :abbr:" "`FXAA (Fast Approximate AntiAliasing)` being forced on all Vulkan or OpenGL " "applications by your graphics driver." msgstr "" #: ../../docs/about/troubleshooting.rst:147 msgid "" "**NVIDIA (Windows):** Open the start menu and choose **NVIDIA Control " "Panel**. Open the **Manage 3D settings** tab on the left. In the list in the " "middle, scroll to **Fast Approximate Antialiasing** and set it to " "**Application Controlled**." msgstr "" #: ../../docs/about/troubleshooting.rst:151 msgid "" "**NVIDIA (Linux):** Open the applications menu and choose **NVIDIA X Server " "Settings**. Select to **Antialiasing Settings** on the left, then uncheck " "**Enable FXAA**." msgstr "" #: ../../docs/about/troubleshooting.rst:154 msgid "" "**AMD (Windows):** Open the start menu and choose **AMD Software**. Click " "the settings \"cog\" icon in the top-right corner. Go to the **Graphics** " "tab, scroll to the bottom and click **Advanced** to unfold its settings. " "Disable **Morphological Anti-Aliasing**." msgstr "" #: ../../docs/about/troubleshooting.rst:159 msgid "" "Third-party vendor-independent utilities such as vkBasalt may also force " "sharpening or FXAA on all Vulkan applications. You may want to check their " "configuration as well." msgstr "" #: ../../docs/about/troubleshooting.rst:163 msgid "" "After changing options in the graphics driver or third-party utilities, " "restart Godot to make the changes effective." msgstr "" #: ../../docs/about/troubleshooting.rst:166 msgid "" "If you still wish to force sharpening or FXAA on other applications, it's " "recommended to do so on a per-application basis using the application " "profiles system provided by graphics drivers' control panels." msgstr "" #: ../../docs/about/troubleshooting.rst:171 #, fuzzy msgid "The editor or project appears to have washed out colors" msgstr "O editor ou projeto leva muito tempo para iniciar." #: ../../docs/about/troubleshooting.rst:173 msgid "" "On Windows, this is usually caused by incorrect OS or monitor settings, as " "Godot currently does not support :abbr:`HDR (High Dynamic Range)` *output* " "(even though it may internally render in HDR)." msgstr "" #: ../../docs/about/troubleshooting.rst:177 msgid "" "As `most displays are not designed to display SDR content in HDR mode " "`__, it is recommended to " "disable HDR in the Windows settings when not running applications that use " "HDR output. On Windows 11, this can be done by pressing :kbd:`Windows + Alt " "+ B` (this shortcut is part of the Xbox Game Bar app). To toggle HDR " "automatically based on applications currently running, you can use " "`AutoActions `__." msgstr "" #: ../../docs/about/troubleshooting.rst:184 msgid "" "If you insist on leaving HDR enabled, it is possible to somewhat improve the " "result by ensuring the display is configured to use :abbr:`HGIG (HDR Gaming " "Interest Group)` tonemapping (as opposed to :abbr:`DTM (Dynamic Tone " "Mapping)`), then `using the Windows HDR calibration app `__. It is also " "strongly recommended to use Windows 11 instead of Windows 10 when using HDR. " "The end result will still likely be inferior to disabling HDR on the " "display, though." msgstr "" #: ../../docs/about/troubleshooting.rst:191 msgid "Support for HDR *output* is planned in a future release." msgstr "" #: ../../docs/about/troubleshooting.rst:194 msgid "" "The editor/project freezes or displays glitched visuals after resuming the " "PC from suspend" msgstr "" #: ../../docs/about/troubleshooting.rst:196 msgid "" "This is a known issue on Linux with NVIDIA graphics when using the " "proprietary driver. There is no definitive fix yet, as suspend on Linux + " "NVIDIA is often buggy when OpenGL or Vulkan is involved. The Compatibility " "rendering method (which uses OpenGL) is generally less prone to suspend-" "related issues compared to the Forward+ and Forward Mobile rendering methods " "(which use Vulkan)." msgstr "" #: ../../docs/about/troubleshooting.rst:202 msgid "" "The NVIDIA driver offers an *experimental* `option to preserve video memory " "after suspend `__ which may resolve " "this issue. This option has been reported to work better with more recent " "NVIDIA driver versions." msgstr "" #: ../../docs/about/troubleshooting.rst:207 msgid "" "To avoid losing work, save scenes in the editor before putting the PC to " "sleep." msgstr "" #: ../../docs/about/troubleshooting.rst:210 #, fuzzy msgid "" "The project works when run from the editor, but fails to load some files " "when running from an exported copy" msgstr "" "O projeto funciona quando executado a partir do editor, mas falha ao " "carregar alguns ficheiros ao executar a partir de uma cópia exportada." #: ../../docs/about/troubleshooting.rst:212 msgid "" "This is usually caused by forgetting to specify a filter for non-resource " "files in the Export dialog. By default, Godot will only include actual " "*resources* into the PCK file. Some files commonly used, such as JSON files, " "are not considered resources. For example, if you load ``test.json`` in the " "exported project, you need to specify ``*.json`` in the non-resource export " "filter. See :ref:`doc_exporting_projects_export_mode` for more information." msgstr "" "Isso é geralmente causado por esquecer de especificar um filtro para " "ficheiros sem recursos no diálogo Exportar. Por padrão, Godot somente " "incluirá *recursos* presentes no ficheiro PCK. Alguns ficheiros comumente " "usados, como ficheiros JSON, não são considerados recursos. Por exemplo, se " "carregar ``test.json`` no projeto exportado, precisa especificar ``*.json`` " "no filtro de exportação sem recursos. Veja :ref:" "`doc_exporting_projects_export_mode` para mais informação." #: ../../docs/about/troubleshooting.rst:219 #, fuzzy msgid "" "Also, note that files and folders whose names begin with a period will never " "be included in the exported project. This is done to prevent version control " "folders like ``.git`` from being included in the exported PCK file." msgstr "" "Ficheiros e pastas cujo nome comece com um ponto nunca serão incluídos no " "projeto exportado. Isso é feito para evitar que pastas de controle de versão " "como ``.git`` sejam incluídas no ficheiro PCK exportado." #: ../../docs/about/troubleshooting.rst:223 msgid "" "On Windows, this can also be due to :ref:`case sensitivity " "` issues. If you reference a " "resource in your script with a different case than on the filesystem, " "loading will fail once you export the project. This is because the virtual " "PCK filesystem is case-sensitive, while Windows's filesystem is case-" "insensitive by default." msgstr "" "No Windows, isso pode também ser devido aos problemas de :ref:`sensibilidade " "de caixa `. Se referenciar um " "recurso no seu script com uma caixa diferente daquele no sistema de " "ficheiros, o carregamento irá falhar uma vez que exportar o projeto. Isto " "ocorre porque o sistema de ficheiros PCK virtual é sensível a majusculos, " "enquanto o sistema de ficheiros do Windows não é sensível por padrão." #: ../../docs/about/list_of_features.rst:4 msgid "List of features" msgstr "Lista das funcionalidades" #: ../../docs/about/list_of_features.rst:6 #, fuzzy msgid "This page aims to list **all** features currently supported by Godot." msgstr "" "Esta página visa listar todos os recursos atualmente suportados pelo Godot." #: ../../docs/about/list_of_features.rst:10 #, fuzzy msgid "" "This page lists features supported by the current stable version of Godot. " "Some of these features may not be available in the `LTS release series (3.x) " "`__." msgstr "" "Esta página lista funcionalidades suportadas pela atual versão estável do " "Godot (3.5). `Mais funcionalidades `__ estão disponíveis na versão de " "desenvolvimento mais recente (4.0)." #: ../../docs/about/list_of_features.rst:15 msgid "Platforms" msgstr "Plataformas" #: ../../docs/about/list_of_features.rst:17 msgid "**Can run both the editor and exported projects:**" msgstr "**Pode executar tanto o editor quanto os projetos exportados:**" #: ../../docs/about/list_of_features.rst:19 msgid "Windows 7 and later (64-bit and 32-bit)." msgstr "Windows 7 e superior (64-bit e 32-bit)." #: ../../docs/about/list_of_features.rst:20 msgid "macOS 10.12 and later (64-bit, x86 and ARM)." msgstr "macOS 10.12 e superior (64-bit, x86 e ARM)." #: ../../docs/about/list_of_features.rst:21 #, fuzzy msgid "Linux (64-bit, x86 and ARM)." msgstr "Linux (64-bits e 32-bits, x86 e ARM)." #: ../../docs/about/list_of_features.rst:23 msgid "" "Binaries are statically linked and can run on any distribution if compiled " "on an old enough base distribution." msgstr "" "Ficherios binários são estaticamente vinculados e poder ser executados em " "qualquer distribuição, se compilados a partir de uma distribuição-base mais " "antiga." #: ../../docs/about/list_of_features.rst:25 msgid "Official binaries are compiled on Ubuntu 14.04." msgstr "Ficheiros binários oficiais são compilados no Ubuntu 14.04." #: ../../docs/about/list_of_features.rst:26 msgid "32-bit binaries can be compiled from source." msgstr "" #: ../../docs/about/list_of_features.rst:28 msgid "Android 6.0 and later (editor support is experimental)." msgstr "" #: ../../docs/about/list_of_features.rst:29 msgid "" ":ref:`Web browsers `. Experimental in 4.0, using " "Godot 3.x is recommended instead when targeting HTML5." msgstr "" #: ../../docs/about/list_of_features.rst:32 msgid "**Runs exported projects:**" msgstr "**Executa projetos exportados:**" #: ../../docs/about/list_of_features.rst:34 #, fuzzy msgid "iOS 11.0 and later." msgstr "iOS 10.0 e superior." #: ../../docs/about/list_of_features.rst:35 msgid ":ref:`Consoles `." msgstr ":ref:`Consoles `." #: ../../docs/about/list_of_features.rst:37 #, fuzzy msgid "" "Godot aims to be as platform-independent as possible and can be :ref:`ported " "to new platforms ` with relative ease." msgstr "" "Godot visa ser o mais independente de plataforma possível e pode ser portado " "para novas plataformas com relativa facilidade." #: ../../docs/about/list_of_features.rst:42 #: ../../docs/getting_started/step_by_step/scripting_languages.rst:131 msgid "" "Projects written in C# using Godot 4 currently cannot be exported to the web " "platform. To use C# on that platform, consider Godot 3 instead. Android and " "iOS platform support is available as of Godot 4.2, but is experimental and :" "ref:`some limitations apply `." msgstr "" #: ../../docs/about/list_of_features.rst:48 #: ../../docs/about/docs_changelog.rst:125 #: ../../docs/about/docs_changelog.rst:180 #: ../../docs/tutorials/editor/external_editor.rst:38 #: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:183 msgid "Editor" msgstr "Editor" #: ../../docs/about/list_of_features.rst:50 #: ../../docs/about/list_of_features.rst:486 msgid "**Features:**" msgstr "**Funcionalidades:**" #: ../../docs/about/list_of_features.rst:52 msgid "Scene tree editor." msgstr "Editor de árvore de cena." #: ../../docs/about/list_of_features.rst:53 msgid "Built-in script editor." msgstr "Editor de scripts embutido." #: ../../docs/about/list_of_features.rst:54 msgid "" "Support for :ref:`external script editors ` such as " "Visual Studio Code or Vim." msgstr "" "Suporte a :ref:`external script editors ` como Visual " "Studio Code ou Vim." #: ../../docs/about/list_of_features.rst:56 msgid "GDScript :ref:`debugger `." msgstr "GDScript :ref:`debugger `." #: ../../docs/about/list_of_features.rst:58 msgid "No support for debugging in threads yet." msgstr "Por enquanto, sem suporte para depuração em threads." #: ../../docs/about/list_of_features.rst:59 msgid "" "Visual profiler with CPU and GPU time indications for each step of the " "rendering pipeline." msgstr "" #: ../../docs/about/list_of_features.rst:61 msgid "" "Performance monitoring tools, including :ref:`custom performance monitors " "`." msgstr "" #: ../../docs/about/list_of_features.rst:63 msgid "Live script reloading." msgstr "Recarregamento de script em tempo real." #: ../../docs/about/list_of_features.rst:64 msgid "Live scene editing." msgstr "Edição de cena em tempo real." #: ../../docs/about/list_of_features.rst:66 msgid "" "Changes will reflect in the editor and will be kept after closing the " "running project." msgstr "" "Alterações serão refletidas no editor e se manterão mesmo após fechar o " "projeto em execução." #: ../../docs/about/list_of_features.rst:68 msgid "Remote inspector." msgstr "Inspetor remoto." #: ../../docs/about/list_of_features.rst:70 msgid "" "Changes won't reflect in the editor and won't be kept after closing the " "running project." msgstr "" "Alterações não serão refletidas no editor e não serão mantidas após fechar o " "projeto em execução." #: ../../docs/about/list_of_features.rst:72 msgid "Live camera replication." msgstr "Replicação de câmara em tempo real." #: ../../docs/about/list_of_features.rst:74 msgid "Move the in-editor camera and see the result in the running project." msgstr "Mova a câmara do editor e veja o resultado no projeto em execução." #: ../../docs/about/list_of_features.rst:76 msgid "Built-in offline class reference documentation." msgstr "Documentação de referência de classe offline integrada." #: ../../docs/about/list_of_features.rst:77 msgid "Use the editor in dozens of languages contributed by the community." msgstr "" "Utilize o editor em dezenas de idiomas fornecidos pela própria comunidade." #: ../../docs/about/list_of_features.rst:79 msgid "**Plugins:**" msgstr "**Plugins:**" #: ../../docs/about/list_of_features.rst:81 msgid "" "Editor plugins can be downloaded from the :ref:`asset library " "` to extend editor functionality." msgstr "" "Plugins para o editor podem ser descarregados através da :ref:`biblioteca de " "assets `, a permitir a expansão das funcionalidades do " "editor." #: ../../docs/about/list_of_features.rst:83 msgid "" ":ref:`Create your own plugins ` using GDScript to add " "new features or speed up your workflow." msgstr "" ":ref:`Crie os seus próprios plugins ` usando GDScript " "para adicionar novas funcionalidades ou melhorar a velocidade do seu fluxo " "de trabalho." #: ../../docs/about/list_of_features.rst:85 #, fuzzy msgid "" ":ref:`Download projects from the asset library ` " "in the Project Manager and import them directly." msgstr "" "Baixe projetos a partir da biblioteca de assets e importe-os diretamente." #: ../../docs/about/list_of_features.rst:89 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:120 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:128 #: ../../docs/tutorials/2d/index.rst:12 ../../docs/tutorials/3d/index.rst:14 #: ../../docs/tutorials/performance/thread_safe_apis.rst:55 #: ../../docs/tutorials/rendering/index.rst:2 #: ../../docs/tutorials/rendering/viewports.rst:174 msgid "Rendering" msgstr "Renderização" #: ../../docs/about/list_of_features.rst:91 msgid "" "3 rendering *methods* (running over 2 rendering *drivers*) are available:" msgstr "" #: ../../docs/about/list_of_features.rst:93 msgid "" "**Forward+**, running over Vulkan 1.0 (with optional Vulkan 1.1 and 1.2 " "features). The most advanced graphics backend, suited for desktop platforms " "only. Used by default on desktop platforms." msgstr "" #: ../../docs/about/list_of_features.rst:96 msgid "" "**Forward Mobile**, running over Vulkan 1.0 (with optional Vulkan 1.1 and " "1.2 features). Less features, but renders simple scenes faster. Suited for " "mobile and desktop platforms. Used by default on mobile platforms." msgstr "" #: ../../docs/about/list_of_features.rst:99 msgid "" "**Compatibility**, running over OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2.0. The " "least advanced graphics backend, suited for low-end desktop and mobile " "platforms. Used by default on the web platform." msgstr "" #: ../../docs/about/list_of_features.rst:104 msgid "2D graphics" msgstr "Gráficos 2D" #: ../../docs/about/list_of_features.rst:106 msgid "Sprite, polygon and line rendering." msgstr "Sprite, polignos e renderizador de linhas." #: ../../docs/about/list_of_features.rst:108 #, fuzzy msgid "" "High-level tools to draw lines and polygons such as :ref:`class_Polygon2D` " "and :ref:`class_Line2D`, with support for texturing." msgstr "" "Ferramentas de alto-nível para desenhar linhas e polígnos tal como Line2D e " "Polygon2D." #: ../../docs/about/list_of_features.rst:111 #, fuzzy msgid "AnimatedSprite2D as a helper for creating animated sprites." msgstr "AnimatedSprite irá ajudar na criação de sprites animados." #: ../../docs/about/list_of_features.rst:112 msgid "Parallax layers." msgstr "Camadas de parallax." #: ../../docs/about/list_of_features.rst:114 msgid "Pseudo-3D support including preview in the editor." msgstr "Suporte pseudo-3D incluindo visualização no editor." #: ../../docs/about/list_of_features.rst:116 msgid "" ":ref:`2D lighting ` with normal maps and specular " "maps." msgstr "" #: ../../docs/about/list_of_features.rst:118 #, fuzzy msgid "Point (omni/spot) and directional 2D lights." msgstr "Luzes unidirecionais." #: ../../docs/about/list_of_features.rst:119 #, fuzzy msgid "Hard or soft shadows (adjustable on a per-light basis)." msgstr "A energia especular pode ser ajustada numa base per-luz." #: ../../docs/about/list_of_features.rst:120 msgid "" "Custom shaders can access a real-time :abbr:`SDF (Signed Distance Field)` " "representation of the 2D scene based on :ref:`class_LightOccluder2D` nodes, " "which can be used for improved 2D lighting effects including 2D global " "illumination." msgstr "" #: ../../docs/about/list_of_features.rst:124 msgid "" ":ref:`Font rendering ` using bitmaps, rasterization " "using FreeType or multi-channel signed distance fields (MSDF)." msgstr "" #: ../../docs/about/list_of_features.rst:127 #, fuzzy msgid "" "Bitmap fonts can be exported using tools like BMFont, or imported from " "images (for fixed-width fonts only)." msgstr "" "Fontes em bitmap podem ser exportadas a utilizar ferramentas como BMFont." #: ../../docs/about/list_of_features.rst:129 #, fuzzy msgid "" "Dynamic fonts support monochrome fonts as well as colored fonts (e.g. for " "emoji). Supported formats are TTF, OTF, WOFF1 and WOFF2." msgstr "" "DynamicFont suporta fontes monocromáticas bem como coloridas(e.g para " "emoji). Os formatos suportados são TTF, OTF e WOFF1." #: ../../docs/about/list_of_features.rst:131 #, fuzzy msgid "" "Dynamic fonts support optional font outlines with adjustable width and color." msgstr "" "DynamicFont suporta contornos opcionais para fontes, com ajustes de lagura e " "cor." #: ../../docs/about/list_of_features.rst:132 msgid "" "Dynamic fonts support variable fonts and OpenType features including " "ligatures." msgstr "" #: ../../docs/about/list_of_features.rst:133 msgid "" "Dynamic fonts support simulated bold and italic when the font file lacks " "those styles." msgstr "" #: ../../docs/about/list_of_features.rst:135 #, fuzzy msgid "" "Dynamic fonts support oversampling to keep fonts sharp at higher resolutions." msgstr "" "Suporte para sobreamostragem de fontes, a permitir que elas fiquem nítidas " "mesmo em resoluções mais altas." #: ../../docs/about/list_of_features.rst:136 msgid "" "Dynamic fonts support subpixel positioning to make fonts crisper at low " "sizes." msgstr "" #: ../../docs/about/list_of_features.rst:137 msgid "" "Dynamic fonts support LCD subpixel optimizations to make fonts even crisper " "at low sizes." msgstr "" #: ../../docs/about/list_of_features.rst:138 msgid "" "Signed distance field fonts can be scaled at any resolution without " "requiring re-rasterization. Multi-channel usage makes SDF fonts scale down " "to lower sizes better compared to monochrome SDF fonts." msgstr "" #: ../../docs/about/list_of_features.rst:142 #, fuzzy msgid "" "GPU-based :ref:`particles ` with support for :ref:" "`custom particle shaders `." msgstr "" "Particulas baseadas em GPU com suporte para shaders personalizados de " "particulas." #: ../../docs/about/list_of_features.rst:144 #: ../../docs/about/list_of_features.rst:334 msgid "CPU-based particles." msgstr "Partículas em CPU." #: ../../docs/about/list_of_features.rst:145 msgid "" "Optional :ref:`2D HDR rendering " "` for better glow " "capabilities." msgstr "" #: ../../docs/about/list_of_features.rst:149 msgid "2D tools" msgstr "Ferramentas 2D" #: ../../docs/about/list_of_features.rst:151 msgid ":ref:`TileMaps ` for 2D tile-based level design." msgstr "" #: ../../docs/about/list_of_features.rst:152 msgid "2D camera with built-in smoothing and drag margins." msgstr "Camera 2D com margens e suavização integrados." #: ../../docs/about/list_of_features.rst:153 msgid "Path2D node to represent a path in 2D space." msgstr "O Nó Path2D para representar caminhos dentro de um espaço 2D." #: ../../docs/about/list_of_features.rst:155 #: ../../docs/about/list_of_features.rst:393 msgid "Can be drawn in the editor or generated procedurally." msgstr "Pode ser desenhado através do editor ou gerado proceduralmente." #: ../../docs/about/list_of_features.rst:156 msgid "PathFollow2D node to make nodes follow a Path2D." msgstr "O nó PathFollow2D para fazer os nós seguirem um Path2D." #: ../../docs/about/list_of_features.rst:158 #, fuzzy msgid ":ref:`2D geometry helper class `." msgstr "Classe auxiliar para geometria 2D." #: ../../docs/about/list_of_features.rst:161 msgid "2D physics" msgstr "Física 2D" #: ../../docs/about/list_of_features.rst:163 #: ../../docs/about/list_of_features.rst:403 msgid "**Physics bodies:**" msgstr "**Corpos com suporte a física:**" #: ../../docs/about/list_of_features.rst:165 #: ../../docs/about/list_of_features.rst:405 msgid "Static bodies." msgstr "Corpos estáticos." #: ../../docs/about/list_of_features.rst:166 #: ../../docs/about/list_of_features.rst:406 msgid "" "Animatable bodies (for objects moving only by script or animation, such as " "doors and platforms)." msgstr "" #: ../../docs/about/list_of_features.rst:167 #: ../../docs/about/list_of_features.rst:407 msgid "Rigid bodies." msgstr "Corpos rígidos." #: ../../docs/about/list_of_features.rst:168 #: ../../docs/about/list_of_features.rst:408 #, fuzzy msgid "Character bodies." msgstr "Corpos estáticos." #: ../../docs/about/list_of_features.rst:169 #: ../../docs/about/list_of_features.rst:410 msgid "Joints." msgstr "Articulações/Junções." #: ../../docs/about/list_of_features.rst:170 #: ../../docs/about/list_of_features.rst:413 msgid "Areas to detect bodies entering or leaving it." msgstr "Areas para detecção de entrada e saida de corpos." #: ../../docs/about/list_of_features.rst:172 #: ../../docs/about/list_of_features.rst:415 msgid "**Collision detection:**" msgstr "**Detecção de colisões:**" #: ../../docs/about/list_of_features.rst:174 #, fuzzy msgid "" "Built-in shapes: line, box, circle, capsule, world boundary (infinite plane)." msgstr "formas integradas: linha, caixa, circulo e capsula." #: ../../docs/about/list_of_features.rst:175 msgid "" "Collision polygons (can be drawn manually or generated from a sprite in the " "editor)." msgstr "" "Collision polygons (podem ser desenhados manualmente ou gerados a partir de " "um sprite pelo editor)." #: ../../docs/about/list_of_features.rst:178 msgid "3D graphics" msgstr "Gráficos 3D" #: ../../docs/about/list_of_features.rst:180 #, fuzzy msgid "HDR rendering with sRGB." msgstr "Limitações da renderização 3D" #: ../../docs/about/list_of_features.rst:181 msgid "Perspective, orthographic and frustum-offset cameras." msgstr "Câmaras em perspetiva, ortográfica e deslocamento de tronco." #: ../../docs/about/list_of_features.rst:182 msgid "" "When using the Forward+ backend, a depth prepass is used to improve " "performance in complex scenes by reducing the cost of overdraw." msgstr "" #: ../../docs/about/list_of_features.rst:184 msgid "" ":ref:`doc_variable_rate_shading` on supported GPUs in Forward+ and Forward " "Mobile." msgstr "" #: ../../docs/about/list_of_features.rst:186 msgid "**Physically-based rendering (built-in material features):**" msgstr "" "**Renderização baseada em física (funcionalidade de material integrada):**" #: ../../docs/about/list_of_features.rst:188 msgid "Follows the Disney PBR model." msgstr "Segue o modelo Disney PBR." #: ../../docs/about/list_of_features.rst:189 #, fuzzy msgid "" "Supports Burley, Lambert, Lambert Wrap (half-Lambert) and Toon diffuse " "shading modes." msgstr "" "Suporta os modos de sombreamento difuso Lambert, Lambert Wrap (meio " "Lambert), Oren-Nayar e Toon." #: ../../docs/about/list_of_features.rst:190 #, fuzzy msgid "Supports Schlick-GGX, Toon and Disabled specular shading modes." msgstr "" "Suporta os modos de sombreamento especular Schlick-GGX, Blinn, Phong, Toon e " "Desativado." #: ../../docs/about/list_of_features.rst:191 msgid "Uses a roughness-metallic workflow with support for ORM textures." msgstr "" "Utiliza o fluxo de trabalho roughness-metallic com suporte para texturas ORM." #: ../../docs/about/list_of_features.rst:192 #, fuzzy msgid "" "Uses horizon specular occlusion (Filament model) to improve material " "appearance." msgstr "" "Usa oclusão especular do horizonte (modelo de filamento) para melhorar a " "aparência do material" #: ../../docs/about/list_of_features.rst:193 msgid "Normal mapping." msgstr "Mapeamento Normal." #: ../../docs/about/list_of_features.rst:194 #, fuzzy msgid "" "Parallax/relief mapping with automatic level of detail based on distance." msgstr "" "*GLES3:* Mapeamento de Paralaxe/Relevo com níveis de detalhamento automático " "baseado na distancia." #: ../../docs/about/list_of_features.rst:195 msgid "Detail mapping for the albedo and normal maps." msgstr "Mapeamento detalhado para os mapas albedo e normal." #: ../../docs/about/list_of_features.rst:196 #, fuzzy msgid "Sub-surface scattering and transmittance." msgstr "*GLES3:* Dispersão e transmissão da sub-superfície." #: ../../docs/about/list_of_features.rst:197 #, fuzzy msgid "" "Screen-space refraction with support for material roughness (resulting in " "blurry refraction)." msgstr "" "*GLES3:* Refração com suporte para rugosidade do material (resultando em " "refração borrada). No GLES2, a refração ainda é funcional, mas não tem " "suporte para a rugosidade do material." #: ../../docs/about/list_of_features.rst:198 #, fuzzy msgid "Proximity fade (soft particles) and distance fade." msgstr "*GLES3:* Desvanecimento de proximidade (partículas suaves)." #: ../../docs/about/list_of_features.rst:199 #, fuzzy msgid "" "Distance fade can use alpha blending or dithering to avoid going through the " "transparent pipeline." msgstr "" "O esmaecimento de distância pode usar mistura alfa ou matização para evitar " "passar pelo [i]pipeline[/i] transparente." #: ../../docs/about/list_of_features.rst:201 msgid "Dithering can be determined on a per-pixel or per-object basis." msgstr "A matização pode ser determinada com bases em pixel ou objeto." #: ../../docs/about/list_of_features.rst:203 msgid "**Real-time lighting:**" msgstr "**Iluminação em tempo real:**" #: ../../docs/about/list_of_features.rst:205 msgid "Directional lights (sun/moon). Up to 4 per scene." msgstr "Luzes direcionadas (sol/lua). Até 4 por cena." #: ../../docs/about/list_of_features.rst:206 msgid "Omnidirectional lights." msgstr "Luzes unidirecionais." #: ../../docs/about/list_of_features.rst:207 msgid "Spot lights with adjustable cone angle and attenuation." msgstr "Focos de luz com ajuste de angulo por cone e atenuação." #: ../../docs/about/list_of_features.rst:208 #, fuzzy msgid "" "Specular, indirect light, and volumetric fog energy can be adjusted on a per-" "light basis." msgstr "A energia especular pode ser ajustada numa base per-luz." #: ../../docs/about/list_of_features.rst:209 msgid "" "Adjustable light \"size\" for fake area lights (will also make shadows " "blurrier)." msgstr "" #: ../../docs/about/list_of_features.rst:210 #: ../../docs/about/list_of_features.rst:286 msgid "" "Optional distance fade system to fade distant lights and their shadows, " "improving performance." msgstr "" #: ../../docs/about/list_of_features.rst:211 msgid "" "When using the Forward+ backend (default on desktop), lights are rendered " "with clustered forward optimizations to decrease their individual cost. " "Clustered rendering also lifts any limits on the number of lights that can " "be used on a mesh." msgstr "" #: ../../docs/about/list_of_features.rst:214 msgid "" "When using the Forward Mobile backend, up to 8 omni lights and 8 spot lights " "can be displayed per mesh resource. Baked lighting can be used to overcome " "this limit if needed." msgstr "" #: ../../docs/about/list_of_features.rst:218 msgid "**Shadow mapping:**" msgstr "**Mapeamento de sombras:**" #: ../../docs/about/list_of_features.rst:220 msgid "" "*DirectionalLight:* Orthogonal (fastest), PSSM 2-split and 4-split. Supports " "blending between splits." msgstr "" "*Luz Direcional:* Ortagonal (mais rápida), PSSM 2 divisões e 4 divisões. " "Suporta mesclagem entre divisões." #: ../../docs/about/list_of_features.rst:222 msgid "" "*OmniLight:* Dual paraboloid (fast) or cubemap (slower but more accurate). " "Supports colored projector textures in the form of panoramas." msgstr "" "*OmniLight:* Parabolóide duplo (rápido) ou mapa do cubo (mais lento, porém " "mais preciso ). Suporta texturas de projeção de cores na forma de panoramas." #: ../../docs/about/list_of_features.rst:224 #, fuzzy msgid "*SpotLight:* Single texture. Supports colored projector textures." msgstr "*Destaque:* Testura única." #: ../../docs/about/list_of_features.rst:225 msgid "" "Shadow normal offset bias and shadow pancaking to decrease the amount of " "visible shadow acne and peter-panning." msgstr "" #: ../../docs/about/list_of_features.rst:227 msgid "" ":abbr:`PCSS (Percentage Closer Soft Shadows)`-like shadow blur based on the " "light size and distance from the surface the shadow is cast on." msgstr "" #: ../../docs/about/list_of_features.rst:229 #, fuzzy msgid "Adjustable shadow blur on a per-light basis." msgstr "A energia especular pode ser ajustada numa base per-luz." #: ../../docs/about/list_of_features.rst:231 msgid "**Global illumination with indirect lighting:**" msgstr "**Iluminação global por luzes indiretas:**" #: ../../docs/about/list_of_features.rst:233 #, fuzzy msgid "" ":ref:`Baked lightmaps ` (fast, but can't be updated " "at run-time)." msgstr "" "Lightmaps previamente calculados (rápido, mas não pode ser atualizado " "durante a execução)." #: ../../docs/about/list_of_features.rst:235 msgid "" "Supports baking indirect light only or baking both direct and indirect " "lighting. The bake mode can be adjusted on a per-light basis to allow for " "hybrid light baking setups." msgstr "" "Suporta cozimento apenas com luz indireta ou cozimento com iluminação direta " "e indireta. O modo de cozimento pode ser ajustado por luz para permitir " "configurações de cozimento de luzes híbridas." #: ../../docs/about/list_of_features.rst:238 #, fuzzy msgid "" "Supports lighting dynamic objects using automatic and manually placed probes." msgstr "" "Suporta iluminação de objetos dinâmicos usando um sistema automático baseado " "em octree. Não é necessária a colocação manual de sonda." #: ../../docs/about/list_of_features.rst:239 msgid "" "Optionally supports directional lighting and rough reflections based on " "spherical harmonics." msgstr "" #: ../../docs/about/list_of_features.rst:241 msgid "" "Lightmaps are baked on the GPU using compute shaders (much faster compared " "to CPU lightmapping). Baking can only be performed from the editor, not in " "exported projects." msgstr "" #: ../../docs/about/list_of_features.rst:244 msgid "" "Supports GPU-based :ref:`denoising ` with " "JNLM, or CPU/GPU-based denoising with OIDN." msgstr "" #: ../../docs/about/list_of_features.rst:247 msgid "" ":ref:`Voxel-based GI probes `. Supports dynamic lights " "*and* dynamic occluders, while also supporting reflections. Requires a fast " "baking step which can be performed in the editor or at run-time (including " "from an exported project)." msgstr "" #: ../../docs/about/list_of_features.rst:251 msgid "" ":ref:`Signed-distance field GI ` designed for large open " "worlds. Supports dynamic lights, but not dynamic occluders. Supports " "reflections. No baking required." msgstr "" #: ../../docs/about/list_of_features.rst:254 msgid "" ":ref:`Screen-space indirect lighting (SSIL) " "` at half or full resolution. " "Fully real-time and supports any kind of emissive light source (including " "decals)." msgstr "" #: ../../docs/about/list_of_features.rst:257 msgid "" "VoxelGI and SDFGI use a deferred pass to allow for rendering GI at half " "resolution to improve performance (while still having functional MSAA " "support)." msgstr "" #: ../../docs/about/list_of_features.rst:260 msgid "**Reflections:**" msgstr "**Opções de execução:**" #: ../../docs/about/list_of_features.rst:262 msgid "" "Voxel-based reflections (when using GI probes) and SDF-based reflections " "(when using signed distance field GI). Voxel-based reflections are visible " "on transparent surfaces, while rough SDF-based reflections are visible on " "transparent surfaces." msgstr "" #: ../../docs/about/list_of_features.rst:266 msgid "" "Fast baked reflections or slow real-time reflections using ReflectionProbe. " "Parallax box correction can optionally be enabled." msgstr "" "Reflexões rápidas geradas e gravadas ou reflexões lentas em tempo real " "usando ReflectionProbe. A correção de paralaxe pode ser ativada " "opcionalmente." #: ../../docs/about/list_of_features.rst:268 msgid "Screen-space reflections with support for material roughness." msgstr "" #: ../../docs/about/list_of_features.rst:269 msgid "" "Reflection techniques can be mixed together for greater accuracy or " "scalability." msgstr "" "Técnicas de reflexão podem ser combinadas para maior precisão, ou " "escalabilidade." #: ../../docs/about/list_of_features.rst:270 msgid "" "When using the Forward+ backend (default on desktop), reflection probes are " "rendered with clustered forward optimizations to decrease their individual " "cost. Clustered rendering also lifts any limits on the number of reflection " "probes that can be used on a mesh." msgstr "" #: ../../docs/about/list_of_features.rst:273 msgid "" "When using the Forward Mobile backend, up to 8 reflection probes can be " "displayed per mesh resource." msgstr "" #: ../../docs/about/list_of_features.rst:276 #, fuzzy msgid "**Decals:**" msgstr "**Funcionalidades:**" #: ../../docs/about/list_of_features.rst:278 msgid "" ":ref:`Supports albedo `, emissive, :abbr:`ORM (Occlusion " "Roughness Metallic)`, and normal mapping." msgstr "" #: ../../docs/about/list_of_features.rst:280 msgid "" "Texture channels are smoothly overlaid on top of the underlying material, " "with support for normal/ORM-only decals." msgstr "" #: ../../docs/about/list_of_features.rst:282 msgid "" "Support for normal fade to fade the decal depending on its incidence angle." msgstr "" #: ../../docs/about/list_of_features.rst:283 msgid "" "Does not rely on run-time mesh generation. This means decals can be used on " "complex skinned meshes with no performance penalty, even if the decal moves " "every frame." msgstr "" #: ../../docs/about/list_of_features.rst:285 #, fuzzy msgid "" "Support for nearest, bilinear, trilinear or anisotropic texture filtering " "(configured globally)." msgstr "Filtragem mais próxima, bilinear, trilinear ou anisotrópica." #: ../../docs/about/list_of_features.rst:287 msgid "" "When using the Forward+ backend (default on desktop), decals are rendered " "with clustered forward optimizations to decrease their individual cost. " "Clustered rendering also lifts any limits on the number of decals that can " "be used on a mesh." msgstr "" #: ../../docs/about/list_of_features.rst:290 msgid "" "When using the Forward Mobile backend, up to 8 decals can be displayed per " "mesh resource." msgstr "" #: ../../docs/about/list_of_features.rst:293 msgid "**Sky:**" msgstr "**Céu:**" #: ../../docs/about/list_of_features.rst:295 msgid "Panorama sky (using an HDRI)." msgstr "Céu de Panorama (a utilizar HDRI)." #: ../../docs/about/list_of_features.rst:296 msgid "" "Procedural sky and Physically-based sky that respond to the " "DirectionalLights in the scene." msgstr "" #: ../../docs/about/list_of_features.rst:297 msgid "" "Support for :ref:`custom sky shaders `, which can be " "animated." msgstr "" #: ../../docs/about/list_of_features.rst:298 msgid "" "The radiance map used for ambient and specular light can be updated in real-" "time depending on the quality settings chosen." msgstr "" #: ../../docs/about/list_of_features.rst:301 msgid "**Fog:**" msgstr "**Neblina:**" #: ../../docs/about/list_of_features.rst:303 msgid "Exponential depth fog." msgstr "" #: ../../docs/about/list_of_features.rst:304 msgid "Exponential height fog." msgstr "" #: ../../docs/about/list_of_features.rst:305 #, fuzzy msgid "" "Support for automatic fog color depending on the sky color (aerial " "perspective)." msgstr "" "Suporte para auto coloração de neblina a depender da direção da câmara (para " "se ajustar de acordo com a cor do sol)." #: ../../docs/about/list_of_features.rst:306 #, fuzzy msgid "Support for sun scattering in the fog." msgstr "Suporte para plugins visuais de shader." #: ../../docs/about/list_of_features.rst:307 msgid "" "Support for controlling how much fog rendering should affect the sky, with " "separate controls for traditional and volumetric fog." msgstr "" #: ../../docs/about/list_of_features.rst:309 #, fuzzy msgid "Support for making specific materials ignore fog." msgstr "Suporte para plugins visuais de shader." #: ../../docs/about/list_of_features.rst:311 msgid "**Volumetric fog:**" msgstr "" #: ../../docs/about/list_of_features.rst:313 msgid "" "Global :ref:`volumetric fog ` that reacts to lights and " "shadows." msgstr "" #: ../../docs/about/list_of_features.rst:314 msgid "" "Volumetric fog can take indirect light into account when using VoxelGI or " "SDFGI." msgstr "" #: ../../docs/about/list_of_features.rst:315 msgid "" "Fog volume nodes that can be placed to add fog to specific areas (or remove " "fog from specific areas). Supported shapes include box, ellipse, cone, " "cylinder, and 3D texture-based density maps." msgstr "" #: ../../docs/about/list_of_features.rst:317 msgid "Each fog volume can have its own custom shader." msgstr "" #: ../../docs/about/list_of_features.rst:318 msgid "Can be used together with traditional fog." msgstr "" #: ../../docs/about/list_of_features.rst:320 msgid "**Particles:**" msgstr "**Partículas:**" #: ../../docs/about/list_of_features.rst:322 msgid "" "GPU-based particles with support for subemitters (2D + 3D), trails (2D + " "3D), attractors (3D only) and collision (2D + 3D)." msgstr "" #: ../../docs/about/list_of_features.rst:325 msgid "" "3D particle attractor shapes supported: box, sphere and 3D vector fields." msgstr "" #: ../../docs/about/list_of_features.rst:326 msgid "" "3D particle collision shapes supported: box, sphere, baked signed distance " "field and real-time heightmap (suited for open world weather effects)." msgstr "" #: ../../docs/about/list_of_features.rst:328 msgid "" "2D particle collision is handled using a signed distance field generated in " "real-time based on :ref:`class_LightOccluder2D` nodes in the scene." msgstr "" #: ../../docs/about/list_of_features.rst:330 msgid "" "Trails can use the built-in ribbon trail and tube trail meshes, or custom " "meshes with skeletons." msgstr "" #: ../../docs/about/list_of_features.rst:332 msgid "Support for custom particle shaders with manual emission." msgstr "" #: ../../docs/about/list_of_features.rst:336 msgid "**Post-processing:**" msgstr "**Pós-processamento:**" #: ../../docs/about/list_of_features.rst:338 msgid "Tonemapping (Linear, Reinhard, Filmic, ACES)." msgstr "Mapeio de Tons (Linear, Reinhard, Filmic, ACES)." #: ../../docs/about/list_of_features.rst:339 #, fuzzy msgid "" "Automatic exposure adjustments based on viewport brightness (and manual " "exposure override)." msgstr "" "*GLES3:* Ajustes de exposição automáticos baseado no brilho da janela de " "visualização." #: ../../docs/about/list_of_features.rst:340 msgid "" "Near and far depth of field with adjustable bokeh simulation (box, hexagon, " "circle)." msgstr "" #: ../../docs/about/list_of_features.rst:341 #, fuzzy msgid "Screen-space ambient occlusion (SSAO) at half or full resolution." msgstr "" "*GLES3:* Screen-space ambient occlusion (SSAO - Oclusão de ambiente do " "espaço do ecrã)." #: ../../docs/about/list_of_features.rst:342 #, fuzzy msgid "" "Glow/bloom with optional bicubic upscaling and several blend modes " "available: Screen, Soft Light, Add, Replace, Mix." msgstr "" "Brilho/Bloom com escala bicúbica opcional e vários modos de combinação " "disponíveis: Ecrã, Luz Suave, Subexposição Linear, Substituir." #: ../../docs/about/list_of_features.rst:344 msgid "Glow can have a colored dirt map texture, acting as a lens dirt effect." msgstr "" #: ../../docs/about/list_of_features.rst:345 msgid "" "Glow can be :ref:`used as a screen-space blur effect " "`." msgstr "" #: ../../docs/about/list_of_features.rst:346 #, fuzzy msgid "Color correction using a one-dimensional ramp or a 3D LUT texture." msgstr "Correção de cor de rampa unidimensional." #: ../../docs/about/list_of_features.rst:347 msgid "Roughness limiter to reduce the impact of specular aliasing." msgstr "" #: ../../docs/about/list_of_features.rst:348 msgid "Brightness, contrast and saturation adjustments." msgstr "Ajustes de brilho, contraste e saturação." #: ../../docs/about/list_of_features.rst:350 msgid "**Texture filtering:**" msgstr "**Filtragem de textura**" #: ../../docs/about/list_of_features.rst:352 msgid "Nearest, bilinear, trilinear or anisotropic filtering." msgstr "Filtragem mais próxima, bilinear, trilinear ou anisotrópica." #: ../../docs/about/list_of_features.rst:353 #, fuzzy msgid "" "Filtering options are defined on a per-use basis, not a per-texture basis." msgstr "A matização pode ser determinada com bases em pixel ou objeto." #: ../../docs/about/list_of_features.rst:355 msgid "**Texture compression:**" msgstr "**Compressão de Textura:**" #: ../../docs/about/list_of_features.rst:357 msgid "Basis Universal (slow, but results in smaller files)." msgstr "" #: ../../docs/about/list_of_features.rst:358 #, fuzzy msgid "BPTC for high-quality compression (not supported on macOS)." msgstr "" "*GLES3:* BPTC para compressão de alta qualidade (não é compatível com macOS)." #: ../../docs/about/list_of_features.rst:359 #, fuzzy msgid "ETC2 (not supported on macOS)." msgstr "*GLES3:* ETC2 (não é compatível com macOS)." #: ../../docs/about/list_of_features.rst:360 #, fuzzy msgid "S3TC (not supported on mobile/Web platforms)." msgstr "*GLES3:* S3TC (não é compatível com as plataformas móveis/Web)." #: ../../docs/about/list_of_features.rst:362 msgid "**Anti-aliasing:**" msgstr "**antisserrilhamento:**" #: ../../docs/about/list_of_features.rst:364 msgid "Temporal :ref:`antialiasing ` (TAA)." msgstr "" #: ../../docs/about/list_of_features.rst:365 msgid "" "Multi-sample antialiasing (MSAA), for both :ref:`doc_2d_antialiasing` and :" "ref:`doc_3d_antialiasing`." msgstr "" #: ../../docs/about/list_of_features.rst:366 msgid "Fast approximate antialiasing (FXAA)." msgstr "Antisserrilhado aproximado rápido (FXAA)." #: ../../docs/about/list_of_features.rst:367 msgid "" "Super-sample antialiasing (SSAA) using bilinear 3D scaling and a 3D " "resolution scale above 1.0." msgstr "" #: ../../docs/about/list_of_features.rst:368 msgid "" "Alpha antialiasing, MSAA alpha to coverage and alpha hashing on a per-" "material basis." msgstr "" #: ../../docs/about/list_of_features.rst:370 #, fuzzy msgid "**Resolution scaling:**" msgstr "**Opções de execução:**" #: ../../docs/about/list_of_features.rst:372 msgid "" "Support for :ref:`rendering 3D at a lower resolution " "` while keeping 2D rendering at the original scale. " "This can be used to improve performance on low-end systems or improve " "visuals on high-end systems." msgstr "" #: ../../docs/about/list_of_features.rst:375 msgid "" "Resolution scaling uses bilinear filtering or AMD FidelityFX Super " "Resolution 1.0 (FSR)." msgstr "" #: ../../docs/about/list_of_features.rst:377 msgid "" "Texture mipmap LOD bias is adjusted automatically to improve quality at " "lower resolution scales. It can also be modified with a manual offset." msgstr "" #: ../../docs/about/list_of_features.rst:380 #, fuzzy msgid "" "Most effects listed above can be adjusted for better performance or to " "further improve quality. This can be helpful when :ref:`using Godot for " "offline rendering `." msgstr "" "A maioria desses efeitos acima pode ser ajustada para melhor desempenho ou " "para melhorar ainda mais a qualidade. Isso pode ser útil ao usar o Godot " "para renderização offline." #: ../../docs/about/list_of_features.rst:385 msgid "3D tools" msgstr "Ferramentas 3D" #: ../../docs/about/list_of_features.rst:387 #, fuzzy msgid "" "Built-in meshes: cube, cylinder/cone, (hemi)sphere, prism, plane, quad, " "torus, ribbon, tube." msgstr "" "Malhas integradas: cubo, cilindro/cone, (hemi) esfera, prisma, plano, quad." #: ../../docs/about/list_of_features.rst:388 msgid ":ref:`GridMaps ` for 3D tile-based level design." msgstr "" #: ../../docs/about/list_of_features.rst:389 msgid "" ":ref:`Constructive solid geometry ` (intended for " "prototyping)." msgstr "" ":ref:`Geometria sólida construtiva ` (destinado para criação " "de protótipos)." #: ../../docs/about/list_of_features.rst:390 msgid "" "Tools for :ref:`procedural geometry generation `." msgstr "" "Ferramentas para :ref:`geração de geometria procedural " "`." #: ../../docs/about/list_of_features.rst:391 msgid "Path3D node to represent a path in 3D space." msgstr "Nó Path3D para representar um caminho no espaço 3D." #: ../../docs/about/list_of_features.rst:394 msgid "PathFollow3D node to make nodes follow a Path3D." msgstr "Nó PathFollow3D para fazer com que os nós sigam um Path3D." #: ../../docs/about/list_of_features.rst:396 #, fuzzy msgid ":ref:`3D geometry helper class `." msgstr "Classe auxiliar de geometria 3D." #: ../../docs/about/list_of_features.rst:397 #, fuzzy msgid "" "Support for exporting the current scene as a glTF 2.0 file, both from the " "editor and at run-time from an exported project." msgstr "Suporte para exportar a cena atual como um arquivo glTF 2.0 do editor." #: ../../docs/about/list_of_features.rst:401 msgid "3D physics" msgstr "Física 3D" #: ../../docs/about/list_of_features.rst:409 msgid "Vehicle bodies (intended for arcade physics, not simulation)." msgstr "" "Corpos de veículos (destinado para físicas arcade, não para simulação)." #: ../../docs/about/list_of_features.rst:411 msgid "Soft bodies." msgstr "Corpos macios." #: ../../docs/about/list_of_features.rst:412 msgid "Ragdolls." msgstr "Ragdolls." #: ../../docs/about/list_of_features.rst:417 #, fuzzy msgid "" "Built-in shapes: cuboid, sphere, capsule, cylinder, world boundary (infinite " "plane)." msgstr "Formas integradas: cubo, esfera, cápsula, cilindro." #: ../../docs/about/list_of_features.rst:418 msgid "Generate triangle collision shapes for any mesh from the editor." msgstr "Gerar formas de colisão triangulares para qualquer malha pelo editor." #: ../../docs/about/list_of_features.rst:419 msgid "" "Generate one or several convex collision shapes for any mesh from the editor." msgstr "" "Gerar uma ou várias formas de colisão convexas para qualquer malha pelo " "editor." #: ../../docs/about/list_of_features.rst:422 #: ../../docs/about/docs_changelog.rst:90 #: ../../docs/about/docs_changelog.rst:214 #: ../../docs/tutorials/shaders/index.rst:2 msgid "Shaders" msgstr "Shaders" #: ../../docs/about/list_of_features.rst:424 msgid "*2D:* Custom vertex, fragment, and light shaders." msgstr "*2D:* Shaders de vertíce, fragmento e luz customizados." #: ../../docs/about/list_of_features.rst:425 msgid "*3D:* Custom vertex, fragment, light, and sky shaders." msgstr "*3D:* Shaders customizados para vértices, fragmentos, luzes e céu." #: ../../docs/about/list_of_features.rst:426 msgid "" "Text-based shaders using a :ref:`shader language inspired by GLSL " "`." msgstr "" "Shaders baseados em texto usando uma :ref:`linguagem de shader inspirada em " "GLSL `." #: ../../docs/about/list_of_features.rst:427 msgid "Visual shader editor." msgstr "Editor visual de shaders." #: ../../docs/about/list_of_features.rst:429 msgid "Support for visual shader plugins." msgstr "Suporte para plugins visuais de shader." #: ../../docs/about/list_of_features.rst:432 #: ../../docs/about/docs_changelog.rst:82 #: ../../docs/about/docs_changelog.rst:219 #: ../../docs/about/docs_changelog.rst:325 #: ../../docs/tutorials/scripting/index.rst:2 msgid "Scripting" msgstr "Scripting" #: ../../docs/about/list_of_features.rst:434 msgid "**General:**" msgstr "**Geral:**" #: ../../docs/about/list_of_features.rst:436 msgid "Object-oriented design pattern with scripts extending nodes." msgstr "Padrão de design orientado a objetos com scripts que estendem nós." #: ../../docs/about/list_of_features.rst:437 msgid "Signals and groups for communicating between scripts." msgstr "Sinais e grupos para comunicação entre scripts." #: ../../docs/about/list_of_features.rst:438 msgid "" "Support for :ref:`cross-language scripting `." msgstr "" "Suporte para :ref:`cross-language scripting `." #: ../../docs/about/list_of_features.rst:439 #, fuzzy msgid "" "Many 2D, 3D and 4D linear algebra data types such as vectors and transforms." msgstr "" "Diversos tipos de dados de algebra linear 2D e 3D como vetores e " "transformações." #: ../../docs/about/list_of_features.rst:441 msgid ":ref:`GDScript: `" msgstr ":ref:`GDScript: `" #: ../../docs/about/list_of_features.rst:443 msgid "" ":ref:`High-level interpreted language ` with :ref:`optional " "static typing `." msgstr "" ":ref:`Linguagem interpretada de alto nível ` com :ref:`tipagem " "estática opcional `." #: ../../docs/about/list_of_features.rst:445 msgid "" "Syntax inspired by Python. However, GDScript is **not** based on Python." msgstr "" #: ../../docs/about/list_of_features.rst:446 msgid "Syntax highlighting is provided on GitHub." msgstr "Destaque de sintaxe é providenciado no GitHub." #: ../../docs/about/list_of_features.rst:447 msgid "" ":ref:`Use threads ` to perform asynchronous " "actions or make use of multiple processor cores." msgstr "" ":ref:`Use threads `para executar ações " "assíncronas ou fazer uso de múltiplos núcleos de processador." #: ../../docs/about/list_of_features.rst:450 msgid ":ref:`C#: `" msgstr ":ref:`C#: `" #: ../../docs/about/list_of_features.rst:452 msgid "Packaged in a separate binary to keep file sizes and dependencies down." msgstr "" "Empacotado num binário separado para manter os tamanhos de fcheiros e " "dependências pequeno." #: ../../docs/about/list_of_features.rst:453 msgid "Supports .NET 6 and higher." msgstr "" #: ../../docs/about/list_of_features.rst:455 #, fuzzy msgid "Full support for the C# 10.0 syntax and features." msgstr "Suporte completo para a sintaxe e funcionalidades do C# 7.0." #: ../../docs/about/list_of_features.rst:457 msgid "" "Supports Windows, Linux, and macOS. As of 4.2 experimental support for " "Android and iOS is also available (requires a .NET 7.0 project for Android " "and 8.0 for iOS)." msgstr "" #: ../../docs/about/list_of_features.rst:460 msgid "" "On the Android platform only some architectures are supported: ``arm64`` and " "``x64``." msgstr "" #: ../../docs/about/list_of_features.rst:461 msgid "On the iOS platform only some architectures are supported: ``arm64``." msgstr "" #: ../../docs/about/list_of_features.rst:462 msgid "" "The web platform is currently unsupported. To use C# on that platform, " "consider Godot 3 instead." msgstr "" #: ../../docs/about/list_of_features.rst:465 msgid "" "Using an external editor is recommended to benefit from IDE functionality." msgstr "" "Utilizar um editor externo é recomendado para ter benefícios de " "funcionalidades de IDE." #: ../../docs/about/list_of_features.rst:467 #, fuzzy msgid "**GDExtension (C, C++, Rust, D, ...):**" msgstr "**GDNative (C, C++, Rust, D, ...):**" #: ../../docs/about/list_of_features.rst:469 msgid "" "When you need it, link to native libraries for higher performance and third-" "party integrations." msgstr "" "Quando necessário, conecte a bibliotecas nativas para melhor desempenho e " "integração com terceiros." #: ../../docs/about/list_of_features.rst:471 msgid "" "For scripting game logic, GDScript or C# are recommended if their " "performance is suitable." msgstr "" "Para programar a lógica do jogo, GDScript ou C# são recomendados, caso o " "desempenho deles seja adequada." #: ../../docs/about/list_of_features.rst:474 msgid "" "Official GDExtension bindings for `C `__ and `C++ `__." msgstr "" #: ../../docs/about/list_of_features.rst:477 msgid "Use any build system and language features you wish." msgstr "Use qualquer build system e funcionalidades da linguagem que quiser." #: ../../docs/about/list_of_features.rst:479 msgid "" "Actively developed GDExtension bindings for `D `__, `Haxe `__, `Swift " "`__, and `Rust `__ bindings provided by the community. (Some of " "these bindings may be experimental and not production-ready)." msgstr "" #: ../../docs/about/list_of_features.rst:484 #: ../../docs/about/docs_changelog.rst:246 #: ../../docs/tutorials/audio/index.rst:4 #: ../../docs/tutorials/export/exporting_for_web.rst:134 msgid "Audio" msgstr "Áudio" #: ../../docs/about/list_of_features.rst:488 msgid "Mono, stereo, 5.1 and 7.1 output." msgstr "Mono, estéreo, saídas 5.1 e 7.1." #: ../../docs/about/list_of_features.rst:489 msgid "Non-positional and positional playback in 2D and 3D." msgstr "Reprodução não-posicional e posicional em 2D e 3D." #: ../../docs/about/list_of_features.rst:491 msgid "Optional Doppler effect in 2D and 3D." msgstr "Efeito Doppler opcional em 2D e 3D." #: ../../docs/about/list_of_features.rst:493 msgid "" "Support for re-routable :ref:`audio buses ` and effects " "with dozens of effects included." msgstr "" "Suporte para :ref:`barramentos de áudio ` redirecionáveis e " "efeitos com dezenas de efeitos inclusos." #: ../../docs/about/list_of_features.rst:495 msgid "" "Support for polyphony (playing several sounds from a single " "AudioStreamPlayer node)." msgstr "" #: ../../docs/about/list_of_features.rst:496 #, fuzzy msgid "Support for random volume and pitch." msgstr "Suporte para plugins visuais de shader." #: ../../docs/about/list_of_features.rst:497 #, fuzzy msgid "Support for real-time pitch scaling." msgstr "Suporte para plugins visuais de shader." #: ../../docs/about/list_of_features.rst:498 msgid "" "Support for sequential/random sample selection, including repetition " "prevention when using random sample selection." msgstr "" #: ../../docs/about/list_of_features.rst:500 msgid "" "Listener2D and Listener3D nodes to listen from a position different than the " "camera." msgstr "" "Nodos Listener2D e Listener3D servem para ouvir de uma posição diferente da " "câmera." #: ../../docs/about/list_of_features.rst:501 #, fuzzy msgid "" "Support for :ref:`procedural audio generation `." msgstr "" "Ferramentas para :ref:`geração de geometria procedural " "`." #: ../../docs/about/list_of_features.rst:502 msgid "Audio input to record microphones." msgstr "" #: ../../docs/about/list_of_features.rst:503 msgid "MIDI input." msgstr "Entrada MIDI." #: ../../docs/about/list_of_features.rst:505 msgid "No support for MIDI output yet." msgstr "Sem suporte para saída MIDI por enquanto." #: ../../docs/about/list_of_features.rst:507 msgid "**APIs used:**" msgstr "**APIs utilizadas:**" #: ../../docs/about/list_of_features.rst:509 msgid "*Windows:* WASAPI." msgstr "*Windows:* WASAPI." #: ../../docs/about/list_of_features.rst:510 msgid "*macOS:* CoreAudio." msgstr "*macOS:* CoreAudio." #: ../../docs/about/list_of_features.rst:511 msgid "*Linux:* PulseAudio or ALSA." msgstr "*Linux:* PulseAudio ou ALSA." #: ../../docs/about/list_of_features.rst:514 msgid "Import" msgstr "Importar" #: ../../docs/about/list_of_features.rst:516 msgid "Support for :ref:`custom import plugins `." msgstr "" "Suporte para :ref:`plugins de importação customizados `." #: ../../docs/about/list_of_features.rst:518 msgid "**Formats:**" msgstr "**Formatos:**" #: ../../docs/about/list_of_features.rst:520 #, fuzzy msgid "*Images:* See :ref:`doc_importing_images`." msgstr "*Imagens:* Veja :ref:`doc_import_images`." #: ../../docs/about/list_of_features.rst:521 msgid "*Audio:*" msgstr "*Áudio:*" #: ../../docs/about/list_of_features.rst:523 msgid "WAV with optional IMA-ADPCM compression." msgstr "WAV com compressão IMA-ADPCM opcional." #: ../../docs/about/list_of_features.rst:524 msgid "Ogg Vorbis." msgstr "Ogg Vorbis." #: ../../docs/about/list_of_features.rst:525 msgid "MP3." msgstr "MP3." #: ../../docs/about/list_of_features.rst:527 #, fuzzy msgid "*3D scenes:* See :ref:`doc_importing_3d_scenes`." msgstr "*Imagens:* Veja :ref:`doc_import_images`." #: ../../docs/about/list_of_features.rst:529 msgid "glTF 2.0 *(recommended)*." msgstr "glTF 2.0 *(recomendado)*." #: ../../docs/about/list_of_features.rst:530 msgid "" "``.blend`` (by calling Blender's glTF export functionality transparently)." msgstr "" #: ../../docs/about/list_of_features.rst:531 msgid "" "FBX (by calling `FBX2glTF `__ " "transparently)." msgstr "" #: ../../docs/about/list_of_features.rst:532 msgid "Collada (.dae)." msgstr "Collada (.dae)." #: ../../docs/about/list_of_features.rst:533 #, fuzzy msgid "" "Wavefront OBJ (static scenes only, can be loaded directly as a mesh or " "imported as a 3D scene)." msgstr "" "Wavefront OBJ (apenas cenas estáticas, pode ser carregado diretamente como " "uma malha)." #: ../../docs/about/list_of_features.rst:535 #, fuzzy msgid "" "Support for loading glTF 2.0 scenes at run-time, including from an exported " "project." msgstr "" "Gerar malhas de navegação pelo editor ou durante a execução (incluindo de um " "projeto exportado)." #: ../../docs/about/list_of_features.rst:536 msgid "" "3D meshes use `Mikktspace `__ to generate " "tangents on import, which ensures consistency with other 3D applications " "such as Blender." msgstr "" "As malhas 3D usam o `Mikktspace `__ para gerar " "tangentes na importação, o que garante consistência com outros aplicativos " "3D, como o Blender." #: ../../docs/about/list_of_features.rst:540 #: ../../docs/about/docs_changelog.rst:191 #: ../../docs/tutorials/rendering/viewports.rst:38 #: ../../docs/tutorials/ui/custom_gui_controls.rst:114 msgid "Input" msgstr "Entrada" #: ../../docs/about/list_of_features.rst:542 #, fuzzy msgid "" ":ref:`Input mapping system ` using hardcoded input " "events or remappable input actions." msgstr "" "Sistema de mapeamento de entrada a usar eventos de entrada codificados ou " "ações de entrada remapeáveis." #: ../../docs/about/list_of_features.rst:545 msgid "" "Axis values can be mapped to two different actions with a configurable " "deadzone." msgstr "" "Valores de eixo podem ser mapeados em duas ações diferentes com uma zona " "morta configurável." #: ../../docs/about/list_of_features.rst:546 msgid "Use the same code to support both keyboards and gamepads." msgstr "Usar o mesmo código para dar suporte à teclados e gamepads." #: ../../docs/about/list_of_features.rst:548 msgid "Keyboard input." msgstr "Entrada de Teclado." #: ../../docs/about/list_of_features.rst:550 msgid "" "Keys can be mapped in \"physical\" mode to be independent of the keyboard " "layout." msgstr "" "Teclas podem ser mapeadas em modo \"físico\" para serem independentes do " "layout do teclado." #: ../../docs/about/list_of_features.rst:552 msgid "Mouse input." msgstr "Entrada de rato." #: ../../docs/about/list_of_features.rst:554 msgid "" "The mouse cursor can be visible, hidden, captured or confined within the " "window." msgstr "" "O cursor do rato pode ser visível, escondido, capturado ou confinado na " "janela." #: ../../docs/about/list_of_features.rst:555 msgid "" "When captured, raw input will be used on Windows and Linux to sidestep the " "OS' mouse acceleration settings." msgstr "" "Quando capturada, a entrada bruta será usada no Windows e no Linux para " "contornar as configurações de aceleração do rato." #: ../../docs/about/list_of_features.rst:558 msgid "Gamepad input (up to 8 simultaneous controllers)." msgstr "Entrada por gamepad (até 8 controles simultâneos)." #: ../../docs/about/list_of_features.rst:559 msgid "Pen/tablet input with pressure support." msgstr "Entrada de caneta/tablet com suporte a pressão." #: ../../docs/about/list_of_features.rst:562 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:136 #: ../../docs/tutorials/navigation/index.rst:2 msgid "Navigation" msgstr "Navegação" #: ../../docs/about/list_of_features.rst:564 msgid "" "A* algorithm in :ref:`2D ` and :ref:`3D `." msgstr "" #: ../../docs/about/list_of_features.rst:565 msgid "" "Navigation meshes with dynamic obstacle avoidance in :ref:`2D " "` and :ref:`3D `." msgstr "" #: ../../docs/about/list_of_features.rst:567 msgid "" "Generate navigation meshes from the editor or at run-time (including from an " "exported project)." msgstr "" "Gerar malhas de navegação pelo editor ou durante a execução (incluindo de um " "projeto exportado)." #: ../../docs/about/list_of_features.rst:570 #: ../../docs/about/docs_changelog.rst:278 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:166 #: ../../docs/tutorials/export/exporting_for_web.rst:146 #: ../../docs/tutorials/networking/index.rst:4 msgid "Networking" msgstr "Trabalho em rede" #: ../../docs/about/list_of_features.rst:572 #, fuzzy msgid "" "Low-level TCP networking using :ref:`class_StreamPeer` and :ref:" "`class_TCPServer`." msgstr "Networking TCP de baixo nível a usar StreamPeer e TCP_Server." #: ../../docs/about/list_of_features.rst:573 #, fuzzy msgid "" "Low-level UDP networking using :ref:`class_PacketPeer` and :ref:" "`class_UDPServer`." msgstr "Networking UDP de baixo nível a usar PacketPeer e UDPServer." #: ../../docs/about/list_of_features.rst:574 #, fuzzy msgid "Low-level HTTP requests using :ref:`class_HTTPClient`." msgstr "Requisições HTTP de baixo nível a utilizar HTTPClient." #: ../../docs/about/list_of_features.rst:575 #, fuzzy msgid "High-level HTTP requests using :ref:`class_HTTPRequest`." msgstr "Requisições HTTP de alto nível a utilizar HTTPRequest." #: ../../docs/about/list_of_features.rst:577 msgid "Supports HTTPS out of the box using bundled certificates." msgstr "Suporta HTTPS pronto para uso a usar certificados inclusos." #: ../../docs/about/list_of_features.rst:579 #, fuzzy msgid "" ":ref:`High-level multiplayer ` API using UDP and " "ENet." msgstr "API multijogador de alto nível a utilizar UDP e ENet." #: ../../docs/about/list_of_features.rst:581 msgid "Automatic replication using remote procedure calls (RPCs)." msgstr "Replicação automática a usar chamadas de procedimento remotas (RPCs)." #: ../../docs/about/list_of_features.rst:582 msgid "Supports unreliable, reliable and ordered transfers." msgstr "Suporta transferências não confiáveis, confiáveis e ordenadas." #: ../../docs/about/list_of_features.rst:584 #, fuzzy msgid "" ":ref:`WebSocket ` client and server, available on all " "platforms." msgstr "Cliente e servidor WebSocket, disponível em todas as plataformas." #: ../../docs/about/list_of_features.rst:585 #, fuzzy msgid "" ":ref:`WebRTC ` client and server, available on all platforms." msgstr "Cliente e servidor WebRTC, disponível em todas as plataformas." #: ../../docs/about/list_of_features.rst:586 #, fuzzy msgid "" "Support for :ref:`UPnP ` to sidestep the requirement to forward " "ports when hosting a server behind a NAT." msgstr "" "Suporte para UPnP para contornar a necessidade de encaminhar portas ao " "hospedar um servidor atrás de um NAT." #: ../../docs/about/list_of_features.rst:590 #: ../../docs/about/docs_changelog.rst:263 #: ../../docs/tutorials/i18n/index.rst:2 msgid "Internationalization" msgstr "Internacionalização" #: ../../docs/about/list_of_features.rst:592 msgid "Full support for Unicode including emoji." msgstr "Suporte completo para Unicode incluindo emojis." #: ../../docs/about/list_of_features.rst:593 msgid "" "Store localization strings using :ref:`CSV ` " "or :ref:`gettext `." msgstr "" "Armazena cadeias de localização a usar :ref:`CSV " "` ou :ref:`gettext " "`." #: ../../docs/about/list_of_features.rst:596 #, fuzzy msgid "Support for generating gettext POT and PO files from the editor." msgstr "Suporte para exportar a cena atual como um arquivo glTF 2.0 do editor." #: ../../docs/about/list_of_features.rst:598 msgid "" "Use localized strings in your project automatically in GUI elements or by " "using the ``tr()`` function." msgstr "" "Utilize cadeias localizadas no seu projeto automaticamente em elementos GUI " "ou a usar a função ``tr()``." #: ../../docs/about/list_of_features.rst:600 msgid "" "Support for pluralization and translation contexts when using gettext " "translations." msgstr "" #: ../../docs/about/list_of_features.rst:601 msgid "" "Support for :ref:`bidirectional typesetting " "`, text shaping and OpenType localized " "forms." msgstr "" #: ../../docs/about/list_of_features.rst:603 msgid "Automatic UI mirroring for right-to-left locales." msgstr "" #: ../../docs/about/list_of_features.rst:604 msgid "" "Support for pseudolocalization to test your project for i18n-friendliness." msgstr "" #: ../../docs/about/list_of_features.rst:607 msgid "Windowing and OS integration" msgstr "Janelas e integração de sistema" #: ../../docs/about/list_of_features.rst:609 msgid "Spawn multiple independent windows within a single process." msgstr "" #: ../../docs/about/list_of_features.rst:610 #, fuzzy msgid "Move, resize, minimize, and maximize windows spawned by the project." msgstr "Mova, redimensione, minimize e maximize a janela gerada pelo projeto." #: ../../docs/about/list_of_features.rst:611 msgid "Change the window title and icon." msgstr "Mude o título e o ícone da janela." #: ../../docs/about/list_of_features.rst:612 msgid "" "Request attention (will cause the title bar to blink on most platforms)." msgstr "" "Requisite atenção (vai fazer a barra de título piscar na maioria das " "plataformas)." #: ../../docs/about/list_of_features.rst:613 msgid "Fullscreen mode." msgstr "Modo ecrã cheio." #: ../../docs/about/list_of_features.rst:615 msgid "" "Uses borderless fullscreen by default on Windows for fast alt-tabbing, but " "can optionally use exclusive fullscreen to reduce input lag." msgstr "" #: ../../docs/about/list_of_features.rst:618 #, fuzzy msgid "Borderless windows (fullscreen or non-fullscreen)." msgstr "Janela sem bordas (ecrã cheio ou ecrã não cheio)." #: ../../docs/about/list_of_features.rst:619 #, fuzzy msgid "Ability to keep a window always on top." msgstr "Possibilidade de manter a janela sempre no topo." #: ../../docs/about/list_of_features.rst:620 msgid "Global menu integration on macOS." msgstr "Integração com menu global no macOS." #: ../../docs/about/list_of_features.rst:621 #, fuzzy msgid "" "Execute commands in a blocking or non-blocking manner (including running " "multiple instances of the same project)." msgstr "Executar comandos de um modo de bloqueio ou de não-bloqueio." #: ../../docs/about/list_of_features.rst:623 msgid "" "Open file paths and URLs using default or custom protocol handlers (if " "registered on the system)." msgstr "" "Abrir caminhos de ficheiros e URLs a usar manipuladores de protocolo padrão " "ou personalizados (se registados no sistema)." #: ../../docs/about/list_of_features.rst:624 msgid "Parse custom command line arguments." msgstr "Analisa argumentos de linha de comando personalizados." #: ../../docs/about/list_of_features.rst:625 msgid "" "Any Godot binary (editor or exported project) can be :ref:`used as a " "headless server ` by starting it with " "the ``--headless`` command line argument. This allows running the engine " "without a GPU or display server." msgstr "" #: ../../docs/about/list_of_features.rst:631 msgid "Mobile" msgstr "Mobile" #: ../../docs/about/list_of_features.rst:633 msgid "" "In-app purchases on :ref:`Android ` and :ref:" "`iOS `." msgstr "" #: ../../docs/about/list_of_features.rst:635 msgid "Support for advertisements using third-party modules." msgstr "Suporte a anúncios a usar módulos de terceira pessoa." #: ../../docs/about/list_of_features.rst:638 msgid "XR support (AR and VR)" msgstr "Suporte à XR (AR e VR)" #: ../../docs/about/list_of_features.rst:640 msgid "Out of the box :ref:`support for OpenXR `." msgstr "" #: ../../docs/about/list_of_features.rst:642 #, fuzzy msgid "" "Including support for popular headsets like the Meta Quest and the Valve " "Index." msgstr "" "Inclui suporte para fones de ouvido populares como o Meta Quest e o Valve " "Index." #: ../../docs/about/list_of_features.rst:644 msgid "Support for ARKit on iOS out of the box." msgstr "Suporte ao ARKit no iOS quando pronto para uso." #: ../../docs/about/list_of_features.rst:645 msgid "Support for the OpenVR APIs." msgstr "Suporte às API's de OpenVR." #: ../../docs/about/list_of_features.rst:648 msgid "GUI system" msgstr "Sistema de Interface Gráfica do Utilizador (GUI)" #: ../../docs/about/list_of_features.rst:650 msgid "" "Godot's GUI is built using the same Control nodes used to make games in " "Godot. The editor UI can easily be extended in many ways using add-ons." msgstr "" "A interface gráfica da Godot é construída a usar os mesmos controles de " "Nodes usados para fazer jogos na Godot. A interface do editor pode ser " "facilmente estendida de diversas formas com o uso de add-ons." #: ../../docs/about/list_of_features.rst:653 msgid "**Nodes:**" msgstr "**Nós:**" #: ../../docs/about/list_of_features.rst:655 msgid "Buttons." msgstr "Botões." #: ../../docs/about/list_of_features.rst:656 msgid "Checkboxes, check buttons, radio buttons." msgstr "Caixas de seleção, botões de seleção, botões de opção." #: ../../docs/about/list_of_features.rst:657 msgid "" "Text entry using :ref:`class_LineEdit` (single line) and :ref:" "`class_TextEdit` (multiple lines). TextEdit also supports code editing " "features such as displaying line numbers and syntax highlighting." msgstr "" #: ../../docs/about/list_of_features.rst:660 #, fuzzy msgid "" "Dropdown menus using :ref:`class_PopupMenu` and :ref:`class_OptionButton`." msgstr "" "Menus suspensos a usar PopupMenu (menu suspenso) e OptionButton (botão de " "opção)." #: ../../docs/about/list_of_features.rst:661 msgid "Scrollbars." msgstr "Barras de rolagem." #: ../../docs/about/list_of_features.rst:662 msgid "Labels." msgstr "Rótulos." #: ../../docs/about/list_of_features.rst:663 #, fuzzy msgid "" "RichTextLabel for :ref:`text formatted using BBCode " "`, with support for animated custom effects." msgstr "" "RichTextLabel para :ref:`textos formatados a usar BBCode " "`." #: ../../docs/about/list_of_features.rst:665 msgid "Trees (can also be used to represent tables)." msgstr "Trees (podem também ser usadas para representar tabelas)." #: ../../docs/about/list_of_features.rst:666 msgid "Color picker with RGB and HSV modes." msgstr "Seletor de cores com modos RGB e HSV." #: ../../docs/about/list_of_features.rst:667 msgid "Controls can be rotated and scaled." msgstr "Controles podem ser rotacionados e ter a escala alterada." #: ../../docs/about/list_of_features.rst:669 msgid "**Sizing:**" msgstr "**Dimensionamento:**" #: ../../docs/about/list_of_features.rst:671 msgid "Anchors to keep GUI elements in a specific corner, edge or centered." msgstr "" "Âncoras para manter os elementos da GUI num canto específico, borda ou " "centro." #: ../../docs/about/list_of_features.rst:672 msgid "Containers to place GUI elements automatically following certain rules." msgstr "" "Contentores para pôr elementos da GUI automaticamente a seguir certas regras." #: ../../docs/about/list_of_features.rst:674 msgid ":ref:`Stack ` layouts." msgstr ":ref:`Stack ` esboços ([i]layouts[/i])." #: ../../docs/about/list_of_features.rst:675 msgid ":ref:`Grid ` layouts." msgstr ":ref:`Grid ` esboços ([i]layouts[/i]." #: ../../docs/about/list_of_features.rst:676 #, fuzzy msgid "" ":ref:`Flow ` layouts (similar to autowrapping text)." msgstr ":ref:`Stack ` esboços ([i]layouts[/i])." #: ../../docs/about/list_of_features.rst:677 #, fuzzy msgid "" ":ref:`Margin `, :ref:`centered " "` and :ref:`aspect ratio " "` layouts." msgstr "" ":ref:`Margin ` and :ref:`centered " "` layouts." #: ../../docs/about/list_of_features.rst:679 msgid ":ref:`Draggable splitter ` layouts." msgstr ":ref:`Draggable splitter ` layouts." #: ../../docs/about/list_of_features.rst:681 #, fuzzy msgid "" "Scale to :ref:`multiple resolutions ` using the " "``canvas_items`` or ``viewport`` stretch modes." msgstr "" "Escale para resoluções múltiplas a usar os modos de alongamento `` 2d`` ou " "`` viewport``." #: ../../docs/about/list_of_features.rst:683 msgid "" "Support any aspect ratio using anchors and the ``expand`` stretch aspect." msgstr "" "Suporta qualquer proporção de aspeto a usar âncoras e o aspeto de extensão " "`` expand``." #: ../../docs/about/list_of_features.rst:685 msgid "**Theming:**" msgstr "**Temas:**" #: ../../docs/about/list_of_features.rst:687 msgid "Built-in theme editor." msgstr "Editor de temas embutido." #: ../../docs/about/list_of_features.rst:689 msgid "Generate a theme based on the current editor theme settings." msgstr "Gere um tema com base nas configurações de tema atuais do editor." #: ../../docs/about/list_of_features.rst:691 msgid "Procedural vector-based theming using :ref:`class_StyleBoxFlat`." msgstr "" "Temas baseados em vetores procedurais a usar: ref: `class_StyleBoxFlat`." #: ../../docs/about/list_of_features.rst:693 msgid "" "Supports rounded/beveled corners, drop shadows, per-border widths and " "antialiasing." msgstr "" "Suporta cantos arredondados/chanfrados, sombras projetadas e larguras por " "borda e antialiasing." #: ../../docs/about/list_of_features.rst:695 msgid "Texture-based theming using :ref:`class_StyleBoxTexture`." msgstr "Temas baseados em textura a usar: ref: `class_StyleBoxTexture`." #: ../../docs/about/list_of_features.rst:697 msgid "" "Godot's small distribution size can make it a suitable alternative to " "frameworks like Electron or Qt." msgstr "" "O tamanho de distribuição pequeno do Godot pode fazê-lo de uma alternativa " "para plataformas como Electron ou Qt." #: ../../docs/about/list_of_features.rst:701 #: ../../docs/about/docs_changelog.rst:57 #: ../../docs/about/docs_changelog.rst:120 #: ../../docs/about/docs_changelog.rst:365 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:49 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:62 #: ../../docs/tutorials/2d/particle_systems_2d.rst:374 #: ../../docs/tutorials/animation/index.rst:2 #: ../../docs/tutorials/assets_pipeline/escn_exporter/animation.rst:2 #: ../../docs/contributing/development/file_formats/tscn.rst:383 msgid "Animation" msgstr "Animação" #: ../../docs/about/list_of_features.rst:703 msgid "Direct kinematics and inverse kinematics." msgstr "Cinemática direta e cinemática inversa." #: ../../docs/about/list_of_features.rst:704 msgid "Support for animating any property with customizable interpolation." msgstr "" "Suporte a animação de qualquer propriedade com interpolação personalizável." #: ../../docs/about/list_of_features.rst:705 msgid "Support for calling methods in animation tracks." msgstr "Suporte a chamada de métodos em trilhas de animação." #: ../../docs/about/list_of_features.rst:706 msgid "Support for playing sounds in animation tracks." msgstr "Suporte a áudio em trilhas de animação." #: ../../docs/about/list_of_features.rst:707 msgid "Support for Bézier curves in animation." msgstr "Suporte a curvas Bézier em animações." #: ../../docs/about/list_of_features.rst:710 msgid "File formats" msgstr "Formatos de ficheiros" #: ../../docs/about/list_of_features.rst:712 msgid "" "Scenes and resources can be saved in :ref:`text-based " "` or binary formats." msgstr "" "Cenas e recursos podem ser salvos como :ref:`text-based " "` ou em formatos binários." #: ../../docs/about/list_of_features.rst:714 msgid "" "Text-based formats are human-readable and more friendly to version control." msgstr "" "Formatos baseados em texto são legíveis por humanos e mais amigáveis a " "sistemas de versionamento." #: ../../docs/about/list_of_features.rst:715 msgid "Binary formats are faster to save/load for large scenes/resources." msgstr "" "Formatos binários são mais rápidos para gravar e carregar para cenas e " "recursos pesados." #: ../../docs/about/list_of_features.rst:717 #, fuzzy msgid "Read and write text or binary files using :ref:`class_FileAccess`." msgstr "" "Leia e escreva ficheiros binários ou de texto a usar :ref:`class_File`." #: ../../docs/about/list_of_features.rst:719 msgid "Can optionally be compressed or encrypted." msgstr "Podem ser opcionalmente comprimidos ou criptografados." #: ../../docs/about/list_of_features.rst:721 msgid "Read and write :ref:`class_JSON` files." msgstr "Leia e escreva ficheiro :ref:`class_JSON`." #: ../../docs/about/list_of_features.rst:722 msgid "" "Read and write INI-style configuration files using :ref:`class_ConfigFile`." msgstr "" "Leia e escreva ficheiros de configuração em estilo INI a usar :ref:" "`class_ConfigFile`." #: ../../docs/about/list_of_features.rst:724 msgid "Can (de)serialize any Godot datatype, including Vector2/3, Color, ..." msgstr "" "Pode (de)serializar qualquer tipo de dados do Godot, incluindo Vector2/3, " "Color, ..." #: ../../docs/about/list_of_features.rst:726 msgid "Read XML files using :ref:`class_XMLParser`." msgstr "Leia ficheiros XML a usar :ref:`class_XMLParser`." #: ../../docs/about/list_of_features.rst:727 msgid "" ":ref:`Load and save images, audio/video, fonts and ZIP archives " "` in an exported project without having to " "go through Godot's import system." msgstr "" #: ../../docs/about/list_of_features.rst:729 msgid "" "Pack game data into a PCK file (custom format optimized for fast seeking), " "into a ZIP archive, or directly into the executable for single-file " "distribution." msgstr "" "Empacote dados de jogo num ficheiro PCK (formato personalizado otimizado " "para buscas rápidas), num arquivo ZIP, ou diretamente no executável para " "distribuição de um único ficheiro." #: ../../docs/about/list_of_features.rst:731 msgid "" ":ref:`Export additional PCK files` that can be read by " "the engine to support mods and DLCs." msgstr "" ":ref:`Exporte ficheiros PCK adicionais` que podem ser " "lidos pelo Engine para suportar modificações e DLC." #: ../../docs/about/list_of_features.rst:735 #: ../../docs/about/docs_changelog.rst:417 msgid "Miscellaneous" msgstr "Diversos" #: ../../docs/about/list_of_features.rst:737 msgid "" ":ref:`Video playback ` with built-in support for Ogg " "Theora." msgstr "" #: ../../docs/about/list_of_features.rst:738 msgid "" ":ref:`Movie Maker mode ` to record videos from a " "running project with synchronized audio and perfect frame pacing." msgstr "" #: ../../docs/about/list_of_features.rst:740 msgid "" ":ref:`Low-level access to servers ` which allows " "bypassing the scene tree's overhead when needed." msgstr "" ":ref:`Acesso de baixo nível aos servidores ` que permite " "ultrapassar o gargalo da árvore de cenas quando necessário." #: ../../docs/about/list_of_features.rst:742 msgid "" ":ref:`Command line interface ` for automation." msgstr "" ":ref:`Interface de Linha de Comando ` para " "automação." #: ../../docs/about/list_of_features.rst:744 msgid "Export and deploy projects using continuous integration platforms." msgstr "Exporte e implante projetos a usar plataformas de integração contínua." #: ../../docs/about/list_of_features.rst:745 msgid "" "`Shell completion scripts `__ are available for Bash, zsh and fish." msgstr "" "`Acabamento de scripts de shell `__ estão disponíveis para Bash, zsh e fish." #: ../../docs/about/list_of_features.rst:747 msgid "" "Print colored text to standard output on all platforms using :ref:" "`print_rich `." msgstr "" #: ../../docs/about/list_of_features.rst:750 #, fuzzy msgid "" "Support for :ref:`C++ modules ` statically linked " "into the engine binary." msgstr "" "Suporte para :ref:`módulos C++ ` com ligação " "estática ao binário do Engine." #: ../../docs/about/list_of_features.rst:752 #, fuzzy msgid "Engine and editor written in C++17." msgstr "Engine e editor escritos em C++03." #: ../../docs/about/list_of_features.rst:754 msgid "" "Can be :ref:`compiled ` using GCC, " "Clang and MSVC. MinGW is also supported." msgstr "" "Pode ser :ref:`compilado ` a usar GCC, " "Clang e MSVC. MinGW também tem suporte." #: ../../docs/about/list_of_features.rst:756 msgid "" "Friendly towards packagers. In most cases, system libraries can be used " "instead of the ones provided by Godot. The build system doesn't download " "anything. Builds can be fully reproducible." msgstr "" "Amigável aos distribuidores de pacotes. Na maioria dos casos, bibliotecas do " "sistema podem ser utilizadas no lugar das fornecidas pelo Godot. O sistema " "de compilação não descarrega nada. As compilações são completamente " "reproduzíveis." #: ../../docs/about/list_of_features.rst:760 msgid "Licensed under the permissive MIT license." msgstr "Licenciado sob a licença permissiva MIT." #: ../../docs/about/list_of_features.rst:762 #, fuzzy msgid "" "Open development process with :ref:`contributions welcome " "`." msgstr "" "Processo de desenvolvimento aberto com :ref:`contribuições bem-vindas " "`." #: ../../docs/about/list_of_features.rst:766 msgid "" "The `Godot proposals repository `__ lists features that have been requested by the community and " "may be implemented in future Godot releases." msgstr "" "O `repositório de propostas do Godot `. Below is a list of new pages added " "since version 3.0." msgstr "" "Esta documentação está a ser continuamente melhorada. O lançamento da versão " "3.2 inclui muitos novos tutoriais, muitas correções e atualizações de " "antigos tutoriais e muitas atualizações das referências de classes. Abaixo " "está uma lista dos novos tutoriais adicionados desde a versão 3.1." #: ../../docs/about/docs_changelog.rst:11 #, fuzzy msgid "" "This document only contains new pages so not all changes are reflected, many " "pages have been substantially updated but are not reflected in this document." msgstr "" "Este documento apenas contém novos tutoriais, portanto nem todas as mudanças " "são contempladas. Muitos tutoriais tem sido substancialmente atualizados mas " "não são refletidos neste documento." #: ../../docs/about/docs_changelog.rst:15 #, fuzzy msgid "New pages since version 4.0" msgstr "Novos tutoriais desde a versão 3.0" #: ../../docs/about/docs_changelog.rst:18 #: ../../docs/about/docs_changelog.rst:67 #: ../../docs/about/docs_changelog.rst:170 msgid "Development" msgstr "Desenvolvimento" #: ../../docs/about/docs_changelog.rst:20 #, fuzzy msgid ":ref:`doc_internal_rendering_architecture`" msgstr ":ref:`doc_beziers_and_curves`" #: ../../docs/about/docs_changelog.rst:21 #, fuzzy msgid ":ref:`doc_using_sanitizers`" msgstr ":ref:`Usando servidores `" #: ../../docs/about/docs_changelog.rst:24 #: ../../docs/about/docs_changelog.rst:72 #, fuzzy msgid "Migrating" msgstr "Iluminação" #: ../../docs/about/docs_changelog.rst:26 #, fuzzy msgid ":ref:`doc_upgrading_to_godot_4.1`" msgstr ":ref:`doc_converting_glsl_to_godot_shaders`" #: ../../docs/about/docs_changelog.rst:29 #: ../../docs/about/docs_changelog.rst:77 #: ../../docs/about/docs_changelog.rst:208 #: ../../docs/about/docs_changelog.rst:359 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.1.rst:104 #: ../../docs/tutorials/performance/cpu_optimization.rst:235 #: ../../docs/tutorials/physics/index.rst:2 msgid "Physics" msgstr "Física" #: ../../docs/about/docs_changelog.rst:31 #, fuzzy msgid ":ref:`doc_troubleshooting_physics_issues`" msgstr ":ref:`doc_exporting_basics`" #: ../../docs/about/docs_changelog.rst:34 #, fuzzy msgid "New pages since version 3.6" msgstr "Novos tutoriais desde a versão 3.1" #: ../../docs/about/docs_changelog.rst:37 #: ../../docs/about/docs_changelog.rst:241 #: ../../docs/about/docs_changelog.rst:346 ../../docs/tutorials/2d/index.rst:2 msgid "2D" msgstr "2D" #: ../../docs/about/docs_changelog.rst:39 #, fuzzy msgid ":ref:`doc_2d_antialiasing`" msgstr ":ref:`doc_2d_sprite_animation`" #: ../../docs/about/docs_changelog.rst:42 #: ../../docs/about/docs_changelog.rst:115 #: ../../docs/about/docs_changelog.rst:146 #: ../../docs/about/docs_changelog.rst:352 ../../docs/tutorials/3d/index.rst:2 #: ../../docs/tutorials/performance/index.rst:72 msgid "3D" msgstr "3D" #: ../../docs/about/docs_changelog.rst:44 #, fuzzy msgid ":ref:`doc_3d_antialiasing`" msgstr ":ref:`Notificações Godot `" #: ../../docs/about/docs_changelog.rst:45 #, fuzzy msgid ":ref:`doc_faking_global_illumination`" msgstr ":ref:`doc_interpolation`" #: ../../docs/about/docs_changelog.rst:46 #, fuzzy msgid ":ref:`doc_introduction_to_global_illumination`" msgstr ":ref:`doc_introduction_to_shaders`" #: ../../docs/about/docs_changelog.rst:47 #, fuzzy msgid ":ref:`doc_mesh_lod`" msgstr ":ref:`Malhas 2D `" #: ../../docs/about/docs_changelog.rst:48 #, fuzzy msgid ":ref:`doc_occlusion_culling`" msgstr ":ref:`Utilizando MultiMesh `" #: ../../docs/about/docs_changelog.rst:49 #, fuzzy msgid ":ref:`doc_using_sdfgi`" msgstr ":ref:`Usando servidores `" #: ../../docs/about/docs_changelog.rst:50 #, fuzzy msgid ":ref:`doc_using_decals`" msgstr ":ref:`Sinais `" #: ../../docs/about/docs_changelog.rst:51 #, fuzzy msgid ":ref:`doc_visibility_ranges`" msgstr ":ref:`doc_visual_shaders`" #: ../../docs/about/docs_changelog.rst:52 #, fuzzy msgid ":ref:`doc_volumetric_fog`" msgstr ":ref:`doc_webrtc`" #: ../../docs/about/docs_changelog.rst:53 #, fuzzy msgid ":ref:`doc_variable_rate_shading`" msgstr ":ref:`Shading de particulas `" #: ../../docs/about/docs_changelog.rst:54 #, fuzzy msgid ":ref:`doc_physical_light_and_camera_units`" msgstr ":ref:`Luzes e sombras 2D `" #: ../../docs/about/docs_changelog.rst:59 #, fuzzy msgid ":ref:`doc_creating_movies`" msgstr ":ref:`Criando árvores `" #: ../../docs/about/docs_changelog.rst:62 #: ../../docs/tutorials/assets_pipeline/index.rst:2 msgid "Assets pipeline" msgstr "Pipeline de assets" #: ../../docs/about/docs_changelog.rst:64 #, fuzzy msgid ":ref:`doc_retargeting_3d_skeletons`" msgstr ":ref:`Esqueletos 2D `" #: ../../docs/about/docs_changelog.rst:69 #, fuzzy msgid ":ref:`doc_custom_platform_ports`" msgstr ":ref:`Personalizar pós-processamento `" #: ../../docs/about/docs_changelog.rst:74 #, fuzzy msgid ":ref:`doc_upgrading_to_godot_4`" msgstr ":ref:`doc_converting_glsl_to_godot_shaders`" #: ../../docs/about/docs_changelog.rst:79 #, fuzzy msgid ":ref:`doc_large_world_coordinates`" msgstr ":ref: `O que são as classes Godot `" #: ../../docs/about/docs_changelog.rst:84 #, fuzzy msgid ":ref:`doc_custom_performance_monitors`" msgstr ":ref:`Personalizar pós-processamento `" #: ../../docs/about/docs_changelog.rst:85 #, fuzzy msgid ":ref:`doc_c_sharp_collections`" msgstr ":ref:`Esqueletos 2D `" #: ../../docs/about/docs_changelog.rst:86 #, fuzzy msgid ":ref:`doc_c_sharp_global_classes`" msgstr ":ref: `O que são as classes Godot `" #: ../../docs/about/docs_changelog.rst:87 #, fuzzy msgid ":ref:`doc_c_sharp_variant`" msgstr ":ref:`doc_2d_sprite_animation`" #: ../../docs/about/docs_changelog.rst:92 #, fuzzy msgid ":ref:`doc_compute_shaders`" msgstr ":ref:`Shading de particulas `" #: ../../docs/about/docs_changelog.rst:95 msgid "Workflow" msgstr "" #: ../../docs/about/docs_changelog.rst:97 #, fuzzy msgid ":ref:`doc_pr_review_guidelines`" msgstr ":ref:`Preferências de dados `" #: ../../docs/about/docs_changelog.rst:100 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.2.rst:216 #: ../../docs/tutorials/xr/index.rst:2 #, fuzzy msgid "XR" msgstr "X" #: ../../docs/about/docs_changelog.rst:102 #, fuzzy msgid ":ref:`doc_introducing_xr_tools`" msgstr ":ref:`doc_introduction_to_shaders`" #: ../../docs/about/docs_changelog.rst:103 #, fuzzy msgid ":ref:`doc_xr_action_map`" msgstr ":ref:`doc_interpolation`" #: ../../docs/about/docs_changelog.rst:104 #, fuzzy msgid ":ref:`doc_deploying_to_android`" msgstr ":ref:`doc_exporting_basics`" #: ../../docs/about/docs_changelog.rst:107 #, fuzzy msgid "New pages since version 3.5" msgstr "Novos tutoriais desde a versão 3.1" #: ../../docs/about/docs_changelog.rst:109 msgid "None." msgstr "" #: ../../docs/about/docs_changelog.rst:112 #, fuzzy msgid "New pages since version 3.4" msgstr "Novos tutoriais desde a versão 3.1" #: ../../docs/about/docs_changelog.rst:117 #, fuzzy msgid ":ref:`doc_3d_text`" msgstr ":ref:`doc_webrtc`" #: ../../docs/about/docs_changelog.rst:122 #, fuzzy msgid ":ref:`doc_playing_videos`" msgstr ":ref:`Criando árvores `" #: ../../docs/about/docs_changelog.rst:127 #, fuzzy msgid ":ref:`doc_managing_editor_features`" msgstr ":ref:`Criando árvores `" #: ../../docs/about/docs_changelog.rst:130 #, fuzzy msgid "New pages since version 3.3" msgstr "Novos tutoriais desde a versão 3.1" #: ../../docs/about/docs_changelog.rst:133 #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:33 #: ../../docs/tutorials/performance/cpu_optimization.rst:184 msgid "C++" msgstr "C++" #: ../../docs/about/docs_changelog.rst:135 #, fuzzy msgid ":ref:`doc_cpp_usage_guidelines`" msgstr ":ref:`Utilizando MultiMesh `" #: ../../docs/about/docs_changelog.rst:138 #: ../../docs/getting_started/step_by_step/scripting_languages.rst:59 #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:15 #: ../../docs/tutorials/performance/cpu_optimization.rst:160 #: ../../docs/tutorials/scripting/gdscript/index.rst:2 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:35 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:75 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:109 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:239 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:374 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:483 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:565 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:576 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:594 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:631 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:647 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:662 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:679 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:691 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:699 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:712 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:720 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:733 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:767 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:775 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:783 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:78 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:118 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:216 #: ../../docs/tutorials/scripting/debug/overview_of_debugging_tools.rst:128 msgid "GDScript" msgstr "GDScript" #: ../../docs/about/docs_changelog.rst:140 #, fuzzy msgid ":ref:`doc_gdscript_documentation_comments`" msgstr ":ref:`GDscript estaticamente tipado `" #: ../../docs/about/docs_changelog.rst:143 #, fuzzy msgid "New pages since version 3.2" msgstr "Novos tutoriais desde a versão 3.1" #: ../../docs/about/docs_changelog.rst:148 #, fuzzy msgid ":ref:`doc_3d_rendering_limitations`" msgstr "Limitações da renderização 3D" #: ../../docs/about/docs_changelog.rst:153 #, fuzzy msgid ":ref:`doc_troubleshooting`" msgstr ":ref:`doc_interpolation`" #: ../../docs/about/docs_changelog.rst:154 #, fuzzy msgid ":ref:`doc_list_of_features`" msgstr "" ":ref:`Usando uma Janela de exibição (Viewport) como uma textura " "`" #: ../../docs/about/docs_changelog.rst:155 #, fuzzy msgid ":ref:`doc_release_policy`" msgstr ":ref:`doc_thread_safe_apis`" #: ../../docs/about/docs_changelog.rst:158 #: ../../docs/tutorials/best_practices/index.rst:2 #: ../../docs/tutorials/assets_pipeline/importing_images.rst:482 #: ../../docs/tutorials/assets_pipeline/importing_audio_samples.rst:268 #: ../../docs/tutorials/audio/text_to_speech.rst:77 msgid "Best practices" msgstr "Boas práticas" #: ../../docs/about/docs_changelog.rst:160 #, fuzzy msgid ":ref:`doc_version_control_systems`" msgstr ":ref:`Sistema Ragdoll `" #: ../../docs/about/docs_changelog.rst:165 #, fuzzy msgid ":ref:`doc_best_practices_for_engine_contributors`" msgstr "Veja :ref:`doc_ways_to_contribute`." #: ../../docs/about/docs_changelog.rst:166 #, fuzzy msgid ":ref:`doc_bisecting_regressions`" msgstr ":ref:`Usando servidores `" #: ../../docs/about/docs_changelog.rst:167 #, fuzzy msgid ":ref:`doc_editor_and_docs_localization`" msgstr "Localização do editor e dos documentos" #: ../../docs/about/docs_changelog.rst:172 #, fuzzy msgid ":ref:`doc_introduction_to_editor_development`" msgstr "Introdução ao editor do Godot" #: ../../docs/about/docs_changelog.rst:173 #, fuzzy msgid ":ref:`doc_editor_style_guide`" msgstr ":ref:`Consertando jitter e stutter `" #: ../../docs/about/docs_changelog.rst:174 #, fuzzy msgid ":ref:`doc_common_engine_methods_and_macros`" msgstr "" ":ref:`Controlando milhares de peixes `" #: ../../docs/about/docs_changelog.rst:175 #, fuzzy msgid ":ref:`doc_vulkan_validation_layers`" msgstr ":ref:`Árvore de Animações `" #: ../../docs/about/docs_changelog.rst:176 #, fuzzy msgid ":ref:`doc_gdscript_grammar`" msgstr ":ref:`doc_2d_sprite_animation`" #: ../../docs/about/docs_changelog.rst:177 msgid "Configuring an IDE: :ref:`doc_configuring_an_ide_code_blocks`" msgstr "" #: ../../docs/about/docs_changelog.rst:182 #, fuzzy msgid ":ref:`doc_default_key_mapping`" msgstr ":ref:`doc_thread_safe_apis`" #: ../../docs/about/docs_changelog.rst:183 #, fuzzy msgid ":ref:`doc_using_the_web_editor`" msgstr ":ref: `Web `" #: ../../docs/about/docs_changelog.rst:186 #: ../../docs/tutorials/export/index.rst:2 msgid "Export" msgstr "Exportar" #: ../../docs/about/docs_changelog.rst:188 #, fuzzy msgid ":ref:`doc_exporting_for_dedicated_servers`" msgstr "Exportando para servidores dedicados" #: ../../docs/about/docs_changelog.rst:193 #, fuzzy msgid ":ref:`doc_controllers_gamepads_joysticks`" msgstr "Controles, gamepads e joysticks" #: ../../docs/about/docs_changelog.rst:196 #: ../../docs/about/docs_changelog.rst:252 #: ../../docs/tutorials/math/index.rst:2 msgid "Math" msgstr "Matemática" #: ../../docs/about/docs_changelog.rst:198 #, fuzzy msgid ":ref:`doc_random_number_generation`" msgstr "Geração de números aleatórios" #: ../../docs/about/docs_changelog.rst:201 #: ../../docs/about/docs_changelog.rst:402 #: ../../docs/tutorials/platform/index.rst:4 msgid "Platform-specific" msgstr "Específico de plataforma" #: ../../docs/about/docs_changelog.rst:203 #, fuzzy msgid ":ref:`doc_plugins_for_ios`" msgstr ":ref: Otimizado para tamanho `doc_optimizing_for_size`" #: ../../docs/about/docs_changelog.rst:204 #, fuzzy msgid ":ref:`doc_ios_plugin`" msgstr ":ref:`doc_android_plugin`" #: ../../docs/about/docs_changelog.rst:205 #, fuzzy msgid ":ref:`doc_html5_shell_classref`" msgstr ":ref: `O que são as classes Godot `" #: ../../docs/about/docs_changelog.rst:210 #, fuzzy msgid ":ref:`doc_collision_shapes_2d`" msgstr ":ref:`doc_visual_shaders`" #: ../../docs/about/docs_changelog.rst:211 #, fuzzy msgid ":ref:`doc_collision_shapes_3d`" msgstr ":ref:`doc_visual_shaders`" #: ../../docs/about/docs_changelog.rst:216 #, fuzzy msgid ":ref:`doc_shaders_style_guide`" msgstr ":ref:`Linguagem de shaders `" #: ../../docs/about/docs_changelog.rst:221 #, fuzzy msgid ":ref:`doc_debugger_panel`" msgstr "GDScript :ref:`debugger `." #: ../../docs/about/docs_changelog.rst:222 #, fuzzy msgid ":ref:`doc_creating_script_templates`" msgstr "Criar modelos de script" #: ../../docs/about/docs_changelog.rst:223 #, fuzzy msgid ":ref:`doc_evaluating_expressions`" msgstr "Avaliar Seleção" #: ../../docs/about/docs_changelog.rst:224 #, fuzzy msgid ":ref:`doc_what_is_gdextension`" msgstr ":ref: `O que são as classes Godot `" #: ../../docs/about/docs_changelog.rst:225 msgid "" ":ref:`doc_gdscript_warning_system` (split from :ref:" "`doc_gdscript_static_typing`)" msgstr "" #: ../../docs/about/docs_changelog.rst:228 msgid "User Interface (UI)" msgstr "Interface de Utilizador (UI)" #: ../../docs/about/docs_changelog.rst:230 #, fuzzy msgid ":ref:`doc_control_node_gallery`" msgstr ":ref:`Alternativas de nós `" #: ../../docs/about/docs_changelog.rst:233 #, fuzzy msgid "New pages since version 3.1" msgstr "Novos tutoriais desde a versão 3.1" #: ../../docs/about/docs_changelog.rst:236 #: ../../docs/about/docs_changelog.rst:330 msgid "Project workflow" msgstr "Fluxo de trabalho do projeto" #: ../../docs/about/docs_changelog.rst:238 #, fuzzy msgid ":ref:`doc_android_gradle_build`" msgstr ":ref:`doc_android_custom_build`" #: ../../docs/about/docs_changelog.rst:243 msgid ":ref:`doc_2d_sprite_animation`" msgstr ":ref:`doc_2d_sprite_animation`" #: ../../docs/about/docs_changelog.rst:248 msgid ":ref:`doc_recording_with_microphone`" msgstr ":ref:`doc_recording_with_microphone`" #: ../../docs/about/docs_changelog.rst:249 msgid ":ref:`doc_sync_with_audio`" msgstr ":ref:`doc_sync_with_audio`" #: ../../docs/about/docs_changelog.rst:254 msgid ":ref:`doc_beziers_and_curves`" msgstr ":ref:`doc_beziers_and_curves`" #: ../../docs/about/docs_changelog.rst:255 msgid ":ref:`doc_interpolation`" msgstr ":ref:`doc_interpolation`" #: ../../docs/about/docs_changelog.rst:258 msgid "Inputs" msgstr "Entradas" #: ../../docs/about/docs_changelog.rst:260 msgid ":ref:`doc_input_examples`" msgstr ":ref:`doc_input_examples`" #: ../../docs/about/docs_changelog.rst:265 msgid ":ref:`doc_localization_using_gettext`" msgstr ":ref:`doc_localization_using_gettext`" #: ../../docs/about/docs_changelog.rst:268 #: ../../docs/about/docs_changelog.rst:382 #: ../../docs/tutorials/3d/standard_material_3d.rst:242 msgid "Shading" msgstr "Criando Shaders" #: ../../docs/about/docs_changelog.rst:273 msgid "Your First Shader Series:" msgstr "A sua primeira série de shader:" #: ../../docs/about/docs_changelog.rst:271 #: ../../docs/about/docs_changelog.rst:389 msgid ":ref:`doc_introduction_to_shaders`" msgstr ":ref:`doc_introduction_to_shaders`" #: ../../docs/about/docs_changelog.rst:272 msgid ":ref:`doc_your_first_canvasitem_shader`" msgstr ":ref:`doc_your_first_canvasitem_shader`" #: ../../docs/about/docs_changelog.rst:273 msgid ":ref:`doc_your_first_spatial_shader`" msgstr ":ref:`doc_your_first_spatial_shader`" #: ../../docs/about/docs_changelog.rst:274 msgid ":ref:`doc_your_second_spatial_shader`" msgstr ":ref:`doc_your_second_spatial_shader`" #: ../../docs/about/docs_changelog.rst:275 msgid ":ref:`doc_visual_shaders`" msgstr ":ref:`doc_visual_shaders`" #: ../../docs/about/docs_changelog.rst:280 msgid ":ref:`doc_webrtc`" msgstr ":ref:`doc_webrtc`" #: ../../docs/about/docs_changelog.rst:283 #: ../../docs/about/docs_changelog.rst:396 #: ../../docs/tutorials/plugins/index.rst:2 msgid "Plugins" msgstr "Plugins" #: ../../docs/about/docs_changelog.rst:285 msgid ":ref:`doc_android_plugin`" msgstr ":ref:`doc_android_plugin`" #: ../../docs/about/docs_changelog.rst:286 msgid ":ref:`doc_inspector_plugins`" msgstr ":ref:`doc_inspector_plugins`" #: ../../docs/about/docs_changelog.rst:287 msgid ":ref:`doc_visual_shader_plugins`" msgstr ":ref:`doc_visual_shader_plugins`" #: ../../docs/about/docs_changelog.rst:290 #: ../../docs/about/docs_changelog.rst:407 msgid "Multi-threading" msgstr "Múltiplas execuções (Multi-threading)" #: ../../docs/about/docs_changelog.rst:292 msgid ":ref:`doc_using_multiple_threads`" msgstr ":ref:`doc_using_multiple_threads`" #: ../../docs/about/docs_changelog.rst:295 #: ../../docs/about/docs_changelog.rst:412 msgid "Creating content" msgstr "Criando conteúdo" #: ../../docs/about/docs_changelog.rst:302 msgid "Procedural geometry series:" msgstr "Série de geometria procedural:" #: ../../docs/about/docs_changelog.rst:298 msgid ":ref:`Procedural geometry `" msgstr ":ref:`Geometria procedural `" #: ../../docs/about/docs_changelog.rst:299 msgid ":ref:`doc_arraymesh`" msgstr ":ref:`ArrayMesh `" #: ../../docs/about/docs_changelog.rst:300 msgid ":ref:`doc_surfacetool`" msgstr ":ref:`Ferramenta de superfície `" #: ../../docs/about/docs_changelog.rst:301 msgid ":ref:`doc_meshdatatool`" msgstr ":ref:`Ferramenta de dados de malha `" #: ../../docs/about/docs_changelog.rst:302 #, fuzzy msgid ":ref:`doc_immediatemesh`" msgstr ":ref:`Geometria imediata `" #: ../../docs/about/docs_changelog.rst:305 ../../docs/tutorials/3d/index.rst:33 msgid "Optimization" msgstr "Otimização" #: ../../docs/about/docs_changelog.rst:307 msgid ":ref:`doc_using_multimesh`" msgstr ":ref:`Utilizando MultiMesh `" #: ../../docs/about/docs_changelog.rst:308 msgid ":ref:`doc_using_servers`" msgstr ":ref:`Usando servidores `" #: ../../docs/about/docs_changelog.rst:311 msgid "Legal" msgstr "Jurídico" #: ../../docs/about/docs_changelog.rst:313 msgid ":ref:`doc_complying_with_licenses`" msgstr ":ref:`doc_complying_with_licenses`" #: ../../docs/about/docs_changelog.rst:316 #, fuzzy msgid "New pages since version 3.0" msgstr "Novos tutoriais desde a versão 3.0" #: ../../docs/about/docs_changelog.rst:319 #: ../../docs/getting_started/step_by_step/index.rst:4 #: ../../docs/contributing/development/compiling/compiling_with_script_encryption_key.rst:32 msgid "Step by step" msgstr "Passo a passo" #: ../../docs/about/docs_changelog.rst:321 msgid ":ref:`doc_signals`" msgstr ":ref:`Sinais `" #: ../../docs/about/docs_changelog.rst:322 #: ../../docs/tutorials/editor/command_line_tutorial.rst:370 msgid "Exporting" msgstr "Exportando" #: ../../docs/about/docs_changelog.rst:327 msgid ":ref:`doc_gdscript_static_typing`" msgstr ":ref:`GDscript estaticamente tipado `" #: ../../docs/about/docs_changelog.rst:332 msgid "Best Practices:" msgstr "Boas Práticas:" #: ../../docs/about/docs_changelog.rst:334 msgid ":ref:`doc_introduction_best_practices`" msgstr "" ":ref: `Introdução as melhores práticas `" #: ../../docs/about/docs_changelog.rst:335 msgid ":ref:`doc_what_are_godot_classes`" msgstr ":ref: `O que são as classes Godot `" #: ../../docs/about/docs_changelog.rst:336 msgid ":ref:`doc_scene_organization`" msgstr ":ref:`Organização de cenas `" #: ../../docs/about/docs_changelog.rst:337 msgid ":ref:`doc_scenes_versus_scripts`" msgstr ":ref: `Cenas versus Scripts `" #: ../../docs/about/docs_changelog.rst:338 msgid ":ref:`doc_autoloads_versus_internal_nodes`" msgstr "" ":ref:`Autoloads versus nós internos `" #: ../../docs/about/docs_changelog.rst:339 msgid ":ref:`doc_node_alternatives`" msgstr ":ref:`Alternativas de nós `" #: ../../docs/about/docs_changelog.rst:340 msgid ":ref:`doc_godot_interfaces`" msgstr ":ref:`Interfaces Godot `" #: ../../docs/about/docs_changelog.rst:341 msgid ":ref:`doc_godot_notifications`" msgstr ":ref:`Notificações Godot `" #: ../../docs/about/docs_changelog.rst:342 msgid ":ref:`doc_data_preferences`" msgstr ":ref:`Preferências de dados `" #: ../../docs/about/docs_changelog.rst:343 msgid ":ref:`doc_logic_preferences`" msgstr ":ref:`Preferências de lógica `" #: ../../docs/about/docs_changelog.rst:348 msgid ":ref:`doc_2d_lights_and_shadows`" msgstr ":ref:`Luzes e sombras 2D `" #: ../../docs/about/docs_changelog.rst:349 msgid ":ref:`doc_2d_meshes`" msgstr ":ref:`Malhas 2D `" #: ../../docs/about/docs_changelog.rst:354 msgid ":ref:`doc_csg_tools`" msgstr ":ref:`Ferramentas CSG `" #: ../../docs/about/docs_changelog.rst:355 msgid ":ref:`doc_animating_thousands_of_fish`" msgstr ":ref:`Animando milhares de peixes `" #: ../../docs/about/docs_changelog.rst:356 msgid ":ref:`doc_controlling_thousands_of_fish`" msgstr "" ":ref:`Controlando milhares de peixes `" #: ../../docs/about/docs_changelog.rst:361 msgid ":ref:`doc_ragdoll_system`" msgstr ":ref:`Sistema Ragdoll `" #: ../../docs/about/docs_changelog.rst:362 msgid ":ref:`doc_soft_body`" msgstr ":ref:`Softbody `" #: ../../docs/about/docs_changelog.rst:367 msgid ":ref:`doc_2d_skeletons`" msgstr ":ref:`Esqueletos 2D `" #: ../../docs/about/docs_changelog.rst:368 msgid ":ref:`doc_animation_tree`" msgstr ":ref:`Árvore de Animações `" #: ../../docs/about/docs_changelog.rst:371 msgid "GUI" msgstr "Interface Gráfica do Utilizador" #: ../../docs/about/docs_changelog.rst:373 msgid ":ref:`doc_gui_containers`" msgstr ":ref:`Contentores GUI `" #: ../../docs/about/docs_changelog.rst:376 msgid "Viewports" msgstr "Janelas de exibição(Viewports)" #: ../../docs/about/docs_changelog.rst:378 msgid ":ref:`doc_viewport_as_texture`" msgstr "" ":ref:`Usando uma Janela de exibição (Viewport) como uma textura " "`" #: ../../docs/about/docs_changelog.rst:379 msgid ":ref:`doc_custom_postprocessing`" msgstr ":ref:`Personalizar pós-processamento `" #: ../../docs/about/docs_changelog.rst:384 msgid ":ref:`doc_converting_glsl_to_godot_shaders`" msgstr ":ref:`doc_converting_glsl_to_godot_shaders`" #: ../../docs/about/docs_changelog.rst:385 msgid ":ref:`doc_advanced_postprocessing`" msgstr "Pós Processamento Avançado" #: ../../docs/about/docs_changelog.rst:387 msgid "Shading Reference:" msgstr "Referência de shading:" #: ../../docs/about/docs_changelog.rst:390 msgid ":ref:`doc_shading_language`" msgstr ":ref:`Linguagem de shaders `" #: ../../docs/about/docs_changelog.rst:391 msgid ":ref:`doc_spatial_shader`" msgstr ":ref:`Shaders Spatial `" #: ../../docs/about/docs_changelog.rst:392 msgid ":ref:`doc_canvas_item_shader`" msgstr ":ref:`Shaders de CanvasItem `" #: ../../docs/about/docs_changelog.rst:393 msgid ":ref:`doc_particle_shader`" msgstr ":ref:`Shading de particulas `" #: ../../docs/about/docs_changelog.rst:398 msgid ":ref:`doc_making_main_screen_plugins`" msgstr "" ":ref:`Fazendo plugins para cena principal `" #: ../../docs/about/docs_changelog.rst:399 #, fuzzy msgid ":ref:`doc_3d_gizmo_plugins`" msgstr ":ref:`Plugins de gizmo espacial `" #: ../../docs/about/docs_changelog.rst:404 msgid ":ref:`doc_customizing_html5_shell`" msgstr "" ":ref:`Personalizando a página Web de exportação de HTML " "`" #: ../../docs/about/docs_changelog.rst:409 msgid ":ref:`doc_thread_safe_apis`" msgstr ":ref:`doc_thread_safe_apis`" #: ../../docs/about/docs_changelog.rst:414 msgid ":ref:`doc_making_trees`" msgstr ":ref:`Criando árvores `" #: ../../docs/about/docs_changelog.rst:419 msgid ":ref:`doc_jitter_stutter`" msgstr ":ref:`Consertando jitter e stutter `" #: ../../docs/about/docs_changelog.rst:420 msgid ":ref:`doc_running_code_in_the_editor`" msgstr ":ref: Executando código no editor `doc_running_code_in_the_editor`" #: ../../docs/about/docs_changelog.rst:421 msgid ":ref:`doc_change_scenes_manually`" msgstr ":ref:`Mudar de cenas manualmente `" #: ../../docs/about/docs_changelog.rst:424 #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:114 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:238 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:46 #: ../../docs/contributing/development/compiling/compiling_for_ios.rst:47 msgid "Compiling" msgstr "Compilando" #: ../../docs/about/docs_changelog.rst:426 msgid ":ref:`doc_optimizing_for_size`" msgstr ":ref: Otimizado para tamanho `doc_optimizing_for_size`" #: ../../docs/about/docs_changelog.rst:427 msgid ":ref:`doc_compiling_with_script_encryption_key`" msgstr "" ":ref: Compilando com Encryption Key em script " "`doc_compiling_with_script_encryption_key`" #: ../../docs/about/docs_changelog.rst:430 #: ../../docs/contributing/development/index.rst:4 msgid "Engine development" msgstr "Desenvolvimento da Engine" #: ../../docs/about/docs_changelog.rst:432 msgid ":ref:`doc_binding_to_external_libraries`" msgstr "" ":ref: Binding de bibliotecas externas `doc_binding_to_external_libraries`" #: ../../docs/about/release_policy.rst:4 msgid "Godot release policy" msgstr "Política de lançamento do Godot" #: ../../docs/about/release_policy.rst:6 #, fuzzy msgid "" "Godot's release policy is in constant evolution. The description below " "provides a general idea of what to expect, but what will actually happen " "depends on the choices of core contributors and the needs of the community " "at a given time." msgstr "" "A política de lançamentos do Godot está sob evolução constante. O texto " "abaixo foi escrito com a intenção de dar uma ideia geral sobre o que " "esperar, mas o que realmente acontecerá depende das escolhas dos " "programadores essenciais e as necessidades da comunidade a cada momento." #: ../../docs/about/release_policy.rst:12 msgid "Godot versioning" msgstr "Controle de versão do Godot" #: ../../docs/about/release_policy.rst:14 msgid "" "Godot loosely follows `Semantic Versioning `__ with a " "``major.minor.patch`` versioning system, albeit with an interpretation of " "each term adapted to the complexity of a game engine:" msgstr "" "Godot vagamente segue o `Versionamento Semântico `__ com um sistema de versionamento ``major.minor.patch``, entretanto " "com uma interpretação de cada termo adaptada à complexidade de um Engine " "para jogos:" #: ../../docs/about/release_policy.rst:18 msgid "" "The ``major`` version is incremented when major compatibility breakages " "happen which imply significant porting work to move projects from one major " "version to another." msgstr "" "A versão ``major`` é incrementada quando maiores quebras de compatibilidade " "acontecem, que têm implicações de trabalho significativo para poder mover " "projetos de uma versão para outra." #: ../../docs/about/release_policy.rst:22 #, fuzzy msgid "" "For example, porting Godot projects from Godot 3.x to Godot 4.x requires " "running the project through a conversion tool, and then performing a number " "of further adjustments manually for what the tool could not do automatically." msgstr "" "Por exemplo, portar projetos do Godot 2.1 para o Godot 3.0 necessitava que o " "projeto fosse aberto numa ferramenta de conversão e então realizar uma " "quantidade de ajustes manuais para tudo que a ferramenta não podia fazer " "automaticamente." #: ../../docs/about/release_policy.rst:26 #, fuzzy msgid "" "The ``minor`` version is incremented for feature releases that do not break " "compatibility in a major way. Minor compatibility breakage in very specific " "areas *may* happen in minor versions, but the vast majority of projects " "should not be affected or require significant porting work." msgstr "" "A versão ``minor`` é incrementada com cada lançamento de novas " "funcionalidades que não quebram compatibilidade de uma grande forma. Quebras " "de compatibilidade em áreas muito específicas *podem* acontecer em versões " "minor, mas a maioria dos projetos não serão afetados ou necessitarão " "trabalho significativo para portar." #: ../../docs/about/release_policy.rst:31 #, fuzzy msgid "" "This is because Godot, as a game engine, covers many areas like rendering, " "physics, and scripting. Fixing bugs or implementing new features in one area " "might sometimes require changing a feature's behavior or modifying a class's " "interface, even if the rest of the engine API remains backwards compatible." msgstr "" "O motivo para isso é que por ser um Engine de jogos, o Godot cobre muitas " "áreas como renderização, física, programação, etc. e corrigir bugs ou " "implementar novas funcionalidades numa área pode às vezes requerer a mudança " "de comportamento de uma funcionalidade, ou a modificação da interface de uma " "classe, mesmo se o resto da API do Engine continuar compatível com versões " "anteriores." #: ../../docs/about/release_policy.rst:38 #, fuzzy msgid "" "Upgrading to a new minor version is recommended for all users, but some " "testing is necessary to ensure that your project still behaves as expected." msgstr "" "Portanto atualizar para uma nova versão minor é uma ação recomendada para " "todos os utilizadores, mas testes serão necessários para certificar de que o " "seu projeto ainda se comporta de maneira esperada na nova versão." #: ../../docs/about/release_policy.rst:42 msgid "" "The ``patch`` version is incremented for maintenance releases which focus on " "fixing bugs and security issues, implementing new requirements for platform " "support, and backporting safe usability enhancements. Patch releases are " "backwards compatible." msgstr "" "A versão ``patch`` é incrementada para lançamentos de manutenção que focam " "em corrigir bugs e problemas de segurança, implementar novos requisitos para " "suporte de plataformas e portar melhoras presentes em versões futuras para a " "versão atual. Lançamentos patch são compatíveis com versões anteriores." #: ../../docs/about/release_policy.rst:47 msgid "" "Patch versions may include minor new features which do not impact the " "existing API, and thus have no risk of impacting existing projects." msgstr "" "Versões patch podem incluir pequenas novas funcionalidades que não impactam " "a API existente e então não têm risco de impactar projetos existentes." #: ../../docs/about/release_policy.rst:52 msgid "" "Updating to new patch versions is therefore considered safe and strongly " "recommended to all users of a given stable branch." msgstr "" "Portanto atualizar para novas versões patch é considerado seguro e é " "altamente recomendado para todos os utilizadores a usar versões estáveis." #: ../../docs/about/release_policy.rst:55 #, fuzzy msgid "" "We call ``major.minor`` combinations *stable branches*. Each stable branch " "starts with a ``major.minor`` release (without the ``0`` for ``patch``) and " "is further developed for maintenance releases in a Git branch of the same " "name (for example patch updates for the 4.0 stable branch are developed in " "the ``4.0`` Git branch)." msgstr "" "Chamamos combinações ``major.minor`` de *ramos estáveis*. Todo ramo estável " "começa com um lançamento ``major.minor`` (sem o ``0`` para ``patch``) e é " "desenvolvido para lançamentos de manutenção num ramo do Git do mesmo nome " "(por exemplo atualizações patch para o ramo estável 3.3 são desenvolvidas no " "ramo Git ``3.3``)." #: ../../docs/about/release_policy.rst:62 msgid "Release support timeline" msgstr "Linha do tempo do suporte à versão" #: ../../docs/about/release_policy.rst:64 #, fuzzy msgid "" "Stable branches are supported *at least* until the next stable branch is " "released and has received its first patch update. In practice, we support " "stable branches on a *best effort* basis for as long as they have active " "users who need maintenance updates." msgstr "" "Ramos estáveis têm suporte oficial *pelo menos* até o próximo ramo estável " "for lançado e receber a primeira atualização patch. Em prática, suportamos " "ramos estáveis na base do melhor esforço por tanto tempo quanto ainda " "existirem utilizadores ativos que necessitam de atualizações de manutenção." #: ../../docs/about/release_policy.rst:69 #, fuzzy msgid "" "Whenever a new major version is released, we make the previous stable branch " "a long-term supported release, and do our best to provide fixes for issues " "encountered by users of that branch who cannot port complex projects to the " "new major version. This was the case for the 2.1 branch, and is the case for " "the 3.6 branch." msgstr "" "Toda vez que uma nova versão principal é lançada, tornamos a versão estável " "anterior um lançamento de suporte de longo prazo e fazemos nosso melhor para " "fornecer correções de problemas encontrados por utilizadores desta versão " "que não podem portar projetos complexos para a nova versão principal. Esse " "foi o caso da versão 2.1 e será o caso para a versão 3.x mais recente quando " "o Godot 4.0 for lançado." #: ../../docs/about/release_policy.rst:75 msgid "" "In a given minor release series, only the latest patch release receives " "support. If you experience an issue using an older patch release, please " "upgrade to the latest patch release of that series and test again before " "reporting an issue on GitHub." msgstr "" "Numa determinada série de versões secundárias, apenas a versão de patch mais " "recente recebe suporte. Se tiver problemas ao usar uma versão de patch mais " "antiga, atualize à versão de patch mais recente dessa série e teste " "novamente antes de relatar um problema no GitHub." #: ../../docs/about/release_policy.rst:81 msgid "**Version**" msgstr "**Versão**" #: ../../docs/about/release_policy.rst:81 msgid "**Release date**" msgstr "**data de lançamento**" #: ../../docs/about/release_policy.rst:81 msgid "**Support level**" msgstr "**Nível de suporte**" #: ../../docs/about/release_policy.rst:83 msgid "Godot 4.2 (`master`)" msgstr "" #: ../../docs/about/release_policy.rst:83 #, fuzzy msgid "November 2023 (estimate)" msgstr "Q1 2023 (Previsto)" #: ../../docs/about/release_policy.rst:83 #, fuzzy msgid "" "|unstable| *Development.* Receives new features, usability and performance " "improvements, as well as bug fixes, while under development." msgstr "" "|supported| *Beta.* Recebe novos recursos e correções de bugs durante o " "desenvolvimento. Será lançado após 4.0." #: ../../docs/about/release_policy.rst:122 msgid "unstable" msgstr "instável" #: ../../docs/about/release_policy.rst:86 #, fuzzy msgid "Godot 4.1" msgstr "Godot 4.0" #: ../../docs/about/release_policy.rst:86 #, fuzzy msgid "July 2023" msgstr "Julho de 2016" #: ../../docs/about/release_policy.rst:86 #: ../../docs/about/release_policy.rst:89 #: ../../docs/about/release_policy.rst:95 #, fuzzy msgid "" "|supported| Receives fixes for bugs and security issues, as well as patches " "that enable platform support." msgstr "" "|supported| Recebe correções de bugs, segurança e suporte de plataforma, bem " "como melhorias de usabilidade compatíveis com versões anteriores." #: ../../docs/about/release_policy.rst:119 msgid "supported" msgstr "suportado" #: ../../docs/about/release_policy.rst:89 msgid "Godot 4.0" msgstr "Godot 4.0" #: ../../docs/about/release_policy.rst:89 #, fuzzy msgid "March 2023" msgstr "Março de 2019" #: ../../docs/about/release_policy.rst:92 #, fuzzy msgid "Godot 3.6 (`3.x`, LTS)" msgstr "Godot 3.6 (LTS)" #: ../../docs/about/release_policy.rst:92 #, fuzzy msgid "Q3 2023 (estimate)" msgstr "Q1 2023 (Previsto)" #: ../../docs/about/release_policy.rst:92 #, fuzzy msgid "" "|supported| *Beta.* Receives new features, usability and performance " "improvements, as well as bug fixes, while under development." msgstr "" "|supported| *Beta.* Recebe novos recursos e correções de bugs durante o " "desenvolvimento. Será lançado após 4.0." #: ../../docs/about/release_policy.rst:95 msgid "Godot 3.5" msgstr "Godot 3.5" #: ../../docs/about/release_policy.rst:95 msgid "August 2022" msgstr "Agosto 2022" #: ../../docs/about/release_policy.rst:98 msgid "Godot 3.4" msgstr "Godot 3.4" #: ../../docs/about/release_policy.rst:98 msgid "November 2021" msgstr "Novembro de 2021" #: ../../docs/about/release_policy.rst:98 #, fuzzy msgid "" "|eol| No longer supported, as fully superseded by the compatible 3.5 release " "(last update: 3.4.5)." msgstr "" "|eol| Não é mais suportado como totalmente substituído pela compatível " "versão 3.4 (última atualização: 3.3.4)." #: ../../docs/about/release_policy.rst:121 msgid "eol" msgstr "eol" #: ../../docs/about/release_policy.rst:101 msgid "Godot 3.3" msgstr "Godot 3.3" #: ../../docs/about/release_policy.rst:101 msgid "April 2021" msgstr "Abril de 2021" #: ../../docs/about/release_policy.rst:101 #, fuzzy msgid "" "|eol| No longer supported, as fully superseded by the compatible 3.4 release " "(last update: 3.3.4)." msgstr "" "|eol| Não é mais suportado como totalmente substituído pela compatível " "versão 3.4 (última atualização: 3.3.4)." #: ../../docs/about/release_policy.rst:104 msgid "Godot 3.2" msgstr "Godot 3.2" #: ../../docs/about/release_policy.rst:104 msgid "January 2020" msgstr "Janeiro de 2020" #: ../../docs/about/release_policy.rst:104 msgid "|eol| No longer supported (last update: 3.2.3)." msgstr "" "|eol| Está versão já não é mais suportada. (última atualização: 3.2.3)." #: ../../docs/about/release_policy.rst:106 msgid "Godot 3.1" msgstr "Godot 3.1" #: ../../docs/about/release_policy.rst:106 msgid "March 2019" msgstr "Março de 2019" #: ../../docs/about/release_policy.rst:106 msgid "|eol| No longer supported (last update: 3.1.2)." msgstr "" "|eol| Está versão já não é mais suportada. (última atualização: 3.1.2)." #: ../../docs/about/release_policy.rst:108 msgid "Godot 3.0" msgstr "Godot 3.0" #: ../../docs/about/release_policy.rst:108 msgid "January 2018" msgstr "Janeiro de 2018" #: ../../docs/about/release_policy.rst:108 msgid "|eol| No longer supported (last update: 3.0.6)." msgstr "|eol| Não recebe suporte. (última atualização: 3.0.6)." #: ../../docs/about/release_policy.rst:110 msgid "Godot 2.1" msgstr "Godot 2.1" #: ../../docs/about/release_policy.rst:110 msgid "July 2016" msgstr "Julho de 2016" #: ../../docs/about/release_policy.rst:110 msgid "|eol| No longer supported (last update: 2.1.6)." msgstr "" "|eol| Está versão já não é mais suportada. (última atualização: 2.1.6)." #: ../../docs/about/release_policy.rst:112 msgid "Godot 2.0" msgstr "Godot 2.0" #: ../../docs/about/release_policy.rst:112 msgid "February 2016" msgstr "Fevereiro de 2016" #: ../../docs/about/release_policy.rst:112 msgid "|eol| No longer supported (last update: 2.0.4.1)." msgstr "|eol| Não recebe suporte. (última atualização: 2.0.4.1)." #: ../../docs/about/release_policy.rst:114 msgid "Godot 1.1" msgstr "Godot 1.1" #: ../../docs/about/release_policy.rst:114 msgid "May 2015" msgstr "Maio de 2015" #: ../../docs/about/release_policy.rst:114 #: ../../docs/about/release_policy.rst:116 msgid "|eol| No longer supported." msgstr "|eol| Não recebe suporte." #: ../../docs/about/release_policy.rst:116 msgid "Godot 1.0" msgstr "Godot 1.0" #: ../../docs/about/release_policy.rst:116 msgid "December 2014" msgstr "Dezembro de 2014" #: ../../docs/about/release_policy.rst:120 msgid "partial" msgstr "parcial" #: ../../docs/about/release_policy.rst:124 msgid "" "**Legend:** |supported| Full support – |partial| Partial support – |eol| No " "support (end of life) – |unstable| Development version" msgstr "" "**Legenda:** |supported| Suporte completo - |partial| Suporte parcial - |" "eol| Sem suporte (end of life) - |unstable| Versão de desenvolvimento" #: ../../docs/about/release_policy.rst:130 msgid "" "Pre-release Godot versions aren't intended to be used in production and are " "provided for testing purposes only." msgstr "" "Versões de pré-lançamento do Godot não têm a intenção de serem usadas em " "produção e são disponibilizadas apenas para propósitos de teste." #: ../../docs/about/release_policy.rst:135 msgid "" "See :ref:`doc_upgrading_to_godot_4` for instructions on migrating a project " "from Godot 3.x to 4.x." msgstr "" #: ../../docs/about/release_policy.rst:141 #, fuzzy msgid "Which version should I use for a new project?" msgstr "Qual devo usar?" #: ../../docs/about/release_policy.rst:143 msgid "" "We recommend using Godot 4.x for new projects, as the Godot 4.x series will " "be supported long after 3.x stops receiving updates in the future. One " "caveat is that a lot of third-party documentation hasn't been updated for " "Godot 4.x yet. If you have to follow a tutorial designed for Godot 3.x, we " "recommend keeping :ref:`doc_upgrading_to_godot_4` open in a separate tab to " "check which methods have been renamed (if you get a script error while " "trying to use a specific node or method that was renamed in Godot 4.x)." msgstr "" #: ../../docs/about/release_policy.rst:151 msgid "" "If your project requires a feature that is missing in 4.x (such as GLES2/" "WebGL 1.0), you should use Godot 3.x for a new project instead." msgstr "" #: ../../docs/about/release_policy.rst:157 msgid "Should I upgrade my project to use new engine versions?" msgstr "" #: ../../docs/about/release_policy.rst:161 msgid "" "Upgrading software while working on a project is inherently risky, so " "consider whether it's a good idea for your project before attempting an " "upgrade. Also, make backups of your project or use version control to " "prevent losing data in case the upgrade goes wrong." msgstr "" #: ../../docs/about/release_policy.rst:166 msgid "" "That said, we do our best to keep minor and especially patch releases " "compatible with existing projects." msgstr "" #: ../../docs/about/release_policy.rst:169 msgid "" "The general recommendation is to upgrade your project to follow new *patch* " "releases, such as upgrading from 4.0.2 to 4.0.3. This ensures you get bug " "fixes, security updates and platform support updates (which is especially " "important for mobile platforms). You also get continued support, as only the " "last patch release receives support on official community platforms." msgstr "" #: ../../docs/about/release_policy.rst:175 msgid "" "For *minor* releases, you should determine whether it's a good idea to " "upgrade on a case-by-case basis. We've made a lot of effort in making the " "upgrade process as seamless as possible, but some breaking changes may be " "present in minor releases, along with a greater risk of regressions. Some " "fixes included in minor releases may also change a class' expected behavior " "as required to fix some bugs. This is especially the case in classes marked " "as *experimental* in the documentation." msgstr "" #: ../../docs/about/release_policy.rst:183 msgid "" "*Major* releases bring a lot of new functionality, but they also remove " "previously existing functionality and may raise hardware requirements. They " "also require much more work to upgrade to compared to minor releases. As a " "result, we recommend sticking with the major release you've started your " "project with if you are happy with how your project currently works. For " "example, if your project was started with 3.5, we recommend upgrading to " "3.5.2 and possibly 3.6 in the future, but not to 4.0+, unless your project " "really needs the new features that come with 4.0+." msgstr "" #: ../../docs/about/release_policy.rst:195 msgid "When is the next release out?" msgstr "Quando será o próximo lançamento?" #: ../../docs/about/release_policy.rst:197 #, fuzzy msgid "" "While Godot contributors aren't working under any deadlines, we strive to " "publish minor releases relatively frequently." msgstr "" "Enquanto os contribuidores do Godot não estão trabalhando sob algum prazo de " "entrega, esforçamo-nos para publicar lançamentos menores relativamente " "frequentemente, com média de dois lançamentos 3.x menores a cada ano desde " "Godot 3.3." #: ../../docs/about/release_policy.rst:200 msgid "" "In particular, after the very length release cycle for 4.0, we are pivoting " "to a faster paced development workflow, with the 4.1 release expected within " "late Q2 / early Q3 2023." msgstr "" #: ../../docs/about/release_policy.rst:204 msgid "" "Frequent minor releases will enable us to ship new features faster (possibly " "as experimental), get user feedback quickly, and iterate to improve those " "features and their usability. Likewise, the general user experience will be " "improved more steadily with a faster path to the end users." msgstr "" #: ../../docs/about/release_policy.rst:209 msgid "" "Maintenance (patch) releases are released as needed with potentially very " "short development cycles, to provide users of the current stable branch with " "the latest bug fixes for their production needs." msgstr "" "Os lançamentos de manutenção (patch) são lançados conforme necessário com " "ciclos de desenvolvimento potencialmente mais curtos, para fornecer aos " "utilizadores do ramo estável atual as últimas correções de bugs para as " "necessidades de produção deles." #: ../../docs/about/release_policy.rst:213 msgid "" "The 3.6 release is still planned and should be the last stable branch of " "Godot 3.x. It will be a Long-Term Support (LTS) release, which we plan to " "support for as long as users still need it (due to missing features in Godot " "4.x, or having published games which they need to keep updating for platform " "requirements)." msgstr "" #: ../../docs/about/release_policy.rst:220 msgid "What are the criteria for compatibility across engine versions?" msgstr "" #: ../../docs/about/release_policy.rst:224 msgid "" "This section is intended to be used by contributors to determine which " "changes are safe for a given release. The list is not exhaustive; it only " "outlines the most common situations encountered during Godot's development." msgstr "" #: ../../docs/about/release_policy.rst:228 msgid "The following changes are acceptable in patch releases:" msgstr "" #: ../../docs/about/release_policy.rst:230 msgid "" "Fixing a bug in a way that has no major negative impact on most projects, " "such as a visual or physics bug. Godot's physics engine is not " "deterministic, so physics bug fixes are not considered to break " "compatibility. If fixing a bug has a negative impact that could impact a lot " "of projects, it should be made optional (e.g. using a project setting or " "separate method)." msgstr "" #: ../../docs/about/release_policy.rst:235 msgid "Adding a new optional parameter to a method." msgstr "" #: ../../docs/about/release_policy.rst:236 msgid "Small-scale editor usability tweaks." msgstr "" #: ../../docs/about/release_policy.rst:238 msgid "" "Note that we tend to be more conservative with the fixes we allow in each " "subsequent patch release. For instance, 4.0.1 may receive more impactful " "fixes than 4.0.4 would." msgstr "" #: ../../docs/about/release_policy.rst:242 msgid "" "The following changes are acceptable in minor releases, but not patch " "releases:" msgstr "" #: ../../docs/about/release_policy.rst:244 #, fuzzy msgid "Significant new features." msgstr "Aprender novas funcionalidades" #: ../../docs/about/release_policy.rst:245 msgid "" "Renaming a method parameter. In C#, method parameters can be passed by name " "(but not in GDScript). As a result, this can break some projects that use C#." msgstr "" #: ../../docs/about/release_policy.rst:247 msgid "" "Deprecating a method, member variable, or class. This is done by adding a " "deprecated flag to its class reference, which will show up in the editor. " "When a method is marked as deprecated, it's slated to be removed in the next " "*major* release." msgstr "" #: ../../docs/about/release_policy.rst:251 msgid "Changes that affect the default project theme's visuals." msgstr "" #: ../../docs/about/release_policy.rst:252 msgid "" "Bug fixes which significantly change the behavior or the output, with the " "aim to meet user expectations better. In comparison, in patch releases, we " "may favor keeping a buggy behavior so we don't break existing projects which " "likely already rely on the bug or use a workaround." msgstr "" #: ../../docs/about/release_policy.rst:256 msgid "Performance optimizations that result in visual changes." msgstr "" #: ../../docs/about/release_policy.rst:258 msgid "" "The following changes are considered **compatibility-breaking** and can only " "be performed in a new major release:" msgstr "" #: ../../docs/about/release_policy.rst:261 msgid "Renaming or removing a method, member variable, or class." msgstr "" #: ../../docs/about/release_policy.rst:262 msgid "" "Modifying a node's inheritance tree by making it inherit from a different " "class." msgstr "" #: ../../docs/about/release_policy.rst:263 msgid "" "Changing the default value of a project setting value in a way that affects " "existing projects. To only affect new projects, the project manager should " "write a modified ``project.godot`` instead." msgstr "" #: ../../docs/about/release_policy.rst:267 msgid "" "Since Godot 5.0 hasn't been branched off yet, we currently discourage making " "compatibility-breaking changes of this kind." msgstr "" #: ../../docs/about/release_policy.rst:272 msgid "" "When modifying a method's signature in any fashion (including adding an " "optional parameter), a GDExtension compatibility method must be created. " "This ensures that existing GDExtensions continue to work across patch and " "minor releases, so that users don't have to recompile them. See `pull " "request #76446 `_ for more " "information." msgstr "" #: ../../docs/about/complying_with_licenses.rst:4 msgid "Complying with licenses" msgstr "Cumprindo com Licenças" #: ../../docs/about/complying_with_licenses.rst:7 msgid "What are licenses?" msgstr "O que são licenças?" #: ../../docs/about/complying_with_licenses.rst:9 msgid "" "Godot is created and distributed under the `MIT License `_. It doesn't have a sole owner either, as every " "contributor that submits code to the project does it under this same license " "and keeps ownership of the contribution." msgstr "" "O Godot é criado e distribuído sob a `Licença MIT `_. Também não há um proprietário único, já que cada " "contribuidor que envia código ao projeto o faz sob esta mesma licença e " "mantém a posse da contribuição." #: ../../docs/about/complying_with_licenses.rst:14 msgid "" "The license is the legal requirement for you (or your company) to use and " "distribute the software (and derivative projects, including games made with " "it). Your game or project can have a different license, but it still needs " "to comply with the original one." msgstr "" "A licença é o requisito legal para que (ou a sua empresa) use e distribua o " "software (e projetos derivados, incluindo jogos feitos com ele). O seu jogo " "ou projeto pode ter uma licença diferente, mas ainda precisa cumprir com a " "original." #: ../../docs/about/complying_with_licenses.rst:21 msgid "" "This section covers compliance with licenses from a user perspective. If you " "are interested in licence compliance as a contributor, you can find " "guidelines :ref:`here " "`." msgstr "" #: ../../docs/about/complying_with_licenses.rst:27 msgid "" "In your project's credits screen, remember to also list third-party notices " "for assets you're using, such as textures, models, sounds, music and fonts." msgstr "" "Na tela de créditos do seu projeto, lembre-se de listar também os avisos de " "terceiros para os ativos que você está usando, como texturas, modelos, sons, " "músicas e fontes." #: ../../docs/about/complying_with_licenses.rst:30 msgid "" "Free assets in particular often come with licenses that require attribution. " "Double-check their license before using those assets in a project." msgstr "" "Os ativos gratuitos, em particular, geralmente vêm com licenças que exigem " "atribuição. Verifique sua licença antes de usar esses ativos em um projeto." #: ../../docs/about/complying_with_licenses.rst:34 #: ../../docs/tutorials/export/exporting_for_macos.rst:16 #: ../../docs/tutorials/export/exporting_for_ios.rst:22 #: ../../docs/contributing/development/compiling/compiling_for_windows.rst:14 #: ../../docs/contributing/development/compiling/compiling_for_linuxbsd.rst:14 #: ../../docs/contributing/development/compiling/compiling_for_macos.rst:14 #: ../../docs/contributing/development/compiling/compiling_for_android.rst:25 #: ../../docs/contributing/development/compiling/compiling_for_ios.rst:14 #: ../../docs/contributing/development/compiling/cross-compiling_for_ios_on_linux.rst:25 #: ../../docs/contributing/development/compiling/compiling_for_web.rst:14 #: ../../docs/contributing/development/compiling/compiling_with_dotnet.rst:9 #: ../../docs/community/asset_library/submitting_to_assetlib.rst:24 msgid "Requirements" msgstr "Requisitos" #: ../../docs/about/complying_with_licenses.rst:36 msgid "" "In the case of the MIT license, the only requirement is to include the " "license text somewhere in your game or derivative project." msgstr "" "No caso da licença MIT, o único requisito é incluir o texto da licença em " "algum lugar do seu jogo ou projeto derivado." #: ../../docs/about/complying_with_licenses.rst:39 msgid "This text reads as follows:" msgstr "O texto diz o seguinte:" #: ../../docs/about/complying_with_licenses.rst:41 msgid "This game uses Godot Engine, available under the following license:" msgstr "Este jogo usa o Godot Engine, disponível sob a seguinte licença:" #: ../../docs/about/complying_with_licenses.rst:43 msgid "" "Copyright (c) 2014-present Godot Engine contributors. Copyright (c) " "2007-2014 Juan Linietsky, Ariel Manzur." msgstr "" "Direitos autorais (c) 2014-presente Godot Engine contribuidores. Direitos " "autorais (c) 2007-2014 Juan Linietsky, Ariel Manzur." #: ../../docs/about/complying_with_licenses.rst:46 #: ../../docs/about/complying_with_licenses.rst:163 msgid "" "Permission is hereby granted, free of charge, to any person obtaining a copy " "of this software and associated documentation files (the \"Software\"), to " "deal in the Software without restriction, including without limitation the " "rights to use, copy, modify, merge, publish, distribute, sublicense, and/or " "sell copies of the Software, and to permit persons to whom the Software is " "furnished to do so, subject to the following conditions:" msgstr "" "É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma " "cópia deste software e ficheiros de documentação associados (o " "\"Software\"), para negociar no Software sem restrições, incluindo sem " "limitação aos direitos de usar, copiar, modificar, fundir, publicar, " "distribuir, sublicenciar e/ou vender cópias do Software e permitir que as " "pessoas a quem o Software é fornecido o façam, sujeito às seguintes " "condições:" #: ../../docs/about/complying_with_licenses.rst:48 #: ../../docs/about/complying_with_licenses.rst:165 msgid "" "The above copyright notice and this permission notice shall be included in " "all copies or substantial portions of the Software." msgstr "" "O aviso de direitos autorais acima e este aviso de permissão devem ser " "incluídos em todas as cópias ou porções substanciais do Software." #: ../../docs/about/complying_with_licenses.rst:50 #: ../../docs/about/complying_with_licenses.rst:167 msgid "" "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR " "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, " "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER " "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " "FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS " "IN THE SOFTWARE." msgstr "" "O SOFTWARE É FORNECIDO \"COMO ESTÁ\", SEM GARANTIA DE QUALQUER TIPO, " "EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE " "COMERCIALIZAÇÃO, ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA E NÃO VIOLAÇÃO. EM " "NENHUMA HIPÓTESE O AUTORES OU TITULARES DE DIREITOS AUTORAIS SÃO " "RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTROS RESPONSABILIDADE, SEJA " "EM AÇÃO DE CONTRATO, DELITO OU DE OUTRA FORMA, DECORRENTE DE, FORA DE OU EM " "CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO PROGRAMAS." #: ../../docs/about/complying_with_licenses.rst:54 msgid "" "Your games do not need to be under the same license. You are free to release " "your Godot projects under any license and to create commercial games with " "the engine." msgstr "" "O seus jogos não precisam estar sob a mesma licença. É livre para lançar os " "seus projetos em Godot sob qualquer licença e criar jogos comerciais com o " "motor." #: ../../docs/about/complying_with_licenses.rst:59 msgid "Inclusion" msgstr "Inclusão" #: ../../docs/about/complying_with_licenses.rst:61 msgid "" "The license does not specify how it has to be included, so anything is valid " "as long as it can be displayed under some condition. These are the most " "common approaches (only need to implement one of them, not all)." msgstr "" "A licença não especifica como deve ser incluída, portanto qualquer coisa é " "válida desde que ela possa ser exibida sob alguma condição. Essas são as " "abordagens mais comuns (só é necessário implementar uma delas, não todas)." #: ../../docs/about/complying_with_licenses.rst:67 msgid "" "Godot provides several methods to get license information in the Engine " "singleton. This allows you to source the license information directly from " "the engine binary, which prevents the information from becoming outdated if " "you update engine versions." msgstr "" #: ../../docs/about/complying_with_licenses.rst:72 msgid "For the engine itself:" msgstr "" #: ../../docs/about/complying_with_licenses.rst:74 msgid ":ref:`Engine.get_license_text`" msgstr "" #: ../../docs/about/complying_with_licenses.rst:76 msgid "For third-party components used by the engine:" msgstr "" #: ../../docs/about/complying_with_licenses.rst:78 #, fuzzy msgid ":ref:`Engine.get_license_info`" msgstr "" ":ref:`CanvasItem.get_canvas_transform() " "`" #: ../../docs/about/complying_with_licenses.rst:79 #, fuzzy msgid "" ":ref:`Engine.get_copyright_info`" msgstr "" ":ref:`CanvasItem.get_viewport_transform() " "`" #: ../../docs/about/complying_with_licenses.rst:81 msgid "" "For miscellaneous engine contributor information. You don't have to include " "these ones in your project, but they're listed here for reference:" msgstr "" #: ../../docs/about/complying_with_licenses.rst:84 #, fuzzy msgid ":ref:`Engine.get_author_info`" msgstr "" ":ref:`CanvasItem.get_global_transform() " "`" #: ../../docs/about/complying_with_licenses.rst:85 #, fuzzy msgid ":ref:`Engine.get_donor_info`" msgstr "" ":ref:`CanvasItem.get_viewport_transform() " "`" #: ../../docs/about/complying_with_licenses.rst:88 msgid "Credits screen" msgstr "Ecrã de créditos" #: ../../docs/about/complying_with_licenses.rst:90 msgid "" "Include the above license text somewhere in the credits screen. It can be at " "the bottom after showing the rest of the credits. Most large studios use " "this approach with open source licenses." msgstr "" "Inclua o texto de licença acima em algum lugar na ecrã de créditos. Pode ser " "na parte inferior após mostrar o resto dos créditos. A maioria dos estúdios " "grandes usam esta abordagem com licenças de código aberto." #: ../../docs/about/complying_with_licenses.rst:95 msgid "Licenses screen" msgstr "Ecrã de licenças" #: ../../docs/about/complying_with_licenses.rst:97 msgid "" "Some games have a special menu (often in the settings) to display licenses. " "This menu is typically accessed with a button called **Third-party " "Licenses** or **Open Source Licenses**." msgstr "" #: ../../docs/about/complying_with_licenses.rst:102 msgid "Output log" msgstr "Log de saída" #: ../../docs/about/complying_with_licenses.rst:104 #, fuzzy msgid "" "Printing the licensing text using the :ref:`print() " "` function may be enough on platforms where " "a global output log is readable. This is the case on desktop platforms, " "Android and HTML5 (but not iOS)." msgstr "" "Apenas imprimir o texto de licenciamento usando uma função :ref:`print() " "` pode ser suficiente em plataformas onde um " "log de saída global pode ser lido (como exemplo, em aparelhos móveis). Este " "é o caso em plataformas desktop, Android e HTML5 (mas não iOS e UWP)." #: ../../docs/about/complying_with_licenses.rst:109 msgid "Accompanying file" msgstr "Ficheiro anexo" #: ../../docs/about/complying_with_licenses.rst:111 msgid "" "If the game is distributed on desktop platforms, a file containing the " "license can be added to the software that is installed to the user PC." msgstr "" "Se o jogo for distribuído em plataformas desktop, um ficheiro contendo a " "licença pode ser adicionado ao software instalado no PC do utilizador." #: ../../docs/about/complying_with_licenses.rst:115 msgid "Printed manual" msgstr "Manual impresso" #: ../../docs/about/complying_with_licenses.rst:117 msgid "" "If the game includes printed manuals, license text can be included there." msgstr "" "Se o jogo incluir manuais impressos, o texto da licença pode ser incluído " "neles." #: ../../docs/about/complying_with_licenses.rst:120 msgid "Link to the license" msgstr "Ligação à licença" #: ../../docs/about/complying_with_licenses.rst:122 msgid "" "The Godot Engine developers consider that a link to ``godotengine.org/" "license`` in your game documentation or credits would be an acceptable way " "to satisfy the license terms." msgstr "" "Os desenvolvedores da Godot Engine consideram que um link para ``godotengine." "org/license`` na documentação do seu jogo ou créditos seria uma forma " "aceitável de cumprir os termos da licença." #: ../../docs/about/complying_with_licenses.rst:127 msgid "Third-party licenses" msgstr "Licenças de terceiros" #: ../../docs/about/complying_with_licenses.rst:129 msgid "" "Godot itself contains software written by `third parties `_. Most of it does not require " "license inclusion, but some do. Make sure to do it if these are compiled in " "your Godot export template. If you're using the official export templates, " "all libraries are enabled. This means you need to provide attribution for " "all the libraries listed below." msgstr "" "O próprio Godot contém software escrito por `terceiros `_. A maioria não requer " "inclusão de licença, mas algumas exigem. Certifique-se de fazê-lo se estes " "forem compilados no seu modelo de exportação Godot. Se estiver usando os " "modelos oficiais de exportação, todas as bibliotecas estão ativadas. Isto " "significa que precisa fornecer a atribuição para todas as bibliotecas " "listadas abaixo." #: ../../docs/about/complying_with_licenses.rst:136 msgid "Here's a list of libraries requiring attribution:" msgstr "Eis uma lista de bibliotecas que requerem atribuição:" #: ../../docs/about/complying_with_licenses.rst:139 msgid "FreeType" msgstr "FreeType" #: ../../docs/about/complying_with_licenses.rst:141 msgid "" "Godot uses `FreeType `_ to render fonts. Its " "license requires attribution, so the following text must be included " "together with the Godot license:" msgstr "" "O Godot usa `FreeType `_ para renderizar fontes. " "A licença dele requer atribuição, então o seguinte texto deve ser incluído " "junto com a licença do Godot:" #: ../../docs/about/complying_with_licenses.rst:145 msgid "" "Portions of this software are copyright © The FreeType Project (www." "freetype.org). All rights reserved." msgstr "" "Porções deste software são copyright © The FreeType Project (www." "freetype.org). Todos os direitos reservados." #: ../../docs/about/complying_with_licenses.rst:149 msgid "" " should correspond to the value from the FreeType version used in your " "build. This information can be found in the editor by opening the **Help > " "About** dialog and going to the **Third-party Licenses** tab." msgstr "" " deve corresponder ao valor da versão do FreeType usada na compilação. " "Esta informação encontra-se no editor ao abrir o diálogo **Ajuda > Sobre** e " "indo-se à guia **Licenças de Terceiros**." #: ../../docs/about/complying_with_licenses.rst:155 msgid "ENet" msgstr "ENet" #: ../../docs/about/complying_with_licenses.rst:157 msgid "" "Godot includes the `ENet `_ library to handle high-" "level multiplayer. ENet has similar licensing terms as Godot:" msgstr "" "Godot inclui a `biblioteca ENet `_ para lidar com " "multiplayer de alto nível. A ENet possui termos de licenciamento similares " "aos do Godot:" #: ../../docs/about/complying_with_licenses.rst:161 msgid "Copyright (c) 2002-2020 Lee Salzman" msgstr "Copyright (c) 2002-2020 Lee Salzman" #: ../../docs/about/complying_with_licenses.rst:170 msgid "mbed TLS" msgstr "mbed TLS" #: ../../docs/about/complying_with_licenses.rst:172 msgid "" "If the project is exported with Godot 3.1 or later, it includes `mbed TLS " "`_. The Apache license needs to be complied to by " "including the following text:" msgstr "" "Se o projeto for exportado com Godot 3.1 ou posterior, incluirá o `MBedTLS " "`_ . A licença Apache precisará ser cumprida incluindo " "o seguinte texto:" #: ../../docs/about/complying_with_licenses.rst:175 msgid "Copyright The Mbed TLS Contributors" msgstr "Copyright dos contribuidores Mbed TLS" #: ../../docs/about/complying_with_licenses.rst:177 msgid "" "Licensed under the Apache License, Version 2.0 (the \"License\"); you may " "not use this file except in compliance with the License. You may obtain a " "copy of the License at" msgstr "" "Licenciado sob a Licença Apache, Versão 2.0 (a \"Licença\"); não pode usar " "este ficheiro exceto em conformidade com a Licença. Pode obter uma cópia da " "Licença em" #: ../../docs/about/complying_with_licenses.rst:181 msgid "http://www.apache.org/licenses/LICENSE-2.0" msgstr "http://www.apache.org/licenses/LICENSE-2.0" #: ../../docs/about/complying_with_licenses.rst:183 msgid "" "Unless required by applicable law or agreed to in writing, software " "distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT " "WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the " "License for the specific language governing permissions and limitations " "under the License." msgstr "" "A menos que exigido pela lei aplicável ou acordado por escrito, o software " "distribuído sob a Licença é distribuído \"COMO ESTÁ\", SEM GARANTIAS OU " "CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para " "as permissões e limitações que regem o idioma específico sob a Licença." #: ../../docs/about/complying_with_licenses.rst:191 msgid "" "If you exported your project using a :ref:`custom build with specific " "modules disabled `, you don't need to list the " "disabled modules' licenses in your exported project." msgstr "" "Se exportou o seu projeto usando uma :ref:`build customizada com módulos " "específicos desativados `, não precisa listar as " "licenças dos módulos desativados no projeto exportado." #: ../../docs/getting_started/introduction/index.rst:10 msgid "" "This series will introduce you to Godot and give you an overview of its " "features." msgstr "" "Esta séria irá introduzir-te ao Godot e dar-te uma visão geral das " "funcionalidades dele." #: ../../docs/getting_started/introduction/index.rst:13 msgid "" "In the following pages, you will get answers to questions such as \"Is Godot " "for me?\" or \"What can I do with Godot?\". We will then introduce the " "engine's most essential concepts, run you through the editor's interface, " "and give you tips to make the most of your time learning it." msgstr "" "Nas próximas páginas, irá obter respostas a questões como \"Godot é para mim?" "\" ou \"O que posso fazer com Godot?\". Depois iremos te introduzir aos " "conceitos principais do motor, te guiaremos pela interface do editor e te " "daremos dicas para como melhor utilizar o seu tempo aprendendo-o." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:4 msgid "Introduction to Godot" msgstr "Introdução ao editor do Godot" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:6 msgid "" "This article is here to help you figure out whether Godot might be a good " "fit for you. We will introduce some broad features of the engine to give you " "a feel for what you can achieve with it and answer questions such as \"what " "do I need to know to get started?\"." msgstr "" "Este artigo está aqui para te ajudar a decidir se o Godot é uma boa opção " "para si. Iremos te introduzir a alguma funcionalidades gerias do moto para " "dar-lhe um sentimento de o quê consegue alcançar com ele e responder " "perguntas como \"o que preciso saber para começar?\"." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:11 msgid "" "This is by no means an exhaustive overview. We will introduce many more " "features in this getting started series." msgstr "" "Isso não é de maneira alguma uma apresentação extensiva. Introduziremos " "muitas mais funcionalidades na séries de introdução." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:15 msgid "What is Godot?" msgstr "O que é Godot?" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:17 msgid "" "Godot is a general-purpose 2D and 3D game engine designed to support all " "sorts of projects. You can use it to create games or applications you can " "then release on desktop or mobile, as well as on the web." msgstr "" "Godot é um motor de jogos 2D e 3D de uso geral projetado para dar suporte a " "qualquer tipo de projeto. Pode usá-lo para criar jogos ou aplicações que " "podem ser lançados em computadores, celulares e também na internet." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:21 msgid "" "You can also create console games with it, although you either need strong " "programming skills or a developer to port the game for you." msgstr "" "Também pode criar jogos de console ele, mesmo que precise de fortes " "habilidades de programação ou de um programador para portar o jogo para si." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:24 #, fuzzy msgid "" "The Godot team can't provide an open source console export due to the " "licensing terms imposed by console manufacturers. Regardless of the engine " "you use, though, releasing games on consoles is always a lot of work. You " "can read more on that here: :ref:`doc_consoles`." msgstr "" "A equipa da Godot não pode prover uma exportação open-source para consoles " "por conta de termos de licenciamento impostos pelas fabricantes de consoles. " "Independente da engine que utilizar, lançar jogos para consoles é sempre um " "trabalho e tanto. Pode ler mais sobre isso aqui: :ref:`doc_consoles` ." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:30 msgid "What can the engine do?" msgstr "O que a Engine é capaz de fazer?" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:32 #, fuzzy msgid "" "Godot was initially developed in-house by an Argentinian game studio. Its " "development started in 2001, and the engine was rewritten and improved " "tremendously since its open source release in 2014." msgstr "" "Godot foi inicialmente desenvolvido caseiramente por um estúdio argentino. O " "desenvolvimento dele começou em 2001 e o motor foi reescrito e melhorado " "tremendamente desde a abertura do código, lançado em 2014." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:36 msgid "" "Some examples of games created with Godot include Ex-Zodiac and Helms of " "Fury." msgstr "" "Alguns exemplos de jogos criados com a Godot incluem Ex-Zodiac e Helms of " "Fury." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:42 #, fuzzy msgid "" "As for applications, the open source pixel art drawing program Pixelorama is " "powered by Godot, and so is the voxel RPG creator RPG in a box." msgstr "" "Quanto a aplicações, o programa de código aberto para desenho de pixel art " "Pixelorama é desenvolvido no Godot, assim como o criador de RPG em voxel RPG " "in a box." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:47 msgid "You can find many more examples in the `official showcase videos`_." msgstr "" "Pode encontrar muitos outros exemplos nos `vídeos oficiais de demonstração`_." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:50 msgid "How does it work and look?" msgstr "Como funciona e como é?" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:52 msgid "" "Godot comes with a fully-fledged game editor with integrated tools to answer " "the most common needs. It includes a code editor, an animation editor, a " "tilemap editor, a shader editor, a debugger, a profiler, and more." msgstr "" "O Godot vem com um editor de jogos completo com ferramentas integradas para " "atender às necessidades mais comuns. Tem um editor de códigos dedicado, um " "editor de animação, um editor de mapas 2D, um editor de shaders, um " "depurador, um profiler e mais." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:58 msgid "" "The team strives to offer a feature-rich game editor with a consistent user " "experience. While there is always room for improvement, the user interface " "keeps getting refined." msgstr "" "A equipa se esforça em oferecer um editor de jogos rico e com um experiência " "de utilizador consistente. Enquanto sempre há espaço para melhorias, " "interface de utilizador continua sendo refinada." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:62 msgid "" "Of course, if you prefer, you can work with external programs. We officially " "support importing 3D scenes designed in Blender_ and maintain plugins to " "code in VSCode_ and Emacs_ for GDScript and C#. We also support Visual " "Studio for C# on Windows." msgstr "" "Se preferir, é claro, pode usar programas externos. Oficialmente damos " "suporte à importação de cenas feitas no Blender_ e mantemos plugins para " "programar no VSCode_ e Emacs_ para GDScript e C#. Também damos suporte ao " "Visual Studio para C# no Windows." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:70 #: ../../docs/tutorials/scripting/index.rst:12 msgid "Programming languages" msgstr "Linguagens de programação" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:72 msgid "Let's talk about the available programming languages." msgstr "Vamos falar sobre as linguagens de programação disponíveis." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:74 msgid "" "You can code your games using :ref:`GDScript `, a Godot-specific and tightly integrated language with a " "lightweight syntax, or :ref:`C# `, which is popular " "in the games industry. These are the two main scripting languages we support." msgstr "" "Pode programar o seu jogo usando :ref:`GDScript `, uma linguagem específica do Godot e diretamente integrada com " "uma sintaxe simples, ou :ref:`C# `, que é popular na " "indústria de jogos. Essas são as duas principais linguagens de scripts " "suportadas." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:79 #, fuzzy msgid "" "With the GDExtension technology, you can also write gameplay or high-" "performance algorithms in C or C++ without recompiling the engine. You can " "use this technology to integrate third-party libraries and other Software " "Development Kits (SDK) in the engine." msgstr "" "Com a tecnologia :ref:`GDNative `, também pode " "escrever lógica de jogabilidade ou algoritmos de alto desempenho em C ou C++ " "sem recompilar o motor. Pode utilizar esta tecnologia para integrar " "bibliotecas de terceiros e outros kits de desenvolvimento de software (SDK) " "no motor." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:84 #, fuzzy msgid "" "Of course, you can also directly add modules and features to the engine, as " "it's completely free and open source." msgstr "" "Naturalmente, também pode adicionar diretamente módulos e recursos ao motor, " "já que ele é completamente gratuito e de código aberto." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:90 msgid "What do I need to know to use Godot?" msgstr "O que preciso saber para usar Godot?" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:92 msgid "" "Godot is a feature-packed game engine. With its thousands of features, there " "is a lot to learn. To make the most of it, you need good programming " "foundations. While we try to make the engine accessible, you will benefit a " "lot from knowing how to think like a programmer first." msgstr "" "Godot é um motor de jogo repleto de recursos. Com milhares de " "funcionalidades, há muito a aprender. Para aproveitá-lo ao máximo, precisa " "de uma boa base de programação. Enquanto tentamos fazer o motor acessível, " "beneficiará muito se primeiro souber pensar como um programador." #: ../../docs/getting_started/introduction/introduction_to_godot.rst:97 msgid "" "Godot relies on the object-oriented programming paradigm. Being comfortable " "with concepts such as classes and objects will help you code efficiently in " "it." msgstr "" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:100 msgid "" "If you are entirely new to programming, we recommend following the `CS50 " "open courseware`_ from Harvard University. It's a great free course that " "will teach you everything you need to know to be off to a good start. It " "will save you countless hours and hurdles learning any game engine afterward." msgstr "" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:105 msgid "" "In CS50, you will learn multiple programming languages. Don't be afraid of " "that: programming languages have many similarities. The skills you learn " "with one language transfer well to others." msgstr "" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:109 msgid "" "We will provide you with more Godot-specific learning resources in :ref:" "`doc_learning_new_features`." msgstr "" #: ../../docs/getting_started/introduction/introduction_to_godot.rst:112 msgid "" "In the next part, you will get an overview of the engine's essential " "concepts." msgstr "" "Na próxima parte, terá uma visão geral dos conceitos essenciais da engine." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:8 msgid "Overview of Godot's key concepts" msgstr "Visão geral dos conceitos-chave da Godot engine" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:10 msgid "" "Every game engine revolves around abstractions you use to build your " "applications. In Godot, a game is a **tree** of **nodes** that you group " "together into **scenes**. You can then wire these nodes so they can " "communicate using **signals**." msgstr "" "Todo mecanismo de jogo gira em torno de abstrações que usa para construir as " "suas aplicaçºoes. Em Godot, um jogo é uma **árvore** de **nós** que agrupa " "em **cenas**. Pode então conectar esses nós para que eles possam se " "comunicar usando **sinais**." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:15 msgid "" "These are the four concepts you will learn here. We're going to look at them " "briefly to give you a sense of how the engine works. In the getting started " "series, you will get to use them in practice." msgstr "" "Estes são os quatro conceitos que aprenderá aqui. Vamos analisá-los " "brevemente para dar uma ideia de como o mecanismo funciona. Na série de " "introdução, poderá usá-los na prática." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:20 #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:40 #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:49 msgid "Scenes" msgstr "Cenas" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:22 msgid "" "In Godot, you break down your game in reusable scenes. A scene can be a " "character, a weapon, a menu in the user interface, a single house, an entire " "level, or anything you can think of. Godot's scenes are flexible; they fill " "the role of both prefabs and scenes in some other game engines." msgstr "" "Em Godot, divide o seu jogo em cenas reutilizáveis. Uma cena pode ser um " "personagem, uma arma, um menu na interface do utilizador, uma única casa, um " "nível inteiro ou qualquer coisa que possa imaginar. As cenas de Godot são " "flexíveis; eles preenchem o papel de prefabs e cenas em alguns outros " "mecanismos de jogo." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:29 msgid "" "You can also nest scenes. For example, you can put your character in a " "level, and drag and drop a scene as a child of it." msgstr "" "Também pode aninhar cenas. Por exemplo, pode pôr a sua personagem num nível " "e arrastar e soltar uma cena como filho dela." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:35 #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:14 #: ../../docs/tutorials/2d/2d_lights_and_shadows.rst:33 #: ../../docs/tutorials/scripting/gdscript/gdscript_exports.rst:197 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_exports.rst:245 #: ../../docs/contributing/development/file_formats/tscn.rst:47 msgid "Nodes" msgstr "Nós" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:37 msgid "" "A scene is composed of one or more **nodes**. Nodes are your game's smallest " "building blocks that you arrange into trees. Here's an example of a " "character's nodes." msgstr "" "Uma cena é composta por um ou mais **nós**. Os nós são os menores blocos de " "construção do seu jogo que organiza em árvores. Aqui está um exemplo dos nós " "de um personagem." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:43 #, fuzzy msgid "" "It is made of a ``CharacterBody2D`` node named \"Player\", a ``Camera2D``, a " "``Sprite2D``, and a ``CollisionShape2D``." msgstr "" "Ele é feito de um nó ``KinematicBody2D`` chamado \"Character\", um " "``Sprite``, uma ``Camera2D`` e uma ``CollisionShape2D``." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:46 #, fuzzy msgid "" "The node names end with \"2D\" because this is a 2D scene. Their 3D " "counterparts have names that end with \"3D\". Be aware that \"Spatial\" " "Nodes are now called \"Node3D\" starting with Godot 4." msgstr "" "Os nomes dos nós terminam com \"2D\" porque esta é uma cena 2D. A " "contraparte deles de 3D tem nomes que terminam com \"3D\"." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:50 msgid "" "Notice how nodes and scenes look the same in the editor. When you save a " "tree of nodes as a scene, it then shows as a single node, with its internal " "structure hidden in the editor." msgstr "" "Observe como os nós e as cenas parecem iguais no editor. Quando grava uma " "árvore de nós como uma cena, é exibida como um único nó, com estrutura " "interna dela oculta no editor." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:54 msgid "" "Godot provides an extensive library of base node types you can combine and " "extend to build more powerful ones. 2D, 3D, or user interface, you will do " "most things with these nodes." msgstr "" "Godot fornece uma extensa biblioteca de tipos de nós básicos que você pode " "combinar e estender para construir outros mais poderosos. 2D, 3D ou " "interface de utilizador, você fará a maioria das coisas com esses nós." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:61 #: ../../docs/contributing/development/file_formats/tscn.rst:99 msgid "The scene tree" msgstr "A árvore da cena" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:63 msgid "" "All your game's scenes come together in the **scene tree**, literally a tree " "of scenes. And as scenes are trees of nodes, the scene tree also is a tree " "of nodes. But it's easier to think of your game in terms of scenes as they " "can represent characters, weapons, doors, or your user interface." msgstr "" "Todas as cenas do seu jogo se reúnem na **árvore de cenas**, literalmente " "uma árvore com diversos ramos, e cada ramo sendo as cenas do seu jogo. As " "cenas são por si só, árvores de nós, vale dizer que a árvore de cenas também " "é uma árvore de nós. Mas dessa forma é mais fácil de pensar no seu jogo como " "uma ligação entre várias cenas, e uma cena pode representar personagens, " "armas, portas, ou a interface do utilizador." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:73 #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:2140 #: ../../docs/tutorials/scripting/gdscript/gdscript_styleguide.rst:676 #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:589 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:103 #: ../../docs/contributing/development/core_and_modules/object_class.rst:219 msgid "Signals" msgstr "Sinais" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:75 msgid "" "Nodes emit signals when some event occurs. This feature allows you to make " "nodes communicate without hard-wiring them in code. It gives you a lot of " "flexibility in how you structure your scenes." msgstr "" "Nós (nodes) emitem sinais quando certos eventos ocorrem. Essa função permite " "que você possa fazer nós (nodes) se comunicarem sem complexidade nas " "ligações do código. Isso te dá muita flexibilidade em como você pode " "estruturá-las suas cenas." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:81 msgid "" "Signals are Godot's version of the *observer* pattern. You can read more " "about it here: https://gameprogrammingpatterns.com/observer.html" msgstr "" "Sinais são a versão da Godot do padrão *observador*. Pode ler mais sobre em: " "http://gameprogrammingpatterns.com/observer.html" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:85 msgid "" "For example, buttons emit a signal when pressed. You can connect to this " "signal to run code in reaction to this event, like starting the game or " "opening a menu." msgstr "" "Por exemplo, botões emitem um sinal quando pressionados. Pode conectar esse " "sinal para iniciar um código em reação a tal evento, como iniciar o jogo ou " "abrir um menu." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:88 msgid "" "Other built-in signals can tell you when two objects collided, when a " "character or monster entered a given area, and much more. You can also " "define new signals tailored to your game." msgstr "" "Outros sinais embutidos podem dizer a você quando dois objetos colidem, " "quando um personagem ou monstro entra uma dada área, e muito mais. Você " "também pode definir novos sinais a medida que cria seu jogo." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:93 #: ../../docs/getting_started/step_by_step/instancing.rst:214 #: ../../docs/getting_started/step_by_step/scripting_languages.rst:154 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:180 #: ../../docs/getting_started/step_by_step/signals.rst:521 #: ../../docs/tutorials/2d/2d_sprite_animation.rst:279 #: ../../docs/tutorials/2d/2d_movement.rst:286 #: ../../docs/tutorials/3d/global_illumination/introduction_to_global_illumination.rst:327 #: ../../docs/tutorials/export/exporting_pcks.rst:138 #: ../../docs/tutorials/scripting/gdscript/static_typing.rst:423 msgid "Summary" msgstr "Resumo" #: ../../docs/getting_started/introduction/key_concepts_overview.rst:95 msgid "" "Nodes, scenes, the scene tree, and signals are four core concepts in Godot " "that you will manipulate all the time." msgstr "" "Nós, cenas, árvore de cenas, e sinais são quatro conceitos base na Godot que " "você manipulará o tempo todo." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:98 msgid "" "Nodes are your game's smallest building blocks. You combine them to create " "scenes that you then combine and nest into the scene tree. You can then use " "signals to make nodes react to events in other nodes or different scene tree " "branches." msgstr "" "Nós são o menor tijolo de construção do seu jogo. Pode combiná-los para " "criar cenas que serão unidas na árvore de cenas. Então você poderá usar " "sinais para criar nós para eventos em outros nós ou diferentes ramos da " "árvore de cenas." #: ../../docs/getting_started/introduction/key_concepts_overview.rst:102 msgid "" "After this short breakdown, you probably have many questions. Bear with us " "as you will get many answers throughout the getting started series." msgstr "" "Após essa pequena repartição, você provavelmente tem muitas perguntas. Tenha " "paciência, pois você obterá muitas respostas ao longo de toda a série " "\"Primeiros passos\"." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:10 #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:43 msgid "First look at Godot's editor" msgstr "Primeiras impressões do editor da Godot" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:12 msgid "" "This page will give you a brief overview of Godot's interface. We're going " "to look at the different main screens and docks to help you situate yourself." msgstr "" "Esta página irá dar-lhe uma breve visão geral da interface da Godot. Iremos " "olhar para as diferentes telas principais e painéis para ajudar você a se " "situar." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:15 msgid "" "For a comprehensive breakdown of the editor's interface and how to use it, " "see the :ref:`Editor manual `." msgstr "" "Para uma descrição mais detalhada da interface do editor e como utilizá-la, " "veja o :ref:`Manual do editor `." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:19 #, fuzzy msgid "The Project Manager" msgstr "O Gestor do Projeto" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:21 #, fuzzy msgid "" "When you launch Godot, the first window you see is the Project Manager. In " "the default tab **Local Projects**, you can manage existing projects, import " "or create new ones, and more." msgstr "" "Quando você executa a Godot, a primeira janela que você vê é o Gestor de " "Projetos. Na guia padrão \"Projetos Locais\", você pode gerir projetos pré-" "existentes, importar ou criar novos projetos, e mais." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:27 #, fuzzy msgid "" "At the top of the window, there is another tab named \"Asset Library " "Projects\". You can search for demo projects in the open source asset " "library, which includes many projects developed by the community." msgstr "" "No topo da janela, há outra guia com o nome \"Projetos da Biblioteca de " "Recursos\". Na biblioteca de recursos de código aberto, pode procurar por " "projetos de demonstração, modelos e projetos finalizados, incluindo muitos " "que foram feitos pela comunidade." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:31 msgid "" "To learn the Project Manager's ins and outs, read :ref:`doc_project_manager`." msgstr "" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:36 msgid "" "You can also change the editor's language using the drop-down menu to the " "right of the engine's version in the window's top-right corner. By default, " "it is in English (EN)." msgstr "" "Pode também mudar o idioma do editor utilizando o menu suspenso à direita da " "versão do motor(engine), no canto superior direito da janela. Por padrão, " "está em English (EN)." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:45 msgid "" "When you open a new or an existing project, the editor's interface appears. " "Let's look at its main areas." msgstr "" "Quando você abre um projeto novo ou já existente, a interface do editor " "aparece. Vamos olhar suas áreas principais." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:50 msgid "" "By default, it features **menus**, **main screens**, and playtest buttons " "along the window's top edge." msgstr "" "Por padrão, aparece **menus**, **telas principais**, e os botões de teste no " "canto superior da janela." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:55 msgid "" "In the center is the **viewport** with its **toolbar** at the top, where " "you'll find tools to move, scale, or lock the scene's nodes." msgstr "" "No centro está a **janela de visualização (viewport)** com sua **barra de " "ferramenta (toolbar)** no topo, onde você encontra as ferramentas para " "mover, redimensionar ou travar nós da sua cena." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:60 msgid "" "On either side of the viewport sit the **docks**. And at the bottom of the " "window lies the **bottom panel**." msgstr "" "Em ambos os lados da janela de exibição estão os **painéis**. E na parte " "inferior da janela encontra-se o **painel inferior**." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:63 msgid "" "The toolbar changes based on the context and selected node. Here is the 2D " "toolbar." msgstr "" "A barra de ferramentas muda baseado no contexto e no nó selecionado. Aqui " "está a barra de ferramentas 2D." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:67 msgid "Below is the 3D one." msgstr "Abaixo é sua versão 3D." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:71 #, fuzzy msgid "" "Let's look at the docks. The **FileSystem** dock lists your project files, " "including scripts, images, audio samples, and more." msgstr "" "Vamos dar uma olhada nos painéis. O painel **Sistema de arquivos** lista " "seus arquivos de projeto, sejam eles códigos, imagens, áudios, entre outros." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:76 msgid "The **Scene** dock lists the active scene's nodes." msgstr "O painel **Cena** lista os nós da cena ativa." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:80 msgid "The **Inspector** allows you to edit the properties of a selected node." msgstr "O **Inspetor** te permite editar as propriedades de um nó selecionado." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:84 msgid "" "The **bottom panel**, situated below the viewport, is the host for the debug " "console, the animation editor, the audio mixer, and more. They can take " "precious space, that's why they're folded by default." msgstr "" "O **Painel Inferior**, embaixo do viewport, é onde fica o console de " "depuração, o editor de animação e o mixer de áudio. Eles são largos e podem " "ocupar bastante espaço, por isso eles ficam minimizados por padrão." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:90 msgid "" "When you click on one, it expands vertically. Below, you can see the " "animation editor opened." msgstr "" "Quando você clica num deles, ele expande verticalmente. Abaixo você pode ver " "o editor de animações aberto." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:95 msgid "The four main screens" msgstr "As quatro cenas principais" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:97 msgid "" "There are four main screen buttons centered at the top of the editor: 2D, " "3D, Script, and AssetLib." msgstr "" "Há quatro botões da tela principal centralizado no topo do editor: 2D, 3D, " "Script e AssetLib." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:100 msgid "" "You'll use the **2D screen** for all types of games. In addition to 2D " "games, the 2D screen is where you'll build your interfaces." msgstr "" "Usará a **tela 2D** para todos os tipos de jogos. Além dos jogos 2D são " "desenvolvidos, a tela 2D é onde você criará suas interfaces." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:105 msgid "" "In the **3D screen**, you can work with meshes, lights, and design levels " "for 3D games." msgstr "" "Na **tela 3D**, você pode trabalhar com malhas (*meshes*), luzes e a criação " "de leveis para jogos 3D." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:110 msgid "" "Notice the perspective button under the toolbar. Clicking on it opens a list " "of options related to the 3D view." msgstr "" "Repare no botão ``Perspectiva`` abaixo da barra de ferramentas (toolbar), " "ele abre uma lista de opções relacionadas à vista 3D." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:115 msgid "" "Read :ref:`doc_introduction_to_3d` for more detail about the **3D main " "screen**." msgstr "" "Leia :ref:`doc_introduction_to_3d` para saber mais sobre a **tela principal " "3D**." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:118 msgid "" "The **Script screen** is a complete code editor with a debugger, rich auto-" "completion, and built-in code reference." msgstr "" "A **tela Script** é um editor de código completo com um depurador, " "preenchimento automático avançado e referência de código integrada." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:123 #, fuzzy msgid "" "Finally, the **AssetLib** is a library of free and open source add-ons, " "scripts, and assets to use in your projects." msgstr "" "Finalmente, o **AssetLib** é uma biblioteca de add-ons, scripts e assets " "gratuitos e de código aberto para usar nos seus projetos." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:128 msgid "" "You can learn more about the asset library in :ref:`doc_what_is_assetlib`." msgstr "" "Pode aprender mais sobre a biblioteca de assets em :ref:" "`doc_what_is_assetlib`." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:132 msgid "Integrated class reference" msgstr "Referência de classe integrada" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:134 msgid "Godot comes with a built-in class reference." msgstr "Godot vem com um referência de classe embutida." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:136 msgid "" "You can search for information about a class, method, property, constant, or " "signal by any one of the following methods:" msgstr "" "Pode procurar informações sobre uma classe, método, propriedade, ou sinal " "usando qualquer um dos métodos seguintes:" #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:139 #, fuzzy msgid "" "Pressing :kbd:`F1` (or :kbd:`Alt + Space` on macOS, or :kbd:`fn + F1` for " "laptops with a :kbd:`fn` key) anywhere in the editor." msgstr "" "Pressionando :kbd:`F1` (ou :kbd:`Alt + Space` no macOS) em qualquer lugar no " "editor." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:140 msgid "" "Clicking the \"Search Help\" button in the top-right of the Script main " "screen." msgstr "" "Clicando no botão \"Pesquisar Ajuda\" no canto superior direito da tela " "principal do Script." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:141 msgid "Clicking on the Help menu and Search Help." msgstr "Clicar no menu de Ajuda e Procurar Ajuda." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:142 msgid "" "Clicking while pressing the :kbd:`Ctrl` key on a class name, function name, " "or built-in variable in the script editor." msgstr "" "Clicar enquanto pressiona a tecla :kbd:`Ctrl` no nome da classe, nome da " "função ou variável built-in no editor de script." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:148 msgid "" "When you do any of these, a window pops up. Type to search for any item. You " "can also use it to browse available objects and methods." msgstr "" "Quando você faz qualquer um desses, uma janela aparece. Digite para " "pesquisar qualquer item. Também pode usá-lo para procurar objetos e métodos " "disponíveis." #: ../../docs/getting_started/introduction/first_look_at_the_editor.rst:153 msgid "" "Double-click on an item to open the corresponding page in the script main " "screen." msgstr "" "Clique duplo num item para abrir o script correspondente na tela principal." #: ../../docs/getting_started/introduction/learning_new_features.rst:8 msgid "Learning new features" msgstr "Aprender novas funcionalidades" #: ../../docs/getting_started/introduction/learning_new_features.rst:10 msgid "" "Godot is a feature-rich game engine. There is a lot to learn about it. This " "page explains how you can use the online manual, built-in code reference, " "and join online communities to learn new features and techniques." msgstr "" "Godot é um motor de jogos rico em funcionalidades. Há muito a aprender sobre " "ela. Esta página explica como você pode usar o manual online, com código de " "referência embutido. Junte-se as comunidades online para aprender novas " "funcionalidades e técnicas." #: ../../docs/getting_started/introduction/learning_new_features.rst:15 msgid "Making the most of this manual" msgstr "Fazer a maior parte deste manual" #: ../../docs/getting_started/introduction/learning_new_features.rst:17 msgid "" "What you are reading now is the user manual. It documents each of the " "engine's concepts and available features. When learning a new topic, you can " "start by browsing the corresponding section of this website. The left menu " "allows you to explore broad topics while the search bar will help you find " "more specific pages. If a page exists for a given theme, it will often link " "to more related content." msgstr "" "O que você está lendo agora é o manual do utilizador. Ele documenta cada um " "dos conceitos do mecanismo e recursos disponíveis. Ao aprender um novo " "tópico, você pode começar navegando na secção correspondente deste site. O " "menu à esquerda permite explorar tópicos amplos, enquanto a barra de " "pesquisa o ajudará a encontrar páginas mais específicas. Se existir uma " "página para um determinado tema, ela geralmente será vinculada a um conteúdo " "mais relacionado." #: ../../docs/getting_started/introduction/learning_new_features.rst:26 #, fuzzy msgid "" "The manual has a companion class reference that explains each Godot class's " "available functions and properties when programming. While the manual covers " "general features, concepts, and how to use the editor, the reference is all " "about using Godot's scripting API (Application Programming Interface). You " "can access it both online and offline. We recommend browsing the reference " "offline, from within the Godot editor. To do so, go to Help -> Search Help " "or press :kbd:`F1`." msgstr "" "O manual tem uma referência de classe complementar que explica as funções e " "propriedades disponíveis de cada classe Godot durante a programação. " "Enquanto o manual cobre recursos gerais, conceitos e como usar o editor, a " "referência é sobre como usar a API do Godot (Application Programming " "Interface). Pode acessá-lo online e offline. Recomendamos navegar na " "referência offline, a partir do editor Godot. Para fazer isso, vá para Ajuda " "-> Ajuda ou pressione :kbd:`F1`." #: ../../docs/getting_started/introduction/learning_new_features.rst:36 #, fuzzy msgid "" "To browse it online, head to the manual's :ref:`Class Reference " "` section." msgstr "" "Para navegar online, vá para a secção :ref:`Referência de Classe ` do manual." #: ../../docs/getting_started/introduction/learning_new_features.rst:39 msgid "A class reference's page tells you:" msgstr "A página de referência de classe informa:" #: ../../docs/getting_started/introduction/learning_new_features.rst:41 msgid "" "Where the class exists in the inheritance hierarchy. You can click the top " "links to jump to parent classes and see the properties and methods a type " "inherits." msgstr "" "Onde a classe existe na hierarquia de herança. Pode clicar nos links " "superiores para ir para as classes pai e ver as propriedades e métodos que " "um tipo herda." #: ../../docs/getting_started/introduction/learning_new_features.rst:47 msgid "A summary of the class's role and use cases." msgstr "Um resumo da função e dos casos de uso da classe." #: ../../docs/getting_started/introduction/learning_new_features.rst:49 msgid "" "An explanation of the class's properties, methods, signals, enums, and " "constants." msgstr "" "Uma explicação das propriedades, métodos, sinais, enumerações e constantes " "da classe." #: ../../docs/getting_started/introduction/learning_new_features.rst:52 msgid "Links to manual pages further detailing the class." msgstr "Ligações para páginas de manual detalhando ainda mais a classe." #: ../../docs/getting_started/introduction/learning_new_features.rst:54 msgid "" "If the manual or class reference is missing or has insufficient information, " "please open an Issue in the official `godot-docs `_ GitHub repository to report it." msgstr "" "Se o manual ou referência de classe estiver ausente ou tiver informações " "insuficientes, abra um problema no repositório oficial `godot-docs `_ do GitHub para reportá-lo." #: ../../docs/getting_started/introduction/learning_new_features.rst:59 msgid "" "You can Ctrl-click any underlined text like the name of a class, property, " "method, signal, or constant to jump to it." msgstr "" "Pode clicar com a tecla Ctrl pressionada em qualquer texto sublinhado, como " "o nome de uma classe, propriedade, método, sinal ou constante, para ir até " "ele." #: ../../docs/getting_started/introduction/learning_new_features.rst:63 msgid "Learning to think like a programmer" msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:65 msgid "" "Teaching programming foundations and how to think like a game developer is " "beyond the scope of Godot's documentation. If you're new to programming, we " "recommend two excellent free resources to get you started:" msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:69 msgid "" "Harvard university offers a free courseware to learn to program, `CS50 " "`_. It will teach you programming fundamentals, " "how code works, and how to think like a programmer. These skills are " "essential to become a game developer and learn any game engine efficiently. " "You can see this course as an investment that will save you time and trouble " "when you learn to create games." msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:76 msgid "" "If you prefer books, check out the free ebook `Automate The Boring Stuff " "With Python `_ by Al Sweigart." msgstr "" #: ../../docs/getting_started/introduction/learning_new_features.rst:80 msgid "Learning with the community" msgstr "Aprenda com a comunidade" #: ../../docs/getting_started/introduction/learning_new_features.rst:82 msgid "" "Godot has a growing community of users. If you're stuck on a problem or need " "help to better understand how to achieve something, you can ask other users " "for help on one of the many `active communities `_." msgstr "" "Godot tem uma comunidade crescente de utilizadores. Se você está preso num " "problema ou precisa de ajuda para entender melhor como conseguir algo, você " "pode pedir ajuda a outros utilizadores numa das muitas `comunidades ativas " "`_." #: ../../docs/getting_started/introduction/learning_new_features.rst:87 #, fuzzy msgid "" "The best place to ask questions and find already answered ones is the " "official `Questions & Answers `_ site. These " "responses show up in search engine results and get saved, allowing other " "users to benefit from discussions on the platform. Once you have asked a " "question there, you can share its link on other social platforms. Before " "asking a question, be sure to look for existing answers that might solve " "your problem on this website or using your preferred search engine." msgstr "" "O melhor lugar para tirar dúvidas e achar perguntas já respondidas é o site " "oficial de `Perguntas & Respostas `. Essas " "respostas aparecem nos resultados de motores de busca (google, duckduckgo, " "bing, etc...) e ficam salvados, permitindo que outros utilizadores se " "beneficiem de discussões na plataforma. Uma vez que você perguntou alguma " "coisa lá, você pode compartilhar o link em outras redes sociais. Antes de " "tirar uma dúvida, procure por respostas existente que talvez resolvam seu " "problema nesse site ou usando seu motor de busca favorito." #: ../../docs/getting_started/introduction/learning_new_features.rst:95 msgid "" "Asking questions well and providing details will help others answer you " "faster and better. When asking questions, we recommend including the " "following information:" msgstr "" "Perguntar bem e com detalhes ajuda outros a te responderem mais rápido e " "melhor. Quando tirar dúvidas, nós recomendamos que inclua as seguintes " "informações:" #: ../../docs/getting_started/introduction/learning_new_features.rst:99 msgid "" "**Describe your goal**. You want to explain what you are trying to achieve " "design-wise. If you are having trouble figuring out how to make a solution " "work, there may be a different, easier solution that accomplishes the same " "goal." msgstr "" "**Descreva seu objetivo**. Quer explicar o'que você está tentando realizar " "em respeito ao design. Se você está tendo problemas tentando fazer uma " "solução funcionar, talvez tenha uma solução diferente, mais simples que " "resolva o mesmo objetivo." #: ../../docs/getting_started/introduction/learning_new_features.rst:104 msgid "" "If there is an error involved, **share the exact error message**. You can " "copy the exact error message in the editor's Debugger bottom panel by " "clicking the Copy Error icon. Knowing what it says can help community " "members better identify how you triggered the error." msgstr "" "Se tem um erro envolvido, **compartilhe a exata mensagem de erro**. Você " "pode copiar a exata mensagem de erro no painel inferior do Debugger do " "editor clicando ícone de Copiar Erro. Sabendo do erro ajuda os membros da " "comunidade a melhor identificar como você causou esse erro." #: ../../docs/getting_started/introduction/learning_new_features.rst:109 msgid "" "If there is code involved, **share a code sample**. Other users won't be " "able to help you fix a problem without seeing your code. Share the code as " "text directly. To do so, you can copy and paste a short code snippet in a " "chat box, or use a website like `Pastebin `_ to share " "long files." msgstr "" "Se tem código envolvido, **compartilhe um trecho do código**. Outros " "utilizadores não vão conseguir te ajudar sem olhar o seu código. Compartilhe " "o código como texto diretamente. Pode copiar e colar um trecho do código no " "chat, ou usando um site como `Pastebin `_ para " "compartilhar arquivos grandes." #: ../../docs/getting_started/introduction/learning_new_features.rst:115 msgid "" "**Share a screenshot** of your *Scene* dock along with your written code. " "Most of the code you write affects nodes in your scenes. As a result, you " "should think of those scenes as part of your source code." msgstr "" "**Compartilhe uma captura de tela** do seu painel *Cena* junto com seu " "código escrito. A maior parte do código que você escreve afeta os nós em " "suas cenas. Como resultado, você deve pensar nessas cenas como parte de seu " "código-fonte." #: ../../docs/getting_started/introduction/learning_new_features.rst:121 msgid "" "Also, please don't take a picture with your phone, the low quality and " "screen reflections can make it hard to understand the image. Your operating " "system should have a built-in tool to take screenshots with the :kbd:`PrtSc` " "(Print Screen) key." msgstr "" "Além disso, não tire uma foto com o telefone, a baixa qualidade e os " "reflexos da tela podem dificultar a compreensão da imagem. Seu sistema " "operacional deve ter uma ferramenta embutida para tirar fotos da tela com a " "tecla :kbd:`PrtSc` (Print Screen)." #: ../../docs/getting_started/introduction/learning_new_features.rst:126 msgid "" "Alternatively, you can use a program like `ShareX `_ " "on Windows or `FlameShot `_ on Linux." msgstr "" "Alternativamente, você pode usar um programa como `ShareX `_ no Windows ou `FlameShot `_ no Linux." #: ../../docs/getting_started/introduction/learning_new_features.rst:129 msgid "" "Sharing a video of your running game can also be really **useful to " "troubleshoot your game**. You can use programs like `OBS Studio `_ and `Screen to GIF `_ to " "capture your screen." msgstr "" "Compartilhar um vídeo do seu jogo a executar também pode ser bem **útil para " "solucionar problemas do seu jogo**. Pode usar programas como `OBS Studio " "`_ e `Screen to GIF `_ para capturar sua tela." #: ../../docs/getting_started/introduction/learning_new_features.rst:134 msgid "" "You can then use a service like `streamable `_ or a " "cloud provider to upload and share your videos for free." msgstr "" "Pode então usar serviços como `streamable `_ ou " "algum armazenamento em nuvem para enviar e compartilhar seus vídeos de graça." #: ../../docs/getting_started/introduction/learning_new_features.rst:137 msgid "" "If you're not using the stable version of Godot, please mention the version " "you're using. The answer can be different as available features and the " "interface evolve rapidly." msgstr "" "Se você não está usando a versão estável do Godot, por favor diga a versão " "que você está usando. A resposta pode variar já que funcionalidades e a " "interface mudam rapidamente." #: ../../docs/getting_started/introduction/learning_new_features.rst:141 #, fuzzy msgid "" "Following these guidelines will maximize your chances of getting the answer " "you're looking for. They will save time both for you and the persons helping " "you." msgstr "" "Seguir os guias vai maximizar suas chances de conseguir uma resposta que te " "agrade. Eles ajudam tanto você quanto as pessoas te ajudando." #: ../../docs/getting_started/introduction/learning_new_features.rst:145 msgid "Community tutorials" msgstr "Tutoriais da Comunidade" #: ../../docs/getting_started/introduction/learning_new_features.rst:147 msgid "" "This manual aims to provide a comprehensive reference of Godot's features. " "Aside from the 2D and 3D getting started series, it does not contain " "tutorials to implement specific game genres. If you're looking for a " "tutorial about creating a role-playing game, a platformer, or other, please " "see :ref:`doc_community_tutorials`, which lists content made by the Godot " "community." msgstr "" "Esse manual foca em trazer uma referência compreensível paras as " "funcionalidades do Godot. Além das séries de primeiros passos em 2D e 3D, " "ele não contém tutoriais de como implementar gêneros específicos de jogos. " "Se você está procurando um tutorial sobre a criação de um jogo RPG, ou " "plataforma, ou qualquer outro, por favor veja :ref:" "`doc_community_tutorials`, que listam conteúdo feita pela comunidade do " "Godot." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:4 msgid "Godot's design philosophy" msgstr "Filosofia de Design do Godot" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:6 msgid "Now that you've gotten your feet wet, let's talk about Godot's design." msgstr "" "Agora que você já deu uma mergulhada no assunto, vamos falar no design do " "Godot." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:8 msgid "" "**Every game engine is different and fits different needs.** Not only do " "they offer a range of features, but the design of each engine is unique. " "This leads to different workflows and different ways to form your games' " "structures. This all stems from their respective design philosophies." msgstr "" "**Cada motor de jogo é diferente e atende a diferentes necessidades.** Não " "apenas oferecem uma gama de recursos, mas o design de cada mecanismo é " "único. Isso leva a diferentes fluxos de trabalho e diferentes maneiras de " "formar as estruturas dos seus jogos. Tudo isso decorre das respectivas " "filosofias de design deles." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:13 msgid "" "This page is here to help you understand how Godot works, starting with some " "of its core pillars. It is not a list of available features, nor is it an " "engine comparison. To know if any engine can be a good fit for your project, " "you need to try it out for yourself and understand its design and " "limitations." msgstr "" "Esta página está aqui para ajudá-lo a entender como funciona o Godot, a " "começar com alguns principais pilares dele. Não é uma lista de recursos " "disponíveis, nem é uma comparação de mecanismo. Para saber se algum " "mecanismo pode se encaixar ao seu projeto, precisa experimentá-lo por si " "mesmo e entender o design e limitações dele." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:19 msgid "" "Please watch `Godot explained in 5 minutes `_ if you're looking for an overview of the engine's features." msgstr "" "Por favor assista `Godot explicado em 5 minutos `_ se você estiver procurando por uma visão geral das " "funcionalidades do motor de jogos." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:24 msgid "Object-oriented design and composition" msgstr "Design e composição orientada a objetos" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:26 msgid "" "Godot embraces object-oriented design at its core with its flexible scene " "system and Node hierarchy. It tries to stay away from strict programming " "patterns to offer an intuitive way to structure your game." msgstr "" "Godot adota o design orientado a objetos no núcleo dele, com o sistema de " "cena flexível e hierarquia de Nós dele. Tenta ficar longe de padrões " "estritos de programação para oferecer uma maneira intuitiva de estruturar o " "seu jogo." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:30 msgid "" "For one, Godot lets you **compose or aggregate** scenes. It's like nested " "prefabs: you can create a BlinkingLight scene and a BrokenLantern scene that " "uses the BlinkingLight. Then, create a city filled with BrokenLanterns. " "Change the BlinkingLight's color, save, and all the BrokenLanterns in the " "city will update instantly." msgstr "" "Por um lado, Godot permite **compor ou agregar** cenas. É como prefabs " "aninhados: pode criar uma cena BlinkingLight e uma cena BrokenLantern que " "usa o BlinkingLight. Em seguida, crie uma cidade repleta de BrokenLanterns. " "Mude a cor do BlinkingLight, salve e todos os BrokenLanterns na cidade serão " "atualizados instantaneamente." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:37 msgid "On top of that, you can **inherit** from any scene." msgstr "Além disso, pode **herdar** de qualquer cena." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:39 msgid "" "A Godot scene could be a Weapon, a Character, an Item, a Door, a Level, part " "of a level… anything you'd like. It works like a class in pure code, except " "you're free to design it by using the editor, using only the code, or mixing " "and matching the two." msgstr "" "Uma cena Godot poderia ser uma arma, um personagem, um item, uma porta, um " "nível, parte de um nível... qualquer coisa que quiser. Funciona como uma " "classe em código puro, com a exceção de que é livre para projetá-la a usar o " "editor, a usar apenas o código ou a misturar e a combinar os dois." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:44 msgid "" "It's different from prefabs you find in several 3D engines, as you can then " "inherit from and extend those scenes. You may create a Magician that extends " "your Character. Modify the Character in the editor and the Magician will " "update as well. It helps you build your projects so that their structure " "matches the game's design." msgstr "" "É diferente das prefabs que encontra em vários motores 3D, pois pode herdar " "e estender essas cenas. Pode criar um Mago que estenda a sua Personagem. " "Modifique o Personagem no editor e o Mago também atualizará. Isso te ajuda a " "criar os seus projetos de modo que sua estrutura corresponda ao design do " "jogo." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:50 #: ../../docs/getting_started/first_2d_game/index.rst:10 #: ../../docs/getting_started/first_3d_game/index.rst:12 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:18 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:15 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:24 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:11 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:42 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:24 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:12 #: ../../docs/community/asset_library/using_assetlib.rst:16 #: ../../docs/community/asset_library/submitting_to_assetlib.rst:128 msgid "|image0|" msgstr "|image0|" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:176 #: ../../docs/getting_started/first_2d_game/index.rst:77 #: ../../docs/getting_started/first_3d_game/index.rst:72 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:166 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:447 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:336 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:334 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:368 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:526 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:608 #: ../../docs/community/asset_library/using_assetlib.rst:187 #: ../../docs/community/asset_library/submitting_to_assetlib.rst:220 msgid "image0" msgstr "imagem0" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:52 msgid "" "Also note that Godot offers many different types of objects called nodes, " "each with a specific purpose. Nodes are part of a tree and always inherit " "from their parents up to the Node class. Although the engine does feature " "some nodes like collision shapes that a parent physics body will use, most " "nodes work independently from one another." msgstr "" "Observe também que Godot oferece muitos tipos diferentes de objetos chamados " "nós, cada um com uma finalidade específica. Os nós fazem parte de uma árvore " "e sempre herdam de seus pais até a classe Node. Embora o mecanismo apresente " "alguns nós como formas de colisão que um corpo físico pai usará, a maioria " "dos nós funciona independentemente um do outro." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:58 msgid "" "In other words, Godot's nodes do not work like components in some other game " "engines." msgstr "" "Em outras palavras, os nós do Godot não funcionam como componentes em outros " "motores de jogos." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:61 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:47 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:359 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:29 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:21 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:49 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:28 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:20 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:26 #: ../../docs/community/asset_library/using_assetlib.rst:48 msgid "|image1|" msgstr "|image1|" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:177 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:167 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:448 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:337 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:335 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:369 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:527 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:451 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:609 #: ../../docs/community/asset_library/using_assetlib.rst:188 msgid "image1" msgstr "imagem1" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:63 #, fuzzy msgid "" "Sprite2D is a Node2D, a CanvasItem and a Node. It has all the properties and " "features of its three parent classes, like transforms or the ability to draw " "custom shapes and render with a custom shader." msgstr "" "Sprite é um Node2D, um CanvasItem e um Node. Ele tem todas as propriedades e " "recursos de suas três classes principais, como transformações ou a " "capacidade de desenhar formas personalizadas e renderizar com um sombreador " "personalizado." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:68 msgid "All-inclusive package" msgstr "Pacote com tudo incluído" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:70 msgid "" "Godot tries to provide its own tools to answer most common needs. It has a " "dedicated scripting workspace, an animation editor, a tilemap editor, a " "shader editor, a debugger, a profiler, the ability to hot-reload locally and " "on remote devices, etc." msgstr "" "O Godot tenta fornecer as próprias ferramentas para responder às " "necessidades mais comuns. Tem um editor de script dedicado, um editor de " "animação, um editor de tilemaps, um editor de shaders, um depurador, um " "profiler, a capacidade de hot-reload local e em aparelhos remotos, etc." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:75 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:52 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:367 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:33 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:26 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:60 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:36 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:24 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:34 #: ../../docs/community/asset_library/using_assetlib.rst:58 msgid "|image2|" msgstr "|image2|" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:178 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:168 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:449 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:338 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:336 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:370 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:528 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:452 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:610 #: ../../docs/community/asset_library/using_assetlib.rst:189 msgid "image2" msgstr "imagem2" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:77 #, fuzzy msgid "" "The goal is to offer a full package to create games and a continuous user " "experience. You can still work with external programs as long as there is an " "import plugin available in Godot for it. Or you can create one, like the " "`Tiled Map Importer `__." msgstr "" "O objetivo é oferecer um pacote completo para criar jogos e uma experiência " "de utilizador contínua. Ainda pode trabalhar com programas externos desde " "que exista um plugin de importação para ele. Ou pode criar um, como o `Tiled " "Map Importer `__." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:82 #, fuzzy msgid "" "That is also partly why Godot offers its own programming language GDScript " "along with C#. GDScript is designed for the needs of game developers and " "game designers, and is tightly integrated in the engine and the editor." msgstr "" "Isso também é, em parte, o porque o Godot oferecer suas próprias linguagens " "de programação GDscript e VisualScript, junto com C#. Elas são projetadas " "para as necessidades de programadores de jogos e designers de jogos, e são " "totalmente integradas ao motor e ao editor." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:87 msgid "" "GDScript lets you write code using an indentation-based syntax, yet it " "detects types and offers a static language's quality of auto-completion. It " "is also optimized for gameplay code with built-in types like Vectors and " "Colors." msgstr "" "O GDScript permite que você escreva código usando uma sintaxe baseada em " "recuo, mas detecta tipos e oferece a qualidade de preenchimento automático " "de uma linguagem estática. Também é otimizado para código de jogo com tipos " "integrados como Vetores e Cores." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:91 #, fuzzy msgid "" "Note that with GDExtension, you can write high-performance code using " "compiled languages like C, C++, Rust, D, Haxe, or Swift without recompiling " "the engine." msgstr "" "Observe que com o GDNative, pode escrever código de alto desempenho a usar " "linguagens compiladas como C, C++, Rust ou Python (a usar o compilador " "Cython) sem recompilar a engine." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:94 msgid "" "Note that the 3D workspace doesn't feature as many tools as the 2D " "workspace. You'll need external programs or add-ons to edit terrains, " "animate complex characters, and so on. Godot provides a complete API to " "extend the editor's functionality using game code. See `The Godot editor is " "a Godot game`_ below." msgstr "" "Observe que o espaço de trabalho 3D não possui tantas ferramentas quanto o " "espaço de trabalho 2D. Precisará de programas externos ou complementos para " "editar terrenos, animar caracteres complexos e assim por diante. O Godot " "fornece uma API completa para estender a funcionalidade do editor a usar o " "código do jogo. Veja `O editor do Godot é um jogo do Godot`_ abaixo." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:99 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:77 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:384 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:49 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:52 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:75 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:56 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:38 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:43 #: ../../docs/community/asset_library/using_assetlib.rst:86 msgid "|image4|" msgstr "|image4|" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:179 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:170 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:451 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:339 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:338 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:372 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:530 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:454 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:612 #: ../../docs/community/asset_library/using_assetlib.rst:191 msgid "image4" msgstr "|image4|" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:101 msgid "" "*A State Machine editor plugin in Godot 2 by kubecz3k. It lets you manage " "states and transitions visually.*" msgstr "" "*Um plugin de editor de Máquina de Estados em Godot 2 por kubecz3k. Ele " "permite gerir estados e transições visualmente*" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:105 msgid "Open source" msgstr "Código aberto" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:107 msgid "" "Godot offers a fully open source codebase under the **MIT license**. This " "means all the technologies that ship with it have to be Free (as in freedom) " "as well. For the most part, they're developed from the ground up by " "contributors." msgstr "" "O Godot oferece uma base de código totalmente aberto sob a **licença MIT**. " "Isso significa que todas as tecnologias que acompanham o produto têm que ser " "Livres (como em liberdade) também. Na maior parte, elas são codificadas do " "zero pelos colaboradores." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:112 msgid "" "Anyone can plug in proprietary tools for the needs of their projects — they " "just won't ship with the engine. This may include Google AdMob, or FMOD. Any " "of these can come as third-party plugins instead." msgstr "" "Qualquer um pode conectar ferramentas proprietárias nos projetos deles - " "elas só não vêm junto com o motor do Godot. Isso pode incluir NViDia PhysX, " "o Google Admob ou um importador de ficheiros FBX. Qualquer um destes pode " "vir como plugins de terceiros." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:117 msgid "" "On the other hand, an open codebase means you can **learn from and extend " "the engine** to your heart's content. You can also debug games easily, as " "Godot will print errors with a stack trace, even if they come from the " "engine itself." msgstr "" "Por outro lado, uma base de código aberta significa que pode **aprender e " "estender a engine** como desejar. Também consegue depurar jogos facilmente, " "pois o Godot irá mostrar erros com um rastreamento de pilha, mesmo se eles " "vierem da própria engine." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:123 msgid "" "This **does not affect the work you do with Godot** in any way: there's no " "strings attached to the engine or anything you make with it." msgstr "" "Isso **não afeta o trabalho que faz com o Godot** de maneira alguma: não há " "cadeias anexadas ao motor ou qualquer coisa que faça com ela." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:127 msgid "Community-driven" msgstr "Orientada pela comunidade" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:129 msgid "" "**Godot is made by its community, for the community, and for all game " "creators out there.** It's the needs of the users and open discussions that " "drive the core updates. New features from the core developers often focus on " "what will benefit the most users first." msgstr "" "**O Godot é feito por a comunidade dele, para a comunidade e para todos os " "criadores de jogos.** São as necessidades dos utilizadores e as discussões " "abertas que geram as principais atualizações. Novas funcionalidades dos " "principais programadores geralmente focam no que beneficiará a maioria dos " "utilizadores em primeiro lugar." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:134 msgid "" "That said, although a handful of core developers work on it full-time, the " "project has over 600 contributors at the time of writing. Benevolent " "programmers work on features they may need themselves, so you'll see " "improvements in all corners of the engine at the same time in every major " "release." msgstr "" "Dito isso, embora um punhado de programadores principais trabalhe em tempo " "integral, o projeto tem mais de 600 colaboradores no momento dessa redação. " "Programadores benevolentes trabalham em recursos que necessitam, por isso " "verá melhorias em todos os cantos da engine ao mesmo tempo em todas as " "principais versões." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:141 msgid "The Godot editor is a Godot game" msgstr "O editor do Godot é um jogo do Godot" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:143 msgid "" "The Godot editor runs on the game engine. It uses the engine's own UI " "system, it can hot-reload code and scenes when you test your projects, or " "run game code in the editor. This means you can **use the same code** and " "scenes for your games, or **build plugins and extend the editor.**" msgstr "" "O editor do Godot é executado na engine de jogo. Ele usa o próprio sistema " "de interface do utilizador da engine, pode recarregar códigos e cenas ao " "testar os seus projetos ou executar códigos de jogos no editor. Isso " "significa que pode **usar o mesmo código** e cenas para os seus jogos ou " "**construir plug-ins e estender o editor.**" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:148 #, fuzzy msgid "" "This leads to a reliable and flexible UI system, as it powers the editor " "itself. With the ``@tool`` annotation, you can run any game code in the " "editor." msgstr "" "Isso leva a um sistema de interface de utilizador (UI) confiável e flexível, " "pois aciona o próprio editor. Com a palavra-chave ``tool``, pode executar " "qualquer código de jogo no editor." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:151 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:82 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:395 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:85 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:56 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:84 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:134 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:50 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:51 #: ../../docs/community/asset_library/using_assetlib.rst:90 msgid "|image5|" msgstr "|image5|" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:180 #: ../../docs/getting_started/first_3d_game/02.player_input.rst:171 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:452 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:340 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:339 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:373 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:531 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:455 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:613 #: ../../docs/community/asset_library/using_assetlib.rst:192 msgid "image5" msgstr "imagem5" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:153 msgid "" "*RPG in a Box is a voxel RPG editor made with Godot 2. It uses Godot's UI " "tools for its node-based programming system and for the rest of the " "interface.*" msgstr "" "*RPG in a Box é um editor de RPG voxel feito no Godot 2. Ele usa as " "ferramentas de Interface com Utilizador do Godot para o sistema de " "programação dele baseada em nós e para o resto da interface.*" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:157 #, fuzzy msgid "" "Put the ``@tool`` annotation at the top of any GDScript file and it will run " "in the editor. This lets you import and export plugins, create plugins like " "custom level editors, or create scripts with the same nodes and API you use " "in your projects." msgstr "" "Ponha a palavra-chave ``tool`` na parte superior de qualquer ficheiro " "GDscript e será executada no editor. Isso permite importar e exportar plug-" "ins, criar plug-ins como editores de nível personalizados ou criar scripts " "com os mesmos nós e API que usa nos seus projetos." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:164 msgid "" "The editor is fully written in C++ and is statically compiled into the " "binary. This means you can't import it as a typical project that would have " "a ``project.godot`` file." msgstr "" "O editor é inteiramente escrito em C++ e é compilado estaticamente num " "binário. Isso significa que você não consegue importa-lo como um objeto " "qualquer que teria um arquivo ``project.godot``." #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:169 msgid "Separate 2D and 3D engines" msgstr "Engine 2D e 3D separados" #: ../../docs/getting_started/introduction/godot_design_philosophy.rst:171 msgid "" "Godot offers dedicated 2D and 3D rendering engines. As a result, **the base " "unit for 2D scenes is pixels.** Even though the engines are separate, you " "can render 2D in 3D, 3D in 2D, and overlay 2D sprites and interfaces over " "your 3D world." msgstr "" "O Godot oferece mecanismos dedicados de renderização 2D e 3D. Como " "resultado, **a unidade base para cenas 2D é pixels.** Mesmo que os " "mecanismos sejam separados, pode renderizar 2D em 3D, 3D em 2D e sobrepor " "sprites 2D e fazer a interface no seu mundo 3D." #: ../../docs/getting_started/step_by_step/index.rst:6 msgid "" "This series builds upon the :ref:`Introduction to Godot ` and will get you started with the editor and the engine. You " "will learn more about nodes and scenes, code your first classes with " "GDScript, use signals to make nodes communicate with one another, and more." msgstr "" "Essa séria ensina em cima da :ref:`Introduction to Godot ` e vai te apresentar ao editor e ao motor de jogos. Vai " "aprender mais sobres nós e cenas, programar suas primeiras classes com " "GDScript, usar sinais para fazer nós se comunicarem um com o outro, e mais." #: ../../docs/getting_started/step_by_step/index.rst:11 msgid "" "The following lessons are here to prepare you for :ref:" "`doc_your_first_2d_game`, a step-by-step tutorial where you will code a game " "from scratch. By the end of it, you will have the necessary foundations to " "explore more features in other sections. We also included links to pages " "that cover a given topic in-depth where appropriate." msgstr "" "As aulas seguintes estão aqui para te preparar para ref:" "`doc_your_first_2d_game`, um tutorial passo-a-passo onde você vai programar " "um jogo do zero. No final, você vai ter os fundamentos necessários para " "explorar mais funcionalidades em outras seções. Nós também incluímos links " "para páginas que cobrem algum assunto mais a fundo onde apropriado." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:7 msgid "Nodes and Scenes" msgstr "Nós e cenas" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:9 msgid "" "In :ref:`doc_key_concepts_overview`, we saw that a Godot game is a tree of " "scenes and that each scene is a tree of nodes. In this lesson, we explain a " "bit more about them. You will also create your first scene." msgstr "" "No :ref:`doc_key_concepts_overview`, nós vimos que um jogo Godot é uma " "árvore de cenas e que cada cena é uma árvore de nós. Nessa aula, nós vamos " "explicar um pouco mais sobre eles. Também vai criar sua primeira cena." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:16 msgid "" "**Nodes are the fundamental building blocks of your game**. They are like " "the ingredients in a recipe. There are dozens of kinds that can display an " "image, play a sound, represent a camera, and much more." msgstr "" "**Nós são um conceito fundamental do seu jogo**. Eles são como ingredientes " "numa receita. Tem um monte de nós que podem mostrar uma image, tocar um som, " "representar uma câmara, e muito mais." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:22 #, fuzzy msgid "All nodes have the following characteristics:" msgstr "Todos os nós têm os seguintes atributos:" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:24 msgid "A name." msgstr "Um nome." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:25 msgid "Editable properties." msgstr "Propriedades editáveis." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:26 msgid "They receive callbacks to update every frame." msgstr "Eles recebem retornos de chamada para atualizar cada quadro." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:27 msgid "You can extend them with new properties and functions." msgstr "Podem ser estendidos com novas propriedades e funções." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:28 msgid "You can add them to another node as a child." msgstr "Podem ser adicionados a outro nó como filho." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:30 #, fuzzy msgid "" "The last characteristic is important. **Together, nodes form a tree**, which " "is a powerful feature to organize projects. Since different nodes have " "different functions, combining them produces more complex behavior. As we " "saw before, you can build a playable character the camera follows using a :" "ref:`CharacterBody2D ` node, a :ref:`Sprite2D " "` node, a :ref:`Camera2D ` node, and a :ref:" "`CollisionShape2D ` node." msgstr "" "O último atributo é um ponto-chave. **Juntos, nós formam uma árvore**, que é " "um jeito poderoso de organizar seus projetos. Já que nós diferentes tem " "diferentes funcionalidades, combinando eles conseguimos comportamentos mais " "complexos. Como vimos anteriormente, você pode construir um personagem " "jogável que a câmara segue usando um KinematicBody chamado \"Character\", um " "nó de sprite, um nó de câmara, e um nó de forma de colisão." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:42 msgid "" "When you organize nodes in a tree, like our character, we call this " "construct a scene. Once saved, scenes work like new node types in the " "editor, where you can add them as a child of an existing node. In that case, " "the instance of the scene appears as a single node with its internals hidden." msgstr "" "Quando você organiza nós numa árvore, como nosso personagem, nós chamamos " "isso de construir uma cena. Uma vez que salvo, cenas funcionam como nós no " "editor, como pode adicioná-las como filho de um nó existente. Nesse caso, a " "instância da cena aparece como um único nó com os nós internos escondidos." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:47 msgid "" "Scenes allow you to structure your game's code however you want. You can " "**compose nodes** to create custom and complex node types, like a game " "character that runs and jumps, a life bar, a chest with which you can " "interact, and more." msgstr "" "Cenas permitem que você estruture o código do seu jogo do jeito que quiser. " "Pode **compor nós** para criar nós personalizados e complexos, como um " "personagem de um jogo que corre e pula, uma barra de vida, um baú que você " "interage, e mais." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:53 msgid "" "The Godot editor essentially is a **scene editor**. It has plenty of tools " "for editing 2D and 3D scenes, as well as user interfaces. A Godot project " "can contain as many of these scenes as you need. The engine only requires " "one as your application's **main scene**. This is the scene Godot will first " "load when you or a player runs the game." msgstr "" "O editor Godot é essencialmente um **editor de cena**. Possui muitas " "ferramentas para edição de cenas 2D e 3D, bem como interfaces de utilizador. " "Um projeto Godot pode conter quantas dessas cenas precisar. A engine requer " "apenas um nó como a **cena principal** da sua aplicação. Esta é a cena que " "Godot carregará primeiro quando você ou um jogador executar o jogo." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:59 #, fuzzy msgid "On top of acting like nodes, scenes have the following characteristics:" msgstr "Além de agirem como nós, cenas tem os seguintes atributos:" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:61 msgid "They always have one root node, like the \"Character\" in our example." msgstr "Elas sempre tem um nó raiz, como o \"Character\" no nosso exemplo." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:62 #, fuzzy msgid "You can save them to your local drive and load them later." msgstr "Pode salvá-las no seu disco e carregar elas depois." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:63 msgid "" "You can create as many instances of a scene as you'd like. You could have " "five or ten characters in your game, created from your Character scene." msgstr "" "Pode criar quantas instâncias de uma cena quiser. Pode ter cinco ou dez " "personagens no seu jogo, criados a partir da sua cena Personagem." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:67 msgid "Creating your first scene" msgstr "Criar sua primeira Cena" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:69 #, fuzzy msgid "" "Let's create our first scene with a single node. To do so, you will need to :" "ref:`create a new project ` first. " "After opening the project, you should see an empty editor." msgstr "" "Bora criar sua primeira cena com um único nó. Para isso, você precisa " "primeiro criar um novo projeto. Depois de abrir seu projeto, você deve ver " "um editor vazio." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:75 #, fuzzy msgid "" "In an empty scene, the Scene dock on the left shows several options to add a " "root node quickly. \"2D Scene\" adds a :ref:`Node2D ` node, " "\"3D Scene\" adds a :ref:`Node3D ` node, and \"User " "Interface\" adds a :ref:`Control ` node. These presets are " "here for convenience; they are not mandatory. \"Other Node\" lets you select " "any node to be the root node. In an empty scene, \"Other Node\" is " "equivalent to pressing the \"Add Child Node\" button at the top-left of the " "Scene dock, which usually adds a new node as a child of the currently " "selected node." msgstr "" "Numa cena vazia, o painel de Cena à esquerda mostra várias opções para " "adicionar um nó raiz rapidamente. \"Cena 2D\" adiciona um nó Node2D, \" Cena " "3D\" adiciona um nó Node3D e \"Interface de Utilizador\" adiciona um nó " "Control. Essas predefinições estão aqui por conveniência; elas não são " "obrigatórias. \"Outro nó\" permite selecionar qualquer nó para ser o nó " "raiz. Numa cena vazia, \"Outro nó\" é equivalente a pressionar o botão " "\"Adicionar nó filho\" no canto superior esquerdo do painel de Cena, que " "geralmente adiciona um novo nó como filho do nó atualmente selecionado." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:85 #, fuzzy msgid "" "We're going to add a single :ref:`Label ` node to our scene. " "Its function is to draw text on the screen." msgstr "" "Vamos adicionar um único nó de Label na nossa cena. Sua função é desenhar " "texto na tela." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:88 msgid "" "Press the \"Add Child Node\" button or \"Other Node\" to create a root node." msgstr "" "Clique no botão \"Adicionar Nó Filho\" ou \"Outro Nó\" para criar um nó raiz." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:92 msgid "The Create Node dialog opens, showing the long list of available nodes." msgstr "" "A caixa de diálogo Criar Nó é aberta, mostrando a longa lista de nós " "disponíveis." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:96 msgid "Select the Label node. You can type its name to filter down the list." msgstr "Selecione o nó Label. Pode digitar seu nome para filtrar a lista." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:100 msgid "" "Click on the Label node to select it and click the Create button at the " "bottom of the window." msgstr "" "Clique no nó Label para selecioná-lo e clique no botão Criar na parte " "inferior da janela." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:105 msgid "" "A lot happens when you add a scene's first node. The scene changes to the 2D " "workspace because Label is a 2D node type. The Label appears, selected, in " "the top-left corner of the viewport. The node appears in the Scene dock on " "the left, and the node's properties appear in the Inspector dock on the " "right." msgstr "" "Muito coisa acontece quando adiciona o primeiro nó da cena. A cena muda para " "a área de trabalho 2D porque Label é um nó do tipo 2D. A Label aparece, " "selecionada, no canto superior esquerda da tela (viewport). O nó aparece no " "Dock de Cenas à esquerda, e as propriedades do nó aparecem na Dock de " "Inspeção à direita." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:111 msgid "Changing a node's properties" msgstr "Alterando as propriedades de um nó" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:113 msgid "" "The next step is to change the Label's \"Text\" property. Let's change it to " "\"Hello World\"." msgstr "" "O próximo passo é mudar a propriedade \"Text\" do Label. Vamos alterá-la " "para \"Olá, mundo!\"." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:116 msgid "" "Head to the Inspector dock on the right of the viewport. Click inside the " "field below the Text property and type \"Hello World\"." msgstr "" "Vá para a Dock de Inspeção à direita da viewport. Clique dentro do campo " "abaixo da propriedade de Texto e digite \"Olá Mundo\"." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:121 msgid "You will see the text draw in the viewport as you type." msgstr "Vai ver o texto aparecer na viewport enquanto você digita." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:123 msgid "" "You can edit any property listed in the Inspector as we did with the Text. " "For a complete reference of the Inspector dock, see :ref:" "`doc_editor_inspector_dock`." msgstr "" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:127 msgid "" "You can move your Label node in the viewport by selecting the move tool in " "the toolbar." msgstr "" "Pode mover seu nó Label na viewport selecionando a ferramenta de mover na " "barra de ferramentas (toolbar)." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:132 msgid "" "With the Label selected, click and drag anywhere in the viewport to move it " "to the center of the view delimited by the rectangle." msgstr "" "Com a Label selecionada, clique e arraste para qualquer lugar na viewport " "para movê-la para o centro da janela delimitada pelo retângulo." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:138 msgid "Running the scene" msgstr "Executando a cena" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:140 msgid "" "Everything's ready to run the scene! Press the Play Scene button in the top-" "right of the screen or press :kbd:`F6` (:kbd:`Cmd + R` on macOS)." msgstr "" "Está tudo pronto para executar a cena! Clique no botão \"Executar Cena " "Atual\" no canto direito superior do ecrã ou aperte a tecla :kbd:`F6` (:kbd:" "`Cmd + R` no macOS)." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:145 #, fuzzy msgid "" "A popup invites you to save the scene, which is required to run it. Click " "the Save button in the file browser to save it as ``label.tscn``." msgstr "" "Um popup vai te convidar a gravar a cena, que é necessário para rodá-la." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:150 msgid "" "The Save Scene As dialog, like other file dialogs in the editor, only allows " "you to save files inside the project. The ``res://`` path at the top of the " "window represents the project's root directory and stands for \"resource " "path\". For more information about file paths in Godot, see :ref:" "`doc_filesystem`." msgstr "" "O diálogo de Gravar Cena, como outros diálogos de arquivos no editor, só " "deixam você gravar arquivos dentro do projeto. O ``res://`` no topo da " "janela representa o diretório raiz do projeto e significa \"Caminho dos " "Recursos\". Para mais informações sobre o caminho dos arquivos no Godot, " "veja :ref:`doc_filesystem`." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:156 msgid "" "The application should open in a new window and display the text \"Hello " "World\"." msgstr "" "A aplicação deve abrir uma nova janela e mostrar o texto \"Olá Mundo\"." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:160 #, fuzzy msgid "" "Close the window or press :kbd:`F8` (:kbd:`Cmd + .` on macOS) to quit the " "running scene." msgstr "" "Feche a janela ou pressione :kbd:`F8`para fechar a cena que está a executar." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:163 msgid "Setting the main scene" msgstr "Definindo a cena principal" #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:165 msgid "" "To run our test scene, we used the Play Scene button. Another button next to " "it allows you to set and run the project's main scene. You can press :kbd:" "`F5` (:kbd:`Cmd + B` on macOS) to do so." msgstr "" "Para executar nossa cena de teste, usamos o botão Executar Cena Atual. Outro " "botão próximo à ele permite que defina e execute a cena principal do " "projeto. Pode apertar:kbd:`F5` (:kbd:`Cmd + B` no macOS) para fazer isso." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:171 msgid "A popup window appears and invites you to select the main scene." msgstr "" "Uma janela popup aparecerá, te convidando para selecionar a cena principal." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:175 #, fuzzy msgid "" "Click the Select button, and in the file dialog that appears, double click " "on ``label.tscn``." msgstr "" "Clique o botão Selecionar, e no dialógo de arquivo que aparece, clique duas " "vezes em Label.tscn." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:180 msgid "" "The demo should run again. Moving forward, every time you run the project, " "Godot will use this scene as a starting point." msgstr "" "A demo deve rodar novamente. No futuro, toda vez que rodar seu projeto, " "Godot vai usar essa cena como um ponto de partida." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:183 #, fuzzy msgid "" "The editor saves the main scene's path in a project.godot file in your " "project's directory. While you can edit this text file directly to change " "project settings, you can also use the \"Project -> Project Settings\" " "window to do so. For more information, see :ref:`doc_project_settings`." msgstr "" "O editor salva o caminho para a cena principal no arquivo project.godot na " "pasta do seu projeto. Enquanto você pode editar esse arquivo de texto " "diretamente para mudar as configurações do project, você também pode usar a " "janela \"Project->Configurações de Projeto\" para fazer isso." #: ../../docs/getting_started/step_by_step/nodes_and_scenes.rst:189 msgid "" "In the next part, we will discuss another key concept in games and in Godot: " "creating instances of a scene." msgstr "" "Na próxima parte, discutiremos outro conceito chave em jogos e em Godot: " "criar instâncias de uma cena." #: ../../docs/getting_started/step_by_step/instancing.rst:4 msgid "Creating instances" msgstr "Criando instâncias" #: ../../docs/getting_started/step_by_step/instancing.rst:6 msgid "" "In the previous part, we saw that a scene is a collection of nodes organized " "in a tree structure, with a single node as its root. You can split your " "project into any number of scenes. This feature helps you break down and " "organize your game's different components." msgstr "" "Na parte anterior, nós vimos que uma cena é uma coleção de nós organizados " "numa estrutura de árvore, com um único nó como sua raiz. Pode dividir seu " "projeto em qualquer número de cenas. Essa funcionalidade ajuda você a " "dividir e organizar os diferentes componentes do seu jogo." #: ../../docs/getting_started/step_by_step/instancing.rst:11 #, fuzzy msgid "" "You can create as many scenes as you'd like and save them as files with the " "``.tscn`` extension, which stands for \"text scene\". The ``label.tscn`` " "file from the previous lesson was an example. We call those files \"Packed " "Scenes\" as they pack information about your scene's content." msgstr "" "Pode criar quantas cenas quiser e gravá-las no disco com a extensão ``." "tscn``, que signfica \"cena de texto\". O ficheiro ``Label.tscn``da lição " "anterior foi um exemplo. Chamamos esses ficheiros de \"Cenas Empacotadas\" " "já que eles empacotam informação sobre o conteúdo da sua cena." #: ../../docs/getting_started/step_by_step/instancing.rst:16 #, fuzzy msgid "" "Here's an example of a ball. It's composed of a :ref:`RigidBody2D " "` node as its root named Ball, which allows the ball to " "fall and bounce on walls, a :ref:`Sprite2D ` node, and a :" "ref:`CollisionShape2D `." msgstr "" "Aqui temos o exemplo de uma bola. Ele é composto de um nó :ref:`RigidBody2D " "`na raiz chamado Ball, que permite que a bola caia e " "quique nas paredes, um nó :ref:`Sprite `e um :ref:" "`CollisionShape2D `." #: ../../docs/getting_started/step_by_step/instancing.rst:23 msgid "" "Once you saved a scene, it works as a blueprint: you can reproduce it in " "other scenes as many times as you'd like. Replicating an object from a " "template like this is called **instancing**." msgstr "" "Depois de gravar uma cena, ela funciona como um projeto: pode reproduzi-la " "em outras cenas quantas vezes quiser. Replicar um objeto de um modelo como " "este é chamado de **instanciamento**." #: ../../docs/getting_started/step_by_step/instancing.rst:29 msgid "" "As we mentioned in the previous part, instanced scenes behave like a node: " "the editor hides their content by default. When you instance the Ball, you " "only see the Ball node. Notice also how each duplicate has a unique name." msgstr "" "Como mencionámos na parte anterior, as cenas instanciadas se comportam como " "um nó: o editor esconde o seu conteúdo por padrão. Quando você instancia a " "Bola, você vê apénas o nó Bola. Note também que cada duplicata tem um nome " "único." #: ../../docs/getting_started/step_by_step/instancing.rst:33 #, fuzzy msgid "" "Every instance of the Ball scene starts with the same structure and " "properties as ``ball.tscn``. However, you can modify each independently, " "such as changing how they bounce, how heavy they are, or any property " "exposed by the source scene." msgstr "" "Cada instância da cena Ball começa com a mesma estrutura e propriedades que " "``Ball.tscn``. Porém, você pode modificar cada uma independentemente, tal " "como mudar como ela quica, o quão pesada ela é, ou qualquer propriedade " "exposta pela cena de origem." #: ../../docs/getting_started/step_by_step/instancing.rst:39 msgid "In practice" msgstr "Na prática" #: ../../docs/getting_started/step_by_step/instancing.rst:41 #, fuzzy msgid "" "Let's use instancing in practice to see how it works in Godot. We invite you " "to download the ball's sample project we prepared for you: " "`instancing_starter.zip `_." msgstr "" "Vamos usar o instanciamento na prática para ver como funciona no Godot. " "Convidamos-lo a descarregar o projeto de amostra da bola que preparamos para " "si: :download:`instancing.zip `." #: ../../docs/getting_started/step_by_step/instancing.rst:45 msgid "" "Extract the archive on your computer. To import it, you need the Project " "Manager. The Project Manager is accessed by opening Godot, or if you already " "have Godot opened, click on *Project -> Quit to Project List* (:kbd:`Ctrl + " "Shift + Q`, :kbd:`Ctrl + Option + Cmd + Q` on macOS)" msgstr "" #: ../../docs/getting_started/step_by_step/instancing.rst:48 #, fuzzy msgid "" "In the Project Manager, click the *Import* button to import the project." msgstr "" "Extraia o arquivo em seu computador. Depois, abra o Godot e no gestor de " "projects, clique no botão Importar para importar o projeto." #: ../../docs/getting_started/step_by_step/instancing.rst:52 msgid "" "In the pop-up that appears, click the browse button and navigate to the " "folder you extracted." msgstr "" "No pop-up que apareceu, clique o botão explorar e navegue até a pasta que " "você extraiu." #: ../../docs/getting_started/step_by_step/instancing.rst:57 msgid "Double-click the ``project.godot`` file to open it." msgstr "Clique duas vezes no arquivo ``project.godot ` para abri-lo." #: ../../docs/getting_started/step_by_step/instancing.rst:61 msgid "Finally, click the Import & Edit button." msgstr "Por fim, clique no botão Importar & Editar." #: ../../docs/getting_started/step_by_step/instancing.rst:65 #, fuzzy msgid "" "The project contains two packed scenes: ``main.tscn``, containing walls " "against which the ball collides, and ``ball.tscn``. The Main scene should " "open automatically." msgstr "" "O projeto contém duas Cenas Empacotadas: ``Main.tscn``, contendo paredes " "contra as quais a bola colide, e ``Ball.tscn``. A cena principal deve abrir " "automaticamente." #: ../../docs/getting_started/step_by_step/instancing.rst:71 msgid "" "Let's add a ball as a child of the Main node. In the Scene dock, select the " "Main node. Then, click the link icon at the top of the scene dock. This " "button allows you to add an instance of a scene as a child of the currently " "selected node." msgstr "" "Vamos adicionar uma bola como um filho do nó principal. Na doca de Cena, " "selecione o nó Principal. Depois, clique no ícone de ligação na parte " "superior da doca de cena. Este botão permite-lhe adicionar uma instância de " "uma cena como filho do nó atualmente selecionado." #: ../../docs/getting_started/step_by_step/instancing.rst:77 msgid "Double-click the ball scene to instance it." msgstr "Clique duas vezes na cena da bola para instancia-la." #: ../../docs/getting_started/step_by_step/instancing.rst:81 msgid "The ball appears in the top-left corner of the viewport." msgstr "A bola vai aparecer no canto superior esquerdo do ecrã." #: ../../docs/getting_started/step_by_step/instancing.rst:85 msgid "Click on it and drag it towards the center of the view." msgstr "Clique nele e arraste-o para o centro da visualização." #: ../../docs/getting_started/step_by_step/instancing.rst:89 #, fuzzy msgid "" "Play the game by pressing :kbd:`F5` (:kbd:`Cmd + B` on macOS). You should " "see it fall." msgstr "Aperte F5 para jogar o jogo. Deve vê-la cair." #: ../../docs/getting_started/step_by_step/instancing.rst:91 #, fuzzy msgid "" "Now, we want to create more instances of the Ball node. With the ball still " "selected, press :kbd:`Ctrl + D` (:kbd:`Cmd + D` on macOS) to call the " "duplicate command. Click and drag to move the new ball to a different " "location." msgstr "" "Agora, queremos criar mais instâncias do nó Bola. Com a bola ainda " "selecionada, aperte :kbd:`Ctrl-D` (:kbd:`Cmd-D` no macOS) para chamar o " "comando duplicar. Clicque e arraste para mover a nova bola para um local " "diferente." #: ../../docs/getting_started/step_by_step/instancing.rst:97 msgid "You can repeat this process until you have several in the scene." msgstr "Pode repetir esse processo até que você tenha vários na cena." #: ../../docs/getting_started/step_by_step/instancing.rst:101 msgid "" "Play the game again. You should now see every ball fall independently from " "one another. This is what instances do. Each is an independent reproduction " "of a template scene." msgstr "" "Jogue o jogo novamente. Agora você deve ver cada bola cair independentemente " "de uma da outra. Isso é o que instâncias fazem. Cama uma é uma reprodução " "independente de uma cena modelo." #: ../../docs/getting_started/step_by_step/instancing.rst:106 msgid "Editing scenes and instances" msgstr "Editando cenas e instâncias" #: ../../docs/getting_started/step_by_step/instancing.rst:108 msgid "There is more to instances. With this feature, you can:" msgstr "" "Instâncias possuem mais do que isso. Com essa funcionalidade, você pode:" #: ../../docs/getting_started/step_by_step/instancing.rst:110 msgid "" "Change the properties of one ball without affecting the others using the " "Inspector." msgstr "" "Altere as propriedades de uma bola sem afetar as outras usando o Inspetor." #: ../../docs/getting_started/step_by_step/instancing.rst:112 #, fuzzy msgid "" "Change the default properties of every Ball by opening the ``ball.tscn`` " "scene and making a change to the Ball node there. Upon saving, all instances " "of the Ball in the project will see their values update." msgstr "" "Altere as propriedades padrão de cada Bola abrindo a cena ``Ball.tscn`` e " "fazendo uma alteração do nó Bola ali. Ao gravar, todas as instâncias da Bola " "no projeto terão os valores atualizados deles." #: ../../docs/getting_started/step_by_step/instancing.rst:116 msgid "" "Changing a property on an instance always overrides values from the " "corresponding packed scene." msgstr "" "Mudar uma propriedade numa instância sempre terá prioridade sobre os valores " "da Cena Empacotada correspondente." #: ../../docs/getting_started/step_by_step/instancing.rst:119 #, fuzzy msgid "" "Let's try this. Open ``ball.tscn`` and select the Ball node. In the " "Inspector on the right, click on the PhysicsMaterial property to expand it." msgstr "" "Vamos testar isso. Abra ``Ball.tscn``e selecione o nó Ball. No Inspetor à " "direita, clique na propriedade PhysicsMaterial para expandi-la." #: ../../docs/getting_started/step_by_step/instancing.rst:124 #, fuzzy msgid "" "Set its Bounce property to ``0.5`` by clicking on the number field, typing " "``0.5``, and pressing :kbd:`Enter`." msgstr "" "Clique no campo número e digite ``2``e aperte :kbd:`Enter` para definir a " "propriedade Bounce como 2." #: ../../docs/getting_started/step_by_step/instancing.rst:129 msgid "" "Play the game by pressing :kbd:`F5` and notice how all balls now bounce a " "lot more. As the Ball scene is a template for all instances, modifying it " "and saving causes all instances to update accordingly." msgstr "" "Rode o jogo apertando :kbd:`F5`e perceba que as bolas agora quicam muito " "mais. Como a cena Ball é um modelo para todas as instâncias, modificar e " "salvá-la causa que todas as instâncias atualizem de acordo." #: ../../docs/getting_started/step_by_step/instancing.rst:133 msgid "" "Let's now adjust an individual instance. Head back to the Main scene by " "clicking on the corresponding tab above the viewport." msgstr "" "Agora vamos ajustar uma instância individual. Clique na guia correspondente " "acima da janela de exibição para voltar para a cena Main." #: ../../docs/getting_started/step_by_step/instancing.rst:138 msgid "" "Select one of the instanced Ball nodes and, in the Inspector, set its " "Gravity Scale value to ``10``." msgstr "" "Selecione um dos nós Ball instanciados e, no Inspetor, mude sua Escala de " "Gravidade para ``10``." #: ../../docs/getting_started/step_by_step/instancing.rst:143 msgid "A grey \"revert\" button appears next to the adjusted property." msgstr "" "Um botão cinzento de \"reverter\" aparecerá perto da propriedade ajustada." #: ../../docs/getting_started/step_by_step/instancing.rst:147 msgid "" "This icon indicates you are overriding a value from the source packed scene. " "Even if you modify the property in the original scene, the value override " "will be preserved in the instance. Clicking the revert icon will restore the " "property to the value in the saved scene." msgstr "" "Este ícone indica que substitui um valor da cena empacotada de origem. Mesmo " "que modifique a propriedade na cena original, a substituição do valor será " "preservada na instância. Clicar no ícone de reversão restaurará a " "propriedade ao valor na cena salva." #: ../../docs/getting_started/step_by_step/instancing.rst:152 msgid "" "Rerun the game and notice how this ball now falls much faster than the " "others." msgstr "" "Rode o jogo de novo e perceba que essa bola agora caí muito mais rápida que " "as outras." #: ../../docs/getting_started/step_by_step/instancing.rst:154 msgid "" "If you change a value on the ``PhysicsMaterial`` of one instance, it will " "affect all the others. This is because ``PhysicsMaterial`` is a resource, " "and resources are shared between instances. To make a resource unique for " "one instance, right-click on it in the Inspector and click Make Unique in " "the contextual menu." msgstr "" "Se você mudar um valor no ``PhysicsMaterial`` de uma instância, isso afetará " "todas as outras. Isso é porque ``PhysicsMaterial`` é um recurso, e recursos " "são compartilhados entre instâncias. Para fazer um recurso único para uma " "instância, clique nele com o botão direito no Inspetor e clique Tornar Único " "no menu contextual." #: ../../docs/getting_started/step_by_step/instancing.rst:160 msgid "" "Resources are another essential building block of Godot games we will cover " "in a later lesson." msgstr "" "Recursos são outro bloco de construção essencial de jogos Godot que " "cobriremos numa lição posterior." #: ../../docs/getting_started/step_by_step/instancing.rst:164 msgid "Scene instances as a design language" msgstr "Instâncias de Cenas como uma linguagem de design" #: ../../docs/getting_started/step_by_step/instancing.rst:166 msgid "" "Instances and scenes in Godot offer an excellent design language, setting " "the engine apart from others out there. We designed Godot around this " "concept from the ground up." msgstr "" "Instâncias e cenas no Godot oferecem uma excelente linguagem de design, " "distinguindo a engine de outras. Concebemos o Godot em torno deste conceito " "desde o início." #: ../../docs/getting_started/step_by_step/instancing.rst:170 msgid "" "We recommend dismissing architectural code patterns when making games with " "Godot, such as Model-View-Controller (MVC) or Entity-Relationship diagrams. " "Instead, you can start by imagining the elements players will see in your " "game and structure your code around them." msgstr "" "Nós recomendamos ignorar padrões de código de arquitetura, tal como o Model-" "View-Control (MVC) ou diagramas Relação-Entidade, ao fazer jogos com Godot. " "Ao invés disso, você pode começar imaginando os elementos que jogadores " "verão em seu jogo e estruturar seu código ao redor deles." #: ../../docs/getting_started/step_by_step/instancing.rst:175 msgid "For example, you could break down a shooter game like so:" msgstr "Por exemplo, pode dividir um jogo de tiro da seguinte forma:" #: ../../docs/getting_started/step_by_step/instancing.rst:179 msgid "" "You can come up with a diagram like this for almost any type of game. Each " "rectangle represents an entity that's visible in the game from the player's " "perspective. The arrows tell you which scene owns which." msgstr "" "Pode criar um diagrama assim para quase qualquer tipo de jogo. Cada " "retângulo representa uma entidade que é visível no jogo na perspectiva do " "jogador. As setas indicam qual cena possui qual." #: ../../docs/getting_started/step_by_step/instancing.rst:183 #, fuzzy msgid "" "Once you have a diagram, we recommend creating a scene for each element " "listed in it to develop your game. You'll use instancing, either by code or " "directly in the editor, to build your tree of scenes." msgstr "" "Depois de ter um diagrama, recomendamos criar uma cena para cada elemento " "listado nele para desenvolver o seu jogo. Usará instanciamento, seja por " "código ou diretamente no editor, para construir a sua árvore de cenas." #: ../../docs/getting_started/step_by_step/instancing.rst:187 msgid "" "Programmers tend to spend a lot of time designing abstract architectures and " "trying to fit components into it. Designing based on scenes makes " "development faster and more straightforward, allowing you to focus on the " "game logic itself. Because most game components map directly to a scene, " "using a design based on scene instantiation means you need little other " "architectural code." msgstr "" "Os programadores tendem a gastar muito tempo projetando arquiteturas " "abstratas e tentando encaixar componentes nelas. O design baseado em cenas " "torna o desenvolvimento mais rápido e direto, permitindo que se concentre na " "própria lógica do jogo. Como a maioria dos componentes do jogo é mapeada " "diretamente para uma cena, usar um design baseado em instanciamento de cenas " "significa que precisará de muito menos código arquitetural." #: ../../docs/getting_started/step_by_step/instancing.rst:193 msgid "" "Here's the example of a scene diagram for an open-world game with tons of " "assets and nested elements:" msgstr "" "Aqui está o exemplo de um diagrama de cena para um jogo de mundo aberto com " "muitos assets e elementos aninhados:" #: ../../docs/getting_started/step_by_step/instancing.rst:198 msgid "" "Imagine we started by creating the room. We could make a couple of different " "room scenes, with unique arrangements of furniture in them. Later, we could " "make a house scene that uses multiple room instances for the interior. We " "would create a citadel out of many instanced houses and a large terrain on " "which we would place the citadel. Each of these would be a scene instancing " "one or more sub-scenes." msgstr "" "Imagine que começamos criando a sala. Poderíamos fazer algumas cenas de " "salas diferentes, com arranjos únicos de móveis nelas. Mais tarde, " "poderíamos fazer uma cena de casa que usa várias instâncias de sala para o " "interior. Criaríamos uma cidadela com muitas casas instanciadas e um grande " "terreno no qual pôríamos a cidadela. Cada uma delas seria uma cena " "instanciando uma ou mais sub-cenas." #: ../../docs/getting_started/step_by_step/instancing.rst:204 msgid "" "Later, we could create scenes representing guards and add them to the " "citadel. They would be indirectly added to the overall game world." msgstr "" "Mais tarde, poderíamos criar cenas representando guardas e adicioná-los à " "cidadela. Eles seriam adicionados indiretamente ao mundo geral do jogo." #: ../../docs/getting_started/step_by_step/instancing.rst:207 msgid "" "With Godot, it's easy to iterate on your game like this, as all you need to " "do is create and instantiate more scenes. We designed the editor to be " "accessible to programmers, designers, and artists alike. A typical team " "development process can involve 2D or 3D artists, level designers, game " "designers, and animators, all working with the Godot editor." msgstr "" "Com Godot, é fácil iterar no seu jogo assim, pois tudo o que precisa fazer é " "criar e instanciar mais cenas. Fizemos o editor ser mais acessível a " "programadores, designers e artistas. Um processo típico de desenvolvimento " "de equipa pode envolver artistas 2D ou 3D, designers de níveis, designers de " "jogos e animadores, todos trabalhando com o editor Godot." #: ../../docs/getting_started/step_by_step/instancing.rst:216 #, fuzzy msgid "" "Instancing, the process of producing an object from a blueprint, has many " "handy uses. With scenes, it gives you:" msgstr "" "Instanciar, o processo de produzir um objeto a partir de um plano tem muitos " "usos úteis. Com cenas, ele lhe dá:" #: ../../docs/getting_started/step_by_step/instancing.rst:219 msgid "The ability to divide your game into reusable components." msgstr "A capacidade de dividir seu jogo em componentes reutilizáveis." #: ../../docs/getting_started/step_by_step/instancing.rst:220 msgid "A tool to structure and encapsulate complex systems." msgstr "Uma ferramenta para estruturar e encapsular sistemas complexos." #: ../../docs/getting_started/step_by_step/instancing.rst:221 msgid "" "A language to think about your game project's structure in a natural way." msgstr "" "Uma linguagem para pensar sobre a estrutura do seu projeto de jogo de uma " "forma natural." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:9 msgid "Scripting languages" msgstr "Linguagens de script" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:11 msgid "" "This lesson will give you an overview of the available scripting languages " "in Godot. You will learn the pros and cons of each option. In the next part, " "you will write your first script using GDScript." msgstr "" "Esta lição lhe dará uma visão geral das linguagens de scripting disponíveis " "no Godot. VocÊ vai aprender os prós e os contras de cada opção. Na parte " "seguinte, você irá escrever o seu primeiro script utilizando GDScript." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:15 msgid "" "**Scripts attach to a node and extend its behavior**. This means that " "scripts inherit all functions and properties of the node they attach to." msgstr "" "**Os scripts anexam-se a um nó e estendem o seu comportamento**. Isto " "significa que os scripts herdam todas as funções e propriedades do nó a que " "se anexam." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:18 msgid "" "For example, take a game where a Camera2D node follows a ship. The Camera2D " "node follows its parent by default. Imagine you want the camera to shake " "when the player takes damage. As this feature is not built into Godot, you " "would attach a script to the Camera2D node and code the shake." msgstr "" "Por exemplo, considere um jogo em que um nó Camera2D segue um navio. O nó " "Camera2D segue o pai dele por padrão. Imagine que deseja que a câmara trema " "quando o jogador sofrer dano. Como esse recurso não está embutido no Godot, " "você anexaria um script ao nó Camera2D e codificaria o tremer da câmara." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:26 msgid "Available scripting languages" msgstr "Linguagens de script disponíveis" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:28 #, fuzzy msgid "" "Godot offers **four gameplay programming languages**: GDScript, C#, and, via " "its GDExtension technology, C and C++. There are more community-supported " "languages, but these are the official ones." msgstr "" "Godot oferece **cinco linguagens de programação integradas**: GDScript, C#, " "VisualScript e, por meio da tecnologia GDNative, C e C++ dela. Existem mais :" "ref:`linguagens suportados pela comunidade " "`, mas estas 5 são as oficiais." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:32 #, fuzzy msgid "" "You can use multiple languages in a single project. For instance, in a team, " "you could code gameplay logic in GDScript as it's fast to write, and use C# " "or C++ to implement complex algorithms and maximize their performance. Or " "you can write everything in GDScript or C#. It's your call." msgstr "" "Pode utilizar múltiplas linguagens num único projeto. Por exemplo, em uma " "equipa, pode programar a lógica de gameplay em GDScript por ser rápida de " "escrever e designers de níveis usar a linguagem gráfica VisualScript e usar " "C# ou C++ para implementar algoritmos complexos e maximizar o desempenho " "dele. Ou pode escrever tudo em GDScript ou C#. A decisão é a sua." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:37 msgid "" "We provide this flexibility to answer the needs of different game projects " "and developers." msgstr "" "Oferecemos esta flexibilidade para atender as necessidades de diferentes " "projetos de jogos e programadores." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:41 msgid "Which language should I use?" msgstr "Qual linguagem devo usar?" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:43 msgid "" "If you're a beginner, we recommend to **start with GDScript**. We made this " "language specifically for Godot and the needs of game developers. It has a " "lightweight and straightforward syntax and provides the tightest integration " "with Godot." msgstr "" "Se você é um iniciante, recomendamos **começar com GDScript**. Fizemos esta " "linguagem especificamente para o Godot e para as necessidades de " "programadores de jogos. Tem uma sintaxe simples e direta e fornece a melhor " "integração com o Godot." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:50 msgid "" "For C#, you will need an external code editor like `VSCode `_ or Visual Studio. While C# support is now mature, you " "will find fewer learning resources for it compared to GDScript. That's why " "we recommend C# mainly to users who already have experience with the " "language." msgstr "" "Para C#, irá precisar de um editor de código externo como `VSCode `_ ou Visual Studio. Apesar do suporte para C# estar " "consolidado, vai achar menos recursos de aprendizado para C# comparado a " "GDScript. É por isso que recomendamos C# principalmente para utilizadores " "que já tem experiência com a linguagem." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:56 msgid "Let's look at each language's features, as well as its pros and cons." msgstr "" "Vamos dar uma olhada nos recursos de cada linguagem, assim como os prós e " "contras dele." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:61 msgid "" ":ref:`GDScript` is an `object-oriented `_ and `imperative `_ programming language built for " "Godot. It's made by and for game developers to save you time coding games. " "Its features include:" msgstr "" ":ref:`GDScript` é uma linguagem de programação `orientada a " "objetos `_ e `imperativa `_ feita para o Godot. É " "feita por e para programadores de jogos para economizar o seu tempo de " "programar jogos. Os recursos incluem:" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:67 msgid "A simple syntax that leads to short files." msgstr "Uma sintaxe simples que resulta em ficheiros pequenos." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:68 msgid "Blazing fast compilation and loading times." msgstr "Compilação e tempos de carregamento extremamente rápidos." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:69 msgid "" "Tight editor integration, with code completion for nodes, signals, and more " "information from the scene it's attached to." msgstr "" "A integração com o editor é agradável de trabalhar, com complementação de " "código para nós, sinais e muitos outros itens pertinentes à cena em edição." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:71 msgid "" "Built-in vector and transform types, making it efficient for heavy use of " "linear algebra, a must for games." msgstr "" "Tipos vetoriais e de transformação incorporados, tornando-o eficiente para " "uso intenso de álgebra linear, essencial para jogos." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:73 msgid "Supports multiple threads as efficiently as statically typed languages." msgstr "" "Suporta múltiplas threads tão eficientemente quanto linguagens de tipo " "estático." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:74 msgid "" "No `garbage collection `_, as this feature eventually gets in " "the way when creating games. The engine counts references and manages the " "memory for you in most cases by default, but you can also control memory if " "you need to." msgstr "" "Não há `coletor de lixo `_, já que esse recurso eventualmente " "atrapalha o processo de criação de jogos. A engine conta as referências e " "gere a memória para si na maioria dos casos por padrão, mas também pode " "controlar a memória caso necessário." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:79 msgid "" "`Gradual typing `_. Variables " "have dynamic types by default, but you also can use type hints for strong " "type checks." msgstr "" "`Tipagem gradual (Gradual Typing) `_. As variáveis tem tipos dinâmicos por padrão, mas também " "pode usar dicas de tipo para reforçar verificações do tipo da variável." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:83 msgid "" "GDScript looks like Python as you structure your code blocks using " "indentations, but it doesn't work the same way in practice. It's inspired by " "multiple languages, including Squirrel, Lua, and Python." msgstr "" "GDScript parece-se com o Python ao passo que estruture os seus blocos de " "código usando identações, mas não funciona da mesma maneira na prática. Ela " "é inspirada em várias linguagens, incluindo Squirrel, Lua e Python." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:89 msgid "Why don't we use Python or Lua directly?" msgstr "Por quê não usamos Python ou Lua diretamente?" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:91 msgid "" "Years ago, Godot used Python, then Lua. Both languages' integration took a " "lot of work and had severe limitations. For example, threading support was a " "big challenge with Python." msgstr "" "Anos atrás, Godot usava Python, depois Lua. A integração de ambas as " "linguagens deu muito trabalho e tinha limitações severas. Por exemplo, " "suporte a threading era um grande desafio com Python." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:95 msgid "" "Developing a dedicated language doesn't take us more work and we can tailor " "it to game developers' needs. We're now working on performance optimizations " "and features that would've been difficult to offer with third-party " "languages." msgstr "" "Desenvolver uma linguagem dedicada não nos dá mais trabalho e podemos adaptá-" "la às necessidades dos programadores de jogos. Agora estamos trabalhando em " "otimizações de desempenho e recursos que seriam difíceis de oferecer com " "linguagens de terceiros." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:101 msgid ".NET / C#" msgstr ".NET / C#" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:103 #, fuzzy msgid "" "As Microsoft's `C# `_ is a favorite amongst game developers, we " "officially support it. C# is a mature and flexible language with tons of " "libraries written for it. We were able to add support for it thanks to a " "generous donation from Microsoft." msgstr "" "Como o `C# `_ " "da Microsoft é o favorito entre os programadores de jogos, apoiamos-o " "oficialmente. C# é uma linguagem madura e flexível com muitas bibliotecas " "escritas para ela. Foi possível adicionar-lhe suporte graças a uma generosa " "doação da Microsoft." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:111 msgid "" "C# offers a good tradeoff between performance and ease of use, although you " "should be aware of its garbage collector." msgstr "" "C# oferece uma boa compensação entre desempenho e facilidade de uso, embora " "deva estar ciente do coletor de lixo dele." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:114 #, fuzzy msgid "" "You must use the .NET edition of the Godot editor to script in C#. You can " "download it on the Godot website's `download `_ page." msgstr "" "Deve usar a edição Mono do editor Godot para poder programar em C#. Pode " "descarregar na `página de download `_ no " "website do Godot." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:118 #, fuzzy msgid "" "Since Godot uses .NET 6, in theory, you can use any third-party .NET library " "or framework in Godot, as well as any Common Language Infrastructure-" "compliant programming language, such as F#, Boo, or ClojureCLR. However, C# " "is the only officially supported .NET option." msgstr "" "Já que o Godot usa a plataforma .NET `Mono `_, em " "teoria qualquer biblioteca ou infraestrutura .NET terceirizada pode ser " "usada para roteirizar no Godot, assim como qualquer linguagem de programação " "compatível com a Infraestrutura de Linguagem Comum (CLI), tais como F#, Boo " "ou ClojureCLR. Na prática, entretanto, C# é a única opção .NET com suporte " "oficial." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:123 msgid "" "GDScript code itself doesn't execute as fast as compiled C# or C++. However, " "most script code calls functions written with fast algorithms in C++ code " "inside the engine. In many cases, writing gameplay logic in GDScript, C#, or " "C++ won't have a significant impact on performance." msgstr "" "Um código em GDScript não é executado tão rapidamente quanto um em C# ou C++ " "compilados. No entanto, a maioria dos códigos de script chama funções " "escritas com algoritmos rápidos em código C++ dentro da engine. Em muitos " "casos, escrever a lógica do jogo em GDScript, C# ou C++ não terá um impacto " "significativo no desempenho." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:137 msgid "C++ via GDExtension" msgstr "" #: ../../docs/getting_started/step_by_step/scripting_languages.rst:139 #, fuzzy msgid "" "GDExtension allows you to write game code in C++ without needing to " "recompile Godot." msgstr "" "O GDNative permite que escreva o código do jogo em C ou C++ sem precisar " "recompilar ou mesmo reiniciar o Godot." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:144 msgid "" "You can use any version of the language or mix compiler brands and versions " "for the generated shared libraries, thanks to our use of an internal C API " "Bridge." msgstr "" "Pode usar qualquer versão da linguagem ou misturar compiladores e versões de " "compiladores para as bibliotecas compartilhadas geradas, graças ao uso de " "uma ponte C API interna." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:147 #, fuzzy msgid "" "GDExtension is the best choice for performance. You don't need to use it " "throughout an entire game, as you can write other parts in GDScript or C#." msgstr "" "GDNative é a melhor escolha para desempenho. Não precisa usá-lo durante todo " "o jogo, pois pode escrever outras partes em GDScript, C# ou VisualScript." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:150 #, fuzzy msgid "" "When working with GDExtension, the available types, functions, and " "properties closely resemble Godot's actual C++ API." msgstr "" "Ao trabalhar com GDNative, os tipos, funções e propriedades disponíveis se " "assemelham muito à API C++ real do Godot." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:156 msgid "" "Scripts are files containing code that you attach to a node to extend its " "functionality." msgstr "" "Scripts são ficheiros que conteem código que você anexa a um nó para " "estender a funcionalidade dele." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:159 #, fuzzy msgid "" "Godot supports four official scripting languages, offering you flexibility " "between performance and ease of use." msgstr "" "Godot suporta cinco linguagens de programação oficiais, oferecendo a " "flexibilidade entre desempenho e facilidade de uso." #: ../../docs/getting_started/step_by_step/scripting_languages.rst:162 msgid "" "You can mix languages, for instance, to implement demanding algorithms with " "C or C++ and write most of the game logic with GDScript or C#." msgstr "" "Pode misturar linguagens, por exemplo, para implementar algoritmos exigentes " "com C ou C++ e escrever a maior parte da lógica do jogo com GDScript ou C#." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:19 msgid "Creating your first script" msgstr "Criando seu primeiro script" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:21 msgid "" "In this lesson, you will code your first script to make the Godot icon turn " "in circles using GDScript. As we mentioned :ref:`in the introduction `, we assume you have programming foundations. The " "equivalent C# code has been included in another tab for convenience." msgstr "" "Nesta lição, irá programar o seu primeiro script para fazer o ícone do Godot " "girar em círculos usando GDScript. Como mencionamos :ref:`na introdução `, assumimos que tem os fundamentos de programação. O " "código em C# equivalente será incluído em outra guia para conveniência." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:28 msgid "" "To learn more about GDScript, its keywords, and its syntax, head to the :ref:" "`GDScript reference`." msgstr "" "Para aprender mais sobre GDScript, as palavras-chave e a sintaxe dele, veja " "as :ref:`referências GDScript`." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:31 msgid "" "To learn more about C#, head to the :ref:`C# basics ` page." msgstr "" "Para aprender mais sobre C#, vá à página :ref:`Conceitos Básicos de C# " "`." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:34 msgid "Project setup" msgstr "Configuração do projeto" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:36 #, fuzzy msgid "" "Please :ref:`create a new project ` to " "start with a clean slate. Your project should contain one picture: the Godot " "icon, which we often use for prototyping in the community." msgstr "" "Crie um novo projeto para começar do zero. O seu projeto deve conter uma " "imagem: o ícone Godot, que costumamos usar para prototipagem na comunidade." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:42 #, fuzzy msgid "" "We need to create a Sprite2D node to display it in the game. In the Scene " "dock, click the Other Node button." msgstr "" "Devemoscriar um nó de Sprite para mostrá-lo no jogo. No painel de cena, " "clique em \"Outro Nó\"." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:47 #, fuzzy msgid "" "Type \"Sprite2D\" in the search bar to filter nodes and double-click on " "Sprite2D to create the node." msgstr "" "Digite \"Sprite\" na barra de pesquisa para filtrar os nós e clique duas " "vezes no Sprite para criar o nó." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:52 #, fuzzy msgid "Your Scene tab should now only have a Sprite2D node." msgstr "A sua guia de cena agora deve ter apenas um nó Sprite." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:56 #, fuzzy msgid "" "A Sprite2D node needs a texture to display. In the Inspector on the right, " "you can see that the Texture property says \"[empty]\". To display the Godot " "icon, click and drag the file ``icon.svg`` from the FileSystem dock onto the " "Texture slot." msgstr "" "Um nó Sprite precisa de uma textura para mostrá-la. No inspetor à direita, " "pode ver que a propriedade Textura diz \"[vazio]\". Para mostrar o ícone do " "Godot, clique e arraste o ficheiro ``icon.png`` do painel de Ficheiros para " "o slot de Textura." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:65 #, fuzzy msgid "" "You can create Sprite2D nodes automatically by dragging and dropping images " "on the viewport." msgstr "" "Pode criar nós Sprite automaticamente arrastando e soltando imagens no " "viewport." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:68 msgid "" "Then, click and drag the icon in the viewport to center it in the game view." msgstr "" "E então, clique e arraste o ícone no viewport para centralizá-lo na " "visualização do jogo." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:73 msgid "Creating a new script" msgstr "Criando um novo script" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:75 #, fuzzy msgid "" "To create and attach a new script to our node, right-click on Sprite2D in " "the scene dock and select \"Attach Script\"." msgstr "" "Para criar e anexar um novo script ao nosso nó, clique com o botão direito " "no Sprite no painel de cena e selecione \"Adicionar Script\"." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:80 msgid "" "The Attach Node Script window appears. It allows you to select the script's " "language and file path, among other options." msgstr "" "A janela Adicionar Script ao Nó será exibida. Permite selecionar a linguagem " "do script e o caminho do ficheiro, entre outras opções." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:83 #, fuzzy msgid "" "Change the Template field from \"Node: Default\" to \"Object: Empty\" to " "start with a clean file. Leave the other options set to their default values " "and click the Create button to create the script." msgstr "" "Mude o modelo de Padrão para Vazio para começar com um ficheiro vazio. Deixe " "as outras opções no padrão e clique em Criar para criar o script." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:88 #, fuzzy msgid "" "The Script workspace should appear with your new ``sprite_2d.gd`` file open " "and the following line of code:" msgstr "" "O espaço de trabalho do script deve aparecer com o seu novo ficheiro " "``Sprite.gd`` aberto com a seguinte linha de código:" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:104 #, fuzzy msgid "" "Every GDScript file is implicitly a class. The ``extends`` keyword defines " "the class this script inherits or extends. In this case, it's ``Sprite2D``, " "meaning our script will get access to all the properties and functions of " "the Sprite2D node, including classes it extends, like ``Node2D``, " "``CanvasItem``, and ``Node``." msgstr "" "Todo ficheiro GDScript é implicitamente uma classe. A palavra-chave " "``extends``define qual classe este script herda ou estende. Neste caso, é o " "``Sprite``, significa que nosso script terá acesso a todas as propriedades e " "funções do nó Sprite, incluindo as classes que a estende, como ``Node2D``, " "``CanvasItem`` e ``Node``." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:110 #, fuzzy msgid "" "In GDScript, if you omit the line with the ``extends`` keyword, your class " "will implicitly extend :ref:`RefCounted `, which Godot " "uses to manage your application's memory." msgstr "" "No GDScript, se omitir a linha com a palavra-chave ``extends``, a sua classe " "vai implicitamente estender :ref:`Reference `, que o Godot " "usa para gerir a memória da sua aplicação." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:114 msgid "" "Inherited properties include the ones you can see in the Inspector dock, " "like our node's ``texture``." msgstr "" "Propriedades herdadas inclui as que vê no painel Inspetor, que nem o " "``texture`` do nosso nó." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:119 msgid "" "By default, the Inspector displays a node's properties in \"Title Case\", " "with capitalized words separated by a space. In GDScript code, these " "properties are in \"snake_case\", which is lowercase with words separated by " "an underscore." msgstr "" "Por padrão, o Inspetor exibe as propriedades de um nó em \"Title Case\", com " "palavras em maiúsculas separadas por um espaço. No código GDScript, essas " "propriedades estão em \"snake_case\", que é minúscula com palavras separadas " "por sublinhado." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:123 #, fuzzy msgid "" "You can hover over any property's name in the Inspector to see a description " "and its identifier in code." msgstr "" "Pode passar o mouse sobre o nome de qualquer propriedade no Inspetor para " "ver uma descrição e o identificador dele no código." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:127 msgid "Hello, world!" msgstr "Olá, mundo!" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:129 msgid "" "Our script currently doesn't do anything. Let's make it print the text " "\"Hello, world!\" to the Output bottom panel to get started." msgstr "" "Nosso script por enquanto não faz nada. Vamos fazê-lo imprimir o texto " "\"Olá, mundo!\" no painel de Saída em baixo para começarmos." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:132 msgid "Add the following code to your script:" msgstr "Adicione o seguinte código no seu script:" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:148 msgid "" "Let's break it down. The ``func`` keyword defines a new function named " "``_init``. This is a special name for our class's constructor. The engine " "calls ``_init()`` on every object or node upon creating it in memory, if you " "define this function." msgstr "" "Vamos decompô-lo. A palavra-chave ``func`` define uma nova função chamada " "``_init``. Este é um nome especial para o construtor da nossa classe. A " "engine chama o ``_init()`` em cada objeto ou nó ao criá-lo na memória, se " "definir esta função." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:153 msgid "" "GDScript is an indent-based language. The tab at the start of the line that " "says ``print()`` is necessary for the code to work. If you omit it or don't " "indent a line correctly, the editor will highlight it in red and display the " "following error message: \"Indented block expected\"." msgstr "" "GDScript é uma linguagem baseada em recuo. A guia no início da linha que diz " "``print()`` é necessária para que o código funcione. Se omitir ou não recuar " "uma linha corretamente, o editor a destacará em vermelho e exibirá a " "seguinte mensagem de erro: \"Esperado recuo do bloco\"." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:158 #, fuzzy msgid "" "Save the scene as ``sprite_2d.tscn`` if you haven't already, then press :kbd:" "`F6` (:kbd:`Cmd + R` on macOS) to run it. Look at the **Output** bottom " "panel that expands. It should display \"Hello, world!\"." msgstr "" "Grave a cena se não gravou ainda e depois pressione :kbd:`F6` (:kbd:`Cmd + " "R` no macOS) para executá-la. Olhe no painel Saída em baixo que pode ser " "expandido. Deve estar mostrando \"Olá, mundo!\"." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:164 #, fuzzy msgid "" "Delete the ``_init()`` function, so you're only left with the line ``extends " "Sprite2D``." msgstr "" "Delete a função ``_init()``, para que tenha apenas a linha ``extends " "Sprite``." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:168 msgid "Turning around" msgstr "Adicionando movimento" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:170 #, fuzzy msgid "" "It's time to make our node move and rotate. To do so, we're going to add two " "member variables to our script: the movement speed in pixels per second and " "the angular speed in radians per second. Add the following after the " "``extends Sprite2D`` line." msgstr "" "Está na hora de fazer nosso nó se mover e girar. Para fazer isso, iremos " "adicionar duas variáveis para o nosso script: a velocidade de movimento em " "pixels por segundo e a velocidade angular em radianos por segundo." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:185 msgid "" "Member variables sit near the top of the script, after any \"extends\" " "lines, but before functions. Every node instance with this script attached " "to it will have its own copy of the ``speed`` and ``angular_speed`` " "properties." msgstr "" "As variáveis de definição ficam próximas ao topo do script, depois de " "qualquer linha \"extends\", mas antes das funções. Cada instância de nó com " "este script lhe anexado terá a própria cópia das propriedades ``speed`` e " "``angular_speed``." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:190 msgid "" "Angles in Godot work in radians by default, but you have built-in functions " "and properties available if you prefer to calculate angles in degrees " "instead." msgstr "" "Os ângulos no Godot trabalham com radianos por padrão, mas há funções e " "propriedades embutidas disponíveis se preferir calcular ângulos em graus ao " "invés de radianos." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:194 #, fuzzy msgid "" "To move our icon, we need to update its position and rotation every frame in " "the game loop. We can use the ``_process()`` virtual function of the " "``Node`` class. If you define it in any class that extends the Node class, " "like Sprite2D, Godot will call the function every frame and pass it an " "argument named ``delta``, the time elapsed since the last frame." msgstr "" "Para mover o nosso ícone, precisamos atualizar a posição e rotação dele a " "cada quadro no loop do jogo. Podemos usar a função virtual ``_process()`` da " "classe ``Node``. Se definir em qualquer classe que estenda a classe Node, " "como Sprite, o Godot chamará a função a cada quadro e passará-lhe um " "argumento chamado ``delta``, o tempo decorrido desde o último quadro." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:202 msgid "" "Games work by rendering many images per second, each called a frame, and " "they do so in a loop. We measure the rate at which a game produces images in " "Frames Per Second (FPS). Most games aim for 60 FPS, although you might find " "figures like 30 FPS on slower mobile devices or 90 to 240 for virtual " "reality games." msgstr "" "Os jogos funcionam renderizando muitas imagens por segundo, cada uma chamada " "de quadro, e fazem-no num loop. Medimos a taxa na qual um jogo produz " "imagens em quadros por segundo (FPS). A maioria dos jogos aponta para 60 " "FPS, embora possa encontrar números como 30 FPS em aparelhos móveis mais " "lentos ou 90 a 240 para jogos de realidade virtual." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:208 msgid "" "The engine and game developers do their best to update the game world and " "render images at a constant time interval, but there are always small " "variations in frame render times. That's why the engine provides us with " "this delta time value, making our motion independent of our framerate." msgstr "" "A engine e os programadores de jogos fazem o melhor para atualizar o mundo " "do jogo e renderizar imagens num intervalo de tempo constante, mas sempre " "terá pequenas variações no tempo de renderização de frames. É por isso que a " "engine nos oferece o valor de tempo delta, fazendo com que o movimento " "ocorra independente da taxa de quadros." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:213 msgid "At the bottom of the script, define the function:" msgstr "No fim do script, defina a função:" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:228 msgid "" "The ``func`` keyword defines a new function. After it, we have to write the " "function's name and arguments it takes in parentheses. A colon ends the " "definition, and the indented blocks that follow are the function's content " "or instructions." msgstr "" "A palavra-chave ``func`` define uma nova função. Depois disso, devemos " "escrever o nome da função e os argumentos que ela recebe entre parênteses. " "Dois pontos terminam a definição e os blocos recuados que seguem são o " "conteúdo ou as instruções da função." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:233 msgid "" "Notice how ``_process()``, like ``_init()``, starts with a leading " "underscore. By convention, Godot's virtual functions, that is to say, built-" "in functions you can override to communicate with the engine, start with an " "underscore." msgstr "" "Observe como ``_process()`` e ``_init()``, começam com um sublinhado à " "esquerda. Por convenção, as funções virtuais do Godot, ou seja, funções " "integradas que pode substituir para comunicar com a engine, começam com um " "sublinhado." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:238 #, fuzzy msgid "" "The line inside the function, ``rotation += angular_speed * delta``, " "increments our sprite's rotation every frame. Here, ``rotation`` is a " "property inherited from the class ``Node2D``, which ``Sprite2D`` extends. It " "controls the rotation of our node and works with radians." msgstr "" "A linha dentro da função, ``rotation += angular_speed * delta``, incrementa " "a rotação do nosso sprite a cada frame. Aqui, ``rotation`` é uma propriedade " "herdada da classe ``Node2D``, onde ``Sprite`` estende. Isso controla a " "rotação do nosso nó e trabalha com radianos." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:243 msgid "" "In the code editor, you can ctrl-click on any built-in property or function " "like ``position``, ``rotation``, or ``_process`` to open the corresponding " "documentation in a new tab." msgstr "" "No editor de código, pode clicar com o botão esquerdo enquanto segura Ctrl " "em qualquer propriedade ou função embutida, como ``position``, ``rotation``, " "ou ``_process`` para abrir a correspondente documentação numa nova guia." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:247 msgid "Run the scene to see the Godot icon turn in-place." msgstr "Execute a cena para ver o ícone Godot girar." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:251 msgid "" "In C#, notice how the ``delta`` argument taken by ``_Process()`` is a " "``double``. We therefore need to convert it to ``float`` when we apply it to " "the rotation." msgstr "" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:256 msgid "Moving forward" msgstr "Adicionando movimento" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:258 #, fuzzy msgid "" "Let's now make the node move. Add the following two lines inside of the " "``_process()`` function, ensuring the new lines are indented the same way as " "the ``rotation += angular_speed * delta`` line before them." msgstr "" "Agora vamos fazer o nó se deslocar. Adicione estas duas linhas de código na " "função ``_process()``, garantindo que as novas linhas são espaçadas da mesma " "forma que as linhas anteriores." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:275 msgid "" "As we already saw, the ``var`` keyword defines a new variable. If you put it " "at the top of the script, it defines a property of the class. Inside a " "function, it defines a local variable: it only exists within the function's " "scope." msgstr "" "Como já vimos, a palavra-chave ``var`` define uma nova variável. Se colocá-" "lo no início do script, ela define uma propriedade da classe. Dentro de uma " "função, define uma variável local: ela só existe dentro do escopo da função." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:279 #, fuzzy msgid "" "We define a local variable named ``velocity``, a 2D vector representing both " "a direction and a speed. To make the node move forward, we start from the " "Vector2 class's constant ``Vector2.UP``, a vector pointing up, and rotate it " "by calling the Vector2 method ``rotated()``. This expression, ``Vector2.UP." "rotated(rotation)``, is a vector pointing forward relative to our icon. " "Multiplied by our ``speed`` property, it gives us a velocity we can use to " "move the node forward." msgstr "" "Definimos uma variável local chamada ``velocity``, um vetor 2D representando " "uma direção e uma velocidade. Para fazer o nó se mover, partimos da " "constante Vector2.UP da classe Vector2, um vetor apontando para cima e o " "giramos chamando o método ``Vector2.rotated()``. Esta expressão, ``Vector2." "UP.rotated(rotation)``, é um vetor apontando para frente em relação ao nosso " "ícone. Multiplicado por nossa propriedade ``velocidade``, nos dá uma " "velocidade que podemos usar para mover o nó para frente." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:286 msgid "" "We add ``velocity * delta`` to the node's ``position`` to move it. The " "position itself is of type :ref:`Vector2 `, a built-in type " "in Godot representing a 2D vector." msgstr "" "Adicionamos ``velocity * delta`` à ``posição`` do nó para movê-lo. A própria " "posição é do tipo :ref:`Vector2 `, um tipo embutido em Godot " "representando um vetor 2D." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:290 msgid "Run the scene to see the Godot head run in circles." msgstr "Execute a cena para ver a cabeça do Godot se mover em círculos." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:294 msgid "" "Moving a node like that does not take into account colliding with walls or " "the floor. In :ref:`doc_your_first_2d_game`, you will learn another approach " "to moving objects while detecting collisions." msgstr "" "Mover um nó assim não leva em consideração a colisão com paredes ou o chão. " "Em :ref:`doc_your_first_2d_game`, aprenderá outra abordagem para mover " "objetos enquanto detecta colisões." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:298 #, fuzzy msgid "" "Our node currently moves by itself. In the next part, :ref:" "`doc_scripting_player_input`, we'll use player input to control it." msgstr "" "Nosso nó atualmente se move sozinho. Na próxima parte :ref:" "`doc_scripting_player_input`, usaremos a entrada do jogador para controlá-lo." #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:302 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:113 #: ../../docs/getting_started/step_by_step/signals.rst:342 msgid "Complete script" msgstr "Script completo" #: ../../docs/getting_started/step_by_step/scripting_first_script.rst:304 #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:115 #, fuzzy msgid "Here is the complete ``sprite_2d.gd`` file for reference." msgstr "Aqui está o ficheiro ``Sprite.gd`` completo, para referência." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:8 msgid "Listening to player input" msgstr "Capturando os controles de entrada do jogador" #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:10 #, fuzzy msgid "" "Building upon the previous lesson :ref:`doc_scripting_first_script`, let's " "look at another important feature of any game: giving control to the player. " "To add this, we need to modify our ``sprite_2d.gd`` code." msgstr "" "Com base na lição anterior :ref:`doc_scripting_first_script`, vamos ver " "outra característica importante de qualquer jogo: dar o controle ao jogador. " "Para adicionar isso, precisamos modificar nosso código ``Sprite.gd``." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:16 msgid "You have two main tools to process the player's input in Godot:" msgstr "" "Tem duas ferramentas principais para processar as entradas do jogador no " "Godot:" #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:18 msgid "" "The built-in input callbacks, mainly ``_unhandled_input()``. Like " "``_process()``, it's a built-in virtual function that Godot calls every time " "the player presses a key. It's the tool you want to use to react to events " "that don't happen every frame, like pressing :kbd:`Space` to jump. To learn " "more about input callbacks, see :ref:`doc_inputevent`." msgstr "" "Os retornos de chamada de entrada embutidos, principalmente " "``_unhandled_input()``. Como ``_process()``, é uma função virtual integrada " "que o Godot chama toda vez que o jogador pressiona uma tecla. É a ferramenta " "que deve usar para reagir a eventos que não acontecem a cada quadro, como " "pressionar :kbd:`Espaço` para pular. Para saber mais sobre callbacks de " "entrada, veja :ref:`doc_inputevent`." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:23 msgid "" "The ``Input`` singleton. A singleton is a globally accessible object. Godot " "provides access to several in scripts. It's the right tool to check for " "input every frame." msgstr "" "O singleton ``Input``. Um singleton é um objeto globalmente acessível. Godot " "fornece acesso a vários scripts. É a ferramenta certa para verificar a " "entrada a cada quadro." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:27 msgid "" "We're going to use the ``Input`` singleton here as we need to know if the " "player wants to turn or move every frame." msgstr "" "Vamos usar o singleton ``Input`` aqui, pois precisamos saber se o jogador " "deseja virar ou mover em cada quadro processado." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:30 msgid "" "For turning, we should use a new variable: ``direction``. In our " "``_process()`` function, replace the ``rotation += angular_speed * delta`` " "line with the code below." msgstr "" "Para virar, devemos usar uma nova variável: ``direction``. Em nossa função " "``_process()``, substitua a linha ``rotation += angular_speed * delta`` pelo " "código abaixo." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:59 msgid "" "Our ``direction`` local variable is a multiplier representing the direction " "in which the player wants to turn. A value of ``0`` means the player isn't " "pressing the left or the right arrow key. A value of ``1`` means the player " "wants to turn right, and ``-1`` means they want to turn left." msgstr "" "Nossa variável local ``direction`` é um multiplicador que representa a " "direção em que o jogador quer virar. Um valor de ``0`` significa que o " "jogador não pressiona a tecla de seta para a esquerda ou para a direita. Um " "valor de ``1`` significa que o jogador quer virar à direita e ``-1`` " "significa que quer virar à esquerda." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:64 msgid "" "To produce these values, we introduce conditions and the use of ``Input``. A " "condition starts with the ``if`` keyword in GDScript and ends with a colon. " "The condition is the expression between the keyword and the end of the line." msgstr "" "Para produzir esses valores, introduzimos condições e o uso de ``Input``. " "Uma condição começa com a palavra-chave ``if`` no GDScript e termina com " "dois pontos. A condição é a expressão entre a palavra-chave e o final da " "linha." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:68 msgid "" "To check if a key was pressed this frame, we call ``Input." "is_action_pressed()``. The method takes a text string representing an input " "action and returns ``true`` if the action is pressed, ``false`` otherwise." msgstr "" "Para verificar se uma tecla foi pressionada neste quadro, chamamos ``Input." "is_action_pressed()``. O método leva uma cadeida de texto representando uma " "ação de entrada e retorna ``true`` se a ação foi executada, ``false`` caso " "contrário." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:72 msgid "" "The two actions we use above, \"ui_left\" and \"ui_right\", are predefined " "in every Godot project. They respectively trigger when the player presses " "the left and right arrows on the keyboard or left and right on a gamepad's D-" "pad." msgstr "" "As duas ações que usamos acima, \"ui_left\" e \"ui_right\", são predefinidas " "em cada projeto Godot. Eles são acionados, respectivamente, quando o jogador " "pressiona as setas esquerda e direita no teclado ou esquerda e direita no D-" "pad de um gamepad." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:76 msgid "" "You can see and edit input actions in your project by going to Project -> " "Project Settings and clicking on the Input Map tab." msgstr "" "Pode ver e editar ações de entrada no seu projeto acessando Projeto -> " "Configurações do Projeto e clicando na guia *Mapa de Entrada*." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:79 msgid "" "Finally, we use the ``direction`` as a multiplier when we update the node's " "``rotation``: ``rotation += angular_speed * direction * delta``." msgstr "" "Finalmente, usamos ``direction`` como um multiplicador quando atualizamos a " "``rotation`` do nó: ``rotation += angular_speed * direction * delta``." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:82 msgid "" "If you run the scene with this code, the icon should rotate when you press :" "kbd:`Left` and :kbd:`Right`." msgstr "" "Se executar a cena com este código, o ícone deve girar quando pressionar :" "kbd:`Esquerda` e :kbd:`Direita`." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:86 msgid "Moving when pressing \"up\"" msgstr "Movendo-se ao pressionar \"para cima\"" #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:88 msgid "" "To only move when pressing a key, we need to modify the code that calculates " "the velocity. Replace the line starting with ``var velocity`` with the code " "below." msgstr "" "Para mover apenas pressionando uma tecla, precisamos modificar o código que " "calcula a velocidade. Substitua a linha que começa com ``var velocity`` pelo " "código abaixo." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:106 msgid "" "We initialize the ``velocity`` with a value of ``Vector2.ZERO``, another " "constant of the built-in ``Vector`` type representing a 2D vector of length " "0." msgstr "" "Inicializamos a ``velocity`` com um valor de ``Vector2.ZERO``, outra " "constante do tipo ``Vector`` integrada que representa um vetor 2D de " "comprimento 0." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:109 msgid "" "If the player presses the \"ui_up\" action, we then update the velocity's " "value, causing the sprite to move forward." msgstr "" "Se o jogador pressionar a seta para cima \"ui_up\", atualizamos o valor da " "velocidade, fazendo com que o sprite se mova para frente." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:174 msgid "" "If you run the scene, you should now be able to rotate with the left and " "right arrow keys and move forward by pressing :kbd:`Up`." msgstr "" "Se executar a cena, agora poderá girar com as setas esquerda e direita e " "avançar pressionando :kbd:`Up`." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:182 msgid "" "In summary, every script in Godot represents a class and extends one of the " "engine's built-in classes. The node types your classes inherit from give you " "access to properties like ``rotation`` and ``position`` in our sprite's " "case. You also inherit many functions, which we didn't get to use in this " "example." msgstr "" "Em resumo, todo script em Godot representa uma classe e estende uma das " "classes internas do mecanismo. Os tipos de nós que as suas classes herdam " "fornecem acesso a propriedades como ``rotation`` e ``position`` no caso do " "nosso sprite. Também herda muitas funções, que não usamos neste exemplo." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:187 msgid "" "In GDScript, the variables you put at the top of the file are your class's " "properties, also called member variables. Besides variables, you can define " "functions, which, for the most part, will be your classes' methods." msgstr "" "No GDScript, as variáveis que põe no início do ficheiro são as propriedades " "da sua classe, também chamadas de variáveis de membro. Além das variáveis, " "pode definir funções, que, na maioria, serão os métodos das suas classes." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:191 msgid "" "Godot provides several virtual functions you can define to connect your " "class with the engine. These include ``_process()``, to apply changes to the " "node every frame, and ``_unhandled_input()``, to receive input events like " "key and button presses from the users. There are quite a few more." msgstr "" "Godot fornece várias funções virtuais que pode definir para conectar a sua " "classe com a engine. Estes incluem ``_process()``, para aplicar alterações " "ao nó a cada quadro e ``_unhandled_input()``, para receber eventos de " "entrada como teclas e botões pressionados pelos utilizadores. Existem mais " "algumas." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:196 msgid "" "The ``Input`` singleton allows you to react to the players' input anywhere " "in your code. In particular, you'll get to use it in the ``_process()`` loop." msgstr "" "O singleton ``Input`` permite que reaja à entrada dos jogadores em qualquer " "lugar no seu código. Em particular, poderá usá-lo no loop ``_process()``." #: ../../docs/getting_started/step_by_step/scripting_player_input.rst:199 msgid "" "In the next lesson :ref:`doc_signals`, we'll build upon the relationship " "between scripts and nodes by having our nodes trigger code in scripts." msgstr "" "Na próxima lição :ref:`doc_signals`, trataremos da ligação entre scripts e " "nós que fazem com que os nós acionem o código nos scripts." #: ../../docs/getting_started/step_by_step/signals.rst:6 #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:77 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:571 #: ../../docs/tutorials/scripting/instancing_with_signals.rst:1 msgid "Signal" msgstr "Sinal" #: ../../docs/getting_started/step_by_step/signals.rst:12 msgid "Using signals" msgstr "Usando sinais" #: ../../docs/getting_started/step_by_step/signals.rst:14 msgid "" "In this lesson, we will look at signals. They are messages that nodes emit " "when something specific happens to them, like a button being pressed. Other " "nodes can connect to that signal and call a function when the event occurs." msgstr "" "Nesta lição, veremos os sinais. São mensagens que os nós emitem quando algo " "específico acontece com eles, como um botão sendo pressionado. Outros nós " "podem se conectar a esse sinal e chamar uma função quando o evento ocorrer." #: ../../docs/getting_started/step_by_step/signals.rst:18 msgid "" "Signals are a delegation mechanism built into Godot that allows one game " "object to react to a change in another without them referencing one another. " "Using signals limits `coupling `_ and keeps your code flexible." msgstr "" "Os sinais são um mecanismo de delegação embutido no Godot que permite que um " "objeto do jogo reaja a uma mudança em outro sem que eles façam referência um " "ao outro. O uso de sinais limita o `acoplamento `_ e mantém o seu código flexível." #: ../../docs/getting_started/step_by_step/signals.rst:24 #, fuzzy msgid "" "For example, you might have a life bar on the screen that represents the " "player's health. When the player takes damage or uses a healing potion, you " "want the bar to reflect the change. To do so, in Godot, you would use " "signals." msgstr "" "Por exemplo, pode ter uma barra de vida no ecrã que representa a saúde do " "jogador. Quando o jogador sofre dano ou usa uma poção de cura, deseja que a " "barra reflita a mudança. Para fazer isso, em Godot, usaria sinais." #: ../../docs/getting_started/step_by_step/signals.rst:28 msgid "" "As mentioned in the introduction, signals are Godot's version of the " "observer pattern. You can learn more about it here: https://" "gameprogrammingpatterns.com/observer.html" msgstr "" "Como mencionado anteriormente na introdução, sinais são a versão do Godot do " "padrão observador. Pode ler mais sobre o padrão observador aqui: http://" "gameprogrammingpatterns.com/observer.html" #: ../../docs/getting_started/step_by_step/signals.rst:32 msgid "" "We will now use a signal to make our Godot icon from the previous lesson (:" "ref:`doc_scripting_player_input`) move and stop by pressing a button." msgstr "" "Vamos agora usar um sinal para fazer nosso ícone Godot da lição anterior (:" "ref:`doc_scripting_player_input`) se mover e parar ao pressionar um botão." #: ../../docs/getting_started/step_by_step/signals.rst:38 #: ../../docs/tutorials/animation/introduction.rst:108 #: ../../docs/tutorials/physics/kinematic_character_2d.rst:77 msgid "Scene setup" msgstr "Configuração da cena" #: ../../docs/getting_started/step_by_step/signals.rst:40 #, fuzzy msgid "" "To add a button to our game, we will create a new main scene which will " "include both a :ref:`Button ` and the ``sprite_2d.tscn`` scene " "we created in the :ref:`doc_scripting_first_script` lesson." msgstr "" "Para adicionar um botão ao nosso jogo, criaremos uma nova cena \"principal\" " "que incluirá um botão e a cena ``Sprite.tscn`` que criamos em lições " "anteriores." #: ../../docs/getting_started/step_by_step/signals.rst:44 msgid "Create a new scene by going to the menu Scene -> New Scene." msgstr "Crie uma nova cena acessando o menu Cena -> Nova cena." #: ../../docs/getting_started/step_by_step/signals.rst:48 #, fuzzy msgid "" "In the Scene dock, click the 2D Scene button. This will add a :ref:`Node2D " "` as our root." msgstr "" "No painel Cena, clique no botão Cena 2D. Isso adicionará um Node2D como " "nossa raiz." #: ../../docs/getting_started/step_by_step/signals.rst:53 #, fuzzy msgid "" "In the FileSystem dock, click and drag the ``sprite_2d.tscn`` file you saved " "previously onto the Node2D to instantiate it." msgstr "" "No painel Ficheiros, clique e arraste o ficheiro ``Sprite.tscn`` que salvou " "anteriormente para o Node2D para instanciá-lo." #: ../../docs/getting_started/step_by_step/signals.rst:58 #, fuzzy msgid "" "We want to add another node as a sibling of the Sprite2D. To do so, right-" "click on Node2D and select Add Child Node." msgstr "" "Queremos adicionar outro nó como irmão do Sprite. Para fazer isso, clique " "com o botão direito do mouse em Node2D e selecione Adicionar Nó Filho." #: ../../docs/getting_started/step_by_step/signals.rst:63 #, fuzzy msgid "Search for the :ref:`Button ` node and add it." msgstr "Pesquise o tipo de nó Button e adicione-o." #: ../../docs/getting_started/step_by_step/signals.rst:67 msgid "" "The node is small by default. Click and drag on the bottom-right handle of " "the Button in the viewport to resize it." msgstr "" "O nó é pequeno por padrão. Clique e arraste a alça inferior direita do " "Button na viewport para redimensioná-lo." #: ../../docs/getting_started/step_by_step/signals.rst:72 msgid "" "If you don't see the handles, ensure the select tool is active in the " "toolbar." msgstr "" "Se não vir as alças, verifique se a ferramenta de seleção está ativa na " "barra de ferramentas." #: ../../docs/getting_started/step_by_step/signals.rst:76 msgid "Click and drag on the button itself to move it closer to the sprite." msgstr "Clique e arraste o botão para aproximá-lo do sprite." #: ../../docs/getting_started/step_by_step/signals.rst:78 #, fuzzy msgid "" "You can also write a label on the Button by editing its Text property in the " "Inspector. Enter ``Toggle motion``." msgstr "" "Também pode escrever um rótulo no Button editando a propriedade Texto dele " "no Inspector. Digite \"Alternar movimento\"." #: ../../docs/getting_started/step_by_step/signals.rst:83 msgid "Your scene tree and viewport should look like this." msgstr "Sua árvore da cena e o Viewport devem se parecer com isso." #: ../../docs/getting_started/step_by_step/signals.rst:87 #, fuzzy msgid "" "Save your newly created scene as ``node_2d.tscn``, if you haven't already. " "You can then run it with :kbd:`F6` (:kbd:`Cmd + R` on macOS). At the moment, " "the button will be visible, but nothing will happen if you press it." msgstr "" "Salve a sua cena recém-criada. Pode executá-lo com :kbd:`F6`. No momento, o " "botão estará visível, mas nada acontecerá se pressioná-lo." #: ../../docs/getting_started/step_by_step/signals.rst:93 msgid "Connecting a signal in the editor" msgstr "Conectando um sinal no editor" #: ../../docs/getting_started/step_by_step/signals.rst:95 #, fuzzy msgid "" "Here, we want to connect the Button's \"pressed\" signal to our Sprite2D, " "and we want to call a new function that will toggle its motion on and off. " "We need to have a script attached to the Sprite2D node, which we do from the " "previous lesson." msgstr "" "Aqui, queremos conectar o sinal \"pressionado\"(pressed) do botão ao nosso " "Sprite e queremos chamar uma nova função que ativará e desativará o " "movimento dele. Precisamos ter um script anexado ao nó Sprite, o que fizemos " "na lição anterior." #: ../../docs/getting_started/step_by_step/signals.rst:100 msgid "" "You can connect signals in the Node dock. Select the Button node and, on the " "right side of the editor, click on the tab named \"Node\" next to the " "Inspector." msgstr "" "Pode conectar sinais no painel do Nó. Selecione o nó Botão e, no lado " "direito do editor, clique na guia \"Nó\" ao lado do Inspetor." #: ../../docs/getting_started/step_by_step/signals.rst:105 msgid "The dock displays a list of signals available on the selected node." msgstr "O painel exibe uma lista de sinais disponíveis no nó selecionado." #: ../../docs/getting_started/step_by_step/signals.rst:109 msgid "Double-click the \"pressed\" signal to open the node connection window." msgstr "" "Clique duas vezes no sinal \"pressed\" para abrir a janela de conexão do nó." #: ../../docs/getting_started/step_by_step/signals.rst:113 #, fuzzy msgid "" "There, you can connect the signal to the Sprite2D node. The node needs a " "receiver method, a function that Godot will call when the Button emits the " "signal. The editor generates one for you. By convention, we name these " "callback methods \"_on_node_name_signal_name\". Here, it'll be " "\"_on_button_pressed\"." msgstr "" "Nela, pode conectar o sinal ao nó Sprite. O nó precisa de um método " "receptor, uma função que o Godot chamará quando o Button emitir o sinal. O " "editor gera um para si. Por convenção, chamamos esses métodos de callback de " "\"_on_NodeName_signal_name\". Aqui, será \"_on_Button_pressed\"." #: ../../docs/getting_started/step_by_step/signals.rst:120 msgid "" "When connecting signals via the editor's Node dock, you can use two modes. " "The simple one only allows you to connect to nodes that have a script " "attached to them and creates a new callback function on them." msgstr "" "Ao conectar sinais por meio do encaixe do nó do editor, pode usar dois " "modos. O simples permite apenas conectar-se a nós que possuem um script lhes " "anexado e cria uma nova função de retorno de chamada neles." #: ../../docs/getting_started/step_by_step/signals.rst:126 msgid "" "The advanced view lets you connect to any node and any built-in function, " "add arguments to the callback, and set options. You can toggle the mode in " "the window's bottom-right by clicking the Advanced button." msgstr "" "O avançado permite conectar-se a qualquer nó e qualquer função integrada, " "adicionar argumentos ao retorno de chamada e definir opções. Pode alternar o " "modo no canto inferior esquerdo da janela clicando no botão Avançado." #: ../../docs/getting_started/step_by_step/signals.rst:131 msgid "" "Click the Connect button to complete the signal connection and jump to the " "Script workspace. You should see the new method with a connection icon in " "the left margin." msgstr "" "Clique no botão Conectar para concluir a conexão do sinal e vá à área de " "trabalho Script. Deve ver o novo método com um ícone de conexão na margem " "esquerda." #: ../../docs/getting_started/step_by_step/signals.rst:137 msgid "" "If you click the icon, a window pops up and displays information about the " "connection. This feature is only available when connecting nodes in the " "editor." msgstr "" "Se clicar no ícone, uma janela aparecerá e exibirá informações sobre a " "conexão. Este recurso está disponível apenas ao conectar nós no editor." #: ../../docs/getting_started/step_by_step/signals.rst:142 msgid "" "Let's replace the line with the ``pass`` keyword with code that'll toggle " "the node's motion." msgstr "" "Vamos substituir a linha com a palavra-chave ``pass`` com o código que " "alternará o movimento do nó." #: ../../docs/getting_started/step_by_step/signals.rst:145 #, fuzzy msgid "" "Our Sprite2D moves thanks to code in the ``_process()`` function. Godot " "provides a method to toggle processing on and off: :ref:`Node.set_process() " "`. Another method of the Node class, " "``is_processing()``, returns ``true`` if idle processing is active. We can " "use the ``not`` keyword to invert the value." msgstr "" "Nosso Sprite se move graças ao código na função ``_process()``. Godot " "fornece um método para ativar e desativar o processamento: :ref:`Node." "set_process() `. Outro método da classe Node, " "``is_processing()``, retorna ``true`` se o processamento ocioso estiver " "ativo. Podemos usar a palavra-chave ``not`` para inverter o valor." #: ../../docs/getting_started/step_by_step/signals.rst:164 msgid "" "This function will toggle processing and, in turn, the icon's motion on and " "off upon pressing the button." msgstr "" "Esta função alternará o processamento e, por sua vez, o movimento do ícone " "ligado e desligado ao pressionar o botão." #: ../../docs/getting_started/step_by_step/signals.rst:167 msgid "" "Before trying the game, we need to simplify our ``_process()`` function to " "move the node automatically and not wait for user input. Replace it with the " "following code, which we saw two lessons ago:" msgstr "" "Antes de testar o jogo, precisamos simplificar nossa função ``_process()`` " "para mover o nó automaticamente e não esperar pela entrada do utilizador. " "Substitua-o pelo seguinte código, que vimos duas lições atrás:" #: ../../docs/getting_started/step_by_step/signals.rst:188 #, fuzzy msgid "Your complete ``sprite_2d.gd`` code should look like the following." msgstr "O seu código ``Sprite.gd``completo deve se parecer com o seguinte." #: ../../docs/getting_started/step_by_step/signals.rst:230 msgid "" "Run the scene now and click the button to see the sprite start and stop." msgstr "" "Execute a cena agora e clique o botão para ver o sprite começar e parar." #: ../../docs/getting_started/step_by_step/signals.rst:233 msgid "Connecting a signal via code" msgstr "Conectando sinais usando scripts" #: ../../docs/getting_started/step_by_step/signals.rst:235 msgid "" "You can connect signals via code instead of using the editor. This is " "necessary when you create nodes or instantiate scenes inside of a script." msgstr "" "Pode conectar sinais via código em vez de usar o editor. Isso é necessário " "quando cria nós ou instancia cenas dentro de um script." #: ../../docs/getting_started/step_by_step/signals.rst:238 msgid "" "Let's use a different node here. Godot has a :ref:`Timer ` node " "that's useful to implement skill cooldown times, weapon reloading, and more." msgstr "" "Vamos usar um nó diferente aqui. Godot tem um nó :ref:`Timer ` " "que é útil para implementar o tempo de resfriamento de habilidades, recarga " "de armas e muito mais." #: ../../docs/getting_started/step_by_step/signals.rst:241 #, fuzzy msgid "" "Head back to the 2D workspace. You can either click the \"2D\" text at the " "top of the window or press :kbd:`Ctrl + F1` (:kbd:`Ctrl + Cmd + 1` on macOS)." msgstr "" "Volte para a área de trabalho 2D. Você pode clicar no texto \"2D\" na parte " "de cima da janela ou pressionar :kbd:'Ctrl+F1'." #: ../../docs/getting_started/step_by_step/signals.rst:244 #, fuzzy msgid "" "In the Scene dock, right-click on the Sprite2D node and add a new child " "node. Search for Timer and add the corresponding node. Your scene should now " "look like this." msgstr "" "No painel da Cena, clique com o botão direito do mouse no nó Sprite e " "adicione um novo nó filho. Pesquise por Timer e adicione o nó " "correspondente. A sua cena agora deve ficar assim." #: ../../docs/getting_started/step_by_step/signals.rst:250 #, fuzzy msgid "" "With the Timer node selected, go to the Inspector and enable the " "**Autostart** property." msgstr "" "Com o nó Timer selecionado, vá ao Inspetor e marque a propriedade " "**Autostart**." #: ../../docs/getting_started/step_by_step/signals.rst:255 #, fuzzy msgid "" "Click the script icon next to Sprite2D to jump back to the scripting " "workspace." msgstr "" "Clique no ícone de script ao lado de Sprite para voltar ao espaço de " "trabalho de script." #: ../../docs/getting_started/step_by_step/signals.rst:259 msgid "We need to do two operations to connect the nodes via code:" msgstr "Precisamos fazer duas operações para conectar os nós via código:" #: ../../docs/getting_started/step_by_step/signals.rst:261 #, fuzzy msgid "Get a reference to the Timer from the Sprite2D." msgstr "Obtenha uma referência ao Timer do Sprite." #: ../../docs/getting_started/step_by_step/signals.rst:262 #, fuzzy msgid "Call the ``connect()`` method on the Timer's \"timeout\" signal." msgstr "Chamar o método ``connect()`` do Timer." #: ../../docs/getting_started/step_by_step/signals.rst:264 #, fuzzy msgid "" "To connect to a signal via code, you need to call the ``connect()`` method " "of the signal you want to listen to. In this case, we want to listen to the " "Timer's \"timeout\" signal." msgstr "" "Para se conectar a um sinal via código, precisa chamar o método " "``connect()`` do nó que deseja escutar. Neste caso, queremos ouvir o sinal " "de \"timeout\" do Timer." #: ../../docs/getting_started/step_by_step/signals.rst:268 #, fuzzy msgid "" "We want to connect the signal when the scene is instantiated, and we can do " "that using the :ref:`Node._ready() ` built-" "in function, which is called automatically by the engine when a node is " "fully instantiated." msgstr "" "Queremos conectar o sinal quando a cena for instanciada e podemos fazẽ-lo " "usando a função interna :ref:`Node._ready() `, que " "é chamada automaticamente pelo mecanismo quando um nó é totalmente " "instanciado ." #: ../../docs/getting_started/step_by_step/signals.rst:272 msgid "" "To get a reference to a node relative to the current one, we use the method :" "ref:`Node.get_node() `. We can store the " "reference in a variable." msgstr "" "Para obter uma referência a um nó relativo ao atual, usamos o método :ref:" "`Node.get_node() `. Podemos armazenar a " "referência numa variável." #: ../../docs/getting_started/step_by_step/signals.rst:289 #, fuzzy msgid "" "The function ``get_node()`` looks at the Sprite2D's children and gets nodes " "by their name. For example, if you renamed the Timer node to " "\"BlinkingTimer\" in the editor, you would have to change the call to " "``get_node(\"BlinkingTimer\")``." msgstr "" "A função ``get_node()`` olha nos filhos do Sprite e obtém os nós pelo nome. " "Por exemplo, se renomeou o nó Timer para \"BlinkingTimer\" no editor, teria " "que mudar a chamada para ``get_node(\"BlinkingTimer\")``." #: ../../docs/getting_started/step_by_step/signals.rst:295 #, fuzzy msgid "" "We can now connect the Timer to the Sprite2D in the ``_ready()`` function." msgstr "Agora podemos conectar o Timer ao Sprite com a função ``_ready()``." #: ../../docs/getting_started/step_by_step/signals.rst:312 #, fuzzy msgid "" "The line reads like so: we connect the Timer's \"timeout\" signal to the " "node to which the script is attached. When the Timer emits ``timeout``, we " "want to call the function ``_on_timer_timeout()``, that we need to define. " "Let's add it at the bottom of our script and use it to toggle our sprite's " "visibility." msgstr "" "A linha fica assim: conectamos o sinal \"timeout\" do Timer ao nó ao qual o " "script está anexado (``self``). Quando o Timer emitir \"timeout\", queremos " "chamar a função \"_on_Timer_timeout\", que precisamos definir. Vamos " "adicioná-lo na parte inferior do nosso script e usá-lo para alternar a " "visibilidade do nosso sprite." #: ../../docs/getting_started/step_by_step/signals.rst:317 msgid "" "By convention, we name these callback methods in GDScript as " "\"_on_node_name_signal_name\" and in C# as \"OnNodeNameSignalName\". Here, " "it'll be \"_on_timer_timeout\" for GDScript and OnTimerTimeout() for C#." msgstr "" #: ../../docs/getting_started/step_by_step/signals.rst:334 msgid "" "The ``visible`` property is a boolean that controls the visibility of our " "node. The line ``visible = not visible`` toggles the value. If ``visible`` " "is ``true``, it becomes ``false``, and vice-versa." msgstr "" "A propriedade ``visible`` é um booleano que controla a visibilidade do nosso " "nó. A linha ``visible = not visible`` alterna o valor. Se ``visible`` for " "``true``, torna-se ``false`` e vice-versa." #: ../../docs/getting_started/step_by_step/signals.rst:338 msgid "" "If you run the scene now, you will see that the sprite blinks on and off, at " "one second intervals." msgstr "" "Se executar a cena agora, verá que o sprite liga e desliga, em intervalos de " "um segundo." #: ../../docs/getting_started/step_by_step/signals.rst:344 #, fuzzy msgid "" "That's it for our little moving and blinking Godot icon demo! Here is the " "complete ``sprite_2d.gd`` file for reference." msgstr "" "Isso é tudo para a nossa pequena demonstração de ícone do Godot em movimento " "e piscando! Aqui está o ficheiro ``Sprite.gd`` completo para referência." #: ../../docs/getting_started/step_by_step/signals.rst:408 msgid "Custom signals" msgstr "Sinais personalizados" #: ../../docs/getting_started/step_by_step/signals.rst:410 msgid "" "This section is a reference on how to define and use your own signals, and " "does not build upon the project created in previous lessons." msgstr "" "Esta secção é uma referência sobre como definir e usar os seus próprios " "sinais e não se baseia no projeto criado nas lições anteriores." #: ../../docs/getting_started/step_by_step/signals.rst:413 msgid "" "You can define custom signals in a script. Say, for example, that you want " "to show a game over screen when the player's health reaches zero. To do so, " "you could define a signal named \"died\" or \"health_depleted\" when their " "health reaches 0." msgstr "" "Pode definir sinais personalizados num script. Digamos, por exemplo, que " "deseja mostrar um ecrã de game over quando a saúde do jogador chegar a zero. " "Para fazer isso, pode definir um sinal chamado \"died\" ou " "\"health_depleted\" quando a saúde chegar a 0." #: ../../docs/getting_started/step_by_step/signals.rst:439 msgid "" "As signals represent events that just occurred, we generally use an action " "verb in the past tense in their names." msgstr "" "Como os sinais representam eventos que acabaram de ocorrer, geralmente " "usamos um verbo de ação no pretérito nos nomes deles." #: ../../docs/getting_started/step_by_step/signals.rst:442 msgid "" "Your signals work the same way as built-in ones: they appear in the Node tab " "and you can connect to them like any other." msgstr "" "Os seus sinais funcionam da mesma forma que os integrados: eles aparecem na " "guia Nó e pode conectar-se a eles como qualquer outro." #: ../../docs/getting_started/step_by_step/signals.rst:447 #, fuzzy msgid "To emit a signal in your scripts, call ``emit()`` on the signal." msgstr "Para emitir um sinal em seus scripts, chame ``emit_signal()``." #: ../../docs/getting_started/step_by_step/signals.rst:469 msgid "" "A signal can optionally declare one or more arguments. Specify the argument " "names between parentheses:" msgstr "" "Um signal também pode opcionalmente declarar um ou mais argumentos. " "Especifique os nomes dos argumentos entre parênteses:" #: ../../docs/getting_started/step_by_step/signals.rst:495 msgid "" "The signal arguments show up in the editor's node dock, and Godot can use " "them to generate callback functions for you. However, you can still emit any " "number of arguments when you emit signals. So it's up to you to emit the " "correct values." msgstr "" "Estes argumentos aparecem na guia Nó do editor e a Godot pode usá-los para " "criar funções para si. Entretanto, ainda pode emitir qualquer quantidade de " "argumentos quando emite sinais; é você quem tem que emitir os valores " "corretos." #: ../../docs/getting_started/step_by_step/signals.rst:500 #, fuzzy msgid "" "To emit values along with the signal, add them as extra arguments to the " "``emit()`` function:" msgstr "" "Passa passar valores, adicione-os como o segundo argumento à função " "``emit_signal``:" #: ../../docs/getting_started/step_by_step/signals.rst:523 msgid "" "Any node in Godot emits signals when something specific happens to them, " "like a button being pressed. Other nodes can connect to individual signals " "and react to selected events." msgstr "" "Qualquer nó em Godot emite sinais quando algo específico acontece com eles, " "como um botão sendo pressionado. Outros nós podem se conectar a sinais " "individuais e reagir a eventos selecionados." #: ../../docs/getting_started/step_by_step/signals.rst:527 msgid "" "Signals have many uses. With them, you can react to a node entering or " "exiting the game world, to a collision, to a character entering or leaving " "an area, to an element of the interface changing size, and much more." msgstr "" "Os sinais têm muitos usos. Com eles, pode reagir a um nó entrando ou saindo " "do mundo do jogo, a uma colisão, a um personagem entrando ou saindo de uma " "área, a um elemento da interface que muda de tamanho e muito mais." #: ../../docs/getting_started/step_by_step/signals.rst:531 msgid "" "For example, an :ref:`Area2D ` representing a coin emits a " "``body_entered`` signal whenever the player's physics body enters its " "collision shape, allowing you to know when the player collected it." msgstr "" "Por exemplo, um :ref:`Area2D `a representar uma moeda emite um " "sinal ``body_entered`` sempre quando o corpo físico do jogador entra na " "forma de colisão, a permitir saber quando o jogador a coletou." #: ../../docs/getting_started/step_by_step/signals.rst:535 msgid "" "In the next section, :ref:`doc_your_first_2d_game`, you'll create a complete " "2D game and put everything you learned so far into practice." msgstr "" "Na próxima secção, :ref:`doc_your_first_game`, você criará um jogo completo " "a conter vários usos de sinais para conectar diferentes componentes do jogo." #: ../../docs/getting_started/first_2d_game/index.rst:4 msgid "Your first 2D game" msgstr "Seu primeiro jogo 2D" #: ../../docs/getting_started/first_2d_game/index.rst:6 msgid "" "In this step-by-step tutorial series, you will create your first complete 2D " "game with Godot. By the end of the series, you will have a simple yet " "complete game of your own, like the image below." msgstr "" "Nesta série de tutoriais passo a passo, criará o seu primeiro jogo 2D " "completo com Godot. No fim da série, terá o seu próprio jogo simples, mas " "completo, como o da imagem abaixo." #: ../../docs/getting_started/first_2d_game/index.rst:12 msgid "" "You will learn how the Godot editor works, how to structure a project, and " "build a 2D game." msgstr "" "Você aprenderá como o editor Godot funciona, como estruturar um projeto e " "criar um jogo 2D." #: ../../docs/getting_started/first_2d_game/index.rst:15 msgid "" "This project is an introduction to the Godot engine. It assumes that you " "have some programming experience already. If you're new to programming " "entirely, you should start here: :ref:`doc_scripting`." msgstr "" "Este projeto é uma introdução ao motor Godot. Ele assume que você já tenha " "uma experiência com programação. Se é completamente novo à programação, " "deveria começar por aqui: :ref:`doc_scripting`." #: ../../docs/getting_started/first_2d_game/index.rst:19 msgid "" "The game is called \"Dodge the Creeps!\". Your character must move and avoid " "the enemies for as long as possible." msgstr "" "O jogo se chama \"Dodge the Creeps!\" (em tradução livre, \"Desvie das " "Criaturas!\").Seu personagem deve se mover e evitar os inimigos por quanto " "tempo puder." #: ../../docs/getting_started/first_2d_game/index.rst:22 #: ../../docs/getting_started/first_3d_game/index.rst:19 msgid "You will learn to:" msgstr "Aprenderá a:" #: ../../docs/getting_started/first_2d_game/index.rst:24 msgid "Create a complete 2D game with the Godot editor." msgstr "Criar um jogo completo com o editor do Godot." #: ../../docs/getting_started/first_2d_game/index.rst:25 msgid "Structure a simple game project." msgstr "Estruturar um projeto de jogo simples." #: ../../docs/getting_started/first_2d_game/index.rst:26 msgid "Move the player character and change its sprite." msgstr "Mover o personagem do jogador e mudar a aparência dela." #: ../../docs/getting_started/first_2d_game/index.rst:27 msgid "Spawn random enemies." msgstr "Gerar inimigos aleatórios." #: ../../docs/getting_started/first_2d_game/index.rst:28 msgid "Count the score." msgstr "Contar a pontuação." #: ../../docs/getting_started/first_2d_game/index.rst:30 #: ../../docs/getting_started/first_3d_game/index.rst:30 msgid "And more." msgstr "E mais." #: ../../docs/getting_started/first_2d_game/index.rst:32 msgid "" "You'll find another series where you'll create a similar game but in 3D. We " "recommend you to start with this one, though." msgstr "" "Encontrará uma outra série em que criará um jogo similar, mas " "tridimensional. Recomendamos, no entanto, que comece por este aqui." #: ../../docs/getting_started/first_2d_game/index.rst:35 msgid "**Why start with 2D?**" msgstr "**Por que começar com 2D?**" #: ../../docs/getting_started/first_2d_game/index.rst:37 msgid "" "If you are new to game development or unfamiliar with Godot, we recommend " "starting with 2D games. This will allow you to become comfortable with both " "before tackling 3D games, which tend to be more complicated." msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:41 msgid "You can find a completed version of this project at this location:" msgstr "Pode encontrar uma versão finalizada deste projeto nestes locais:" #: ../../docs/getting_started/first_2d_game/index.rst:43 msgid "https://github.com/godotengine/godot-demo-projects" msgstr "https://github.com/godotengine/godot-demo-projects" #: ../../docs/getting_started/first_2d_game/index.rst:46 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_basics.rst:36 msgid "Prerequisites" msgstr "Pré-requisitos" #: ../../docs/getting_started/first_2d_game/index.rst:48 msgid "" "This step-by-step tutorial is intended for beginners who followed the " "complete :ref:`Getting Started `." msgstr "" "Este tutorial passo a passo é direcionado para iniciantes que seguiram por " "completo o :ref:`Passo a passo`." #: ../../docs/getting_started/first_2d_game/index.rst:51 msgid "" "If you're an experienced programmer, you can find the complete demo's source " "code here: `Godot demo projects `__." msgstr "" "Além desta documentação, você também pode olhar os vários `Projetos Godot de " "demonstração `_." #: ../../docs/getting_started/first_2d_game/index.rst:55 msgid "" "We prepared some game assets you'll need to download so we can jump straight " "to the code." msgstr "" "Preparamos alguns ativos de jogo que precisará descarregar para que possamos " "ir direto para o código." #: ../../docs/getting_started/first_2d_game/index.rst:58 msgid "You can download them by clicking the link below." msgstr "Pode descarregá-los por clicar na ligação abaixo." #: ../../docs/getting_started/first_2d_game/index.rst:60 msgid "" "`dodge_the_creeps_2d_assets.zip `_." msgstr "" #: ../../docs/getting_started/first_2d_game/index.rst:63 #: ../../docs/getting_started/first_3d_game/index.rst:55 msgid "Contents" msgstr "Conteúdos" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:4 #: ../../docs/tutorials/scripting/gdextension/gdextension_cpp_example.rst:18 msgid "Setting up the project" msgstr "Configurando o projeto" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:6 msgid "In this short first part, we'll set up and organize the project." msgstr "Nesta primeira e curta parte, vamos configurar e organizar o projeto." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:8 msgid "Launch Godot and create a new project." msgstr "Inicie Godot e crie um novo projeto." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:12 msgid "" "When creating the new project, you only need to choose a valid *Project " "Path*. You can leave the other default settings alone." msgstr "" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:17 #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:24 #, fuzzy msgid "" "Download `dodge_the_creeps_2d_assets.zip `_. The archive contains the images and " "sounds you'll be using to make the game. Extract the archive and move the " "``art/`` and ``fonts/`` directories to your project's directory." msgstr "" "Descarregue :download:`dodge_assets.zip `. Isto " "contém as imagens e os sons que usará para fazer o jogo. Descompacte esses " "ficheiros na pasta do seu projeto." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:22 #: ../../docs/tutorials/performance/cpu_optimization.rst:169 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:35 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:75 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:109 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:239 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:374 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:483 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:565 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:576 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:594 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:631 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:647 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:662 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:679 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:691 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:699 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:712 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:720 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:733 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:767 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:775 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_differences.rst:783 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:78 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:118 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:216 msgid "C#" msgstr "C#" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:29 #, fuzzy msgid "" "Ensure that you have the required dependencies to use C# in Godot. You need " "the latest stable .NET SDK, and an editor such as VS Code. See :ref:" "`doc_c_sharp_setup`." msgstr "" "Assegure-se de que tem as dependências obrigatórias para usar C# no Godot. " "Precisa do .NET Core 3.1 SDK e de um editor como o VS Code. Veja :ref:" "`doc_c_sharp_setup`." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:35 msgid "" "The C++ part of this tutorial wasn't rewritten for the new GDExtension " "system yet." msgstr "" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:37 msgid "Your project folder should look like this." msgstr "Sua pasta de projeto deve se parecer com isso." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:41 #, fuzzy msgid "" "This game is designed for portrait mode, so we need to adjust the size of " "the game window. Click on *Project -> Project Settings* to open the project " "settings window, in the left column open the *Display -> Window* tab. There, " "set \"Viewport Width\" to ``480`` and \"Viewport Height\" to ``720``." msgstr "" "Este jogo usará o modo retrato, então precisamos ajustar as dimensões da " "janela do jogo. Clique em Projeto -> Configurações do Projeto para abrir a " "janela de configurações, em seguida na coluna da esquerda selecione a aba " "Exibição -> Janela e configure \"Largura\" para 480 e \"Altura\" para 720." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:48 #, fuzzy msgid "" "Also, under the **Stretch** options, set **Mode** to ``canvas_items`` and " "**Aspect** to ``keep``. This ensures that the game scales consistently on " "different sized screens." msgstr "" "Também nesta secção, nas opções \"Alongamento(Stretch)\", defina `` " "Modo(Mode)`` para \"2d\" e `` Aspecto(Aspect)`` para \"manter(keep)\". Isso " "garante que o jogo seja escalado consistentemente em telas de tamanhos " "diferentes." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:54 msgid "Organizing the project" msgstr "Organizando o projeto" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:56 msgid "" "In this project, we will make 3 independent scenes: ``Player``, ``Mob``, and " "``HUD``, which we will combine into the game's ``Main`` scene." msgstr "" "Neste projeto, faremos 3 cenas independentes: ``Player``, ``Mob`` e ``HUD``, " "que combinaremos dentro da cena ``Main`` do jogo." #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:59 msgid "" "In a larger project, it might be useful to create folders to hold the " "various scenes and their scripts, but for this relatively small game, you " "can save your scenes and scripts in the project's root folder, identified by " "``res://``. You can see your project folders in the FileSystem dock in the " "lower left corner:" msgstr "" "Num projeto maior, pode ser útil criar pastas para armazenar as várias cenas " "e seus scripts, mas para este jogo relativamente pequeno, tudo pode ser " "gravado na pasta raiz do projeto, referenciada como ``res://``. Você pode " "ver as pastas do seu projeto no painel Ficheiros no canto inferior esquerdo:" #: ../../docs/getting_started/first_2d_game/01.project_setup.rst:66 msgid "" "With the project in place, we're ready to design the player scene in the " "next lesson." msgstr "" "Com o projeto no devido lugar, estamos prontos para conceber a cena do " "jogador na próxima lição." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:4 msgid "Creating the player scene" msgstr "Criando a cena do jogador" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:6 msgid "" "With the project settings in place, we can start working on the player-" "controlled character." msgstr "" "Com as configurações do projeto feitas, podemos começar a trabalhar no " "personagem controlado pelo jogador." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:9 msgid "" "The first scene will define the ``Player`` object. One of the benefits of " "creating a separate Player scene is that we can test it separately, even " "before we've created other parts of the game." msgstr "" "A primeira cena que faremos define o objeto \"Jogador\". Um dos benefícios " "de criarmos uma cena separada para o Jogador é que podemos testá-la " "separadamente, mesmo antes de criarmos outras partes do jogo." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:14 msgid "Node structure" msgstr "Estrutura de nós" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:16 msgid "" "To begin, we need to choose a root node for the player object. As a general " "rule, a scene's root node should reflect the object's desired functionality " "- what the object *is*. Click the \"Other Node\" button and add an :ref:" "`Area2D ` node to the scene." msgstr "" "Para iniciarmos, precisamos escolher o nó raiz para o objeto jogador. Como " "regra geral, o nó raiz da cena deve refletir à funcionalidade desejado do " "objeto - o que o objeto *é*. Clique no botão \"Outros Nós\" e adicione o nó :" "ref:`Area2D ` à cena." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:23 msgid "" "Godot will display a warning icon next to the node in the scene tree. You " "can ignore it for now. We will address it later." msgstr "" "Godot vai mostrar um ícone de aviso próximo do nó na árvore de cenas. Pode " "ignorar-lo por enquanto. Vamos falar disso mais tarde." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:26 msgid "" "With ``Area2D`` we can detect objects that overlap or run into the player. " "Change the node's name to ``Player`` by double-clicking on it. Now that " "we've set the scene's root node, we can add additional nodes to give it more " "functionality." msgstr "" "Com ``Area2D``, podemos detetar objetos que se sobreponham ou vão de " "encontro ao jogador. Mude o nome dele para ``Jogador`` com um clique duplo " "no nome do nó. Já que configuramos o nó raiz, agora podemos inserir nós " "adicionais para adicionar mais funcionalidades." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:31 #, fuzzy msgid "" "Before we add any children to the ``Player`` node, we want to make sure we " "don't accidentally move or resize them by clicking on them. Select the node " "and click the icon to the right of the lock. Its tooltip says \"Make " "selected node's children not selectable.\"" msgstr "" "Antes de adicionar filhos ao nó ``Jogador``, queremos ter certeza que não os " "moveremos nem os redimensionaremos acidentalmente ao clicar neles. Selecione " "o nó e clique no ícone à direita do cadeado; o texto de dica dele diz " "\"Garante que os filhos do objeto não sejam selecionáveis.\"" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:38 msgid "" "Save the scene. Click Scene -> Save, or press :kbd:`Ctrl + S` on Windows/" "Linux or :kbd:`Cmd + S` on macOS." msgstr "" "Salve a cena. Clique em Cena -> Salvar ou pressione :kbd:`Ctrl + S` no " "Windows/Linux ou :kbd:`Cmd + S` no macOS." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:41 msgid "For this project, we will be following the Godot naming conventions." msgstr "Para esse projeto, vamos seguir as convenções de nomeação Godot." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:43 msgid "" "**GDScript**: Classes (nodes) use PascalCase, variables and functions use " "snake_case, and constants use ALL_CAPS (See :ref:`doc_gdscript_styleguide`)." msgstr "" "**GDScript**: Classes (nós) usam o estilo ``PascalCase`` " "(IniciaisMaiúsculas), variáveis e funções usam ``snake_case`` " "(minúsculas_separadas_por_sublinha) e constantes usam ``ALL_CAPS`` " "(TODAS_MAIÚSCULAS) (Veja mais em :ref:`doc_gdscript_styleguide`)." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:47 #, fuzzy msgid "" "**C#**: Classes, export variables and methods use PascalCase, private fields " "use _camelCase, local variables and parameters use camelCase (See :ref:" "`doc_c_sharp_styleguide`). Be careful to type the method names precisely " "when connecting signals." msgstr "" "** C # **: Classes, variáveis de exportação e métodos usam PascalCase, " "campos privados usam _camelCase, variáveis locais e parâmetros usam " "camelCase (Veja: ref: `doc_c_sharp_styleguide`). Tenha o cuidado de digitar " "os nomes dos métodos com precisão ao conectar os sinais." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:54 msgid "Sprite animation" msgstr "Animação por Sprites" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:56 #, fuzzy msgid "" "Click on the ``Player`` node and add (:kbd:`Ctrl + A` on Windows/Linux or :" "kbd:`Cmd + A` on macOS) a child node :ref:`AnimatedSprite2D " "`. The ``AnimatedSprite2D`` will handle the " "appearance and animations for our player. Notice that there is a warning " "symbol next to the node. An ``AnimatedSprite2D`` requires a :ref:" "`SpriteFrames ` resource, which is a list of the " "animations it can display. To create one, find the ``Sprite Frames`` " "property under the ``Animation`` tab in the Inspector and click \"[empty]\" -" "> \"New SpriteFrames\". Click again to open the \"SpriteFrames\" panel:" msgstr "" "Clique no nó ``Jogador`` e adicione um nó :ref:`AnimatedSprite " "` (sprite animado) como filho. O ``AnimatedSprite`` " "irá lidar com a aparência e as animações do nosso jogador. Note que existe " "um símbolo de alerta ao lado do nó. Um ``AnimatedSprite`` exige um recurso " "do tipo :ref:`SpriteFrames ` (quadros de sprite), que é " "uma lista das animações que ele pode mostrar. Para criar um, encontre a " "propriedade ``Frames`` no Inspetor e clique em \"[empty]\" -> \"Novo " "SpriteFrames\". Clique novamente para abrir o painel de \"SpriteFrames\":" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:68 #, fuzzy msgid "" "On the left is a list of animations. Click the \"default\" one and rename it " "to \"walk\". Then click the \"Add Animation\" button to create a second " "animation named \"up\". Find the player images in the \"FileSystem\" tab - " "they're in the ``art`` folder you unzipped earlier. Drag the two images for " "each animation, named ``playerGrey_up[1/2]`` and ``playerGrey_walk[1/2]``, " "into the \"Animation Frames\" side of the panel for the corresponding " "animation:" msgstr "" "À esquerda está uma lista de animações. Clique em \"default\" e a renomeie " "para \"caminhar\". Então, clique no botão \"Nova Animação\" para criar uma " "segunda animação chamada \"cima\". Encontre as imagens do jogador na guia " "\"Sistema de Ficheiros\" - eles estão na pasta ``art`` que descompactou mais " "cedo. Arraste as duas imagens de cada animação, chamadas " "``playerGrey_up[1/2]`` e ``playerGrey_walk[1/2]`` para dentro do \"Animation " "Frames\" ao lado do painel correspondende de cada animação:" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:77 #, fuzzy msgid "" "The player images are a bit too large for the game window, so we need to " "scale them down. Click on the ``AnimatedSprite2D`` node and set the " "``Scale`` property to ``(0.5, 0.5)``. You can find it in the Inspector under " "the ``Node2D`` heading." msgstr "" "As imagens do jogador são um tanto grandes demais para a janela de jogo, " "então precisamos reduzir a escala deles. Clique no nó ``AnimatedSprite`` e " "configure a propriedade ``Scale`` para ``(0.5, 0.5)``. Pode encontrá-la no " "Inspetor na secção ``Node2D``." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:84 #, fuzzy msgid "" "Finally, add a :ref:`CollisionShape2D ` as a child " "of ``Player``. This will determine the player's \"hitbox\", or the bounds of " "its collision area. For this character, a ``CapsuleShape2D`` node gives the " "best fit, so next to \"Shape\" in the Inspector, click \"[empty]\" -> \"New " "CapsuleShape2D\". Using the two size handles, resize the shape to cover the " "sprite:" msgstr "" "Finalmente, adicione um :ref:`CollisionShape2D ` " "(forma de colisão 2D) como filho de ``Jogador``. Isso determina a " "\"hitbox\" (caixa de acerto) do jogador, ou seja, os limites da sua área de " "colisão. Para este personagem, um nó ``CapsuleShape2D`` (forma cápsula 2D) é " "o que melhor se encaixa. Então, ao lado de \"Shape\" (forma) no Inspetor, " "clique em \"[vazio]\"\" -> \"Novo CapsuleShape2D\". Utilizando os dois " "manipuladores, redimensione a forma para cobrir o sprite:" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:93 msgid "When you're finished, your ``Player`` scene should look like this:" msgstr "" "Quando tiver finalizado, a sua cena ``Jogador`` deveria parecer-se assim:" #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:97 msgid "Make sure to save the scene again after these changes." msgstr "Certifique-se de gravar a cena novamente após as alterações." #: ../../docs/getting_started/first_2d_game/02.player_scene.rst:99 msgid "" "In the next part, we'll add a script to the player node to move and animate " "it. Then, we'll set up collision detection to know when the player got hit " "by something." msgstr "" "Na próxima parte, adicionaremos um roteiro ao nó jogador para movê-lo e " "animá-lo. Depois, configuraremos a detecção de colisão para saber quando o " "jogador é atingido por alguma coisa." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:4 #, fuzzy msgid "Coding the player" msgstr "Movendo o Jogador" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:6 msgid "" "In this lesson, we'll add player movement, animation, and set it up to " "detect collisions." msgstr "" "Nesta lição, adicionaremos movimento e animação do jogador e o " "configuraremos para detetar colisões." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:9 #, fuzzy msgid "" "To do so, we need to add some functionality that we can't get from a built-" "in node, so we'll add a script. Click the ``Player`` node and click the " "\"Attach Script\" button:" msgstr "" "Agora precisamos adicionar algumas funcionalidades que não conseguimos num " "nó embutido, então adicionaremos um script. Clique no nó ``Jogador`` e " "depois clique no botão \"Adicionar Script\":" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:15 msgid "" "In the script settings window, you can leave the default settings alone. " "Just click \"Create\":" msgstr "" "Na janela de configurações de roteiro, pode deixar as configurações padrões " "do jeito que estão. Apenas clique em \"Criar\":" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:18 msgid "" "If you're creating a C# script or other languages, select the language from " "the `language` drop down menu before hitting create." msgstr "" "Se estiver a criar um script em C# ou em outras linguagens, selecione a " "linguagem em no menu suspenso `Idioma` antes de clicar em Criar." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:23 msgid "" "If this is your first time encountering GDScript, please read :ref:" "`doc_scripting` before continuing." msgstr "" "Se é a primeira vez que se depara com GDScript, por favor, leia :ref:" "`doc_scripting`antes de continuar." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:26 msgid "Start by declaring the member variables this object will need:" msgstr "Comece a declarar as variáveis membro que este objeto irá precisar:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:48 msgid "" "Using the ``export`` keyword on the first variable ``speed`` allows us to " "set its value in the Inspector. This can be handy for values that you want " "to be able to adjust just like a node's built-in properties. Click on the " "``Player`` node and you'll see the property now appears in the \"Script " "Variables\" section of the Inspector. Remember, if you change the value " "here, it will override the value written in the script." msgstr "" "Usar a palavra-chave ``export`` na primeira variável, ``speed``, nos permite " "definir o valor dela pelo Inspetor. Isto pode ser útil para os valores que " "deseja ser capaz de ajustar do mesmo jeito que se faz com as propriedades " "internas de um nó. Clique no nó ``Jogador`` e verá que a propriedade agora " "aparece na secção \"Variáveis de Script\" do Inspetor. Lembre-se, se " "modificar o valor aqui, ele irá sobrepor o valor que está definido no script." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:57 #, fuzzy msgid "" "If you're using C#, you need to (re)build the project assemblies whenever " "you want to see new export variables or signals. This build can be manually " "triggered by clicking the **Build** button at the top right of the editor." msgstr "" "Se estiver a usar o C #, precisará (re) construir os assemblies do projeto " "sempre que desejar ver novas variáveis ou sinais de exportação. Essa " "construção pode ser acionada manualmente a clicar na palavra \"Mono\" na " "parte inferior da janela do editor para revelar o Mono Panel e, em seguida, " "a clicar no botão \"Build Project\"." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:66 msgid "" "Your ``player.gd`` script should already contain a ``_ready()`` and a " "``_process()`` function. If you didn't select the default template shown " "above, create these functions while following the lesson." msgstr "" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:71 msgid "" "The ``_ready()`` function is called when a node enters the scene tree, which " "is a good time to find the size of the game window:" msgstr "" "A função ``_ready()`` é chamada quando um nó entra na árvore de cena, que é " "uma boa hora para descobrir o tamanho da janela do jogo:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:87 msgid "" "Now we can use the ``_process()`` function to define what the player will " "do. ``_process()`` is called every frame, so we'll use it to update elements " "of our game, which we expect will change often. For the player, we need to " "do the following:" msgstr "" "Agora podemos usar a função ``_process()`` para definir o que o jogador " "fará. ``_process()`` é chamada a cada quadro, então usaremos isso para " "atualizar os elementos de nosso jogo que esperamos que mudem frequentemente. " "Para o jogador, precisamos fazer o seguinte:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:92 msgid "Check for input." msgstr "Verificação de entradas." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:93 msgid "Move in the given direction." msgstr "Movimentação numa certa direção." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:94 msgid "Play the appropriate animation." msgstr "Reprodução da animação apropriada." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:96 #, fuzzy msgid "" "First, we need to check for input - is the player pressing a key? For this " "game, we have 4 direction inputs to check. Input actions are defined in the " "Project Settings under \"Input Map\". Here, you can define custom events and " "assign different keys, mouse events, or other inputs to them. For this game, " "we will map the arrow keys to the four directions." msgstr "" "Primeiro, precisamos verificar as entradas – o jogador pressiona uma tecla? " "Para este jogo, temos 4 entradas de direção para verificar. Ações de entrada " "são definidas nas Configurações do Projeto na guia \"Mapa de entrada\". Pode " "definir eventos personalizados e atribuir diferentes teclas, eventos de rato " "ou outras entradas para eles. Para esta demonstração, vamos usar os eventos " "padrões que são atribuídos para as teclas de seta no teclado." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:102 msgid "" "Click on *Project -> Project Settings* to open the project settings window " "and click on the *Input Map* tab at the top. Type \"move_right\" in the top " "bar and click the \"Add\" button to add the ``move_right`` action." msgstr "" "Clique em *Projeto -> Configurações do Projeto* para abrir a janela das " "configurações do projeto e clique na guia *Mapa de Entrada*, no topo. Digite " "\"mover_direita\" na barra do topo e clique no botão \"Adicionar\" para " "adicionar a ação ``mover_direita``." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:108 msgid "" "We need to assign a key to this action. Click the \"+\" icon on the right, " "to open the event manager window." msgstr "" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:113 msgid "" "The \"Listening for Input...\" field should automatically be selected. Press " "the \"right\" key on your keyboard, and the menu should look like this now." msgstr "" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:118 msgid "" "Select the \"ok\" button. The \"right\" key is now associated with the " "``move_right`` action." msgstr "" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:120 msgid "Repeat these steps to add three more mappings:" msgstr "Repita estes passos para adicionar três outros mapeamentos:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:122 msgid "``move_left`` mapped to the left arrow key." msgstr "``mover_esquerda`` mapeado à tecla seta para esquerda." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:123 msgid "``move_up`` mapped to the up arrow key." msgstr "``mover_cima`` mapeado para tecla seta para cima." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:124 msgid "And ``move_down`` mapped to the down arrow key." msgstr "E ``mover_baixo`` mapeado para tecla seta para baixo." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:126 #, fuzzy msgid "Your input map tab should look like this:" msgstr "A sua cena deve parecer-se com isto:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:130 msgid "Click the \"Close\" button to close the project settings." msgstr "Clique no botão \"Fechar\" para fechar as configurações de projeto." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:134 msgid "" "We only mapped one key to each input action, but you can map multiple keys, " "joystick buttons, or mouse buttons to the same input action." msgstr "" "Mapeamos apenas uma tecla para cada ação de entrada, mas pode mapear " "múltiplas teclas, botões de joystick ou botões de rato para a mesma ação de " "entrada." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:137 msgid "" "You can detect whether a key is pressed using ``Input.is_action_pressed()``, " "which returns ``true`` if it's pressed or ``false`` if it isn't." msgstr "" "Pode detetar se uma tecla é pressionada a usar ``Input." "is_action_pressed()``, que retorna ``true`` (verdadeiro) se é pressionada ou " "``false`` (falso) em caso contrário." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:199 msgid "" "We start by setting the ``velocity`` to ``(0, 0)`` - by default, the player " "should not be moving. Then we check each input and add/subtract from the " "``velocity`` to obtain a total direction. For example, if you hold ``right`` " "and ``down`` at the same time, the resulting ``velocity`` vector will be " "``(1, 1)``. In this case, since we're adding a horizontal and a vertical " "movement, the player would move *faster* diagonally than if it just moved " "horizontally." msgstr "" "Iniciamos a definir a ``velocidade`` como a ser ``(0, 0)`` - por padrão o " "jogador não deve estar a mover-se. Então verificamos cada entrada e " "adicionamos/subtraímos da ``velocidade`` para obter a direção resultante. " "Por exemplo, se segurar ``direita`` e ``baixo`` ao mesmo tempo, o vetor " "resultante ``velocidade`` será ``(1, 1)``. Neste caso, já que estamos a " "adicionar um movimento vertical e um horizontal, o jogador iria se mover " "*mais rápido* do que se apenas se movesse horizontalmente." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:206 msgid "" "We can prevent that if we *normalize* the velocity, which means we set its " "*length* to ``1``, then multiply by the desired speed. This means no more " "fast diagonal movement." msgstr "" "Podemos evitar isso se *normalizarmos* a velocidade, o que significa que " "podemos definir o *comprimento* (módulo) dele para ``1`` e multiplicar pela " "velocidade desejada. Isso resolve o problema de movimentação mais rápida nas " "diagonais." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:210 msgid "" "If you've never used vector math before, or need a refresher, you can see an " "explanation of vector usage in Godot at :ref:`doc_vector_math`. It's good to " "know but won't be necessary for the rest of this tutorial." msgstr "" "Se nunca usou matemática vetorial antes, ou precisa refrescar a memória, " "pode ver uma explicação do uso de vetores no Godot em :ref:" "`doc_vector_math`. É bom conhecê-la, mas não será necessário para o resto " "deste tutorial." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:214 #, fuzzy msgid "" "We also check whether the player is moving so we can call ``play()`` or " "``stop()`` on the AnimatedSprite2D." msgstr "" "Também verificamos se o jogador está se a mover, para que possamos iniciar " "ou parar a animação do AnimatedSprite." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:217 #, fuzzy msgid "" "``$`` is shorthand for ``get_node()``. So in the code above, " "``$AnimatedSprite2D.play()`` is the same as ``get_node(\"AnimatedSprite2D\")." "play()``." msgstr "" "``$`` é um atalho para ``get_node()``. Então, no código acima, " "``$AnimatedSprite.play()`` é o mesmo que ``get_node(\"AnimatedSprite\")." "play()``." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:221 #, fuzzy msgid "" "In GDScript, ``$`` returns the node at the relative path from the current " "node, or returns ``null`` if the node is not found. Since AnimatedSprite2D " "is a child of the current node, we can use ``$AnimatedSprite2D``." msgstr "" "Em GDScript, ``$`` retorna o nó no caminho relativo a partir deste nó, ou " "retorna ``null`` (nulo) se o nó não for encontrado. Já que AnimatedSprite é " "um filho do nó atual, podemos usar ``$AnimatedSprite``." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:226 msgid "" "Now that we have a movement direction, we can update the player's position. " "We can also use ``clamp()`` to prevent it from leaving the screen. " "*Clamping* a value means restricting it to a given range. Add the following " "to the bottom of the ``_process`` function (make sure it's not indented " "under the `else`):" msgstr "" "Agora que temos uma direção de movimento, podemos atualizar a posição do " "jogador. Podemos também usar ``clamp()`` para impedir que ele saia do ecrã. " "*Clamp* (fixar) um valor significa restringi-lo a um determinado intervalo. " "Adicione o seguinte código embaixo da função ``_process``(Tenha certeza de " "que não está identado ao `else`):" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:245 msgid "" "The `delta` parameter in the `_process()` function refers to the *frame " "length* - the amount of time that the previous frame took to complete. Using " "this value ensures that your movement will remain consistent even if the " "frame rate changes." msgstr "" "O parâmetro `delta` na função `_process()` se refere ao *comprimento do " "frame* - a quantidade de tempo que o frame anterior levou para ser " "completado. Usando este valor se certifica que o movimento dele será " "constante, mesmo quando o frame rate sofrer alterações." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:250 #, fuzzy msgid "" "Click \"Play Scene\" (:kbd:`F6`, :kbd:`Cmd + R` on macOS) and confirm you " "can move the player around the screen in all directions." msgstr "" "Clique em \"Executar Cena\" (``F6``) e confira se consegue mover o jogador " "pelo ecrã em todas as direções." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:253 msgid "If you get an error in the \"Debugger\" panel that says" msgstr "Se encontrar um erro no painel \"Depurador\" que diz" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:255 msgid "" "``Attempt to call function 'play' in base 'null instance' on a null " "instance``" msgstr "" "``A tentativa de chamar a função 'play' na base 'instance null' numa " "instância nula``" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:258 #, fuzzy msgid "" "this likely means you spelled the name of the AnimatedSprite2D node wrong. " "Node names are case-sensitive and ``$NodeName`` must match the name you see " "in the scene tree." msgstr "" "Se vir no painel \"Depurador\" um erro referente a \"null " "instance\" (instância nula), provavelmente significa que digitou o nome do " "nó errado. Letras maiúsculas e minúsculas fazem diferença nos nomes dos nós " "e ``$NomeDoNo`` ou ``get_node(\"NomeDoNo\")`` tem que coincidir com o nome " "que vê na árvore da cena." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:263 msgid "Choosing animations" msgstr "Selecionado as Animações" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:265 #, fuzzy msgid "" "Now that the player can move, we need to change which animation the " "AnimatedSprite2D is playing based on its direction. We have the \"walk\" " "animation, which shows the player walking to the right. This animation " "should be flipped horizontally using the ``flip_h`` property for left " "movement. We also have the \"up\" animation, which should be flipped " "vertically with ``flip_v`` for downward movement. Let's place this code at " "the end of the ``_process()`` function:" msgstr "" "Agora que o jogador consegue se mover, precisamos alterar qual animação do " "AnimatedSprite é reproduzida conforme a direção. Temos uma animação " "\"andar\", que mostra o jogador a andar para a direita. Essa animação deve " "ser espelhada horizontalmente a usar a propriedade ``flip_h`` para o jogador " "se movimentar à esquerda. Temos também a animação \"cima\", que deveria ser " "espelhada verticalmente com ``flip_v`` para o movimento para baixo. Vamos " "pôr este código no fim da nossa função ``_process()``:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:299 msgid "" "The boolean assignments in the code above are a common shorthand for " "programmers. Since we're doing a comparison test (boolean) and also " "*assigning* a boolean value, we can do both at the same time. Consider this " "code versus the one-line boolean assignment above:" msgstr "" "As atribuiçoes booleanas no código acima são um encurtamento comum para " "programadores. Já que estamos a fazer um teste de comparação(booleano) e *a " "atribuir* um valor booleano, é possível fazer os dois ao mesmo tempo. " "Compare esse código a atribuição booleana encurtada, acima:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:323 msgid "" "Play the scene again and check that the animations are correct in each of " "the directions." msgstr "" "Execute a cena novamente e verifique se as animações estão corretas em cada " "uma das direções." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:326 msgid "" "A common mistake here is to type the names of the animations wrong. The " "animation names in the SpriteFrames panel must match what you type in the " "code. If you named the animation ``\"Walk\"``, you must also use a capital " "\"W\" in the code." msgstr "" "Um erro comum aqui é digitar os nomes das animações de forma errada. O nome " "das animações no painel SpriteFrames deve ser igual ao que foi digitado no " "código. Se nomeou a animação ``\"Walk\"`` também deve usar a letra maiúscula " "\"W\" no código." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:331 msgid "" "When you're sure the movement is working correctly, add this line to " "``_ready()``, so the player will be hidden when the game starts:" msgstr "" "Quando tiver certeza que a movimentação está a funcionar corretamente, " "adicione esta linha à ``_ready()`` para que o jogador fique oculto no início " "do jogo:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:344 msgid "Preparing for collisions" msgstr "Preparando para colisões" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:346 msgid "" "We want ``Player`` to detect when it's hit by an enemy, but we haven't made " "any enemies yet! That's OK, because we're going to use Godot's *signal* " "functionality to make it work." msgstr "" "Queremos que o ``Jogador`` detecte quando é atingido por um inimigo, mas não " "fizemos nenhum inimigo ainda! Não tem problema, porque iremos utilizar a " "funcionalidade de *sinal* do Godot para fazer com que funcione." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:350 msgid "" "Add the following at the top of the script. If you're using GDScript, add it " "after ``extends Area2D``. If you're using C#, add it after ``public partial " "class Player : Area2D``:" msgstr "" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:365 msgid "" "This defines a custom signal called \"hit\" that we will have our player " "emit (send out) when it collides with an enemy. We will use ``Area2D`` to " "detect the collision. Select the ``Player`` node and click the \"Node\" tab " "next to the Inspector tab to see the list of signals the player can emit:" msgstr "" "Isto define um sinal personalizado chamado \"hit\" (atingir) que faremos com " "que nosso jogador emita (envie) quando colidir com um inimigo. Iremos " "utilizar ``Area2D`` para detetar a colisão. Selecione o nó ``Jogador`` e " "clique na guia \"Nó\" ao lado da guia \"Inspetor\" para ver a lista de " "sinais que o jogador pode emitir:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:372 #, fuzzy msgid "" "Notice our custom \"hit\" signal is there as well! Since our enemies are " "going to be ``RigidBody2D`` nodes, we want the ``body_entered(body: " "Node2D)`` signal. This signal will be emitted when a body contacts the " "player. Click \"Connect..\" and the \"Connect a Signal\" window appears. We " "don't need to change any of these settings so click \"Connect\" again. Godot " "will automatically create a function in your player's script." msgstr "" "Observe que o nosso sinal personalizado \"hit\" também está lá! Já que " "nossos inimigos serão nós do tipo ``RigidBody2D``, queremos o sinal " "``body_entered( Object body )``; ele será emitido quando um corpo entrar em " "contato com o jogador. Clique em \"Conectar..\" e a janela \"Conectando " "Sinal\" aparece. Nós não precisamos alterar nenhuma destas configurações – o " "Godot criará automaticamente uma função chamada ``_on_Jogador_body_entered`` " "no script do jogador. Esta função será chamada sempre que o sinal for " "emitido - ela *trata* do sinal." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:381 msgid "" "Note the green icon indicating that a signal is connected to this function. " "Add this code to the function:" msgstr "" "Note que o icone verde indica que um sinal está conectado a esta função. " "Adicione esse código à função:" #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:403 msgid "" "Each time an enemy hits the player, the signal is going to be emitted. We " "need to disable the player's collision so that we don't trigger the ``hit`` " "signal more than once." msgstr "" "Cada vez que um inimigo atinge o jogador, o sinal será emitido. Precisamos " "desativar a colisão do jogador para que não acione o sinal ``hit`` mais de " "uma vez." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:407 msgid "" "Disabling the area's collision shape can cause an error if it happens in the " "middle of the engine's collision processing. Using ``set_deferred()`` tells " "Godot to wait to disable the shape until it's safe to do so." msgstr "" "Desativar o formato de colisão da área pode causar um erro se ocorrer no " "meio do processamento de colisão da engine. Usando ``set_deferred ()`` nos " "permite que o Godot aguarde para desativar a forma até que seja seguro fazê-" "lo." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:412 msgid "" "The last piece is to add a function we can call to reset the player when " "starting a new game." msgstr "" "A última peça para nosso jogador é adicionar uma função que possamos chamar " "para reiniciar o jogador para começarmos um novo jogo." #: ../../docs/getting_started/first_2d_game/03.coding_the_player.rst:432 msgid "With the player working, we'll work on the enemy in the next lesson." msgstr "" "Com o jogador funcionando, vamos trabalhar com o inimigo na próxima lição." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:4 #, fuzzy msgid "Creating the enemy" msgstr "Testando a cena" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:6 msgid "" "Now it's time to make the enemies our player will have to dodge. Their " "behavior will not be very complex: mobs will spawn randomly at the edges of " "the screen, choose a random direction, and move in a straight line." msgstr "" "Agora é hora de criarmos os inimigos que nosso jogador terá que se desviar. " "O comportamento deles não será tão complexo: inimigos irão nascer " "aleatoriamente nos cantos do ecrã e irão se mover numa direção também " "aleatória, só que em linha reta, para, então desaparecerem ao sair do ecrã." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:10 msgid "" "We'll create a ``Mob`` scene, which we can then *instance* to create any " "number of independent mobs in the game." msgstr "" "Iremos construir isso numa cena ``Inimigo``, que poderemos então " "*instanciar* para criar uma quantidade de inimigos independentes no jogo." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:14 msgid "Node setup" msgstr "Configuração de nós" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:16 #, fuzzy msgid "Click Scene -> New Scene from the top menu and add the following nodes:" msgstr "Clique Cena -> Nova Cena e adcione os seguintes nós:" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:18 msgid ":ref:`RigidBody2D ` (named ``Mob``)" msgstr ":ref:`RigidBody2D ` (chamado ``Turba``)" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:20 #, fuzzy msgid ":ref:`AnimatedSprite2D `" msgstr ":ref:`AnimatedSprite `" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:21 msgid ":ref:`CollisionShape2D `" msgstr ":ref:`CollisionShape2D `" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:22 #, fuzzy msgid ":ref:`VisibleOnScreenNotifier2D `" msgstr "" ":ref:`VisibilityNotifier2D ` (chamado " "``Visibilidade``)" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:24 msgid "" "Don't forget to set the children so they can't be selected, like you did " "with the Player scene." msgstr "" "Não se esqueça de configurar os filhos para que não possam ser selecionados, " "assim como fez na cena Jogador." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:27 msgid "" "Select the ``Mob`` node and set it's ``Gravity Scale`` property in the :ref:" "`RigidBody2D ` section of the inspector to ``0``. This " "will prevent the mob from falling downwards." msgstr "" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:32 #, fuzzy msgid "" "In addition, under the :ref:`CollisionObject2D ` " "section just beneath the **RigidBody2D** section, expand the **Collision** " "group and uncheck the ``1`` inside the ``Mask`` property. This will ensure " "the mobs do not collide with each other." msgstr "" "Nas propriedades :ref:`RigidBody2D `, defina ``Gravity " "Scale`` para ``0``, assim o mob não vai cair. Além disso, na secção :ref:" "`CollisionObject2D `, clique na propriedade " "``Mask`` e desmarque a primeira caixa. Isso garantirá que os mobs não " "colidam uns com os outros." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:40 #, fuzzy msgid "" "Set up the :ref:`AnimatedSprite2D ` like you did for " "the player. This time, we have 3 animations: ``fly``, ``swim``, and " "``walk``. There are two images for each animation in the art folder." msgstr "" "Configure o :ref:`AnimatedSprite ` assim como fez para " "o jogador. Desta vez, temos 3 animações: ``voar`` (*fly*), ``nadar`` " "(*swim*) e ``andar`` (*walk*). Defina a propriedade ``Playing`` " "(reproduzindo_ no Inspetor para \"Ativo\" e ajuste a configuração " "\"Velocidade (FPS)\" como mostrado abaixo. Vamos selecionar uma dessas " "animações aleatoriamente para que a turba tenha alguma variedade." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:44 msgid "" "The ``Animation Speed`` property has to be set for each individual " "animation. Adjust it to ``3`` for all 3 animations." msgstr "" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:48 msgid "" "You can use the \"Play Animation\" buttons on the right of the ``Animation " "Speed`` input field to preview your animations." msgstr "" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:50 msgid "" "We'll select one of these animations randomly so that the mobs will have " "some variety." msgstr "" "Vamos selecionar uma das animações aleatoriamente para que os inimigos " "tenham alguma variedade." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:53 #, fuzzy msgid "" "Like the player images, these mob images need to be scaled down. Set the " "``AnimatedSprite2D``'s ``Scale`` property to ``(0.75, 0.75)``." msgstr "" "Como as imagens do jogador, essas imagens da turba precisam ser reduzidas. " "Defina a propriedade ``Scale`` (escala) do ``AnimatedSprite`` para ``(0.75, " "0.75)``." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:56 msgid "" "As in the ``Player`` scene, add a ``CapsuleShape2D`` for the collision. To " "align the shape with the image, you'll need to set the ``Rotation Degrees`` " "property to ``90`` (under \"Transform\" in the Inspector)." msgstr "" "Como na cena do ``Jogador``, adicione um ``CapsuleShape2D`` para a colisão. " "Para alinhar a forma com a imagem, precisará definir a propriedade " "``Rotation Degrees`` (graus de rotação) como ``90`` na secção ``Node2D``." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:60 msgid "Save the scene." msgstr "Salvar Cena." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:63 msgid "Enemy script" msgstr "Script do inimigo" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:65 msgid "Add a script to the ``Mob`` like this:" msgstr "Adicione um script à ``Mob``assim:" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:81 msgid "" "Now let's look at the rest of the script. In ``_ready()`` we play the " "animation and randomly choose one of the three animation types:" msgstr "" "Agora, vamos ver o resto do script. Em ``_ready () ``, rodamos a animação e " "escolhemos aleatoriamente um dos três tipos de animação:" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:100 #, fuzzy msgid "" "First, we get the list of animation names from the AnimatedSprite2D's " "``sprite_frames`` property. This returns an Array containing all three " "animation names: ``[\"walk\", \"swim\", \"fly\"]``." msgstr "" "Primeiro nós pegamos a lista dos nomes das animações da propriedade " "``frames`` do AnimatedSprite. Isto retorna um Array contendo os nomes das " "três animações: ``[\"walk\", \"swim\", \"fly\"]``." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:104 msgid "" "We then need to pick a random number between ``0`` and ``2`` to select one " "of these names from the list (array indices start at ``0``). ``randi() % n`` " "selects a random integer between ``0`` and ``n-1``." msgstr "" "Precisamos, então, de um número randômico entre ``0`` e ``2`` para " "selecionar um dos nomes da lista(os índices de um vetor começam do ``0`` ). " "``randi() % n``seleciona randomicamente um inteiro entre ``0`` e ``n-1``." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:108 #, fuzzy msgid "" "The last piece is to make the mobs delete themselves when they leave the " "screen. Connect the ``screen_exited()`` signal of the " "``VisibleOnScreenNotifier2D`` node to the ``Mob`` and add this code:" msgstr "" "A última parte é fazer os inimigo se autodestruirem ao sair do ecrã. Conecte " "o sinal ``screen_exited()`` (saiu do ecrã) do nó ``VisibilityNotifier2D`` e " "adicione este código:" #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:125 msgid "This completes the `Mob` scene." msgstr "Isto completa a cena dos Inimigos." #: ../../docs/getting_started/first_2d_game/04.creating_the_enemy.rst:127 msgid "" "With the player and enemies ready, in the next part, we'll bring them " "together in a new scene. We'll make enemies spawn randomly around the game " "board and move forward, turning our project into a playable game." msgstr "" "Com o jogador e os inimigos prontos, na próxima parte os juntaremos numa " "nova cena. Faremos inimigos aparecerem aleatoriamente na área do jogo, " "moverem-se adiante, tornando nosso projeto um jogo de fato." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:4 #, fuzzy msgid "The main game scene" msgstr "Testando a cena" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:6 msgid "" "Now it's time to bring everything we did together into a playable game scene." msgstr "Agora é hora de juntar tudo que fizemos numa cena jogável." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:8 msgid "" "Create a new scene and add a :ref:`Node ` named ``Main``. (The " "reason we are using Node instead of Node2D is because this node will be a " "container for handling game logic. It does not require 2D functionality " "itself.)" msgstr "" "Crie uma nova cena e adicione um :ref: `Node ` chamado ``Main``. " "(O motivo para usarmos um Node ao invés deum Node2D é que esse será um " "recipiente para lidar com a lógica do jogo, por si ele não necessita de " "funcionalidade 2D.)" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:12 #, fuzzy msgid "" "Click the **Instance** button (represented by a chain link icon) and select " "your saved ``player.tscn``." msgstr "" "Clique no botão **Instância** (representado por um ícone de elo de corrente) " "e selecione o seu ``Player.tscn`` salvo." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:17 msgid "" "Now, add the following nodes as children of ``Main``, and name them as shown " "(values are in seconds):" msgstr "" "Agora adicione os seguintes nós como filhos de ``Principal`` e os nomeie " "como mostrado (os valores estão em segundos):" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:20 msgid "" ":ref:`Timer ` (named ``MobTimer``) - to control how often mobs " "spawn" msgstr "" ":ref:`Timer ` (nomeado ``MobTimer``) - para controlar a " "frequência com que a turba é gerada" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:22 msgid "" ":ref:`Timer ` (named ``ScoreTimer``) - to increment the score " "every second" msgstr "" ":ref:`Timer ` (nomeado ``ScoreTimer``) - para incrementar a " "pontuação a cada segundo" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:24 msgid "" ":ref:`Timer ` (named ``StartTimer``) - to give a delay before " "starting" msgstr "" ":ref:`Timer ` (nomeado ``StartTimer``) - para dar um atraso " "antes de começar" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:26 #, fuzzy msgid "" ":ref:`Marker2D ` (named ``StartPosition``) - to indicate the " "player's start position" msgstr "" ":ref:`Position2D ` (nomeado ``StartPosition``) - para " "indicar a posição inicial do jogador" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:29 msgid "" "Set the ``Wait Time`` property of each of the ``Timer`` nodes as follows:" msgstr "" "Defina a propriedade ``Wait Time`` (tempo de espera) para cada um dos nós " "``Timer`` da seguinte forma:" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:31 msgid "``MobTimer``: ``0.5``" msgstr "``MobTimer``: ``0.5``" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:32 msgid "``ScoreTimer``: ``1``" msgstr "``ScoreTimer``: ``1``" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:33 msgid "``StartTimer``: ``2``" msgstr "``StartTimer``: ``2``" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:35 msgid "" "In addition, set the ``One Shot`` property of ``StartTimer`` to \"On\" and " "set ``Position`` of the ``StartPosition`` node to ``(240, 450)``." msgstr "" "Além disso, configure a propriedade ``One Shot`` (\"uma só vez\") de " "``StartTimer`` para \"Ativo\" e ``Position`` do nó ``StartPosition`` para " "``(240, 450)``." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:39 msgid "Spawning mobs" msgstr "Gerando monstros" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:41 msgid "" "The Main node will be spawning new mobs, and we want them to appear at a " "random location on the edge of the screen. Add a :ref:`Path2D " "` node named ``MobPath`` as a child of ``Main``. When you " "select ``Path2D``, you will see some new buttons at the top of the editor:" msgstr "" "O nó Principal ficará a gerar novos inimigos e nós queremos que eles " "apareçam em lugares aleatórios nos cantos do ecrã. Adicione um nó :ref:" "`Path2D ` chamado ``CaminhoTurba`` como filho de " "``Principal``. Quando selecionar ``Path2D``, aparecerão alguns botões novos " "na parte superior do editor:" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:48 #, fuzzy msgid "" "Select the middle one (\"Add Point\") and draw the path by clicking to add " "the points at the corners shown. To have the points snap to the grid, make " "sure \"Use Grid Snap\" and \"Use Smart Snap\" are both selected. These " "options can be found to the left of the \"Lock\" button, appearing as a " "magnet next to some dots and intersecting lines, respectively." msgstr "" "Selecione o do meio (\"Adicionar Ponto\") e desenhe o caminho a clicar para " "adicionar os pontos nos cantos mostrados. Para que os pontos fiquem " "alinhados à grade, verifique se a opção Encaixar na Grade está " "marcada. Essa opção encontra-se à esquerda do botão \"Travar\", parecido " "como um ímã e ao lado de uma série de 3 pontos verticais." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:56 msgid "" "Draw the path in *clockwise* order, or your mobs will spawn pointing " "*outwards* instead of *inwards*!" msgstr "" "Desenhe o caminho em sentido *horário*, ou a sua turba vai surgir a apontar " "para *fora* em vez de para *dentro*!" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:61 msgid "" "After placing point ``4`` in the image, click the \"Close Curve\" button and " "your curve will be complete." msgstr "" "Depois de pôr o ponto ``4`` na imagem, clique no botão \"Fechar Curva\", e a " "sua curva estará completa." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:64 msgid "" "Now that the path is defined, add a :ref:`PathFollow2D ` " "node as a child of ``MobPath`` and name it ``MobSpawnLocation``. This node " "will automatically rotate and follow the path as it moves, so we can use it " "to select a random position and direction along the path." msgstr "" "Agora que o caminho está definido, adicione um nó :ref:`PathFollow2D " "` como filho de ``CaminhoTurba`` e dê o nome de " "``LocalGeraçãoTurba``. Esse nó vai rotacionar automaticamente e seguir o " "caminho conforme ele se move, para que possamos usá-lo para selecionar uma " "posição e uma direção aleatória ao longo do caminho." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:69 msgid "Your scene should look like this:" msgstr "A sua cena deve parecer-se com isto:" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:74 msgid "Main script" msgstr "Script principal" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:76 #, fuzzy msgid "" "Add a script to ``Main``. At the top of the script, we use ``@export var " "mob_scene: PackedScene`` to allow us to choose the Mob scene we want to " "instance." msgstr "" "Adicione um roteiro a ``Principal``. No começo do script, usamos ``export " "(PackedScene)`` para permitir-nos escolher a cena Inimigo que queremos " "instanciar." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:102 #, fuzzy msgid "" "Click the ``Main`` node and you will see the ``Mob Scene`` property in the " "Inspector under \"Script Variables\"." msgstr "" "Clique no nó ``Principal``e verá a propriedade ``Mob`` no inspetor, abaixo " "das ``Variáveis do Script``." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:105 msgid "You can assign this property's value in two ways:" msgstr "Pode atribuir o valor dessa propriedade de duas formas:" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:107 #, fuzzy msgid "" "Drag ``mob.tscn`` from the \"FileSystem\" dock and drop it in the **Mob " "Scene** property." msgstr "" "Arraste ``Mob.tscn`` do painel do \"Sistema de ficheiros\" e solte-o na " "propriedade ``Mob``." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:109 #, fuzzy msgid "" "Click the down arrow next to \"[empty]\" and choose \"Load\". Select ``mob." "tscn``." msgstr "" "Clique na seta para baixo ao lado de \"[vazio]\" e escolha \"Carregar\". " "Selecione ``Mob.tscn``." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:111 #, fuzzy msgid "" "Next, select the instance of the ``Player`` scene under ``Main`` node in the " "Scene dock, and access the Node dock on the sidebar. Make sure to have the " "Signals tab selected in the Node dock." msgstr "" "Em seguida, selecione o nó do ``Player`` no painel Cena e acesse o nó na " "barra lateral. Certifique-se de selecionar a guia Sinais no Painel de nós." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:115 #, fuzzy msgid "" "You should see a list of the signals for the ``Player`` node. Find and " "double-click the ``hit`` signal in the list (or right-click it and select " "\"Connect...\"). This will open the signal connection dialog. We want to " "make a new function named ``game_over``, which will handle what needs to " "happen when a game ends. Type \"game_over\" in the \"Receiver Method\" box " "at the bottom of the signal connection dialog and click \"Connect\". You are " "aiming to have the ``hit`` signal emitted from ``Player`` and handled in the " "``Main`` script. Add the following code to the new function, as well as a " "``new_game`` function that will set everything up for a new game:" msgstr "" "Deve ver uma lista de sinais para o nó ``Player``. Em seguida, encontre e dê " "dois cliques no sinal ``hit`` da lista (ou clique com o botão direito e " "selecione \"Conectar...\"). Isso abrirá a caixa de diálogo de conexão de " "sinal. Queremos criar uma função chamada ``game_over``, que lidará com tudo " "o que precisa acontecer quando um jogo acaba. Digite \"game_over\" na caixa " "\"Método no Nó\" na parte inferior da janela de conexão de sinal e clique em " "\"Conectar\". Adicione o código a seguir à nova função, assim como uma " "função ``new_game`` (novo jogo) para definir tudo para um novo jogo:" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:156 #, fuzzy msgid "" "Now connect the ``timeout()`` signal of each of the Timer nodes " "(``StartTimer``, ``ScoreTimer``, and ``MobTimer``) to the main script. " "``StartTimer`` will start the other two timers. ``ScoreTimer`` will " "increment the score by 1." msgstr "" "Agora, conecte o sinal ``timeout()`` de cada um dos nós de Timer " "(``StartTimer``, ``ScoreTimer`` e``MobTimer``) para o script principal. " "``StartTimer`` irá iniciar os outros dois temporizadores. ``ScoreTimer`` irá " "incrementar a pontuação em 1." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:183 #, fuzzy msgid "" "In ``_on_mob_timer_timeout()``, we will create a mob instance, pick a random " "starting location along the ``Path2D``, and set the mob in motion. The " "``PathFollow2D`` node will automatically rotate as it follows the path, so " "we will use that to select the mob's direction as well as its position. When " "we spawn a mob, we'll pick a random value between ``150.0`` and ``250.0`` " "for how fast each mob will move (it would be boring if they were all moving " "at the same speed)." msgstr "" "Em ``_on_MobTimer_timeout()``, vamos criar uma instância de inimigo, escolha " "um local de início aleatório ao longo do ``Path2D`` e pôr o mob em " "movimento. O nó ``PathFollow2D`` irá rotacionar automaticamente à medida em " "que ele segue o caminho, então usaremos isso para escolher a direção do " "inimigo, bem como a posição dele." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:191 msgid "" "Note that a new instance must be added to the scene using ``add_child()``." msgstr "" "Note que uma nova instância deve ser adicionada à cena a usar " "``add_child()`` (adicionar filho)." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:254 #, fuzzy msgid "" "Why ``PI``? In functions requiring angles, Godot uses *radians*, not " "degrees. Pi represents a half turn in radians, about ``3.1415`` (there is " "also ``TAU`` which is equal to ``2 * PI``). If you're more comfortable " "working with degrees, you'll need to use the ``deg_to_rad()`` and " "``rad_to_deg()`` functions to convert between the two." msgstr "" "Por que ``PI``? Em funções que demandem ângulos, GDScript usa *radianos* e " "não graus. Se se sente mais confortável a trabalhar com graus, precisará " "usar as funções ``deg2rad()`` (graus para radianos) e ``rad2deg()`` " "(radianos para graus) para fazer as conversões." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:262 msgid "Testing the scene" msgstr "Testando a cena" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:264 #, fuzzy msgid "" "Let's test the scene to make sure everything is working. Add this " "``new_game`` call to ``_ready()``:" msgstr "" "Vamos testar a cena para garantir que tudo esta a funcionar. Adicione isso " "ao ``_ready()``:" #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:280 #, fuzzy msgid "" "Let's also assign ``Main`` as our \"Main Scene\" - the one that runs " "automatically when the game launches. Press the \"Play\" button and select " "``main.tscn`` when prompted." msgstr "" "Vamos também atribuir ``Main`` como nossa \"Cena Principal\" - aquela que é " "executada automaticamente quando o jogo é iniciado. Pressione o botão " "\"Reproduzir\" e selecione `` Main.tscn`` quando solicitado." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:284 #, fuzzy msgid "" "If you had already set another scene as the \"Main Scene\", you can right " "click ``main.tscn`` in the FileSystem dock and select \"Set As Main Scene\"." msgstr "" "Caso já tenha configurado outra cena como a \"Main Scene\" (Cena Principal), " "pode clicar com o botão direito em ``Main.tscn``no Gestor de Ficheiros e " "selecionar \"Atribuir como Cena Principal\"." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:287 msgid "" "You should be able to move the player around, see mobs spawning, and see the " "player disappear when hit by a mob." msgstr "" "Deve ser capaz de mover o jogador, ver os inimigos a nascer e ver o jogador " "desaparecer quando atingido por um inimigo." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:290 msgid "" "When you're sure everything is working, remove the call to ``new_game()`` " "from ``_ready()``." msgstr "" "Quando tiver certeza que tudo esta a funcionar, remova a chamada de " "``new_game()`` em ``_ready()``." #: ../../docs/getting_started/first_2d_game/05.the_main_game_scene.rst:293 msgid "" "What's our game lacking? Some user interface. In the next lesson, we'll add " "a title screen and display the player's score." msgstr "" "O que nos falta? Uma interface de utilizador! Na próxima lição, " "adicionaremos um ecrã de título e mostraremos a pontuação do jogador." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:4 msgid "Heads up display" msgstr "Monitor de alerta" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:6 msgid "" "The final piece our game needs is a User Interface (UI) to display things " "like score, a \"game over\" message, and a restart button." msgstr "" "A peça final que nosso jogo precisa é uma Interface de Utilizador (UI) para " "exibir coisas como pontuação, uma mensagem de \"game over\" e um botão de " "reiniciar." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:9 #, fuzzy msgid "" "Create a new scene, click the \"Other Node\" button and add a :ref:" "`CanvasLayer ` node named ``HUD``. \"HUD\" stands for " "\"heads-up display\", an informational display that appears as an overlay on " "top of the game view." msgstr "" "A peça final que nosso jogo precisa é uma interface com utilizador: uma " "interface que mostra coisas como pontuação, uma mensagem de \"fim de jogo\" " "e um botão de reinício. Crie uma cena e adicione um nó :ref:`CanvasLayer " "` chamado ``HUD``. \"HUD\" significa \"heads-up " "display\", um mostrador informativo que aparece como uma camada de " "sobreposição à visão do jogo." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:13 msgid "" "The :ref:`CanvasLayer ` node lets us draw our UI elements " "on a layer above the rest of the game, so that the information it displays " "isn't covered up by any game elements like the player or mobs." msgstr "" "O nó :ref:`CanvasLayer ` nos permite desenhar nossos " "elementos de interface numa camada acima do resto do jogo, de forma que as " "informações que ela mostrar não fiquem cobertas por quaisquer elementos do " "jogo, como o jogador ou os inimigos." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:17 msgid "The HUD needs to display the following information:" msgstr "O HUD exibirá as seguintes informações:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:19 msgid "Score, changed by ``ScoreTimer``." msgstr "Pontuação, alterado por ``ScoreTimer``." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:20 msgid "A message, such as \"Game Over\" or \"Get Ready!\"" msgstr "Uma mensagem, como \"Game Over\" ou \"Prepare-se!\"" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:21 msgid "A \"Start\" button to begin the game." msgstr "Um botão \"Iniciar\" para começar o jogo." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:23 msgid "" "The basic node for UI elements is :ref:`Control `. To create " "our UI, we'll use two types of :ref:`Control ` nodes: :ref:" "`Label ` and :ref:`Button `." msgstr "" "O nó básico para elementos de interface é :ref:`Control `. " "Para criar nossa interface, usaremos dois tipos de nós :ref:`Control " "`: :ref:`Label ` e :ref:`Button `." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:27 msgid "Create the following as children of the ``HUD`` node:" msgstr "Crie os seguintes itens como filhos do nó ``HUD``:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:29 msgid ":ref:`Label ` named ``ScoreLabel``." msgstr ":ref:`Label ` nomeado ``ScoreLabel``." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:30 msgid ":ref:`Label ` named ``Message``." msgstr ":ref:`Label ` nomeado ``MessageLabel``." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:31 msgid ":ref:`Button ` named ``StartButton``." msgstr ":ref:`Button ` nomeado ``StartButton``." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:32 msgid ":ref:`Timer ` named ``MessageTimer``." msgstr ":ref:`Timer ` nomeado ``MessageTimer``." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:34 msgid "" "Click on the ``ScoreLabel`` and type a number into the ``Text`` field in the " "Inspector. The default font for ``Control`` nodes is small and doesn't scale " "well. There is a font file included in the game assets called \"Xolonium-" "Regular.ttf\". To use this font, do the following:" msgstr "" "Clique no ``ScoreLabel`` e digite um número no campo ``Text``no Inspetor. A " "fonte padrão para os nós ``Control`` é pequena e não escala bem. Há um " "ficheiro de fonte incluído nos assets do jogo chamado \"Xolonium-Regular." "ttf\". Para usar esta fonte, faça o seguinte para cada um dos três nós " "``Control``:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:39 #, fuzzy msgid "" "Under \"Theme Overrides > Fonts\", choose \"Load\" and select the \"Xolonium-" "Regular.ttf\" file." msgstr "" "Clique na \"DynamicFont\" que adicionou e em \"Font/Font Data\" (dados da " "fonte), escolha \"Carregar\" e selecione o ficheiro \"Xolonium-Regular." "ttf\". Tem também que definir o tamanho ``Size`` da fonte. Uma configuração " "de ``64`` funciona bem." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:43 msgid "" "The font size is still too small, increase it to ``64`` under \"Theme " "Overrides > Font Sizes\". Once you've done this with the ``ScoreLabel``, " "repeat the changes for the ``Message`` and ``StartButton`` nodes." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:48 #, fuzzy msgid "" "**Anchors:** ``Control`` nodes have a position and size, but they also have " "anchors. Anchors define the origin - the reference point for the edges of " "the node." msgstr "" "**Âncoras e Margens:** Nós ``Control`` têm uma posição e um tamanho, mas " "eles também têm âncoras e margens. Âncoras definem a origem – o ponto de " "referência para as bordas do nó. Margens atualizam automaticamente quando " "move ou redimensiona um nó de controle. Elas representam a distância das " "bordas do nó Control até a âncora dele. Veja :ref:" "`doc_design_interfaces_with_the_control_nodes` para mais detalhes." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:52 #, fuzzy msgid "" "Arrange the nodes as shown below. You can drag the nodes to place them " "manually, or for more precise placement, use \"Anchor Presets\"." msgstr "" "Pode arrastar os nós para colocá-los manualmente ou, para um posicionamento " "mais preciso, usar as seguintes configurações:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:59 msgid "ScoreLabel" msgstr "ScoreLabel" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:61 msgid "Add the text ``0``." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:62 #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:69 msgid "" "Set the \"Horizontal Alignment\" and \"Vertical Alignment\" to ``Center``." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:63 msgid "Choose the \"Anchor Preset\" ``Center Top``." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:66 msgid "Message" msgstr "MessageLabel" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:68 #, fuzzy msgid "Add the text ``Dodge the Creeps!``." msgstr "*Text*: ``Desvie dos Bichos!``" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:70 msgid "" "Set the \"Autowrap Mode\" to ``Word``, otherwise the label will stay on one " "line." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:71 msgid "" "Under \"Control - Layout/Transform\" set \"Size X\" to ``480`` to use the " "entire width of the screen." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:72 msgid "Choose the \"Anchor Preset\" ``Center``." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:75 msgid "StartButton" msgstr "StartButton" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:77 #, fuzzy msgid "Add the text ``Start``." msgstr "Text: ``Iniciar``" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:78 msgid "" "Under \"Control - Layout/Transform\", set \"Size X\" to ``200`` and \"Size " "Y\" to ``100`` to add a little bit more padding between the border and text." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:80 msgid "Choose the \"Anchor Preset\" ``Center Bottom``." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:81 msgid "Under \"Control - Layout/Transform\", set \"Position Y\" to ``580``." msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:83 msgid "" "On the ``MessageTimer``, set the ``Wait Time`` to ``2`` and set the ``One " "Shot`` property to \"On\"." msgstr "" "No ``MessageTimer``, defina o ``Wait Time`` (Tempo de Espera) para ``2`` e " "configure a propriedade ``One Shot`` (Apenas uma Vez) como \"Ativo\"." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:86 msgid "Now add this script to ``HUD``:" msgstr "Agora, adicione este script ao ``HUD``:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:108 #, fuzzy msgid "" "We now want to display a message temporarily, such as \"Get Ready\", so we " "add the following code" msgstr "" "Esta função é chamada quando queremos mostrar uma mensagem temporariamente, " "como a \"Prepare-se\"." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:130 #, fuzzy msgid "" "We also need to process what happens when the player loses. The code below " "will show \"Game Over\" for 2 seconds, then return to the title screen and, " "after a brief pause, show the \"Start\" button." msgstr "" "Esta função é chamada quando o jogador perde. Ela mostrará \"Game Over\" por " "2 segundos e depois retornará ao ecrã de título após uma breve pausa e " "mostrará o botão \"Iniciar\"." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:163 msgid "" "This function is called when the player loses. It will show \"Game Over\" " "for 2 seconds, then return to the title screen and, after a brief pause, " "show the \"Start\" button." msgstr "" "Esta função é chamada quando o jogador perde. Ela mostrará \"Game Over\" por " "2 segundos e depois retornará ao ecrã de título após uma breve pausa e " "mostrará o botão \"Iniciar\"." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:167 msgid "" "When you need to pause for a brief time, an alternative to using a Timer " "node is to use the SceneTree's ``create_timer()`` function. This can be very " "useful to add delays such as in the above code, where we want to wait some " "time before showing the \"Start\" button." msgstr "" "Quando precisa pausar por um breve tempo, uma alternativa ao do nó Timer é " "usar a função ``create_timer()`` do SceneTree. Isso pode ser muito útil para " "atrasar, como no código acima, onde queremos esperar um pouco de tempo antes " "de mostrar o botão \"Iniciar\"." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:172 msgid "Add the code below to ``HUD`` to update the score" msgstr "" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:187 #, fuzzy msgid "" "Connect the ``timeout()`` signal of ``MessageTimer`` and the ``pressed()`` " "signal of ``StartButton``, and add the following code to the new functions:" msgstr "" "Conecte o sinal ``timeout()``do ``MessageTimer`` e o sinal ``pressed()`` do " "``StartButton`` e adicione o seguinte código às novas funções:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:214 msgid "Connecting HUD to Main" msgstr "Conectando HUD a Principal" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:216 msgid "" "Now that we're done creating the ``HUD`` scene, go back to ``Main``. " "Instance the ``HUD`` scene in ``Main`` like you did the ``Player`` scene. " "The scene tree should look like this, so make sure you didn't miss anything:" msgstr "" "Agora que terminamos de criar a cena ``HUD``, salve-a e volte para a " "``Principal``. Crie uma instância da cena ``HUD`` como fez com a cena " "``Jogador`` e ponha-a no final da árvore. A árvore completa deveria se " "parecer assim, então confira se não falta alguma coisa:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:222 msgid "" "Now we need to connect the ``HUD`` functionality to our ``Main`` script. " "This requires a few additions to the ``Main`` scene:" msgstr "" "Agora precisamos conectar a funcionalidade de ``HUD`` ao roteiro de " "``Principal``. Isso exige algumas adições à cena ``Principal``:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:225 #, fuzzy msgid "" "In the Node tab, connect the HUD's ``start_game`` signal to the " "``new_game()`` function of the Main node by clicking the \"Pick\" button in " "the \"Connect a Signal\" window and selecting the ``new_game()`` method or " "type \"new_game\" below \"Receiver Method\" in the window. Verify that the " "green connection icon now appears next to ``func new_game()`` in the script." msgstr "" "Na guia Nó, conecte o sinal `` start_game`` do HUD à função `` new_game () " "`` do nó Principal, a digitar \"new_game\" no \"Receiver Method\" na janela " "\"Connect a Signal\". Verifique se o ícone de conexão verde agora aparece ao " "lado de `` func new_game () `` no script." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:231 msgid "" "In ``new_game()``, update the score display and show the \"Get Ready\" " "message:" msgstr "" "Em ``new_game()``, atualize o mostrador de pontuação e mostre a mensagem " "\"Prepare-se\":" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:245 msgid "In ``game_over()`` we need to call the corresponding ``HUD`` function:" msgstr "" "Em ``game_over()``, precisamos chamar a correspondente função de ``HUD``:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:256 #, fuzzy msgid "" "Finally, add this to ``_on_score_timer_timeout()`` to keep the display in " "sync with the changing score:" msgstr "" "Finalmente, adicione isto a ``_on_ScoreTimer_timeout()`` para manter o " "mostrador em sincronia com as mudanças de pontuação:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:270 #, fuzzy msgid "" "Remember to remove the call to ``new_game()`` from ``_ready()`` if you " "haven't already, otherwise your game will start automatically." msgstr "" "Quando tiver certeza que tudo esta a funcionar, remova a chamada de " "``new_game()`` em ``_ready()``." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:274 #, fuzzy msgid "" "Now you're ready to play! Click the \"Play the Project\" button. You will be " "asked to select a main scene, so choose ``main.tscn``." msgstr "" "Agora está tudo pronto para jogar! Clique no botão \"Executar o projeto\". " "Será solicitada a seleção de uma cena principal, então escolha ``Principal." "tscn``." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:278 msgid "Removing old creeps" msgstr "Removendo antigas criaturas" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:280 msgid "" "If you play until \"Game Over\" and then start a new game right away, the " "creeps from the previous game may still be on the screen. It would be better " "if they all disappeared at the start of a new game. We just need a way to " "tell *all* the mobs to remove themselves. We can do this with the \"group\" " "feature." msgstr "" "Se jogar até o \"Game Over\" e iniciar um novo jogo, as criaturas do jogo " "anterior ainda poderão estar no ecrã. Seria melhor se todas elas " "desaparecessem no iníco de cada partida. Só precisamos de um jeito de " "*falar* para todos os inimigos se auto-destruirem. Podemos fazé-lo com a " "funcionalidade \"group\"(grupo)." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:285 msgid "" "In the ``Mob`` scene, select the root node and click the \"Node\" tab next " "to the Inspector (the same place where you find the node's signals). Next to " "\"Signals\", click \"Groups\" and you can type a new group name and click " "\"Add\"." msgstr "" "Na cena do ``Inimigo``, selecione o nó raiz e clique na guia \"Nó\" próxima " "ao Inspetor(No mesmo lugar onde encontra os sinais do nó). Próximo a " "\"Sinais\", clique \"Grupos\", pode digitar o nome do novo grupo e clicar em " "\"Adicionar\"." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:291 #, fuzzy msgid "" "Now all mobs will be in the \"mobs\" group. We can then add the following " "line to the ``new_game()`` function in ``Main``:" msgstr "" "Agora todos os inimigos estarão no grupo \"inimigos\". Podemos então " "adicionar a seguinte linha à função ``game_over()`` em ``Main``:" #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:305 msgid "" "The ``call_group()`` function calls the named function on every node in a " "group - in this case we are telling every mob to delete itself." msgstr "" "A função ``call_group()``chama a função passada como parâmetro em cada nó do " "grupo - neste caso estamos a dizer cada inimigo se auto-destruir." #: ../../docs/getting_started/first_2d_game/06.heads_up_display.rst:308 msgid "" "The game's mostly done at this point. In the next and last part, we'll " "polish it a bit by adding a background, looping music, and some keyboard " "shortcuts." msgstr "" "O jogo está quase pronto nesse ponto. Na próxima e última parte, daremos um " "melhor acabamento adicionando um plano de fundo, música em \"looping\" e " "alguns atalhos de teclado." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:4 msgid "Finishing up" msgstr "Terminando" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:6 #, fuzzy msgid "" "We have now completed all the functionality for our game. Below are some " "remaining steps to add a bit more \"juice\" to improve the game experience." msgstr "" "Agora completamos toda a funcionalidade do nosso jogo. Abaixo estão alguns " "passos restantes para adicionar um pouco mais de \"sabor\" para melhorar a " "experiência do jogo. Sinta-se livre para expandir a jogabilidade com as suas " "próprias ideias." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:9 msgid "Feel free to expand the gameplay with your own ideas." msgstr "" "Sinta-se livre para expandir a jogabilidade com as suas próprias ideias." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:12 #: ../../docs/tutorials/3d/environment_and_post_processing.rst:133 msgid "Background" msgstr "Plano de fundo" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:14 #, fuzzy msgid "" "The default gray background is not very appealing, so let's change its " "color. One way to do this is to use a :ref:`ColorRect ` " "node. Make it the first node under ``Main`` so that it will be drawn behind " "the other nodes. ``ColorRect`` only has one property: ``Color``. Choose a " "color you like and select \"Layout\" -> \"Anchors Preset\" -> \"Full Rect\" " "either in the toolbar at the top of the viewport or in the inspector so that " "it covers the screen." msgstr "" "O plano de fundo padrão cor cinzento não é muito apelativo, então vamos " "mudar a cor dele. Uma maneira de fazer isso é usar um Nó :ref:`ColorRect " "` (\"retângulo colorido\"). Faça-o ser o primeiro Nó de " "``Principal`` para que ele seja desenhado por trás dos outros Nós. " "``ColorRect`` tem apenas uma propriedade: ``Color`` (\"cor\"). Escolha uma " "cor que goste e selecione, em \"Layout\", \"Full Rect\" para cobrir todo o " "ecrã." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:20 msgid "" "You could also add a background image, if you have one, by using a " "``TextureRect`` node instead." msgstr "" "Também pode adicionar uma imagem de plano de fundo, se tiver uma, ao usar um " "nó ``TextureRect``." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:24 msgid "Sound effects" msgstr "Efeitos sonoros" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:26 #, fuzzy msgid "" "Sound and music can be the single most effective way to add appeal to the " "game experience. In your game's **art** folder, you have two sound files: " "\"House In a Forest Loop.ogg\" for background music, and \"gameover.wav\" " "for when the player loses." msgstr "" "Som e música podem ser a forma mais efetiva de adicionar um atrativo à " "experiência de jogo. Na pasta de ativos do seu jogo, tem dois ficheiros de " "áudio: \"House In a Forest Loop.ogg\" para música de fundo e \"gameover." "wav\" para quando o jogador perde." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:31 msgid "" "Add two :ref:`AudioStreamPlayer ` nodes as children " "of ``Main``. Name one of them ``Music`` and the other ``DeathSound``. On " "each one, click on the ``Stream`` property, select \"Load\", and choose the " "corresponding audio file." msgstr "" "Adicione dois nós :ref:`AudioStreamPlayer ` como " "filhos de ``Principal``. Nomeie um deles como ``Musica`` e o outro como " "``SomDeMorte``. Em cada um, clique na propriedade ``Stream`` (\"fluxo\"), " "selecione \"Carregar\" e escolha o ficheiro sonoro correspondente." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:36 msgid "" "All audio is automatically imported with the ``Loop`` setting disabled. If " "you want the music to loop seamlessly, click on the Stream file arrow, " "select ``Make Unique``, then click on the Stream file and check the ``Loop`` " "box." msgstr "" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:40 msgid "" "To play the music, add ``$Music.play()`` in the ``new_game()`` function and " "``$Music.stop()`` in the ``game_over()`` function." msgstr "" "Para reproduzir a música, adicione ``$Musica.play()``na função " "``new_game()`` e ``$Musica.stop()`` na função ``game_over()``." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:43 msgid "Finally, add ``$DeathSound.play()`` in the ``game_over()`` function." msgstr "Por fim, adicione ``$SomDeMorte.play()`` na função ``game_over()``." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:74 msgid "Keyboard shortcut" msgstr "Atalho de teclado" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:76 msgid "" "Since the game is played with keyboard controls, it would be convenient if " "we could also start the game by pressing a key on the keyboard. We can do " "this with the \"Shortcut\" property of the ``Button`` node." msgstr "" "Como o jogo é jogado com controles de teclado, seria conveniente se " "pudéssemos iniciar o jogo a pressionar uma tecla do teclado. Uma maneira de " "fazer isso é a usar a propriedade \"Atalho\" do nó ``Button``." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:80 msgid "" "In a previous lesson, we created four input actions to move the character. " "We will create a similar input action to map to the start button." msgstr "" "Numa lição anterior, criamos quatro ações de entrada para mover o " "personagem. Criaremos uma ação de entrada similar para o botão de início." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:83 msgid "" "Select \"Project\" -> \"Project Settings\" and then click on the \"Input " "Map\" tab. In the same way you created the movement input actions, create a " "new input action called ``start_game`` and add a key mapping for the :kbd:" "`Enter` key." msgstr "" "Selecione \"Project\" -> \"Project Settings\" e clique na guia \"Input " "Map\". Da mesma forma que criou as ações de entrada ara movimentação, crie " "uma nova entrada chamada ``start_game`` e adicione uma tecla mapeada para :" "kbd:`Enter`." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:88 msgid "" "Now would be a good time to add controller support if you have one " "available. Attach or pair your controller and then under each input action " "that you wish to add controller support for, click on the \"+\" button and " "press the corresponding button, d-pad, or stick direction that you want to " "map to the respective input action." msgstr "" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:93 msgid "" "In the ``HUD`` scene, select the ``StartButton`` and find its **Shortcut** " "property in the Inspector. Create a new :ref:`Shortcut ` " "resource by clicking within the box, open the **Events** array and add a new " "array element to it by clicking on **Array[InputEvent] (size 0)**." msgstr "" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:100 #, fuzzy msgid "" "Create a new :ref:`InputEventAction ` and name it " "``start_game``." msgstr ":ref:`InputEventAction `" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:104 #, fuzzy msgid "" "Now when the start button appears, you can either click it or press :kbd:" "`Enter` to start the game." msgstr "" "Agora, quando o botão iniciar aparecer, Pode clicar nele ou pressionar :kbd: " "`Barra de Espaço` para iniciar o jogo." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:107 msgid "And with that, you completed your first 2D game in Godot." msgstr "E com isso, você completou seu primeiro jogo 2D em Godot." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:111 msgid "" "You got to make a player-controlled character, enemies that spawn randomly " "around the game board, count the score, implement a game over and replay, " "user interface, sounds, and more. Congratulations!" msgstr "" "Acabou de fazer um personagem controlado pelo jogador, inimigos que são " "gerados aleatoriamente pelo ecrã de jogo, contador de pontos, implementar um " "fim de jogo e repetição, interface de utilizador, sons e mais. " "Congratulações!!!" #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:115 msgid "" "There's still much to learn, but you can take a moment to appreciate what " "you achieved." msgstr "" "Ainda há muito a aprender, mas pode dar um tempo e apreciar a sua conquista." #: ../../docs/getting_started/first_2d_game/07.finishing-up.rst:118 msgid "" "And when you're ready, you can move on to :ref:`doc_your_first_3d_game` to " "learn to create a complete 3D game from scratch, in Godot." msgstr "" "E quando estiver pronto, pode ir a :ref:`doc_your_first_3d_game`para " "aprender a criar um Jogo 3D completo do zero na Godot." #: ../../docs/getting_started/first_3d_game/index.rst:6 msgid "Your first 3D game" msgstr "Seu primeiro jogo 3D" #: ../../docs/getting_started/first_3d_game/index.rst:8 msgid "" "In this step-by-step tutorial series, you will create your first complete 3D " "game with Godot. By the end of the series, you will have a simple yet " "finished project of your own like the animated gif below." msgstr "" "Nessa serie de tutoriais passo-à-passo, criará o seu primeiro Jogo 3D com " "Godot. Ao final da série, terá um projeto simples mas finalizado da sua " "própria autoria como o GIF animado abaixo." #: ../../docs/getting_started/first_3d_game/index.rst:14 msgid "" "The game we'll code here is similar to :ref:`doc_your_first_2d_game`, with a " "twist: you can now jump and your goal is to squash the creeps. This way, you " "will both **recognize patterns** you learned in the previous tutorial and " "**build upon them** with new code and features." msgstr "" "O jogo que codificaremos aqui é similar a :ref:`doc_your_first_2d_game`, com " "uma novidade: pode pular e o seu objetivo é esmagar os estranhos. Dessa " "forma ao mesmo tempo **reconhecerá padrões** que aprendeu no tutorial " "anterior e **construirá com base neles** novos códigos e atributos." #: ../../docs/getting_started/first_3d_game/index.rst:21 msgid "Work with 3D coordinates with a jumping mechanic." msgstr "Trabalha com coordenadas 3D com mecânica de salto." #: ../../docs/getting_started/first_3d_game/index.rst:22 msgid "" "Use kinematic bodies to move 3D characters and detect when and how they " "collide." msgstr "" "Usa corpos cinemáticos para mover personagens 3D e detetar quando e como " "eles colidem." #: ../../docs/getting_started/first_3d_game/index.rst:24 msgid "" "Use physics layers and a group to detect interactions with specific entities." msgstr "" "Use camadas físicas e um grupo para detetar interações com entidades " "específicas." #: ../../docs/getting_started/first_3d_game/index.rst:25 msgid "" "Code basic procedural gameplay by instancing monsters at regular time " "intervals." msgstr "" "Codifique uma jogabilidade procedural básica por instanciar em intervalo de " "tempo regular." #: ../../docs/getting_started/first_3d_game/index.rst:27 msgid "Design a movement animation and change its speed at run-time." msgstr "" "Projete uma animação de movimento e mude a velocidade em tempo de execução." #: ../../docs/getting_started/first_3d_game/index.rst:28 msgid "Draw a user interface on a 3D game." msgstr "Desenhar uma interface de utilizador num jogo 3D." #: ../../docs/getting_started/first_3d_game/index.rst:32 #, fuzzy msgid "" "This tutorial is for beginners who followed the complete getting started " "series. We'll start slow with detailed instructions and shorten them as we " "do similar steps. If you're an experienced programmer, you can browse the " "complete demo's source code here: `Squash the Creep source code `__." msgstr "" "Esse tutorial é para iniciantes os quais seguiram a série completa de " "iniciação. Começaremos de vagar com instruções detalhadas e encurtá-las " "conforme fazemos passos semelhantes. Se é um programador experiente, pode " "acessar o código fonte completo aqui: `Squash the Creep código fonte " "`__." #: ../../docs/getting_started/first_3d_game/index.rst:40 msgid "" "You can follow this series without having done the 2D one. However, if " "you're new to game development, we recommend you to start with 2D. 3D game " "code is always more complex and the 2D series will give you foundations to " "follow along more comfortably." msgstr "" "Pode seguir esta série sem ter feito o 2D. Contudo, se você é novo no " "desenvolvimento de jogos, recomendamos que comece com o 2D. O código de jogo " "3D é sempre mais complexo e a série 2D dará a você fundamentos para seguir " "adiante mais confortável." #: ../../docs/getting_started/first_3d_game/index.rst:45 #, fuzzy msgid "" "We prepared some game assets so we can jump straight to the code. You can " "download them here: `Squash the Creeps assets `__." msgstr "" "Preparamos alguns recursos do jogo para que possamos pular direto ao código. " "Pode descarregá-los aqui: `Squash the Creeps assets `__." #: ../../docs/getting_started/first_3d_game/index.rst:49 msgid "" "We will first work on a basic prototype for the player's movement. We will " "then add the monsters that we'll spawn randomly around the screen. After " "that, we'll implement the jump and squashing mechanic before refining the " "game with some nice animation. We'll wrap up with the score and the retry " "screen." msgstr "" "Vamos primeiro trabalhar num protótipo básico para o movimento do jogador. " "Em seguida, adicionaremos os monstros que iremos gerar aleatoriamente pelo " "ecrã. Depois disso, implementaremos a mecânica de pular e esmagar antes de " "refinar o jogo com uma boa animação. Terminaremos com a pontuação e o ecrã " "de repetição." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:6 msgid "Setting up the game area" msgstr "Configurando a área de jogo" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:8 msgid "" "In this first part, we're going to set up the game area. Let's get started " "by importing the start assets and setting up the game scene." msgstr "" "Nesta primeira parte, vamos configurar a área de jogo. Vamos começar " "importando os assets iniciais e configurando a cena do jogo." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:11 #, fuzzy msgid "" "We've prepared a Godot project with the 3D models and sounds we'll use for " "this tutorial, linked in the index page. If you haven't done so yet, you can " "download the archive here: `Squash the Creeps assets `__." msgstr "" "Preparamos um projeto Godot com os modelos 3D e sons que usaremos para este " "tutorial, vinculados na página de índice. Se ainda não o fez, pode " "descarregar o arquivo aqui: `Squash the Creeps assets `__." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:16 #, fuzzy msgid "" "Once you downloaded it, extract the .zip archive on your computer. Open the " "Godot Project Manager and click the *Import* button." msgstr "" "Depois de descarregá-lo, extraia o arquivo .zip noseu computador. Abra o " "gestor de projetos Godot e clique no botão *Importar*." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:21 msgid "" "In the import popup, enter the full path to the freshly created directory " "``squash_the_creeps_start/``. You can click the *Browse* button on the right " "to open a file browser and navigate to the ``project.godot`` file the folder " "contains." msgstr "" "No pop-up de importação, insira o caminho completo ao diretório recém-criado " "``squash_the_creeps_start/``. Pode clicar no botão *Procurar* à direita para " "abrir um navegador de ficheiros e navegar até o ficheiro ``project.godot`` " "que a pasta contém." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:28 msgid "Click *Import & Edit* to open the project in the editor." msgstr "Clique em *Importar & Editar* para abrir o projeto no editor." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:32 msgid "" "The start project contains an icon and two folders: ``art/`` and ``fonts/``. " "There, you will find the art assets and music we'll use in the game." msgstr "" "O projeto inicial contém um ícone e duas pastas: ``art/`` e ``fonts/``. Lá, " "encontrará os recursos de arte e música que usaremos no jogo." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:37 msgid "" "There are two 3D models, ``player.glb`` and ``mob.glb``, some materials that " "belong to these models, and a music track." msgstr "" "Existem dois modelos 3D, ``player.glb`` e ``mob.glb``, alguns materiais que " "pertencem a esses modelos e uma faixa de música." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:41 #, fuzzy msgid "Setting up the playable area" msgstr "Movendo o Jogador" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:43 #, fuzzy msgid "" "We're going to create our main scene with a plain :ref:`Node ` " "as its root. In the *Scene* dock, click the *Add Child Node* button " "represented by a \"+\" icon in the top-left and double-click on *Node*. Name " "the node ``Main``. An alternate method to rename the node is to right-click " "on *Node* and choose *Rename* (or :kbd:`F2`). Alternatively, to add a node " "to the scene, you can press :kbd:`Ctrl + a` (or :kbd:`Cmd + a` on macOS)." msgstr "" "Vamos criar nossa cena principal com um *Nó* simples como raiz. No encaixe " "*Scene*, clique no botão *Add Node* representado por um ícone \"+\" no canto " "superior esquerdo e clique duas vezes em *Node*. Nomeie o nó \"Principal\". " "Como alternativa, para adicionar um nó à cena, pode pressionar :kbd:`Ctrl + " "a` (ou :kbd:`Cmd + a` no macOS)." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:50 #, fuzzy msgid "" "Save the scene as ``main.tscn`` by pressing :kbd:`Ctrl + s` (:kbd:`Cmd + s` " "on macOS)." msgstr "" "Salve a cena. Clique em Cena -> Salvar ou pressione :kbd:`Ctrl + S` no " "Windows/Linux ou :kbd:`Cmd + S` no macOS." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:52 #, fuzzy msgid "" "We'll start by adding a floor that'll prevent the characters from falling. " "To create static colliders like the floor, walls, or ceilings, you can use :" "ref:`StaticBody3D ` nodes. They require :ref:" "`CollisionShape3D ` child nodes to define the " "collision area. With the ``Main`` node selected, add a :ref:`StaticBody3D " "` node, then a :ref:`CollisionShape3D " "`. Rename the :ref:`StaticBody3D " "` to ``Ground``." msgstr "" "Começaremos adicionando um piso que evitará que os personagens caiam. Para " "criar colisores estáticos como piso, paredes ou tetos, pode usar nós " "*StaticBody*. Eles requerem nós filhos *CollisionShape* para definir a área " "de colisão. Com o nó *Main* selecionado, adicione um nó *StaticBody* e, em " "seguida, um *CollisionShape*. Renomeie o *StaticBody* como *Chao*." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:59 #, fuzzy msgid "Your scene tree should look like this" msgstr "A sua cena deve parecer-se com isto:" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:63 #, fuzzy msgid "" "A warning sign next to the :ref:`CollisionShape3D ` " "appears because we haven't defined its shape. If you click the icon, a popup " "appears to give you more information." msgstr "" "Um sinal de aviso ao lado de *CollisionShape* aparece porque não definimos a " "forma dele. Se clicar no ícone, aparecerá um pop-up com mais informações." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:68 #, fuzzy msgid "" "To create a shape, select the :ref:`CollisionShape3D " "` node, head to the *Inspector* and click the " "** field next to the *Shape* property. Create a new *BoxShape3D*." msgstr "" "Para criar uma forma, com a *CollisionShape* selecionada, vá até o " "*Inspector* e clique no campo *[empty]* ao lado da propriedade *Shape*. Crie " "uma nova *Forma de caixa*." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:73 msgid "" "The box shape is perfect for flat ground and walls. Its thickness makes it " "reliable to block even fast-moving objects." msgstr "" "A forma de caixa é perfeita para terrenos planos e paredes. A espessura dela " "torna-o confiável para bloquear até mesmo objetos em movimento rápido." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:76 #, fuzzy msgid "" "A box's wireframe appears in the viewport with three orange dots. You can " "click and drag these to edit the shape's extents interactively. We can also " "precisely set the size in the inspector. Click on the :ref:`BoxShape3D " "` to expand the resource. Set its *Size* to ``60`` on the " "X axis, ``2`` for the Y axis, and ``60`` for the Z axis." msgstr "" "A estrutura de arame de uma caixa aparece na viewport com três pontos " "laranja. Pode clicar e arrastá-los para editar as extensões da forma " "interativamente. Também podemos definir com precisão o tamanho no inspetor. " "Clique no *BoxShape* para expandir o recurso. Define as suas *Extensões* " "para ``30`` no eixo X, ``1`` para o eixo Y e ``30`` para o eixo Z." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:85 #, fuzzy msgid "" "Collision shapes are invisible. We need to add a visual floor that goes " "along with it. Select the ``Ground`` node and add a :ref:`MeshInstance3D " "` as its child." msgstr "" "Formas de colisão são invisíveis. Precisamos adicionar um piso visual que o " "acompanhe. Selecione o nó *Ground* e adicione um *MeshInstance* como seu " "filho." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:90 #, fuzzy msgid "" "In the *Inspector*, click on the field next to *Mesh* and create a :ref:" "`BoxMesh ` resource to create a visible box." msgstr "" "No *Inspector*, clique no campo ao lado de *Mesh* e crie um recurso " "*CubeMesh* para criar um cubo visível." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:95 #, fuzzy msgid "" "Once again, it's too small by default. Click the box icon to expand the " "resource and set its *Size* to ``60``, ``2``, and ``60``." msgstr "" "Mais uma vez, é muito pequeno por padrão. Clique no ícone do cubo para " "expandir o recurso e define o *Tamanho* dele como ``60``, ``2`` e ``60``. " "Como o recurso do cubo trabalha com um tamanho em vez de extensões, " "precisamos usar esses valores para que correspondam à nossa forma de colisão." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:100 msgid "" "You should see a wide grey slab that covers the grid and blue and red axes " "in the viewport." msgstr "" "Deve ver uma ampla placa cinzento que cobre a grade e os eixos azul e " "vermelho na janela de visualização." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:103 #, fuzzy msgid "" "We're going to move the ground down so we can see the floor grid. Select the " "``Ground`` node, hold the :kbd:`Ctrl` key down to turn on grid snapping, and " "click and drag down on the Y axis. It's the green arrow in the move gizmo." msgstr "" "Vamos mover o chão para baixo para que possamos ver a grade do chão. " "Selecione o nó *Ground*, mantenha pressionada a tecla :kbd:`Ctrl` para " "ativar o encaixe da grade (:kbd:`Cmd` no macOS) e clique e arraste para " "baixo no eixo Y. É a seta verde no gizmo de movimento." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:111 msgid "" "If you can't see the 3D object manipulator like on the image above, ensure " "the *Select Mode* is active in the toolbar above the view." msgstr "" "Se não conseguir ver o manipulador de objetos 3D como na imagem acima, " "certifique-se de que *Modo de seleção* esteja ativo na barra de ferramentas " "acima da visualização." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:116 #, fuzzy msgid "" "Move the ground down ``1`` meter, in order to have a visible editor grid. A " "label in the bottom-left corner of the viewport tells you how much you're " "translating the node." msgstr "" "Mova o chão para baixo ``1`` metro. Um rótulo no canto inferior esquerdo da " "viewport informa o quanto está a transladar o nó." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:123 #, fuzzy msgid "" "Moving the *Ground* node down moves both children along with it. Ensure you " "move the *Ground* node, **not** the *MeshInstance3D* or the " "*CollisionShape3D*." msgstr "" "Mover o nó *Ground* para baixo move os dois filhos junto com ele. Certifique-" "se de mover o nó *Ground*, **não** o *MeshInstance* ou o *CollisionShape*." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:127 msgid "Ultimately, ``Ground``'s transform.position.y should be -1" msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:131 msgid "" "Let's add a directional light so our scene isn't all grey. Select the " "``Main`` node and add a child node :ref:`DirectionalLight3D " "`." msgstr "" #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:136 #, fuzzy msgid "" "We need to move and rotate the :ref:`DirectionalLight3D " "` node. Move it up by clicking and dragging on the " "manipulator's green arrow and click and drag on the red arc to rotate it " "around the X axis, until the ground is lit." msgstr "" "Vamos adicionar uma luz direcional para que nossa cena não fique toda " "cinzento. Selecione o nó *Main* e adicione um *DirectionalLight* como filho " "dele. Precisamos movê-lo e girá-lo. Mova-o para cima clicando e arrastando " "na seta verde do manipulador e clique e arraste no arco vermelho para girá-" "lo em torno do eixo X, até que o chão esteja iluminado." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:141 msgid "" "In the *Inspector*, turn on *Shadow -> Enabled* by clicking the checkbox." msgstr "No *Inspetor*, ative *Sombra -> Ativado* clicando na caixa de seleção." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:145 msgid "At this point, your project should look like this." msgstr "Neste ponto, seu projeto deve se parecer com isso." #: ../../docs/getting_started/first_3d_game/01.game_setup.rst:149 msgid "" "That's our starting point. In the next part, we will work on the player " "scene and base movement." msgstr "" "Esse é o nosso ponto de partida. Na próxima parte, trabalharemos a cena do " "jogador e o movimento da base." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:6 msgid "Player scene and input actions" msgstr "Cena do Jogador e ações de entrada" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:8 msgid "" "In the next two lessons, we will design the player scene, register custom " "input actions, and code player movement. By the end, you'll have a playable " "character that moves in eight directions." msgstr "" "Nas próximas duas lições, projetaremos a cena do jogador, registaremos ações " "de entrada personalizadas e codificaremos o movimento do jogador. Ao final, " "terá uma personagem jogável que se move em oito direções." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:15 #, fuzzy msgid "" "Create a new scene by going to the Scene menu in the top-left and clicking " "*New Scene*." msgstr "Crie uma nova cena acedendo o menu *Cena* e clicando em *Nova Cena*." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:20 msgid "" "Create a :ref:`CharacterBody3D ` node as the root" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:24 #, fuzzy msgid "" "Name the :ref:`CharacterBody3D ` to ``Player``. " "Character bodies are complementary to the area and rigid bodies used in the " "2D game tutorial. Like rigid bodies, they can move and collide with the " "environment, but instead of being controlled by the physics engine, **you** " "dictate their movement. You will see how we use the node's unique features " "when we code the jump and squash mechanics." msgstr "" "Os corpos cinemáticos são complementares à área e aos corpos rígidos usados " "no tutorial do jogo 2D. Como corpos rígidos, eles podem se mover e colidir " "com o ambiente, mas em vez de serem controlados pelo mecanismo de física, " "dita o movimento deles. Verá como usamos os recursos exclusivos do nó quando " "codificamos a mecânica de pular e esmagar." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:33 msgid "" "To learn more about the different physics node types, see the :ref:" "`doc_physics_introduction`." msgstr "" "Para aprender mais sobre os diferentes tipos de nodos físicos, veja :ref:" "`doc_physics_introduction`." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:36 msgid "" "For now, we're going to create a basic rig for our character's 3D model. " "This will allow us to rotate the model later via code while it plays an " "animation." msgstr "" "Por enquanto, vamos criar um rig básico para o modelo 3D do nosso " "personagem. Isso nos permitirá girar o modelo posteriormente via código " "enquanto ele reproduz uma animação." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:39 msgid "" "Add a :ref:`Node3D ` node as a child of ``Player`` and name it " "``Pivot``" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:43 #, fuzzy msgid "" "Then, in the FileSystem dock, expand the ``art/`` folder by double-clicking " "it and drag and drop ``player.glb`` onto ``Pivot``." msgstr "" "Adicione um nó *Spatial* como filho de *Player* e nomeie-o como *Pivot*. Em " "seguida, no dock FileSystem, expanda a pasta ``art/`` clicando duas vezes " "nela e arraste e solte ``player.glb`` no nó *Pivot*." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:49 #, fuzzy msgid "" "This should instantiate the model as a child of ``Pivot``. You can rename it " "to ``Character``." msgstr "" "Isso deve instanciar o modelo como filho de *Pivot*. Pode renomeá-lo para " "*Caractere*." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:56 #, fuzzy msgid "" "The ``.glb`` files contain 3D scene data based on the open source GLTF 2.0 " "specification. They're a modern and powerful alternative to a proprietary " "format like FBX, which Godot also supports. To produce these files, we " "designed the model in `Blender 3D `__ and exported " "it to GLTF." msgstr "" "Os ficheiros ``.glb`` contêm dados de cena 3D baseados na especificação GLTF " "2.0 de código aberto. Eles são uma alternativa moderna e poderosa para um " "formato proprietário como o FBX, que o Godot também suporta. Para produzir " "esses ficheiros, projetamos o modelo no `Blender 3D `__ e exportamos para GLTF." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:61 #, fuzzy msgid "" "As with all kinds of physics nodes, we need a collision shape for our " "character to collide with the environment. Select the ``Player`` node again " "and add a child node :ref:`CollisionShape3D `. In " "the *Inspector*, on the *Shape* property, add a new :ref:`SphereShape3D " "`." msgstr "" "Como em todos os tipos de nodos físicos, precisamos de uma forma de colisão " "para que nosso personagem colida com o ambiente. Selecione o nó *Player* " "novamente e adicione um *CollisionShape*. No *Inspector*, atribua um " "*SphereShape* à propriedade *Shape*. A estrutura de arame da esfera aparece " "abaixo do personagem." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:67 msgid "The sphere's wireframe appears below the character." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:69 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:379 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:44 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:66 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:50 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:33 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:38 #: ../../docs/community/asset_library/using_assetlib.rst:81 msgid "|image3|" msgstr "|image3|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:169 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:450 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:337 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:371 #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:529 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:453 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:611 #: ../../docs/community/asset_library/using_assetlib.rst:190 msgid "image3" msgstr "|image3|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:71 msgid "" "It will be the shape the physics engine uses to collide with the " "environment, so we want it to better fit the 3D model. Shrink it a bit by " "dragging the orange dot in the viewport. My sphere has a radius of about " "``0.8`` meters." msgstr "" "Será a forma que o motor de física usa para colidir com o ambiente, então " "queremos que ela se encaixe melhor no modelo 3D. Reduza um pouco arrastando " "o ponto laranja na viewport. Minha esfera tem um raio de cerca de ``0,8`` " "metros." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:75 msgid "" "Then, move the shape up so its bottom roughly aligns with the grid's plane." msgstr "" "Em seguida, mova a forma para cima para que a parte inferior dela fique " "aproximadamente alinhada com o plano da grade." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:79 #, fuzzy msgid "" "You can toggle the model's visibility by clicking the eye icon next to the " "``Character`` or the ``Pivot`` nodes." msgstr "" "Pode alternar a visibilidade do modelo clicando no ícone de olho ao lado dos " "nós *Caractere* ou *Pivot*." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:84 #, fuzzy msgid "Save the scene as ``player.tscn``" msgstr "Por fim, salve a cena com um nome como `digaoi.tscn`." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:86 msgid "" "With the nodes ready, we can almost get coding. But first, we need to define " "some input actions." msgstr "" "Com os nós prontos, podemos quase começar a codificar. Mas primeiro, " "precisamos definir algumas ações de entrada." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:90 #, fuzzy msgid "Creating input actions" msgstr "Criar nós" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:92 msgid "" "To move the character, we will listen to the player's input, like pressing " "the arrow keys. In Godot, while we could write all the key bindings in code, " "there's a powerful system that allows you to assign a label to a set of keys " "and buttons. This simplifies our scripts and makes them more readable." msgstr "" "Para mover o personagem, vamos escutar a entrada do jogador, como pressionar " "as teclas de seta. Em Godot, embora possamos escrever todas as combinações " "de teclas em código, há um sistema poderoso que permite atribuir um rótulo a " "um conjunto de teclas e botões. Isso simplifica nossos scripts e os torna " "mais legíveis." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:97 #, fuzzy msgid "" "This system is the Input Map. To access its editor, head to the *Project* " "menu and select *Project Settings*." msgstr "" "Este sistema é o Mapa de Entrada. Para acessar o editor dele, vá até o menu " "*Projeto* e selecione *Configurações do projeto…*." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:100 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:400 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:89 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:61 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:92 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:55 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:57 #: ../../docs/community/asset_library/using_assetlib.rst:99 msgid "|image6|" msgstr "|imagem 6|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:172 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:453 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:341 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:340 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:374 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:456 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:614 #: ../../docs/community/asset_library/using_assetlib.rst:193 #, fuzzy msgid "image6" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:102 msgid "" "At the top, there are multiple tabs. Click on *Input Map*. This window " "allows you to add new actions at the top; they are your labels. In the " "bottom part, you can bind keys to these actions." msgstr "" "Na parte superior, existem várias guias. Clique em *Mapa de entrada*. Esta " "janela permite adicionar novas ações na parte superior; eles são os seus " "rótulos. Na parte inferior, pode vincular teclas a essas ações." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:106 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:405 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:101 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:66 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:191 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:74 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:61 #: ../../docs/community/asset_library/using_assetlib.rst:125 msgid "|image7|" msgstr "|image7|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:173 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:454 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:342 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:341 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:375 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:457 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:615 #: ../../docs/community/asset_library/using_assetlib.rst:194 #, fuzzy msgid "image7" msgstr "|image7|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:108 msgid "" "Godot projects come with some predefined actions designed for user interface " "design, which we could use here. But we're defining our own to support " "gamepads." msgstr "" "Os projetos Godot vêm com algumas ações predefinidas projetadas para o " "design da interface do utilizador, que poderíamos usar aqui. Mas estamos " "definindo o nosso próprio para oferecer suporte a gamepads." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:111 msgid "" "We're going to name our actions ``move_left``, ``move_right``, " "``move_forward``, ``move_back``, and ``jump``." msgstr "" "Vamos nomear nossas ações ``move_left``, ``move_right``, ``move_forward``, " "``move_back`` e ``jump``." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:114 msgid "To add an action, write its name in the bar at the top and press Enter." msgstr "" "Para adicionar uma ação, escreva o nome dele na barra superior e pressione " "Enter." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:116 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:411 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:224 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:72 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:196 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:108 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:66 #: ../../docs/community/asset_library/using_assetlib.rst:133 msgid "|image8|" msgstr "|image8|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:174 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:455 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:343 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:342 #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:376 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:458 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:616 #: ../../docs/community/asset_library/using_assetlib.rst:195 #, fuzzy msgid "image8" msgstr "|image8|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:118 #, fuzzy msgid "Create the following five actions:" msgstr "Existem as seguintes ressalvas:" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:120 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:416 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:229 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:77 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:169 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:71 #: ../../docs/community/asset_library/using_assetlib.rst:154 msgid "|image9|" msgstr "|image9|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:175 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:456 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:344 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:343 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:459 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:617 #: ../../docs/community/asset_library/using_assetlib.rst:196 #, fuzzy msgid "image9" msgstr "|image9|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:122 #, fuzzy msgid "" "To bind a key or button to an action, click the \"+\" button to its right. " "Do this for ``move_left``. Press the left arrow key and click *OK*." msgstr "" "Para vincular uma tecla ou botão a uma ação, clique no botão \"+\" à " "direita. Faça isso para ``move_left`` e no menu suspenso, clique em *Key*." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:127 msgid "Bind also the :kbd:`A` key, onto the action ``move_left``." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:129 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:103 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:202 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:100 #: ../../docs/community/asset_library/using_assetlib.rst:173 msgid "|image12|" msgstr "|image12|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:177 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:346 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:462 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:620 #: ../../docs/community/asset_library/using_assetlib.rst:199 #, fuzzy msgid "image12" msgstr "|image12|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:131 #, fuzzy msgid "" "Let's now add support for a gamepad's left joystick. Click the \"+\" button " "again but this time, select *Manual Selection -> Joypad Axes*." msgstr "" "Vamos agora adicionar suporte para o joystick esquerdo de um gamepad. Clique " "no botão \"+\" novamente, mas desta vez, selecione *Joy Axis*." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:136 msgid "Select the negative X axis of the left joystick." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:140 msgid "Leave the other values as default and press *OK*" msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:144 msgid "" "If you want controllers to have different input actions, you should use the " "Devices option in Additional Options. Device 0 corresponds to the first " "plugged gamepad, Device 1 corresponds to the second plugged gamepad, and so " "on." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:146 #, fuzzy msgid "" "Do the same for the other input actions. For example, bind the right arrow, " "D, and the left joystick's positive axis to ``move_right``. After binding " "all keys, your interface should look like this." msgstr "" "Faça o mesmo para as outras ações de entrada. Por exemplo, vincule a seta " "para a direita, D e o eixo direito do joystick esquerdo para ``move_right``. " "Depois de vincular todas as chaves, a sua interface deve ficar assim." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:150 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:128 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:312 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:137 #, fuzzy msgid "|image15|" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:178 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:349 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:465 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:623 #, fuzzy msgid "image15" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:152 msgid "" "The final action to set up is the ``jump`` action. Bind the Space key and " "the gamepad's A button." msgstr "" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:155 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:133 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:317 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:148 #, fuzzy msgid "|image16|" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:179 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:350 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:466 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:624 #, fuzzy msgid "image16" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:157 msgid "Your jump input action should look like this." msgstr "Sua ação de entrada de salto deve se parecer com isso." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:159 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:145 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:335 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:159 #, fuzzy msgid "|image18|" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:181 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:352 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:468 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:626 #, fuzzy msgid "image18" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:161 msgid "" "That's all the actions we need for this game. You can use this menu to label " "any groups of keys and buttons in your projects." msgstr "" "Essas são todas as ações que precisamos para este jogo. Pode usar este menu " "para rotular quaisquer grupos de teclas e botões nos seus projetos." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:164 msgid "In the next part, we'll code and test the player's movement." msgstr "Na próxima parte, Iremos programar e testar o movimento do jogador." #: ../../docs/getting_started/first_3d_game/02.player_input.rst:176 #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:458 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:345 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:461 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:619 #: ../../docs/community/asset_library/using_assetlib.rst:198 #, fuzzy msgid "image11" msgstr "|image11|" #: ../../docs/getting_started/first_3d_game/02.player_input.rst:180 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:351 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:467 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:625 #, fuzzy msgid "image17" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:6 #, fuzzy msgid "Moving the player with code" msgstr "Movendo o Jogador" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:8 msgid "" "It's time to code! We're going to use the input actions we created in the " "last part to move the character." msgstr "" "É hora de programar! Vamos usar as ações de entradas que criamos na última " "parte para movimentar o jogador." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:11 #, fuzzy msgid "" "Right-click the ``Player`` node and select *Attach Script* to add a new " "script to it. In the popup, set the *Template* to *Empty* before pressing " "the *Create* button." msgstr "" "Clique com o botão direito do mouse no nó *Jogador* e selecione *Anexar " "Script* para adicionar um novo script a ele. No popup, defina o *Modelo* " "para *Vazio* antes de pressionar o botão *Criar*." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:17 msgid "" "Let's start with the class's properties. We're going to define a movement " "speed, a fall acceleration representing gravity, and a velocity we'll use to " "move the character." msgstr "" "Vamos começar com as propriedades da classe. Vamos definir a velocidade do " "movimento, a aceleração da queda representando a gravidade e a velocidade " "que usaremos para mover o jogador." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:52 #, fuzzy msgid "" "These are common properties for a moving body. The ``target_velocity`` is a :" "ref:`3D vector ` combining a speed with a direction. Here, we " "define it as a property because we want to update and reuse its value across " "frames." msgstr "" "Estas são propriedades comuns para um corpo em movimento. O ``velocity`` é " "um vetor 3D que combina uma velocidade com uma direção. Aqui, definimos-o " "como uma propriedade porque queremos atualizar e reutilizar o valor dele nos " "quadros." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:58 msgid "" "The values are quite different from 2D code because distances are in meters. " "While in 2D, a thousand units (pixels) may only correspond to half of your " "screen's width, in 3D, it's a kilometer." msgstr "" "Os valores são bem diferentes do código 2D porque as distâncias são em " "metros. Enquanto que no 2D, mil unidades (pixels) podem corresponder a " "somente metade da largura do ecrã e no 3D, é um quilômetro." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:62 #, fuzzy msgid "" "Let's code the movement. We start by calculating the input direction vector " "using the global ``Input`` object, in ``_physics_process()``." msgstr "" "Vamos programar o movimento agora. Começamos calculando o vetor de direção " "de entrada utilizando o objeto global ``Input``, em ``_physics_process()``." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:112 msgid "" "Here, we're going to make all calculations using the ``_physics_process()`` " "virtual function. Like ``_process()``, it allows you to update the node " "every frame, but it's designed specifically for physics-related code like " "moving a kinematic or rigid body." msgstr "" "Aqui, vamos fazer todos os cálculos utilizando a função virtual " "``_physics_process()``. Como ``_process()``, ela permite atualizar o nó a " "cada quadro, mas é desenvolvida especificamente para código relacionado à " "física, como mover um corpo cinemático ou rígido." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:119 msgid "" "To learn more about the difference between ``_process()`` and " "``_physics_process()``, see :ref:`doc_idle_and_physics_processing`." msgstr "" "Para saber mais sobre a diferença entre ``_process()`` e " "``_physics_process()``, veja :ref:`doc_idle_and_physics_processing`." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:122 msgid "" "We start by initializing a ``direction`` variable to ``Vector3.ZERO``. Then, " "we check if the player is pressing one or more of the ``move_*`` inputs and " "update the vector's ``x`` and ``z`` components accordingly. These correspond " "to the ground plane's axes." msgstr "" "Começamos inicializando uma variável ``direction`` para ``Vector3.ZERO``. Em " "seguida, verificamos se o jogador pressiona uma ou mais das entradas " "``move_*`` e atualizamos os componentes do vetor ``x`` e ``z`` de acordo. " "Estes correspondem aos eixos do plano do solo." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:127 msgid "" "These four conditions give us eight possibilities and eight possible " "directions." msgstr "" "Essas quatro condições nos dão oito possibilidades e oito direções possíveis." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:129 #, fuzzy msgid "" "In case the player presses, say, both W and D simultaneously, the vector " "will have a length of about ``1.4``. But if they press a single key, it will " "have a length of ``1``. We want the vector's length to be consistent, and " "not move faster diagonally. To do so, we can call its ``normalized()`` " "method." msgstr "" "No caso do jogador apertar, por exemplo, W e D simultaneamente, o vetor terá " "o comprimento de aproximadamente ``1.4``. Mas se ele apertar só uma tecla, " "ele terá a largura de ``1``. Queremos que a largura do vetor seja " "consistente. Para isso, podemos chamar o método ``normalize()``." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:157 msgid "" "Here, we only normalize the vector if the direction has a length greater " "than zero, which means the player is pressing a direction key." msgstr "" "Aqui, só normalizamos o vetor na direção que tem um comprimento maior que " "zero, o que significa que o jogador apertou uma tecla de direção." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:160 #, fuzzy msgid "" "In this case, we also get the ``Pivot`` node and call its ``look_at()`` " "method. This method takes a position in space to look at in global " "coordinates and the up direction. In this case, we can use the ``Vector3." "UP`` constant." msgstr "" "Neste caso, também obtemos o nó *Pivot* e chamamos o método ``look_at()`` " "dele. Esse método toma a posição no espaço para olhar nas coordenadas " "globais e a direção para cima. Nesse caso, podemos usar a constante " "``Vector3.UP``." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:166 #, fuzzy msgid "" "A node's local coordinates, like ``position``, are relative to their parent. " "Global coordinates, like ``global_position`` are relative to the world's " "main axes you can see in the viewport instead." msgstr "" "As coordenadas locais de um nó, como ``translation``, são relativas ao seu " "pai. Já as coordenadas globais são relativas aos eixos principais do mundo " "que por sua vez se vê no viewport." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:170 #, fuzzy msgid "" "In 3D, the property that contains a node's position is ``position``. By " "adding the ``direction`` to it, we get a position to look at that's one " "meter away from the ``Player``." msgstr "" "No 3D, a propriedade que contem a posição do nó é `translation``. " "Adicionando a ``direction``, obtemos uma posição para olhar que é a um metro " "de distância do *Player*." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:174 #, fuzzy msgid "" "Then, we update the velocity. We have to calculate the ground velocity and " "the fall speed separately. Be sure to go back one tab so the lines are " "inside the ``_physics_process()`` function but outside the condition we just " "wrote above." msgstr "" "Então, atualizamos a velocidade. Temos que calcular a velocidade do solo e a " "velocidade de queda separadamente. Certifique-se de voltar uma guia para que " "as linhas estejam dentro da função ``_physics_process()``, mas fora da " "condição que acguiamos de escrever." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:223 #, fuzzy msgid "" "The ``CharacterBody3D.is_on_floor()`` function returns ``true`` if the body " "collided with the floor in this frame. That's why we apply gravity to the " "``Player`` only while it is in the air." msgstr "" "O método ``is_on_floor()`` é uma ferramenta da classe ``KinematicBody``. Ele " "retorna ``true`` se o corpo colidiu com o chão neste quadro. É por isso que " "aplicamos gravidade ao *Player*: para colidimos com o chão em vez de flutuar " "sobre ele como os monstros." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:226 #, fuzzy msgid "" "For the vertical velocity, we subtract the fall acceleration multiplied by " "the delta time every frame. This line of code will cause our character to " "fall in every frame, as long as it is not on or colliding with the floor." msgstr "" "Para a velocidade vertical, subtraímos a aceleração da queda multiplicada " "pelo tempo delta a cada quadro. Observe a utilização do operador ``-=``, que " "é uma abreviação para ``variable = variable - ...``." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:230 msgid "" "The physics engine can only detect interactions with walls, the floor, or " "other bodies during a given frame if movement and collisions happen. We will " "use this property later to code the jump." msgstr "" "O motor de física só pode detetar interações com paredes, com chão ou com " "outros corpos durante um determinado quadro se o movimento e a colisão " "acontecerem. Usaremos essa propriedade mais para frente quando fizermos o " "código para pular." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:234 #, fuzzy msgid "" "On the last line, we call ``CharacterBody3D.move_and_slide()`` which is a " "powerful method of the ``CharacterBody3D`` class that allows you to move a " "character smoothly. If it hits a wall midway through a motion, the engine " "will try to smooth it out for you. It uses the *velocity* value native to " "the :ref:`CharacterBody3D `" msgstr "" "Na última linha, chamaremos ``KinematicBody.move_and_slide()``. é um método " "poderoso da classe ``KinematicBody``que permite que o personagem se mova " "sutilmente. Se ele acertar a parede no meio do movimento, o motor tentará " "suavizar isto para si." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:246 msgid "And that's all the code you need to move the character on the floor." msgstr "E isso é todo o código necessário para mover o personagem no chão." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:248 msgid "Here is the complete ``Player.gd`` code for reference." msgstr "Aqui está o código completo de ``Player.gd`` como referência." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:350 msgid "Testing our player's movement" msgstr "Testando o movimento do nosso personagem" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:352 #, fuzzy msgid "" "We're going to put our player in the ``Main`` scene to test it. To do so, we " "need to instantiate the player and then add a camera. Unlike in 2D, in 3D, " "you won't see anything if your viewport doesn't have a camera pointing at " "something." msgstr "" "Vamos pôr nosso jogador na cena *Main* para testá-lo. Para isso, precisamos " "instanciar o jogador e depois adicionar a câmara. Diferente do 2D, no 3D não " "vê nada caso a janela de exibição não tenha uma câmara apontada para algo." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:356 #, fuzzy msgid "" "Save your ``Player`` scene and open the ``Main`` scene. You can click on the " "*Main* tab at the top of the editor to do so." msgstr "" "Salve a cena *Player* e abra a cena *Main*. Você pode clicar na aba *Main* " "no topo do editor para fazê-lo." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:361 #, fuzzy msgid "" "If you closed the scene before, head to the *FileSystem* dock and double-" "click ``main.tscn`` to re-open it." msgstr "" "Se você fechou a cena antes, vá até o painel *Sistema de Arquivos* e clique " "duas vezes em ``Main.tscn`` para reabri-la." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:364 #, fuzzy msgid "" "To instantiate the ``Player``, right-click on the ``Main`` node and select " "*Instantiate Child Scene*." msgstr "" "Para instanciar o *Player*, clique com o botão direito do mouse sobre o nó " "*Main* e selecione *Instanciar Cena Filha*." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:369 #, fuzzy msgid "" "In the popup, double-click ``player.tscn``. The character should appear in " "the center of the viewport." msgstr "" "Na pop-up, de um clique duplo em *Player.tscn*. O personagem deve aparecer " "no centro da janela de exibição." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:373 #, fuzzy msgid "Adding a camera" msgstr "Adicionando um script" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:375 #, fuzzy msgid "" "Let's add the camera next. Like we did with our *Player*\\ 's *Pivot*, we're " "going to create a basic rig. Right-click on the ``Main`` node again and " "select *Add Child Node*. Create a new :ref:`Marker3D `, and " "name it ``CameraPivot``. Select ``CameraPivot`` and add a child node :ref:" "`Camera3D ` to it. Your scene tree should look like this." msgstr "" "Vamos adicionar a câmera a seguir. Como fizemos com o *Pivô* do nosso " "*Player*, vamos criar um rig básico. Clique com o botão direito do mouse no " "nó *Principal* novamente e selecione *Adicionar nó filho* desta vez. Crie um " "novo *Position3D*, nomeie-o como *CâmeraPivô* e adicione um nó *Câmera* como " "filho dele. Sua árvore de cena deve ficar assim." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:381 msgid "" "Notice the *Preview* checkbox that appears in the top-left when you have the " "*Camera* selected. You can click it to preview the in-game camera projection." msgstr "" "Observe a caixa de seleção *Pré-visualização* que aparece na parte superior " "esquerda quando você tem a *Câmera* selecionada. Você pode clicar nela para " "visualizar a projeção da câmera dentro do jogo." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:386 msgid "" "We're going to use the *Pivot* to rotate the camera as if it was on a crane. " "Let's first split the 3D view to be able to freely navigate the scene and " "see what the camera sees." msgstr "" "Vamos usar o *Pivô* para girar a câmera como se estivesse em uma grua. Vamos " "primeiro dividir a visualização 3D para poder navegar livremente pela cena e " "ver o que a câmera vê." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:390 msgid "" "In the toolbar right above the viewport, click on *View*, then *2 " "Viewports*. You can also press :kbd:`Ctrl + 2` (:kbd:`Cmd + 2` on macOS)." msgstr "" "Na barra de ferramentas logo acima do janela de exibição, clique em *Ver*, " "depois *2 Viewports*. Você também pode pressionar :kbd:`Ctrl + 2` (:kbd:`Cmd " "+ 2` on macOS)." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:393 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:91 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:197 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:95 #: ../../docs/community/asset_library/using_assetlib.rst:165 msgid "|image11|" msgstr "|image11|" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:397 #, fuzzy msgid "" "On the bottom view, select your :ref:`Camera3D ` and turn on " "camera Preview by clicking the checkbox." msgstr "" "Na visualização inferior, selecione *Câmera* e ative a visualização da " "câmera clicando na caixa de seleção." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:402 msgid "" "In the top view, move the camera about ``19`` units on the Z axis (the blue " "one)." msgstr "" "Na visão de cima, mova a câmara mais ou menos ``19`` unidades no eixo Z " "(azul)." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:407 #, fuzzy msgid "" "Here's where the magic happens. Select the *CameraPivot* and rotate it " "``-45`` degrees around the X axis (using the red circle). You'll see the " "camera move as if it was attached to a crane." msgstr "" "Aqui é onde a mágica acontece. Escolha o *CameraPivot* e o rotacione " "``45``grau em torno do eixo X (usando o círculo vermelho). Verá que a câmara " "se move como se estivesse presa numa grua." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:413 msgid "" "You can run the scene by pressing :kbd:`F6` and press the arrow keys to move " "the character." msgstr "" "Pode executar a cena apertando :kbd:`F6`e pressione as setas do teclado para " "movimentar o personagem." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:418 msgid "" "We can see some empty space around the character due to the perspective " "projection. In this game, we're going to use an orthographic projection " "instead to better frame the gameplay area and make it easier for the player " "to read distances." msgstr "" "Podemos ver algum espaço vazio em torno do personagem devido à projeção em " "perspectiva. Neste jogo, vamos usar uma projeção ortográfica para melhor " "enquadrar a área de jogo e facilitar para o jogador ler as distâncias." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:423 msgid "" "Select the *Camera* again and in the *Inspector*, set the *Projection* to " "*Orthogonal* and the *Size* to ``19``. The character should now look flatter " "and the ground should fill the background." msgstr "" "Selecione a *Câmera* novamente e no *Inspetor*, defina a *Projeção* para " "*Ortogonal* e o *Tamanho* para ``19``. O personagem agora deve parecer mais " "achatado e o chão deve preencher o fundo." #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:429 msgid "" "When using an orthogonal camera in Godot 4, directional shadow quality is " "dependent on the camera's *Far* value. The higher the *Far* value, the " "further away the camera will be able to see. However, higher *Far* values " "also decrease shadow quality as the shadow rendering has to cover a greater " "distance." msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:435 msgid "" "If directional shadows look too blurry after switching to an orthogonal " "camera, decrease the camera's *Far* property to a lower value such as " "``100``. Don't decrease this *Far* property too much, or objects in the " "distance will start disappearing." msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:440 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:233 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:87 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:193 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:87 #: ../../docs/community/asset_library/using_assetlib.rst:160 msgid "|image10|" msgstr "|image10|" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:457 #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:345 #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:344 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:460 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:618 #: ../../docs/community/asset_library/using_assetlib.rst:197 #, fuzzy msgid "image10" msgstr "|image10|" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:442 msgid "" "Test your scene and you should be able to move in all 8 directions and not " "glitch through the floor!" msgstr "" #: ../../docs/getting_started/first_3d_game/03.player_movement_code.rst:444 #, fuzzy msgid "" "Ultimately, we have both player movement and the view in place. Next, we " "will work on the monsters." msgstr "" "Com isso, temos tanto o movimento do jogador quanto a visão no lugar. Em " "seguida, trabalharemos nos monstros." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:6 #, fuzzy msgid "Designing the mob scene" msgstr "Testando a cena" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:8 msgid "" "In this part, you're going to code the monsters, which we'll call mobs. In " "the next lesson, we'll spawn them randomly around the playable area." msgstr "" "Nesta parte, vai programar os monstros, que chamaremos de mobs. Na próxima " "lição, vamos fazê-los surgir aleatoriamente ao redor da área jogável." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:11 #, fuzzy msgid "" "Let's design the monsters themselves in a new scene. The node structure is " "going to be similar to the ``player.tscn`` scene." msgstr "" "Vamos projetar os próprios monstros numa nova cena. A estrutura do nó vai " "ser semelhante à cena *Player*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:14 #, fuzzy msgid "" "Create a scene with, once again, a :ref:`CharacterBody3D " "` node as its root. Name it ``Mob``. Add a child " "node :ref:`Node3D `, name it ``Pivot``. And drag and drop the " "file ``mob.glb`` from the *FileSystem* dock onto the ``Pivot`` to add the " "monster's 3D model to the scene." msgstr "" "Crie uma cena com, mais uma vez, um nó *KinematicBody* como sua raiz. Nomeie-" "o *Mob*. Adicione um nó *Spatial* como filho dele, nomeie-o *Pivô*. E " "arraste e solte o arquivo ``mob.glb`` do painel *Sistema de Arquivos* no " "*Pivô* para adicionar o modelo 3D do monstro à cena. Você pode renomear o nó " "*Mob* recém-criado para *Caráter*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:21 msgid "You can rename the newly created ``mob`` node into ``Character``." msgstr "" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:26 #, fuzzy msgid "" "We need a collision shape for our body to work. Right-click on the ``Mob`` " "node, the scene's root, and click *Add Child Node*." msgstr "" "Precisamos de uma forma de colisão para que nosso corpo funcione. Clique com " "o botão direito do mouse sobre o nó *Mob*, a cena raiz, e clique em " "*Adicionar nó Filho(a)*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:31 #, fuzzy msgid "Add a :ref:`CollisionShape3D `." msgstr ":ref:`CollisionShape2D `" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:36 #, fuzzy msgid "In the *Inspector*, assign a *BoxShape3D* to the *Shape* property." msgstr "No *Inspetor*, atribua um *BoxShape* à propriedade *Shape*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:40 msgid "" "We should change its size to fit the 3D model better. You can do so " "interactively by clicking and dragging on the orange dots." msgstr "" "Devemos mudar o tamanho dele para adequá-lo melhor ao modelo 3D. Pode fazer " "isso interativamente clicando e arrastando os pontos laranja." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:43 msgid "" "The box should touch the floor and be a little thinner than the model. " "Physics engines work in such a way that if the player's sphere touches even " "the box's corner, a collision will occur. If the box is a little too big " "compared to the 3D model, you may die at a distance from the monster, and " "the game will feel unfair to the players." msgstr "" "A caixa deve tocar o chão e ser um pouco mais fina do que o modelo. Os " "motores físicos funcionam de tal forma que se a esfera do jogador tocar até " "mesmo o canto da caixa, ocorrerá uma colisão. Se a caixa for um pouco grande " "demais em comparação com o modelo 3D, pode morrer a uma distância do monstro " "e o jogo será injusto para os jogadores." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:51 msgid "" "Notice that my box is taller than the monster. It is okay in this game " "because we're looking at the scene from above and using a fixed perspective. " "Collision shapes don't have to match the model exactly. It's the way the " "game feels when you test it that should dictate their form and size." msgstr "" "Note que minha caixa é mais alta do que o monstro. Está tudo bem neste jogo " "porque estamos olhando para a cena de cima e usando uma perspectiva fixa. As " "formas de colisão não têm que combinar exatamente com o modelo. É o modo " "como você sente o jogo quando o testa que deve ditar sua a forma e tamanho." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:57 #, fuzzy msgid "Removing monsters off-screen" msgstr "Removendo antigas criaturas" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:59 #, fuzzy msgid "" "We're going to spawn monsters at regular time intervals in the game level. " "If we're not careful, their count could increase to infinity, and we don't " "want that. Each mob instance has both a memory and a processing cost, and we " "don't want to pay for it when the mob is outside the screen." msgstr "" "Vamos fazer os monstros surgirem em intervalos regulares de tempo no nível " "do jogo. Se não tivermos cuidado, sua contagem pode aumentar até o infinito, " "e não queremos isso. Cada instância do Inimigo tem tanto uma memória quanto " "um custo de processamento, e não queremos pagar por isso quando o inimigo " "está fora da tela." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:64 #, fuzzy msgid "" "Once a monster leaves the screen, we don't need it anymore, so we should " "delete it. Godot has a node that detects when objects leave the screen, :ref:" "`VisibleOnScreenNotifier3D `, and we're " "going to use it to destroy our mobs." msgstr "" "Depois que um monstro sai da tela, não precisamos mais dele, então podemos " "excluí-lo. Godot tem um nó que detecta quando os objetos saem da tela, " "*VisibilityNotifier*, e vamos usá-lo para destruir nossos inimigos." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:70 #, fuzzy msgid "" "When you keep instancing an object, there's a technique you can use to avoid " "the cost of creating and destroying instances all the time called pooling. " "It consists of pre-creating an array of objects and reusing them over and " "over." msgstr "" "Quando você continua instanciando um objeto nos jogos, há uma técnica que " "você pode usar para evitar o custo de criar e destruir instâncias o tempo " "todo chamadas de \"pooling\". Ela consiste em pré-criar um conjunto de " "objetos e reutilizá-los repetidamente." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:75 #, fuzzy msgid "" "When working with GDScript, you don't need to worry about this. The main " "reason to use pools is to avoid freezes with garbage-collected languages " "like C# or Lua. GDScript uses a different technique to manage memory, " "reference counting, which doesn't have that caveat. You can learn more about " "that here: :ref:`doc_gdscript_basics_memory_management`." msgstr "" "Ao trabalhar com o GDScript, você não precisa se preocupar com isso. A " "principal razão para utilizar as \"pools\" é evitar travamentos com " "linguagens \"garbage-collected\" como C# ou Lua. O GDScript usa uma técnica " "diferente para gerenciar a memória, contagem de referência, que não tem essa " "ressalva. Você pode aprender mais sobre isso aqui :ref:" "`doc_gdscript_basics_memory_management`." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:81 #, fuzzy msgid "" "Select the ``Mob`` node and add a child node :ref:`VisibleOnScreenNotifier3D " "`. Another box, pink this time, appears. " "When this box completely leaves the screen, the node will emit a signal." msgstr "" "Selecione o nó *Mob* e adicione um *VisibilityNotifier* como filho dele. " "Outra caixa, rosa desta vez, aparece. Quando essa caixa sair completamente " "da tela, o nó emitirá um sinal." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:87 msgid "Resize it using the orange dots until it covers the entire 3D model." msgstr "Redimensione-a usando os pontos laranja até cobrir todo o modelo 3D." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:92 msgid "Coding the mob's movement" msgstr "Programando a movimentação dos inimigos" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:94 #, fuzzy msgid "" "Let's implement the monster's motion. We're going to do this in two steps. " "First, we'll write a script on the ``Mob`` that defines a function to " "initialize the monster. We'll then code the randomized spawn mechanism in " "the ``main.tscn`` scene and call the function from there." msgstr "" "Vamos implementar o movimento do monstro. Vamos fazer isso em duas etapas. " "Primeiro, escreveremos um script do *Mob* que define uma função para " "inicializar o monstro. Em seguida, vamos programar o mecanismo de surgimento " "aleatório na cena *Principal* e chamar a função a partir daí." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:99 #, fuzzy msgid "Attach a script to the ``Mob``." msgstr "Anexe um script ao *Mob*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:103 #, fuzzy msgid "" "Here's the movement code to start with. We define two properties, " "``min_speed`` and ``max_speed``, to define a random speed range, which we " "will later use to define ``CharacterBody3D.velocity``." msgstr "" "Aqui está o código de movimento para começarmos. Definimos duas " "propriedades, ``min_speed`` e ``max_speed``, para definir uma faixa de " "velocidade aleatória. Definimos e inicializamos então o ``velocity``." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:141 #, fuzzy msgid "" "Similarly to the player, we move the mob every frame by calling the function " "``CharacterBody3D.move_and_slide()``. This time, we don't update the " "``velocity`` every frame; we want the monster to move at a constant speed " "and leave the screen, even if it were to hit an obstacle." msgstr "" "Da mesma forma que o jogador, movemos o inimigo a cada quadro chamando o " "método ``move_and_slide()`` do ``KinematicBody`` . Desta vez, não " "atualizamos o ``velocity`` cada frame: queremos que o monstro se mova a uma " "velocidade constante e saia da tela, mesmo que fosse para acertar um " "obstáculo." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:146 #, fuzzy msgid "" "We need to define another function to calculate the ``CharacterBody3D." "velocity``. This function will turn the monster towards the player and " "randomize both its angle of motion and its velocity." msgstr "" "É preciso definir outra função para calcular a velocidade de partida. Esta " "função vai virar o monstro em direção ao jogador e randomizar tanto seu " "ângulo de movimento quanto sua velocidade." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:150 #, fuzzy msgid "" "The function will take a ``start_position``,the mob's spawn position, and " "the ``player_position`` as its arguments." msgstr "" "A função terá como argumentos ``start_position``, a posição de surgimento do " "inimigo, e o ``player_position`` como seus argumentos." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:153 #, fuzzy msgid "" "We position the mob at ``start_position`` and turn it towards the player " "using the ``look_at_from_position()`` method, and randomize the angle by " "rotating a random amount around the Y axis. Below, ``randf_range()`` outputs " "a random value between ``-PI / 4`` radians and ``PI / 4`` radians." msgstr "" "Posicionamos o inimigo em ``start_position`` e o giramos em direção ao " "jogador utilizando o método ``look_at_from_position()``, e randomizamos o " "ângulo girando uma quantidade aleatória ao redor do eixo Y. Abaixo, " "``rand_range()`` produz um valor aleatório entre ``-PI / 4`` radianos e " "``PI / 4`` radianos." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:183 msgid "" "We got a random position, now we need a ``random_speed``. ``randi_range()`` " "will be useful as it gives random int values, and we will use ``min_speed`` " "and ``max_speed``. ``random_speed`` is just an integer, and we just use it " "to multiply our ``CharacterBody3D.velocity``. After ``random_speed`` is " "applied, we rotate ``CharacterBody3D.velocity`` Vector3 towards the player." msgstr "" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:216 #, fuzzy msgid "Leaving the screen" msgstr "Testando a cena" #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:218 #, fuzzy msgid "" "We still have to destroy the mobs when they leave the screen. To do so, " "we'll connect our :ref:`VisibleOnScreenNotifier3D " "` node's ``screen_exited`` signal to the " "``Mob``." msgstr "" "Ainda temos que destruir os inimigos quando eles deixam a tela. Para isso, " "conectaremos o sinal ``screen_exited`` do nosso nó *VisibilityNotifier* ao " "*Inimigo*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:221 msgid "" "Head back to the 3D viewport by clicking on the *3D* label at the top of the " "editor. You can also press :kbd:`Ctrl + F2` (:kbd:`Alt + 2` on macOS)." msgstr "" "Volte para o viewport 3D clicando na etiqueta *3D* na parte superior do " "editor. Você também pode pressionar :kbd:`Ctrl + F2` (:kbd:`Alt + 2` em " "macOS)." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:226 #, fuzzy msgid "" "Select the :ref:`VisibleOnScreenNotifier3D " "` node and on the right side of the " "interface, navigate to the *Node* dock. Double-click the ``screen_exited()`` " "signal." msgstr "" "Selecione o nó *VisibilityNotifier* e, no lado direito da interface, navegue " "até painel *Nó*. Clique duas vezes no sinal *screen_exited()*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:231 #, fuzzy msgid "Connect the signal to the ``Mob``" msgstr "Conecte o sinal para o *Mob*." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:235 #, fuzzy msgid "" "This will take you back to the script editor and add a new function for you, " "``_on_visible_on_screen_notifier_3d_screen_exited()``. From it, call the " "``queue_free()`` method. This function destroy the instance it's called on." msgstr "" "Isto o levará de volta ao editor de scripts e adicionará uma nova função " "para você, ``_on_VisibilityNotifier_screen_exited()``. A partir dela, chame " "o método ``queue_free()``. Isto destruirá a instância do inimigo quando a " "caixa do *VisibilityNotifier* deixar a tela." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:254 msgid "" "Our monster is ready to enter the game! In the next part, you will spawn " "monsters in the game level." msgstr "" "Nosso monstro está pronto para entrar no jogo! Na próxima parte, você fará " "os monstros surgirem na fase do jogo." #: ../../docs/getting_started/first_3d_game/04.mob_scene.rst:257 msgid "Here is the complete ``Mob.gd`` script for reference." msgstr "Aqui está o script ``Mob.gd`` completo para referência." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:6 #, fuzzy msgid "Spawning monsters" msgstr "Gerando monstros" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:8 msgid "" "In this part, we're going to spawn monsters along a path randomly. By the " "end, you will have monsters roaming the game board." msgstr "" "Nesta parte, vamos fazer os monstros surgirem aleatoriamente ao longo de um " "caminho. No final, você terá monstros vagando pelo tabuleiro de jogo." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:13 #, fuzzy msgid "" "Double-click on ``main.tscn`` in the *FileSystem* dock to open the ``Main`` " "scene." msgstr "" "Clique duas vezes em ``Main.tscn`` no painel *Sistema de Arquivos* para " "abrir a cena *Main* ." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:15 #, fuzzy msgid "" "Before drawing the path, we're going to change the game resolution. Our game " "has a default window size of ``1152x648``. We're going to set it to " "``720x540``, a nice little box." msgstr "" "Antes de traçar o caminho, vamos mudar a resolução do jogo. Nosso jogo tem " "um tamanho de janela padrão de ``1024x600``. Vamos configurá-lo para " "``720x540``, uma boa telinha." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:19 #, fuzzy msgid "Go to *Project -> Project Settings*." msgstr "" "Para acessar esse diálogo, selecione Projeto -> Configurações do Projeto. " "Experimente isso agora." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:23 msgid "" "In the left menu, navigate down to *Display -> Window*. On the right, set " "the *Width* to ``720`` and the *Height* to ``540``." msgstr "" "No menu à esquerda, navegue até *Exibir -> janela*. À direita, defina a " "*Largura* como ``720`` e a *Altura* como ``720``." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:29 #, fuzzy msgid "Creating the spawn path" msgstr "Criando conteúdo" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:31 #, fuzzy msgid "" "Like you did in the 2D game tutorial, you're going to design a path and use " "a :ref:`PathFollow3D ` node to sample random locations " "on it." msgstr "" "Como você fez no tutorial do jogo 2D, você vai desenhar um caminho e usar um " "nó *PathFollow* para gerar locais aleatórios nele." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:34 msgid "" "In 3D though, it's a bit more complicated to draw the path. We want it to be " "around the game view so monsters appear right outside the screen. But if we " "draw a path, we won't see it from the camera preview." msgstr "" "No entanto, em 3D, é um pouco mais complicado desenhar o caminho. Queremos " "que ele esteja em torno da vista do jogo para que os monstros apareçam fora " "da tela. Mas se desenharmos um caminho, não o veremos pela pré-visualização " "da câmera." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:38 #, fuzzy msgid "" "To find the view's limits, we can use some placeholder meshes. Your viewport " "should still be split into two parts, with the camera preview at the bottom. " "If that isn't the case, press :kbd:`Ctrl + 2` (:kbd:`Cmd + 2` on macOS) to " "split the view into two. Select the :ref:`Camera3D ` node " "and click the *Preview* checkbox in the bottom viewport." msgstr "" "Para encontrar os limites da vista, podemos usar algumas malhas de suporte. " "Sua janela de exibição ainda deve ser dividido em duas partes, com a " "visualização da câmera na parte inferior. Se este não for o caso, pressione :" "kbd:`Ctrl + 2` (:kbd:`Cmd + 2` em macOS) para dividir a sua visão em duas " "partes. Selecione o nó *Câmera* e clique na caixa de seleção *Preview* na " "parte inferior da janela de exibição." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:47 #, fuzzy msgid "Adding placeholder cylinders" msgstr "Adicionando cilindros de substituto" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:49 #, fuzzy msgid "" "Let's add the placeholder meshes. Add a new :ref:`Node3D ` as " "a child of the ``Main`` node and name it ``Cylinders``. We'll use it to " "group the cylinders. Select ``Cylinders`` and add a child node :ref:" "`MeshInstance3D `" msgstr "" "Vamos adicionar as malhas substitutas. Adicione um novo nó *Espacial* como " "filho do nó *Main* e o nomeie *Cilindros*. Vamos usá-lo para agrupar os " "cilindros. Como filho dele, adicione um nó *MeshInstance*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:54 #, fuzzy msgid "In the *Inspector*, assign a *CylinderMesh* to the *Mesh* property." msgstr "No *Inspetor*, atribua um *CylinderMesh* à propriedade *Forma*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:58 msgid "" "Set the top viewport to the top orthogonal view using the menu in the " "viewport's top-left corner. Alternatively, you can press the keypad's 7 key." msgstr "" "Defina a janela de exibição superior com a visualização ortogonal superior " "usando o menu no canto superior esquerdo da janela de exibição. Como " "alternativa, você pode pressionar a tecla 7 do teclado." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:63 #, fuzzy msgid "" "The grid may be distracting. You can toggle it by going to the *View* menu " "in the toolbar and clicking *View Grid*." msgstr "" "A grade me causa um pouco de distração. Você pode ligá-la ou desligá-la " "acessando o menu *Exibir* na barra de ferramentas e clicando em *Exibir " "grade*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:68 msgid "" "You now want to move the cylinder along the ground plane, looking at the " "camera preview in the bottom viewport. I recommend using grid snap to do so. " "You can toggle it by clicking the magnet icon in the toolbar or pressing Y." msgstr "" "Agora você quer mover o cilindro ao longo do plano do solo, observando a " "visualização da câmera no inferior da janela de visualização. Eu recomendo " "usar o encaixe de grade para fazer isso. Você pode alterná-lo clicando no " "ícone do ímã na barra de ferramentas ou pressionando Y." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:74 #, fuzzy msgid "" "Move the cylinder so it's right outside the camera's view in the top-left " "corner." msgstr "" "Coloque o cilindro de modo que ele fique bem fora da visão da câmera no " "canto superior esquerdo." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:79 msgid "" "We're going to create copies of the mesh and place them around the game " "area. Press :kbd:`Ctrl + D` (:kbd:`Cmd + D` on macOS) to duplicate the node. " "You can also right-click the node in the *Scene* dock and select " "*Duplicate*. Move the copy down along the blue Z axis until it's right " "outside the camera's preview." msgstr "" "Vamos criar cópias da forma e colocá-las ao redor da área do jogo. " "Pressione :kbd:`Ctrl + D` (:kbd:`Cmd + D` no macOS) para duplicar o nó. Você " "também pode clicar com o botão direito do mouse no nó no painel*Cena* e " "selecionar *Duplicar*. Mova a cópia para baixo ao longo do eixo Z azul até " "que esteja fora da visualização da câmera." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:84 msgid "" "Select both cylinders by pressing the :kbd:`Shift` key and clicking on the " "unselected one and duplicate them." msgstr "" "Selecione ambos os cilindros pressionando a tecla :kbd:`Shift` e clique no " "não selecionado e duplique-os." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:89 msgid "Move them to the right by dragging the red X axis." msgstr "Mova-os para a direita arrastando o eixo X vermelho." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:93 msgid "" "They're a bit hard to see in white, aren't they? Let's make them stand out " "by giving them a new material." msgstr "" "Eles estão um pouco difíceis de ver em branco, não estão? Vamos fazer com " "que eles se destaquem dando a eles um novo material." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:96 msgid "" "In 3D, materials define a surface's visual properties like its color, how it " "reflects light, and more. We can use them to change the color of a mesh." msgstr "" "Em 3D, os materiais definem as propriedades visuais de uma superfície, como " "sua cor, como ela reflete a luz e muito mais. Podemos usá-los para mudar a " "cor de uma malha." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:99 msgid "" "We can update all four cylinders at once. Select all the mesh instances in " "the *Scene* dock. To do so, you can click on the first one and Shift click " "on the last one." msgstr "" "Podemos atualizar todos os quatro cilindros de uma vez. Selecione todas as " "instâncias de malha no painel *Cena*. Para fazer isso, você pode clicar no " "primeiro e com o Shift apertado clicar no último." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:105 #, fuzzy msgid "" "In the *Inspector*, expand the *Material* section and assign a :ref:" "`StandardMaterial3D ` to slot *0*." msgstr "" "No *Inspetor*, expanda a seção *Material* e atribua um *SpatialMaterial* no " "slot *0*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:107 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:216 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:109 #: ../../docs/community/asset_library/using_assetlib.rst:180 msgid "|image13|" msgstr "|image13|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:347 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:463 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:621 #: ../../docs/community/asset_library/using_assetlib.rst:200 #, fuzzy msgid "image13" msgstr "|image13|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:111 msgid "" "Click the sphere icon to open the material resource. You get a preview of " "the material and a long list of sections filled with properties. You can use " "these to create all sorts of surfaces, from metal to rock or water." msgstr "" "Clique no ícone da esfera para abrir o recurso material. Você obtém uma " "visualização do material e uma longa lista de seções preenchidas com " "propriedades. Você pode usá-los para criar todos os tipos de superfícies, de " "metal a rocha ou água." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:115 msgid "Expand the *Albedo* section." msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:119 #, fuzzy msgid "" "Set the color to something that contrasts with the background, like a bright " "orange." msgstr "" "Expanda a seção *Albedo* e defina a cor para algo que contraste com o fundo, " "como um laranja brilhante." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:122 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:223 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:118 #: ../../docs/community/asset_library/using_assetlib.rst:127 msgid "|image14|" msgstr "|image14|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:348 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:464 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:622 #: ../../docs/community/asset_library/using_assetlib.rst:201 #, fuzzy msgid "image14" msgstr "|image14|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:124 msgid "" "We can now use the cylinders as guides. Fold them in the *Scene* dock by " "clicking the grey arrow next to them. Moving forward, you can also toggle " "their visibility by clicking the eye icon next to *Cylinders*." msgstr "" "Agora podemos usar os cilindros como guias. Dobre-os no painel *Cena* " "clicando na seta cinza ao lado deles. Continuando, você também pode alternar " "sua visibilidade clicando no ícone de olho ao lado de *Cilindros*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:130 #, fuzzy msgid "" "Add a child node :ref:`Path3D ` to ``Main`` node. In the " "toolbar, four icons appear. Click the *Add Point* tool, the icon with the " "green \"+\" sign." msgstr "" "Adicione um nó *Path* como filho de *Main*. Na barra de ferramentas, quatro " "ícones são exibidos. Clique na ferramenta *Adicionar ponto*, no ícone com o " "sinal verde \"+\"." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:135 msgid "You can hover any icon to see a tooltip describing the tool." msgstr "" "Você pode passar o mouse sobre qualquer ícone para ver uma dica de " "ferramenta descrevendo a ferramenta." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:137 msgid "" "Click in the center of each cylinder to create a point. Then, click the " "*Close Curve* icon in the toolbar to close the path. If any point is a bit " "off, you can click and drag on it to reposition it." msgstr "" "Clique no centro de cada cilindro para criar um ponto. Em seguida, clique no " "ícone *Fechar curva* na barra de ferramentas para fechar o caminho. Se algum " "ponto estiver um pouco fora, você pode clicar e arrastar sobre ele para " "reposicioná-lo." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:141 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:324 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:153 #, fuzzy msgid "|image17|" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:143 msgid "Your path should look like this." msgstr "Seu caminho deve se parecer com isso." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:147 #, fuzzy msgid "" "To sample random positions on it, we need a :ref:`PathFollow3D " "` node. Add a :ref:`PathFollow3D ` " "as a child of the ``Path3D``. Rename the two nodes to ``SpawnPath`` and " "``SpawnLocation``, respectively. It's more descriptive of what we'll use " "them for." msgstr "" "Para gerar posições aleatórias nele, precisamos de um nó *PathFollow*. " "Adicione um *PathFollow* como filho de *Path*. Renomeie os dois nós para " "*SpawnPath* e *SpawnLocation*, respectivamente. Assim fica mais descritivo " "para o que vamos usá-los." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:151 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:344 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:166 #, fuzzy msgid "|image19|" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:353 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:469 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:627 #, fuzzy msgid "image19" msgstr "|image1|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:153 msgid "With that, we're ready to code the spawn mechanism." msgstr "Com isso, estamos prontos para programar o mecanismo de geração." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:156 #, fuzzy msgid "Spawning monsters randomly" msgstr "Gerando monstros" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:158 #, fuzzy msgid "Right-click on the ``Main`` node and attach a new script to it." msgstr "" "Clique com o botão direito do rato no nó *Main* e adicione um novo script a " "ele." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:160 #, fuzzy msgid "" "We first export a variable to the *Inspector* so that we can assign ``mob." "tscn`` or any other monster to it." msgstr "" "Primeiro exportamos uma variável para o *Inspetor* para que possamos " "atribuir ``mob.tscn`` ou qualquer outro monstro a ela." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:182 #, fuzzy msgid "" "We want to spawn mobs at regular time intervals. To do this, we need to go " "back to the scene and add a timer. Before that, though, we need to assign " "the ``mob.tscn`` file to the ``mob_scene`` property above (otherwise it's " "null!)" msgstr "" "Queremos desovar multidões em intervalos regulares de tempo. Para isso, " "precisamos voltar a cena e acrescentar um temporizador. Antes disso, porém, " "precisamos atribuir o arquivo ``Mob.tscn`` à propriedade ``mob_scene``." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:186 #, fuzzy msgid "" "Head back to the 3D screen and select the ``Main`` node. Drag ``mob.tscn`` " "from the *FileSystem* dock to the *Mob Scene* slot in the *Inspector*." msgstr "" "Volte para a tela 3D e selecione o nó *Main*. Arraste ``Mob.tscn`` do painel " "*Sistema de Arquivos* para o slot *Cena Mob* no *Inspetor*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:189 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:350 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:170 #, fuzzy msgid "|image20|" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:354 #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:470 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:628 #, fuzzy msgid "image20" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:191 #, fuzzy msgid "" "Add a new :ref:`Timer ` node as a child of ``Main``. Name it " "``MobTimer``." msgstr "" "Adicione um novo nó *Timer* como filho de *Principal*. Nomeie-o *MobTimer*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:193 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:174 #, fuzzy msgid "|image21|" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:355 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:629 #, fuzzy msgid "image21" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:195 msgid "" "In the *Inspector*, set its *Wait Time* to ``0.5`` seconds and turn on " "*Autostart* so it automatically starts when we run the game." msgstr "" "No *Inspetor*, defina seu *Tempo de Espera* para ``0.5`` segundos e ative o " "*Autoiniciar* para que ele seja iniciado automaticamente quando executarmos " "o jogo." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:198 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:198 #, fuzzy msgid "|image22|" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:356 #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:630 #, fuzzy msgid "image22" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:200 msgid "" "Timers emit a ``timeout`` signal every time they reach the end of their " "*Wait Time*. By default, they restart automatically, emitting the signal in " "a cycle. We can connect to this signal from the *Main* node to spawn " "monsters every ``0.5`` seconds." msgstr "" "Os temporizadores emitem um sinal ``timeout`` cada vez que chegam ao final " "de seu *Tempo de espera*. Por padrão, eles reiniciam automaticamente, " "emitindo o sinal em um ciclo. Podemos nos conectar a este sinal a partir do " "nó *Main* para gerar os monstros a cada ``0.5`` segundos." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:205 #, fuzzy msgid "" "With the *MobTimer* still selected, head to the *Node* dock on the right, " "and double-click the ``timeout`` signal." msgstr "" "Com o *MobTimer* ainda selecionado, dirija-se ao painel *Nó* à direita e " "clique duas vezes no sinal ``timeout``." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:208 #, fuzzy msgid "|image23|" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:357 #, fuzzy msgid "image23" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:210 msgid "Connect it to the *Main* node." msgstr "Conecte-o ao nó *Main*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:212 #, fuzzy msgid "|image24|" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:358 #, fuzzy msgid "image24" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:214 #, fuzzy msgid "" "This will take you back to the script, with a new empty " "``_on_mob_timer_timeout()`` function." msgstr "" "Isso o levará de volta ao script, com uma nova função " "''_on_MobTimer_timeout()'' vazia." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:217 msgid "Let's code the mob spawning logic. We're going to:" msgstr "Vamos programar lógica de surgimento do mob. Vamos:" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:219 #, fuzzy msgid "Instantiate the mob scene." msgstr "Salvar Cena." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:220 msgid "Sample a random position on the spawn path." msgstr "Gera uma posição aleatória no caminho de surgimento." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:221 msgid "Get the player's position." msgstr "Obtenha a posição do jogador." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:222 msgid "" "Call the mob's ``initialize()`` method, passing it the random position and " "the player's position." msgstr "" "Chame o método ``initialize()`` do mob, passando-lhe a posição aleatória e a " "posição do jogador." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:224 msgid "Add the mob as a child of the *Main* node." msgstr "Adicione o mob como um filho do nó *Main*." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:266 msgid "" "Above, ``randf()`` produces a random value between ``0`` and ``1``, which is " "what the *PathFollow* node's ``progress_ratio`` expects: 0 is the start of " "the path, 1 is the end of the path. The path we have set is around the " "camera's viewport, so any random value between 0 and 1 is a random position " "alongside the edges of the viewport!" msgstr "" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:272 #, fuzzy msgid "Here is the complete ``main.gd`` script so far, for reference." msgstr "Aqui está o script ``Main.gd`` completo até agora, para referência." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:326 msgid "" "You can test the scene by pressing :kbd:`F6`. You should see the monsters " "spawn and move in a straight line." msgstr "" "Pode testar a cena pressionando :kbd:`F6`. Deve ver os monstros surgirem e " "se moverem em linha reta." #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:329 #, fuzzy msgid "|image25|" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:359 #, fuzzy msgid "image25" msgstr "|image2|" #: ../../docs/getting_started/first_3d_game/05.spawning_mobs.rst:331 msgid "" "For now, they bump and slide against one another when their paths cross. " "We'll address this in the next part." msgstr "" "Por enquanto, eles se chocam e deslizam um contra o outro quando os caminhos " "delesse cruzam. Trataremos disso na próxima parte." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:6 msgid "Jumping and squashing monsters" msgstr "Pulando e esmagando monstros" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:8 #, fuzzy msgid "" "In this part, we'll add the ability to jump and squash the monsters. In the " "next lesson, we'll make the player die when a monster hits them on the " "ground." msgstr "" "Nesta parte, adicionaremos a habilidade de pular, para esmagar os monstros. " "Na próxima lição, faremos o jogador morrer quando um monstro o atingir no " "chão." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:11 msgid "" "First, we have to change a few settings related to physics interactions. " "Enter the world of :ref:`physics layers " "`." msgstr "" "Primeiro, temos que alterar algumas configurações relacionadas às interações " "físicas. Entre no mundo de :ref:'physics " "layers'." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:16 msgid "Controlling physics interactions" msgstr "Controlando as interações físicas" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:18 msgid "" "Physics bodies have access to two complementary properties: layers and " "masks. Layers define on which physics layer(s) an object is." msgstr "" "Os corpos da física têm acesso a duas propriedades complementares: camadas e " "máscaras. As camadas definem em que camada(s) de física um objeto está." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:21 msgid "" "Masks control the layers that a body will listen to and detect. This affects " "collision detection. When you want two bodies to interact, you need at least " "one to have a mask corresponding to the other." msgstr "" "As máscaras controlam as camadas que um corpo irá escutar e detetar. Isto " "afeta a detecção de colisões. Quando se deseja que dois corpos interajam, é " "necessário que pelo menos um tenha uma máscara correspondente ao outro." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:25 msgid "If that's confusing, don't worry, we'll see three examples in a second." msgstr "" "Se isso for confuso, não se preocupe, veremos três exemplos num segundo." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:27 msgid "" "The important point is that you can use layers and masks to filter physics " "interactions, control performance, and remove the need for extra conditions " "in your code." msgstr "" "O ponto importante é que pode usar camadas e máscaras para filtrar as " "interações físicas, controlar o desempenho e remover a necessidade de " "condições extras no seu código." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:31 #, fuzzy msgid "" "By default, all physics bodies and areas are set to both layer and mask " "``1``. This means they all collide with each other." msgstr "" "Por padrão, todos os corpos e áreas de física são definidos como camada e " "máscara ''0''. Isso significa que todos eles colidem uns com os outros." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:34 msgid "" "Physics layers are represented by numbers, but we can give them names to " "keep track of what's what." msgstr "" "As camadas físicas são representadas por números, mas podemos dar-lhes nomes " "para acompanhar o que é o quê." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:38 #, fuzzy msgid "Setting layer names" msgstr "Definindo uma cena principal" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:40 msgid "" "Let's give our physics layers a name. Go to *Project -> Project Settings*." msgstr "" "Vamos dar um nome às nossas camadas físicas. Vá para *Projeto -> " "Configurações do Projeto*." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:44 msgid "" "In the left menu, navigate down to *Layer Names -> 3D Physics*. You can see " "a list of layers with a field next to each of them on the right. You can set " "their names there. Name the first three layers *player*, *enemies*, and " "*world*, respectively." msgstr "" "No menu à esquerda, navegue até *Nomes de Camada -> Física 3D*. Pode ver uma " "lista de camadas com um campo ao lado de cada uma delas à direita. Pode " "definir lá os nomes deles. Nomeie as três primeiras camadas *jogador*, " "*inimigos* e *mundo*, respectivamente." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:51 msgid "Now, we can assign them to our physics nodes." msgstr "Agora, podemos atribuí-los aos nossos nós de física." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:54 msgid "Assigning layers and masks" msgstr "Atribuindo camadas e máscaras" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:56 #, fuzzy msgid "" "In the *Main* scene, select the ``Ground`` node. In the *Inspector*, expand " "the *Collision* section. There, you can see the node's layers and masks as a " "grid of buttons." msgstr "" "Na cena *Main*, selecione o nó *Ground*. No *Inspetor*, expanda a seção " "*Colisão*. Lá, você pode ver as camadas e máscaras do nó como uma grade de " "botões." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:62 #, fuzzy msgid "" "The ground is part of the world, so we want it to be part of the third " "layer. Click the lit button to toggle **off** the first *Layer* and toggle " "**on** the third one. Then, toggle **off** the *Mask* by clicking on it." msgstr "" "O solo é parte do mundo, por isso queremos que ele seja parte da terceira " "camada. Clique no botão iluminado para desativar a primeira *Camada* e " "ativar a terceira. Em seguida, desative a *Máscara* clicando nela." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:68 #, fuzzy msgid "" "As mentioned before, the *Mask* property allows a node to listen to " "interaction with other physics objects, but we don't need it to have " "collisions. ``Ground`` doesn't need to listen to anything; it's just there " "to prevent creatures from falling." msgstr "" "Como mencionei acima, a propriedade *Mask* permite que um nó ouça a " "interação com outros objetos físicos, mas não precisamos que ele tenha " "colisões. A *Ground* não precisa ouvir nada; ela só está lá para evitar que " "as criaturas caiam." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:72 msgid "" "Note that you can click the \"...\" button on the right side of the " "properties to see a list of named checkboxes." msgstr "" "Observe que pode clicar no botão \"...\" no lado direito das propriedades " "para ver uma lista de caixas de seleção nomeadas." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:77 #, fuzzy msgid "" "Next up are the ``Player`` and the ``Mob``. Open ``player.tscn`` by double-" "clicking the file in the *FileSystem* dock." msgstr "" "A seguir estão o *Player* e o *Mob*. Abra ``Player.tscn`` clicando duas " "vezes no arquivo no painel *Sistema de Arquivos*." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:80 #, fuzzy msgid "" "Select the *Player* node and set its *Collision -> Mask* to both \"enemies\" " "and \"world\". You can leave the default *Layer* property as it is, because " "the first layer is the \"player\" layer." msgstr "" "Selecione o nó *Player* e configure seu *Collision -> Mask* tanto para " "\"inimigos\" quanto para \"mundo\". Você pode deixar a propriedade padrão " "*Camada*, pois a primeira camada é a do \"jogador\"." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:86 #, fuzzy msgid "" "Then, open the *Mob* scene by double-clicking on ``mob.tscn`` and select the " "``Mob`` node." msgstr "" "Em seguida, abra a cena *Mob* clicando duas vezes em ``Mob.tscn`` e " "selecione o nó *Mob*." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:89 msgid "" "Set its *Collision -> Layer* to \"enemies\" and unset its *Collision -> " "Mask*, leaving the mask empty." msgstr "" "Configurar sua *Colisão -> Camada* para \"inimigos\" e desestabilizar sua " "*Colisão -> Máscara*, deixando a máscara vazia." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:94 #, fuzzy msgid "" "These settings mean the monsters will move through one another. If you want " "the monsters to collide with and slide against each other, turn **on** the " "\"enemies\" mask." msgstr "" "Estas configurações significam que os monstros se moverão uns através dos " "outros. Se quiser que os monstros colidam e deslizem uns contra os outros, " "ligue a máscara de \"inimigos\"." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:100 msgid "" "The mobs don't need to mask the \"world\" layer because they only move on " "the XZ plane. We don't apply any gravity to them by design." msgstr "" "Os inimigos não precisam mascarar a camada \"mundo\" porque só se movem no " "plano XZ. Nós não aplicamos nenhuma gravidade a eles no desenvolvimento." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:104 msgid "Jumping" msgstr "Pulando" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:106 msgid "" "The jumping mechanic itself requires only two lines of code. Open the " "*Player* script. We need a value to control the jump's strength and update " "``_physics_process()`` to code the jump." msgstr "" "O próprio mecanismo de salto requer apenas duas linhas de código. Abra o " "script *Player*. Precisamos de um valor para controlar a força do salto e " "atualizar ``_physics_process()`` para codificar o salto." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:110 msgid "" "After the line that defines ``fall_acceleration``, at the top of the script, " "add the ``jump_impulse``." msgstr "" "Após a linha que define ``fall_acceleration``, no topo do script, adicione o " "``jump_impulse``." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:129 #, fuzzy msgid "" "Inside ``_physics_process()``, add the following code before the " "``move_and_slide()`` codeblock." msgstr "" "Dentro de ``_physics_process()``, adicione o seguinte código antes da linha " "onde chamamos ``move_and_slide()``." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:158 msgid "That's all you need to jump!" msgstr "Isso é tudo que você precisa para pular!" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:160 #, fuzzy msgid "" "The ``is_on_floor()`` method is a tool from the ``CharacterBody3D`` class. " "It returns ``true`` if the body collided with the floor in this frame. " "That's why we apply gravity to the *Player*: so we collide with the floor " "instead of floating over it like the monsters." msgstr "" "O método ``is_on_floor()`` é uma ferramenta da classe ``KinematicBody``. Ele " "retorna ``true`` se o corpo colidiu com o chão neste quadro. É por isso que " "aplicamos gravidade ao *Player*: para colidimos com o chão em vez de flutuar " "sobre ele como os monstros." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:165 #, fuzzy msgid "" "If the character is on the floor and the player presses \"jump\", we " "instantly give them a lot of vertical speed. In games, you really want " "controls to be responsive and giving instant speed boosts like these, while " "unrealistic, feels great." msgstr "" "Se o personagem está no chão e o jogador pressiona \"saltar\", nós " "instantaneamente damos a eles muita velocidade vertical. Nos jogos, você " "realmente quer que os controles sejam responsivos e que dão aumentos " "instantâneos de velocidade como esses, embora irrealistas, são ótimos." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:170 #, fuzzy msgid "" "Notice that the Y axis is positive upwards. That's unlike 2D, where the Y " "axis is positive downwards." msgstr "" "Observe que o eixo Y é positivo para cima. Isso é diferente de 2D, onde o " "eixo Y é positivo para baixo." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:174 #, fuzzy msgid "Squashing monsters" msgstr "Editando instâncias" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:176 msgid "" "Let's add the squash mechanic next. We're going to make the character bounce " "over monsters and kill them at the same time." msgstr "" "Vamos adicionar a seguir a mecânica de esmagar. Vamos fazer o personagem " "saltar sobre os monstros e matá-los ao mesmo tempo." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:179 msgid "" "We need to detect collisions with a monster and to differentiate them from " "collisions with the floor. To do so, we can use Godot's :ref:`group " "` tagging feature." msgstr "" "Precisamos detectar colisões com um monstro e diferenciá-las das colisões " "com o chão. Para fazer isso, podemos usar a funcionalidade de marcação :ref:" "`grupo ` do Godot." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:183 #, fuzzy msgid "" "Open the scene ``mob.tscn`` again and select the *Mob* node. Go to the " "*Node* dock on the right to see a list of signals. The *Node* dock has two " "tabs: *Signals*, which you've already used, and *Groups*, which allows you " "to assign tags to nodes." msgstr "" "Abra a cena ``Mob.tscn`` novamente e selecione o nó *Mob*. Vá para o painel " "*Nó* à direita para ver uma lista de sinais. O painel *Nó* tem duas guias: " "*Sinais*, que você já usou, e *Grupos*, que permite atribuir tags a nós." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:188 msgid "" "Click on it to reveal a field where you can write a tag name. Enter \"mob\" " "in the field and click the *Add* button." msgstr "" "Clique nele para abrir um campo onde você pode escrever um nome de etiqueta. " "Digite \"mob\" no campo e clique no botão *Adicionar*." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:193 msgid "" "An icon appears in the *Scene* dock to indicate the node is part of at least " "one group." msgstr "" "Um ícone aparece no painel *Cena* para indicar que o nó faz parte de pelo " "menos um grupo." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:198 msgid "" "We can now use the group from the code to distinguish collisions with " "monsters from collisions with the floor." msgstr "" "Agora podemos usar o grupo do código para distinguir colisões com monstros " "de colisões com o chão." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:202 msgid "Coding the squash mechanic" msgstr "Programando a mecânica de esmagar" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:204 msgid "Head back to the *Player* script to code the squash and bounce." msgstr "" "Volte para o script *Player* para programar as ações de esmagar e saltar." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:206 msgid "" "At the top of the script, we need another property, ``bounce_impulse``. When " "squashing an enemy, we don't necessarily want the character to go as high up " "as when jumping." msgstr "" "Na parte superior do script, precisamos de outra propriedade, " "``bounce_impulse``. Ao esmagar um inimigo, não queremos necessariamente que " "o personagem vá tão alto quanto ao pular." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:225 #, fuzzy msgid "" "Then, after the **Jumping** codeblock we added above in " "``_physics_process()``, add the following loop. With ``move_and_slide()``, " "Godot makes the body move sometimes multiple times in a row to smooth out " "the character's motion. So we have to loop over all collisions that may have " "happened." msgstr "" "Em seguida, na parte inferior de ``_physics_process()``, adicione a seguinte " "repetição. Com ``move_and_slide()``, o Godot faz o corpo se mover às vezes " "várias vezes seguidas para suavizar o movimento do personagem. Então, temos " "que fazer uma repetição sobre todas as colisões que possam ter acontecido." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:230 msgid "" "In every iteration of the loop, we check if we landed on a mob. If so, we " "kill it and bounce." msgstr "" "Em cada iteração da repetição, verificamos se caímos em um inimigo. Se assim " "for, nós o matamos e saltamos." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:233 msgid "" "With this code, if no collisions occurred on a given frame, the loop won't " "run." msgstr "" "Com este código, se nenhuma colisão ocorrer em um determinado quadro, a " "repetição não será executada." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:291 msgid "That's a lot of new functions. Here's some more information about them." msgstr "" "São muitas funções novas. Aqui estão mais algumas informações sobre elas." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:293 #, fuzzy msgid "" "The functions ``get_slide_collision_count()`` and ``get_slide_collision()`` " "both come from the :ref:`CharacterBody3D ` class and " "are related to ``move_and_slide()``." msgstr "" "As funções ``get_slide_count()`` e ``get_slide_collision()`` vêm ambas da " "classe :ref:`KinematicBody` e estão relacionadas com " "``move_and_slide()``." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:297 #, fuzzy msgid "" "``get_slide_collision()`` returns a :ref:" "`KinematicCollision3D` object that holds " "information about where and how the collision occurred. For example, we use " "its ``get_collider`` property to check if we collided with a \"mob\" by " "calling ``is_in_group()`` on it: ``collision.get_collider()." "is_in_group(\"mob\")``." msgstr "" "``get_slide_collision()`` retorna um objeto :ref:" "`KinematicCollision` que contém informações sobre " "onde e como ocorreu a colisão. Por exemplo, utilizamos sua propriedade " "``collider`` para verificar se colidimos com um \"inimigo\", chamando " "``is_in_group()`` no: ``collision.collider.is_in_group(\"mob\")``." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:305 msgid "" "The method ``is_in_group()`` is available on every :ref:`Node`." msgstr "" "O método ``is_in_group()`` está disponível em cada :ref:`Nó`." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:307 #, fuzzy msgid "" "To check that we are landing on the monster, we use the vector dot product: " "``Vector3.UP.dot(collision.get_normal()) > 0.1``. The collision normal is a " "3D vector that is perpendicular to the plane where the collision occurred. " "The dot product allows us to compare it to the up direction." msgstr "" "Para verificar se estamos pousando no monstro, utilizamos o produto vetorial " "pontual: ``Vector3.UP.dot(collision.normal) > 0.1``. A colisão normal é um " "vetor 3D que é perpendicular ao plano onde ocorreu a colisão. O produto " "pontal nos permite compará-lo com a direção ascendente." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:312 msgid "" "With dot products, when the result is greater than ``0``, the two vectors " "are at an angle of fewer than 90 degrees. A value higher than ``0.1`` tells " "us that we are roughly above the monster." msgstr "" "Com os produtos pontuais, quando o resultado é maior que ``0``, os dois " "vetores estão a um ângulo inferior a 90 graus. Um valor maior que ``0.1`` " "nos diz que estamos aproximadamente acima do monstro." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:316 msgid "" "After handling the squash and bounce logic, we terminate the loop early via " "the ``break`` statement to prevent further duplicate calls to ``mob." "squash()``, which may otherwise result in unintended bugs such as counting " "the score multiple times for one kill." msgstr "" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:320 #, fuzzy msgid "" "We are calling one undefined function, ``mob.squash()``, so we have to add " "it to the Mob class." msgstr "" "Estamos chamando uma função indefinida, ``mob.squash()``. Temos que adicioná-" "la à classe do Inimigo." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:323 msgid "" "Open the script ``Mob.gd`` by double-clicking on it in the *FileSystem* " "dock. At the top of the script, we want to define a new signal named " "``squashed``. And at the bottom, you can add the squash function, where we " "emit the signal and destroy the mob." msgstr "" "Abra o script ``Mob.gd`` clicando duas vezes sobre ele no painel *Sistema de " "Arquivos*. Na parte superior do script, queremos definir um novo sinal " "chamado ``squashed``. E na parte inferior, você pode adicionar a função " "squash, onde emitimos o sinal e destruímos o inimigo." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:359 msgid "" "When using C#, Godot will create the appropriate events automatically for " "all Signals ending with `EventHandler`, see :ref:`C# Signals " "`." msgstr "" #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:361 msgid "We will use the signal to add points to the score in the next lesson." msgstr "Usaremos o sinal para adicionar pontos à pontuação na próxima lição." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:363 #, fuzzy msgid "" "With that, you should be able to kill monsters by jumping on them. You can " "press :kbd:`F5` to try the game and set ``main.tscn`` as your project's main " "scene." msgstr "" "Com isso, você deve ser capaz de matar monstros pulando sobre eles. Você " "pode pressionar :kbd:`F5` para experimentar o jogo e definir ``Main.tscn`` " "como cena principal do seu projeto." #: ../../docs/getting_started/first_3d_game/06.jump_and_squash.rst:366 msgid "However, the player won't die yet. We'll work on that in the next part." msgstr "" "No entanto, o jogador ainda não morre. Vamos trabalhar nisso na próxima " "parte." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:6 #, fuzzy msgid "Killing the player" msgstr "Movendo o Jogador" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:8 msgid "" "We can kill enemies by jumping on them, but the player still can't die. " "Let's fix this." msgstr "" "Podemos matar inimigos pulando sobre eles, mas o jogador ainda não pode " "morrer. Vamos corrigir isso." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:11 #, fuzzy msgid "" "We want to detect being hit by an enemy differently from squashing them. We " "want the player to die when they're moving on the floor, but not if they're " "in the air. We could use vector math to distinguish the two kinds of " "collisions. Instead, though, we will use an :ref:`Area3D ` " "node, which works well for hitboxes." msgstr "" "Queremos detectar ao sermos atingidos por um inimigo de uma forma diferente " "de esmagá-los. Queremos que o jogador morra quando estiver se movendo no " "chão, mas não se ele estiver no ar. Poderíamos usar matemática vetorial para " "distinguir os dois tipos de colisões. Ao invés disso, usaremos um nó *Area*, " "que funciona bem para as caixas de impacto." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:18 msgid "Hitbox with the Area node" msgstr "Caixa de colisão com o nó Área" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:20 #, fuzzy msgid "" "Head back to the ``player.tscn`` scene and add a new child node :ref:`Area3D " "`. Name it ``MobDetector`` Add a :ref:`CollisionShape3D " "` node as a child of it." msgstr "" "Volte para a cena *Player* e adicione um novo nó *Area*. Nomeie-o " "*MobDetector*. Adicione um nó *CollisionShape* como filho dele." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:26 msgid "In the *Inspector*, assign a cylinder shape to it." msgstr "No *Inspetor*, atribua uma forma de cilindro a ele." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:30 msgid "" "Here is a trick you can use to make the collisions only happen when the " "player is on the ground or close to it. You can reduce the cylinder's height " "and move it up to the top of the character. This way, when the player jumps, " "the shape will be too high up for the enemies to collide with it." msgstr "" "Aqui está uma dica que você pode usar para fazer as colisões só acontecerem " "quando o jogador estiver no chão ou perto dele. Você pode reduzir a altura " "do cilindro e movê-lo até o topo do personagem. Desta forma, quando o " "jogador pula, a forma será muito alta para os inimigos colidirem com ela." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:38 msgid "" "You also want the cylinder to be wider than the sphere. This way, the player " "gets hit before colliding and being pushed on top of the monster's collision " "box." msgstr "" "Você também quer que o cilindro seja mais largo do que a esfera. Desta " "forma, o jogador é atingido antes de colidir e ser empurrado para cima da " "caixa de colisão do monstro." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:42 msgid "The wider the cylinder, the more easily the player will get killed." msgstr "Quanto mais largo o cilindro, mais facilmente o jogador será morto." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:44 #, fuzzy msgid "" "Next, select the ``MobDetector`` node again, and in the *Inspector*, turn " "**off** its *Monitorable* property. This makes it so other physics nodes " "cannot detect the area. The complementary *Monitoring* property allows it to " "detect collisions. Then, remove the *Collision -> Layer* and set the mask to " "the \"enemies\" layer." msgstr "" "Em seguida, selecione novamente o nó *MobDetector*, e no *Inspetor*, " "desligue sua propriedade *Monitorável*. Isto faz com que outros nós de " "física não possam detectar a área. A propriedade complementar " "*Monitoramento* lhe permite detectar colisões. Em seguida, remover a " "*Colisão -> Camada* e colocar a máscara na camada \"inimigos\"." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:52 #, fuzzy msgid "" "When areas detect a collision, they emit signals. We're going to connect one " "to the ``Player`` node. Select ``MobDetector`` and go to *Inspector*'s " "*Node* tab, double-click the ``body_entered`` signal and connect it to the " "``Player``" msgstr "" "Quando as áreas detectam uma colisão, elas emitem sinais. Vamos conectar um " "ao nó * Player *. Na aba *Nó*, clique duas vezes no sinal ``body_entered`` e " "conecte-o ao *Player*." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:58 #, fuzzy msgid "" "The *MobDetector* will emit ``body_entered`` when a :ref:`CharacterBody3D " "` or a :ref:`RigidBody3D ` node " "enters it. As it only masks the \"enemies\" physics layers, it will only " "detect the ``Mob`` nodes." msgstr "" "O *MobDetector* irá emitir ``body_entered`` quando um *KinematicBody* ou um " "*RigidBody* entrar nele. Como ele apenas mascara as camadas físicas " "\"inimigas\", ele só detectará os nós *Inimigo*." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:62 msgid "" "Code-wise, we're going to do two things: emit a signal we'll later use to " "end the game and destroy the player. We can wrap these operations in a " "``die()`` function that helps us put a descriptive label on the code." msgstr "" "Em termos de código, faremos duas coisas: emitir um sinal que usaremos " "posteriormente para encerrar o jogo e destruir o jogador. Podemos agrupar " "essas operações em uma função ``die()`` que nos ajuda a colocar um rótulo " "descritivo no código." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:105 #, fuzzy msgid "" "Try the game again by pressing :kbd:`F5`. If everything is set up correctly, " "the character should die when an enemy runs into the collider. Note that " "without a ``Player``, the following line" msgstr "" "Teste o jogo novamente pressionando :kbd:'F5'. Se tudo estiver configurado " "corretamente, o personagem deve morrer quando um inimigo bater nele." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:118 msgid "gives error because there is no $Player!" msgstr "" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:120 #, fuzzy msgid "" "Also note that the enemy colliding with the player and dying depends on the " "size and position of the ``Player`` and the ``Mob``\\ 's collision shapes. " "You may need to move them and resize them to achieve a tight game feel." msgstr "" "Entretanto, observe que isso depende inteiramente do tamanho e da posição " "das formas de colisão do *Player* e *Mob*. Talvez seja necessário movê-las e " "redimensioná-las para conseguir uma jogabilidade mais interessante." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:125 #, fuzzy msgid "Ending the game" msgstr "Movendo o Jogador" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:127 #, fuzzy msgid "" "We can use the ``Player``\\ 's ``hit`` signal to end the game. All we need " "to do is connect it to the ``Main`` node and stop the ``MobTimer`` in " "reaction." msgstr "" "Podemos utilizar o sinal ``hit`` do *Player* para terminar o jogo. Tudo o " "que precisamos fazer é conectá-lo ao nó *Principal* e parar a reação do " "*MobTimer*." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:131 #, fuzzy msgid "" "Open ``main.tscn``, select the ``Player`` node, and in the *Node* dock, " "connect its ``hit`` signal to the ``Main`` node." msgstr "" "Abra ``Main.tscn``, selecione o nó *Player*, e no painel *Nó*, conecte seu " "sinal ``hit`` ao nó *Main*." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:136 #, fuzzy msgid "Get the timer, and stop it, in the ``_on_player_hit()`` function." msgstr "Obtenha e pare o temporizador na função ``_on_Player_hit()``." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:152 msgid "" "If you try the game now, the monsters will stop spawning when you die, and " "the remaining ones will leave the screen." msgstr "" "Se você testar o jogo agora, os monstros deixarão de surgir quando você " "morrer, e os outros deixarão a tela." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:155 msgid "" "You can pat yourself in the back: you prototyped a complete 3D game, even if " "it's still a bit rough." msgstr "" "Você pode bater palmas para você mesmo: você prototipou um jogo 3D completo, " "mesmo que ainda seja um pouco bruto." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:158 msgid "" "From there, we'll add a score, the option to retry the game, and you'll see " "how you can make the game feel much more alive with minimalistic animations." msgstr "" "A partir daí, acrescentaremos uma pontuação, a opção de tentar novamente o " "jogo, e você verá como pode fazer o jogo se parecer muito mais vivo com " "animações minimalistas." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:163 #, fuzzy msgid "Code checkpoint" msgstr "Alternar Breakpoint" #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:165 #, fuzzy msgid "" "Here are the complete scripts for the ``Main``, ``Mob``, and ``Player`` " "nodes, for reference. You can use them to compare and check your code." msgstr "" "Aqui estão os scripts completos para os nós *Principal*, *Mob* e *Player*, " "para referência. Você pode usá-los para comparar e verificar seu código." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:168 #, fuzzy msgid "Starting with ``main.gd``." msgstr "Começando com ``Main.gd``." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:230 msgid "Next is ``Mob.gd``." msgstr "O próximo é ``Mob.gd``." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:325 #, fuzzy msgid "Finally, the longest script, ``Player.gd``:" msgstr "Finalmente, o script mais longo, ``Player.gd``." #: ../../docs/getting_started/first_3d_game/07.killing_player.rst:524 msgid "See you in the next lesson to add the score and the retry option." msgstr "" "Nos vemos na próxima lição para adicionar a pontuação e a opção de nova " "tentativa." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:6 #, fuzzy msgid "Score and replay" msgstr "ScoreLabel" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:8 msgid "" "In this part, we'll add the score, music playback, and the ability to " "restart the game." msgstr "" "Nesta parte, adicionaremos a pontuação, a reprodução de música e a " "capacidade de reiniciar o jogo." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:11 #, fuzzy msgid "" "We have to keep track of the current score in a variable and display it on " "screen using a minimal interface. We will use a text label to do that." msgstr "" "Temos que acompanhar a pontuação atual em uma variável e exibi-la na tela " "usando uma interface mínima. Para isso, usaremos uma text label." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:14 #, fuzzy msgid "" "In the main scene, add a new child node :ref:`Control ` to " "``Main`` and name it ``UserInterface``. You will automatically be taken to " "the 2D screen, where you can edit your User Interface (UI)." msgstr "" "Na cena principal, adicione um novo nó *Control* como filho de *Main* e " "nomeie-o como *UserInterface*. Será levado automaticamente para a tela 2D, " "onde poderá editar sua Interface de Utilizador (UI)." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:18 #, fuzzy msgid "Add a :ref:`Label ` node and name it ``ScoreLabel``" msgstr ":ref:`Label ` nomeado ``ScoreLabel``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:22 msgid "" "In the *Inspector*, set the *Label*'s *Text* to a placeholder like \"Score: " "0\"." msgstr "" "No *Inspetor*, defina o *Texto* do *Label* como um substituto como " "\"Pontuação: 0\"." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:26 msgid "" "Also, the text is white by default, like our game's background. We need to " "change its color to see it at runtime." msgstr "" "Além disso, o texto é branco por padrão, como o fundo do nosso jogo. " "Precisamos mudar sua cor para vê-lo durante a execução." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:29 #, fuzzy msgid "" "Scroll down to *Theme Overrides*, and expand *Colors* and enable *Font " "Color* in order to tint the text to black (which contrasts well with the " "white 3D scene)" msgstr "" "Vá até *Substituição de Tema*, e expanda *Cores* e clique na caixa preta ao " "lado de *Cor da fonte* para pintar o texto." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:35 msgid "" "Finally, click and drag on the text in the viewport to move it away from the " "top-left corner." msgstr "" "Finalmente, clique e arraste o texto na janela de exibição para afastá-lo do " "canto superior esquerdo." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:40 #, fuzzy msgid "" "The ``UserInterface`` node allows us to group our UI in a branch of the " "scene tree and use a theme resource that will propagate to all its children. " "We'll use it to set our game's font." msgstr "" "O nó *UserInterface* nos permite agrupar nossa IU em um ramo da árvore da " "cena e utilizar um recurso temático que se propagará a todos os seus filhos. " "Vamos usá-lo para definir a fonte do nosso jogo." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:45 #, fuzzy msgid "Creating a UI theme" msgstr "O tema opcional da interface do utilizador (The optional UI theme)" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:47 #, fuzzy msgid "" "Once again, select the ``UserInterface`` node. In the *Inspector*, create a " "new theme resource in *Theme -> Theme*." msgstr "" "Mais uma vez, selecione o nó *UserInterface*. No *Inspetor*, crie um novo " "recurso temático em *Tema -> Tema*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:52 #, fuzzy msgid "" "Click on it to open the theme editor In the bottom panel. It gives you a " "preview of how all the built-in UI widgets will look with your theme " "resource." msgstr "" "Clique sobre ele para abrir o editor de temas no painel inferior. Ele lhe dá " "uma prévia de como todos os widgets UI Integrados irão ficar com seu recurso " "temático." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:57 msgid "By default, a theme only has one property, the *Default Font*." msgstr "Por padrão, um tema tem apenas uma propriedade, a *Fonte Padrão*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:61 msgid "" "You can add more properties to the theme resource to design complex user " "interfaces, but that is beyond the scope of this series. To learn more about " "creating and editing themes, see :ref:`doc_gui_skinning`." msgstr "" "Você pode adicionar mais propriedades ao recurso temático para projetar " "interfaces de usuário complexas, mas isso está além do escopo desta série. " "Para saber mais sobre a criação e edição de temas, veja :ref:" "`doc_gui_skinning`." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:65 #, fuzzy msgid "" "This one expects a font file like the ones you have on your computer. Two " "common font file formats are TrueType Font (TTF) and OpenType Font (OTF)." msgstr "" "Este espera um ficheiro de fonte como os que tem no seu computador. A " "DynamicFont suporta os seguintes formatos:" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:68 #, fuzzy msgid "" "In the *FileSystem* dock, expand the ``fonts`` directory and click and drag " "the ``Montserrat-Medium.ttf`` file we included in the project onto the " "*Default Font*. The text will reappear in the theme preview." msgstr "" "No painel *Sistema de Ficheiros*, expanda o diretório ``fonts`` e clique e " "arraste o ficheiro ``Montserrat-Medium.ttf`` incluído no projeto para o " "*Font Data*. O texto reaparecerá na visualização do tema." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:72 #, fuzzy msgid "" "The text is a bit small. Set the *Default Font Size* to ``22`` pixels to " "increase the text's size." msgstr "" "O texto é um pouco pequeno. Configure o *Configurações -> Tamanho* para " "``22`` pixels para aumentar o tamanho do texto." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:77 msgid "Keeping track of the score" msgstr "Acompanhando a pontuação" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:79 #, fuzzy msgid "" "Let's work on the score next. Attach a new script to the ``ScoreLabel`` and " "define the ``score`` variable." msgstr "" "Vamos trabalhar a seguir na pontuação. Anexe um novo script ao *ScoreLabel* " "e defina a variável ``score``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:98 #, fuzzy msgid "" "The score should increase by ``1`` every time we squash a monster. We can " "use their ``squashed`` signal to know when that happens. However, because we " "instantiate monsters from the code, we cannot connect the mob signal to the " "``ScoreLabel`` via the editor." msgstr "" "A pontuação deve aumentar em ``1`` cada vez que esmagarmos um monstro. " "Podemos utilizar o sinal ``squashed`` para saber quando isso acontece. " "Entretanto, ao instanciarmos monstros a partir do código, não podemos fazer " "a conexão no editor." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:102 msgid "" "Instead, we have to make the connection from the code every time we spawn a " "monster." msgstr "" "Ao invés disso, temos que fazer a conexão a partir do código toda vez que " "geramos um monstro." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:105 #, fuzzy msgid "" "Open the script ``main.gd``. If it's still open, you can click on its name " "in the script editor's left column." msgstr "" "Abra o script ``Principal.gd``. Se ainda estiver aberto, pode clicar no seu " "nome na coluna da esquerda do editor de scripts." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:110 #, fuzzy msgid "" "Alternatively, you can double-click the ``main.gd`` file in the *FileSystem* " "dock." msgstr "" "Alternativamente, pode clicar duas vezes no ficheiro ``Main.gd`` no painel " "*Sistema de Ficheiros*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:113 #, fuzzy msgid "" "At the bottom of the ``_on_mob_timer_timeout()`` function, add the following " "line:" msgstr "" "Na parte inferior da função ``_on_MobTimer_timeout()``, adicione a seguinte " "linha." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:133 #, fuzzy msgid "" "This line means that when the mob emits the ``squashed`` signal, the " "``ScoreLabel`` node will receive it and call the function " "``_on_mob_squashed()``." msgstr "" "Esta linha significa que quando o inimigo emitir o sinal ``squashed``, o nó " "*ScoreLabel* o receberá e chamará a função ``_on_Mob_squashed()``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:136 #, fuzzy msgid "" "Head back to the ``ScoreLabel.gd`` script to define the " "``_on_mob_squashed()`` callback function." msgstr "" "Volte ao script``ScoreLabel.gd`` para definir a função de chamada de retorno " "``_on_Mob_squashed()``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:139 msgid "There, we increment the score and update the displayed text." msgstr "Aí, incrementamos a pontuação e atualizamos o texto exibido." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:156 #, fuzzy msgid "" "The second line uses the value of the ``score`` variable to replace the " "placeholder ``%s``. When using this feature, Godot automatically converts " "values to string text, which is convenient when outputting text in labels or " "when using the ``print()`` function." msgstr "" "A segunda linha utiliza o valor da variável ``score`` para substituir o " "substituto ``%s``. Ao utilizar este recurso, o Godot converte " "automaticamente os valores em texto, o que é conveniente para a saída de " "texto em etiquetas ou utilizando a função ``print()``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:163 msgid "" "You can learn more about string formatting here: :ref:`doc_gdscript_printf`. " "In C#, consider using `string interpolation with \"$\" `_." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:166 msgid "" "You can now play the game and squash a few enemies to see the score increase." msgstr "" "Agora pode jogar e esmagar alguns inimigos para ver a pontuação aumentar." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:173 msgid "" "In a complex game, you may want to completely separate your user interface " "from the game world. In that case, you would not keep track of the score on " "the label. Instead, you may want to store it in a separate, dedicated " "object. But when prototyping or when your project is simple, it is fine to " "keep your code simple. Programming is always a balancing act." msgstr "" "Num jogo complexo, pode separar completamente a sua interface de utilizador " "do mundo do jogo. Nesse caso, não manteria o registo da pontuação no rótulo. " "Em vez disso, pode armazená-la num objeto separado e dedicado. Mas quando " "estiver fazendo um protótipo ou quando o seu projeto é simples, é bom manter " "o seu código simples. A programação é sempre um ato de equilíbrio." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:180 #, fuzzy msgid "Retrying the game" msgstr "Testando a cena" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:182 msgid "" "We'll now add the ability to play again after dying. When the player dies, " "we'll display a message on the screen and wait for input." msgstr "" "Agora vamos acrescentar a capacidade de jogar novamente após a morte. Quando " "o jogador morrer, exibiremos uma mensagem no ecrã e aguardaremos a entrada." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:185 #, fuzzy msgid "" "Head back to the ``main.tscn`` scene, select the ``UserInterface`` node, add " "a child node :ref:`ColorRect `, and name it ``Retry``. This " "node fills a rectangle with a uniform color and will serve as an overlay to " "darken the screen." msgstr "" "Volte à cena *Principal*, selecione o nó *UserInterface*, adicione um nó " "*ColorRect* como filho dele e nomeie-o como *Retry*. Esse nó preenche um " "retângulo com uma cor uniforme e servirá como uma sobreposição para " "escurecer o ecrã." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:190 #, fuzzy msgid "" "To make it span over the whole viewport, you can use the *Anchor Preset* " "menu in the toolbar." msgstr "" "Para que se estenda por toda janela de exibição, pode usar o menu *Layout* " "na barra de ferramentas." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:195 msgid "Open it and apply the *Full Rect* command." msgstr "Abra e aplique o comando *Full Rect*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:199 #, fuzzy msgid "" "Nothing happens. Well, almost nothing; only the four green pins move to the " "corners of the selection box." msgstr "" "Nada acontece. Bem, quase nada: apenas os quatro pinos verdes se movem para " "os cantos da caixa de seleção." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:204 #, fuzzy msgid "" "This is because UI nodes (all the ones with a green icon) work with anchors " "and margins relative to their parent's bounding box. Here, the " "``UserInterface`` node has a small size and the ``Retry`` one is limited by " "it." msgstr "" "Isto porque os nós da IU (todos os que têm um ícone verde) trabalham com " "âncoras e margens relativas à caixa de delimitação dos seus pais. Aqui, o nó " "*UserInterface* tem um tamanho pequeno e o *Retry* é limitado por ele." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:208 #, fuzzy msgid "" "Select the ``UserInterface`` and apply *Anchor Preset -> Full Rect* to it as " "well. The ``Retry`` node should now span the whole viewport." msgstr "" "Selecione o *UserInterface* e aplique-lhe *Layout -> Full Rect* também. O nó " "*Retry* deve agora abranger toda janela de exibição." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:211 #, fuzzy msgid "" "Let's change its color so it darkens the game area. Select ``Retry`` and in " "the *Inspector*, set its *Color* to something both dark and transparent. To " "do so, in the color picker, drag the *A* slider to the left. It controls the " "color's Alpha channel, that is to say, its opacity/transparency." msgstr "" "Vamos mudar a sua cor para que escureça a área de jogo. Selecione *Retry* e " "no *Inspetor*, defina a sua *Cor* para algo mais escuro e transparente. Para " "isso, no seletor de cores, arraste a barra deslizante *A* para a esquerda. " "Ela controla o canal alfa da cor, ou seja, a sua opacidade." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:218 msgid "" "Next, add a :ref:`Label ` as a child of ``Retry`` and give it " "the *Text* \"Press Enter to retry.\" To move it and anchor it in the center " "of the screen, apply *Anchor Preset -> Center* to it." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:226 msgid "Coding the retry option" msgstr "Programando a opção de nova tentativa" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:228 #, fuzzy msgid "" "We can now head to the code to show and hide the ``Retry`` node when the " "player dies and plays again." msgstr "" "Agora podemos ir ao código para mostrar e esconder o nó *Retry* quando o " "jogador morre e joga novamente." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:231 #, fuzzy msgid "" "Open the script ``main.gd``. First, we want to hide the overlay at the start " "of the game. Add this line to the ``_ready()`` function." msgstr "" "Abra o script ``Principal.gd``. Primeiro, queremos ocultar a sobreposição no " "início do jogo. Adicione esta linha à função ``_ready()``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:247 msgid "Then, when the player gets hit, we show the overlay." msgstr "Então, quando o jogador é atingido, mostramos a sobreposição." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:264 #, fuzzy msgid "" "Finally, when the ``Retry`` node is visible, we need to listen to the " "player's input and restart the game if they press enter. To do this, we use " "the built-in ``_unhandled_input()`` callback, which is triggered on any " "input." msgstr "" "Finalmente, quando o nó *Retry* estiver visível, precisamos ouvir a entrada " "do jogador e reiniciar o jogo se ele pressionar Enter. Para fazer isso, " "usamos a chamada de retorno interna ``_unhandled_input()``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:268 #, fuzzy msgid "" "If the player pressed the predefined ``ui_accept`` input action and " "``Retry`` is visible, we reload the current scene." msgstr "" "Se o jogador pressionar a ação de entrada predefinida ``ui_accept`` e " "*Retry* estiver visível, recarregamos a cena atual." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:290 msgid "" "The function ``get_tree()`` gives us access to the global :ref:`SceneTree " "` object, which allows us to reload and restart the current " "scene." msgstr "" "A função ``get_tree()`` nos dá acesso ao objeto global :ref:`SceneTree " "`, que nos permite recarregar e reiniciar a cena atual." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:295 #, fuzzy msgid "Adding music" msgstr "Adicionando um script" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:297 msgid "" "To add music that plays continuously in the background, we're going to use " "another feature in Godot: :ref:`autoloads `." msgstr "" "Para adicionar música que toca continuamente ao fundo, vamos utilizar outra " "característica no Godot: :ref:`autoloads ``." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:300 #, fuzzy msgid "" "To play audio, all you need to do is add an :ref:`AudioStreamPlayer " "` node to your scene and attach an audio file to " "it. When you start the scene, it can play automatically. However, when you " "reload the scene, like we do to play again, the audio nodes are also reset, " "and the music starts back from the beginning." msgstr "" "Para reproduzir áudio, tudo o que precisa fazer é adicionar um nó " "*AudioStreamPlayer* à sua cena e anexar-lhe um ficheiro de áudio. Quando " "inicia a cena, pode ser reproduzida automaticamente. Entretanto, quando " "recarrega a cena, como fazemos para tocar novamente, os nós de áudio também " "são reinicializados e a música começa de novo desde o início." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:305 msgid "" "You can use the autoload feature to have Godot load a node or a scene " "automatically at the start of the game, outside the current scene. You can " "also use it to create globally accessible objects." msgstr "" "Pode usar o recurso de carregamento automático para que Godot carregue um nó " "ou uma cena automaticamente no início do jogo, fora da cena atual. Você " "também pode usá-lo para criar objetos globalmente acessíveis." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:309 #, fuzzy msgid "" "Create a new scene by going to the *Scene* menu and clicking *New Scene* or " "by using the *+* icon next to your currently opened scene." msgstr "Crie uma nova cena acedendo o menu *Cena* e clicando em *Nova Cena*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:314 #, fuzzy msgid "" "Click the *Other Node* button to create an :ref:`AudioStreamPlayer " "` and rename it to ``MusicPlayer``." msgstr "" "Clique no botão *Outro nó* para criar um *AudioStreamPlayer* e renomeá-lo " "para *MusicPlayer*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:319 msgid "" "We included a music soundtrack in the ``art/`` directory, ``House In a " "Forest Loop.ogg``. Click and drag it onto the *Stream* property in the " "*Inspector*. Also, turn on *Autoplay* so the music plays automatically at " "the start of the game." msgstr "" "Incluímos uma trilha sonora ``House In a Forest Loop.ogg``, no diretório " "``art/``. Clique e arraste-a para a propriedade *Stream* no diretório " "*Inspetor*. Além disso, ative *Autoplay* para que a música toque " "automaticamente no início do jogo." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:326 #, fuzzy msgid "Save the scene as ``MusicPlayer.tscn``." msgstr "Por fim, salve a cena com um nome como `digaoi.tscn`." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:328 msgid "" "We have to register it as an autoload. Head to the *Project -> Project " "Settings…* menu and click on the *Autoload* tab." msgstr "" "Temos que registá-lo para carregar automaticamente. Vá para *Projeto > " "Configurações do Projeto* no menu e mude para a guia *AutoLoad*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:331 msgid "" "In the *Path* field, you want to enter the path to your scene. Click the " "folder icon to open the file browser and double-click on ``MusicPlayer." "tscn``. Then, click the *Add* button on the right to register the node." msgstr "" "No campo *Caminho*, deseja inserir o caminho para a sua cena. Clique no " "ícone da pasta para abrir o navegador de ficheiros e clique duas vezes em " "``MusicPlayer.tscn``. Em seguida, clique no botão *Adicionar* à direita para " "registar o nó." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:337 msgid "" "``MusicPlayer.tscn`` now loads into any scene you open or play. So if you " "run the game now, the music will play automatically in any scene." msgstr "" #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:340 msgid "" "Before we wrap up this lesson, here's a quick look at how it works under the " "hood. When you run the game, your *Scene* dock changes to give you two tabs: " "*Remote* and *Local*." msgstr "" "Antes de encerrarmos esta lição, aqui vai uma rápida olhada em como funciona " "por debaixo dos panos. Quando executa o jogo, o seu painel *Cena* muda para " "lhe dar duas guias: *Remota* e *Local*." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:346 msgid "" "The *Remote* tab allows you to visualize the node tree of your running game. " "There, you will see the *Main* node and everything the scene contains and " "the instantiated mobs at the bottom." msgstr "" "A guia *Remoto* permite que visualize a árvore de nós do seu jogo em " "execução. Lá, verá o nó *Principal* e tudo o que a cena contém e os inimigos " "instanciados na parte inferior." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:352 #, fuzzy msgid "" "At the top are the autoloaded ``MusicPlayer`` and a *root* node, which is " "your game's viewport." msgstr "" "No topo estão o *MusicPlayer* carregado automaticamente e um nó *raiz*, que " "é a janela de visualização do seu jogo." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:355 msgid "" "And that does it for this lesson. In the next part, we'll add an animation " "to make the game both look and feel much nicer." msgstr "" "E isso é tudo para esta lição. Na próxima parte, adicionaremos uma animação " "para tornar o jogo muito mais bonito." #: ../../docs/getting_started/first_3d_game/08.score_and_replay.rst:358 #, fuzzy msgid "Here is the complete ``main.gd`` script for reference." msgstr "Aqui está o script completo ''Principal.gd'' para referência." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:6 #, fuzzy msgid "Character animation" msgstr "Animação por Sprites" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:8 msgid "" "In this final lesson, we'll use Godot's built-in animation tools to make our " "characters float and flap. You'll learn to design animations in the editor " "and use code to make your game feel alive." msgstr "" "Nesta lição final, usaremos as ferramentas de animação embutidas do Godot " "para fazer nossos personagens flutuarem e baterem asas. Aprenderá a criar " "animações no editor e usar o código para dar vida ao seu jogo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:14 msgid "We'll start with an introduction to using the animation editor." msgstr "Começaremos com uma introdução para usar o editor de animação." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:17 #, fuzzy msgid "Using the animation editor" msgstr "Editor de temas embutido." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:19 msgid "" "The engine comes with tools to author animations in the editor. You can then " "use the code to play and control them at runtime." msgstr "" "A engine vem com ferramentas para criar animações no editor. Pode então usar " "o código para executá-las e controlá-los em tempo de execução." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:22 #, fuzzy msgid "" "Open the player scene, select the ``Player`` node, and add an :ref:" "`AnimationPlayer ` node." msgstr "" "Abra a cena do jogador, selecione o nó jogador e adicione um nó " "*AnimationPlayer*." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:24 msgid "The *Animation* dock appears in the bottom panel." msgstr "O painel *Animação* aparece no painel inferior." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:28 msgid "" "It features a toolbar and the animation drop-down menu at the top, a track " "editor in the middle that's currently empty, and filter, snap, and zoom " "options at the bottom." msgstr "" "Ele apresenta uma barra de ferramentas e o menu suspenso de animação na " "parte superior, um editor de pistas no faixa que está atualmente vazio e " "opções de filtro, snap e zoom na parte inferior." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:32 msgid "Let's create an animation. Click on *Animation -> New*." msgstr "Vamos criar uma animação. Clique em *Animação -> Novo*." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:36 msgid "Name the animation \"float\"." msgstr "Chame a animação de \"float\"." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:40 #, fuzzy msgid "" "Once you've created the animation, the timeline appears with numbers " "representing time in seconds." msgstr "" "Depois de ter criado a animação, a linha do tempo aparece com números que " "representam o tempo em segundos." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:45 msgid "" "We want the animation to start playback automatically at the start of the " "game. Also, it should loop." msgstr "" "Queremos que a animação inicie a reprodução automaticamente no início do " "jogo. Além disso, ele deve fazer um loop." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:48 msgid "" "To do so, you can click the button with an \"A+\" icon in the animation " "toolbar and the looping arrows, respectively." msgstr "" "Para fazer isso, pode clicar no botão com um ícone \"A +\" na barra de " "ferramentas de animação e nas setas em loop, respectivamente." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:53 msgid "" "You can also pin the animation editor by clicking the pin icon in the top-" "right. This prevents it from folding when you click on the viewport and " "deselect the nodes." msgstr "" "Também pode fixar o editor de animação clicando no ícone de fixação no canto " "superior direito. Isso evita que ele se dobre quando clica no visor e " "desmarca os nós." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:59 msgid "" "Set the animation duration to ``1.2`` seconds in the top-right of the dock." msgstr "" "Defina a duração da animação para ``1.2`` segundos na parte superior direita " "do painel." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:63 msgid "" "You should see the gray ribbon widen a bit. It shows you the start and end " "of your animation and the vertical blue line is your time cursor." msgstr "" "Deve ver a faixa cinzento se alargar um pouco. Ela mostra o início e o fim " "da animação e a linha azul vertical é o cursor de tempo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:68 msgid "" "You can click and drag the slider in the bottom-right to zoom in and out of " "the timeline." msgstr "" "Pode clicar e arrastar o controle deslizante no canto inferior direito para " "aumentar e diminuir o zoom da linha do tempo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:74 #, fuzzy msgid "The float animation" msgstr "Reprodução da animação apropriada." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:76 msgid "" "With the animation player node, you can animate most properties on as many " "nodes as you need. Notice the key icon next to properties in the " "*Inspector*. You can click any of them to create a keyframe, a time and " "value pair for the corresponding property. The keyframe gets inserted where " "your time cursor is in the timeline." msgstr "" "Com o nó do reprodutor de animação, pode animar a maioria das propriedades " "em quantos nós precisar. Observe o ícone de chave ao lado das propriedades " "no *Inspetor*. Pode clicar em qualquer um deles para criar um quadro-chave, " "um par de tempo e valor para a propriedade correspondente. O quadro-chave é " "inserido onde o seu cursor de tempo está na linha do tempo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:82 #, fuzzy msgid "" "Let's insert our first keys. Here, we will animate both the position and the " "rotation of the ``Character`` node." msgstr "" "Vamos inserir nossas primeiras chaves. Aqui, animaremos a translação e a " "rotação do nó *Personagem*." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:85 #, fuzzy msgid "" "Select the ``Character`` and in the *Inspector* expand the *Transform* " "section. Click the key icon next to *Position*, and *Rotation*." msgstr "" "Selecione o *Personagem* e clique no ícone de chave ao lado de *Translação* " "no *Inspetor*. Faça o mesmo para *Graus de rotação*." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:91 msgid "" "For this tutorial, just create RESET Track(s) which is the default choice" msgstr "" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:93 msgid "" "Two tracks appear in the editor with a diamond icon representing each " "keyframe." msgstr "" "Duas faixas aparecem no editor com um ícone de diamante representando cada " "quadro-chave." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:97 #, fuzzy msgid "" "You can click and drag on the diamonds to move them in time. Move the " "position key to ``0.3`` seconds and the rotation key to ``0.1`` seconds." msgstr "" "Pode clicar e arrastar os diamantes para movê-los no tempo. Mova a chave de " "translação para ``0.2`` segundos e a chave de rotação para ``0.1`` segundos." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:102 msgid "" "Move the time cursor to ``0.5`` seconds by clicking and dragging on the gray " "timeline." msgstr "" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:107 #, fuzzy msgid "" "In the *Inspector*, set the *Position*'s *Y* axis to ``0.65`` meters and the " "*Rotation*' *X* axis to ``8``." msgstr "" "Mova o cursor de tempo para ``0.5`` segundos clicando e arrastando na linha " "do tempo cinzento. No *Inspector*, defina o eixo *Y* de *Translação* para " "cerca de ``0.65`` metros e o eixo *X* de *Graus de rotação*' para ``8``." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:111 #, fuzzy msgid "Create a keyframe for both properties" msgstr "Quadros-chave para outras propriedades" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:115 #, fuzzy msgid "" "Now, move the position keyframe to ``0.7`` seconds by dragging it on the " "timeline." msgstr "" "Crie um quadro-chave para ambas as propriedades e mude a chave de tradução " "para ``0,7`` segundos arrastando-o na linha do tempo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:122 msgid "" "A lecture on the principles of animation is beyond the scope of this " "tutorial. Just note that you don't want to time and space everything evenly. " "Instead, animators play with timing and spacing, two core animation " "principles. You want to offset and contrast in your character's motion to " "make them feel alive." msgstr "" "Uma palestra sobre os princípios da animação está além do escopo deste " "tutorial. Apenas observe que não deseja cronometrar e espaçar tudo " "uniformemente. Em vez disso, os animadores brincam com o tempo e o " "espaçamento, dois princípios básicos da animação. Quer variar e contrastar o " "movimento da sua personagem para fazê-lo parecer vivo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:128 #, fuzzy msgid "" "Move the time cursor to the end of the animation, at ``1.2`` seconds. Set " "the Y position to about ``0.35`` and the X rotation to ``-9`` degrees. Once " "again, create a key for both properties." msgstr "" "Mova o cursor de tempo para o final da animação, em ``1.2`` segundos. Defina " "a translação Y para cerca de ``0.35`` e a rotação X para ``-9`` graus. Mais " "uma vez, crie uma chave para ambas as propriedades." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:134 msgid "" "You can preview the result by clicking the play button or pressing :kbd:" "`Shift + D`. Click the stop button or press :kbd:`S` to stop playback." msgstr "" "Pode visualizar o resultado clicando no botão play ou pressionando :kbd:" "`Shift + D`. Clique no botão parar ou pressione :kbd:`S` para parar a " "reprodução." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:139 msgid "" "You can see that the engine interpolates between your keyframes to produce a " "continuous animation. At the moment, though, the motion feels very robotic. " "This is because the default interpolation is linear, causing constant " "transitions, unlike how living things move in the real world." msgstr "" "Pode ver que a engine interpola entre os seus quadros-chave para produzir " "uma animação contínua. No momento, porém, o movimento parece muito robótico. " "Isso ocorre porque a interpolação padrão é linear, causando transições " "constantes, ao contrário de como os seres vivos se movem no mundo real." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:144 msgid "We can control the transition between keyframes using easing curves." msgstr "" "Podemos controlar a transição entre quadros-chave usando curvas de " "suavisação." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:146 msgid "" "Click and drag around the first two keys in the timeline to box select them." msgstr "" "Clique e arraste ao redor das duas primeiras chaves na linha do tempo para " "usar a seleção em retângulo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:150 msgid "" "You can edit the properties of both keys simultaneously in the *Inspector*, " "where you can see an *Easing* property." msgstr "" "Pode editar as propriedades de ambas as chaves simultaneamente no " "*Inspector*, onde pode ver uma propriedade de*Suavisação*." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:155 msgid "" "Click and drag on the curve, pulling it towards the left. This will make it " "ease-out, that is to say, transition fast initially and slow down as the " "time cursor reaches the next keyframe." msgstr "" "Clique e arraste sobre a curva, puxando-a para a esquerda. Isso suavizará, " "ou seja, a transição será rápida inicialmente e desacelerada quando o cursor " "de tempo atingir o próximo quadro-chave." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:161 msgid "" "Play the animation again to see the difference. The first half should " "already feel a bit bouncier." msgstr "" "Reproduza a animação novamente para ver a diferença. A primeira metade já " "deve parecer um pouco mais animada." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:164 msgid "Apply an ease-out to the second keyframe in the rotation track." msgstr "Aplique uma suavização ao segundo quadro-chave na faixa de rotação." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:168 #, fuzzy msgid "" "Do the opposite for the second position keyframe, dragging it to the right." msgstr "" "Faça o oposto para o segundo quadro-chave de translação, arrastando-o para a " "direita." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:172 #, fuzzy msgid "Your animation should look something like this." msgstr "A sua cena deve parecer-se com isto:" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:178 msgid "" "Animations update the properties of the animated nodes every frame, " "overriding initial values. If we directly animated the *Player* node, it " "would prevent us from moving it in code. This is where the *Pivot* node " "comes in handy: even though we animated the *Character*, we can still move " "and rotate the *Pivot* and layer changes on top of the animation in a script." msgstr "" "As animações atualizam as propriedades dos nós animados a cada quadro, " "substituindo os valores iniciais. Se animarmos diretamente o nó *Player*, " "isso nos impediria de movê-lo no código. É aqui que o nó *Pivô* é útil: " "mesmo que tenhamos animado o *Personagem*, ainda podemos mover e girar o " "*Pivô* e camada muda sobre a animação num script." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:185 msgid "If you play the game, the player's creature will now float!" msgstr "Se jogar o jogo, a criatura do jogador irá flutuar!" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:187 #, fuzzy msgid "" "If the creature is a little too close to the floor, you can move the " "``Pivot`` up to offset it." msgstr "" "Se a criatura estiver um pouco perto demais do chão, pode mover o *Pivô* " "para cima para deslocá-lo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:191 #, fuzzy msgid "Controlling the animation in code" msgstr "Selecionado as Animações" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:193 msgid "" "We can use code to control the animation playback based on the player's " "input. Let's change the animation speed when the character is moving." msgstr "" "Podemos usar o código para controlar a reprodução da animação com base na " "entrada do jogador. Vamos mudar a velocidade da animação quando a personagem " "estiver se movendo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:196 #, fuzzy msgid "Open the ``Player``'s script by clicking the script icon next to it." msgstr "Abra o script do *Jogador* clicando no ícone de script próximo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:200 msgid "" "In ``_physics_process()``, after the line where we check the ``direction`` " "vector, add the following code." msgstr "" "Em ``_physics_process()``, após a linha onde verificamos o vetor " "``direction``, adicione o seguinte código." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:230 msgid "" "This code makes it so when the player moves, we multiply the playback speed " "by ``4``. When they stop, we reset it to normal." msgstr "" "Este código faz com que quando o jogador se mova, multipliquemos a " "velocidade de reprodução por ``4``. Quando eles param, redefinimos ao normal." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:233 #, fuzzy msgid "" "We mentioned that the ``Pivot`` could layer transforms on top of the " "animation. We can make the character arc when jumping using the following " "line of code. Add it at the end of ``_physics_process()``." msgstr "" "Mencionamos que o pivô pode transformar camadas em cima da animação. Podemos " "fazer o arco da personagem ao pular usando a seguinte linha de código. " "Adicione-o no final de ``_physics_process()``." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:254 msgid "Animating the mobs" msgstr "Animando os inimigos" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:256 msgid "" "Here's another nice trick with animations in Godot: as long as you use a " "similar node structure, you can copy them to different scenes." msgstr "" "Aqui está outro bom truque com animações no Godot: contanto que use uma " "estrutura de nó semelhante, pode copiá-los para cenas diferentes." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:259 #, fuzzy msgid "" "For example, both the ``Mob`` and the ``Player`` scenes have a ``Pivot`` and " "a ``Character`` node, so we can reuse animations between them." msgstr "" "Por exemplo, as cenas *Inimigo* e *Jogador* têm um nó *Pivô* e *Personagem*, " "para que possamos reutilizar animações entre elas." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:262 #, fuzzy msgid "" "Open the *Player* scene, select the AnimationPlayer node and open the " "\"float\" animation. Next, click on **Animation > Copy**. Then open ``mob." "tscn``, create an AnimationPlayer child node and select it. Click " "**Animation > Paste** and make sure that the button with an \"A+\" icon " "(Autoplay on Load) and the looping arrows (Animation looping) are also " "turned on in the animation editor in the bottom panel. That's it; all " "monsters will now play the float animation." msgstr "" "Abra a cena *Jogador*, selecione o nó do player de animação e abra a " "animação \"float\". Em seguida, clique em **Animação > Copiar**. Em seguida, " "abra ``Mob.tscn`` e abra o seu player de animação. Clique em **Animação > " "Colar**. É isso. todos os monstros agora vão reproduzir a animação de " "flutuar." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:269 msgid "" "We can change the playback speed based on the creature's ``random_speed``. " "Open the *Mob*'s script and at the end of the ``initialize()`` function, add " "the following line." msgstr "" "Podemos alterar a velocidade de reprodução com base na ``random_speed`` da " "criatura. Abra o script *Inimigo* e no final da função ``initialize()``, " "adicione a seguinte linha." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:288 msgid "And with that, you finished coding your first complete 3D game." msgstr "E com isso, terminou de programar o seu primeiro jogo 3D completo." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:290 msgid "**Congratulations**!" msgstr "**Parabéns**!" #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:292 msgid "" "In the next part, we'll quickly recap what you learned and give you some " "links to keep learning more. But for now, here are the complete ``Player." "gd`` and ``Mob.gd`` so you can check your code against them." msgstr "" "Na próxima parte, vamos recapitular rapidamente o que aprendeu e dar algumas " "ligações para continuar aprendendo mais. Mas por enquanto, aqui estão os " "``Jogador.gd`` e ``Mob.gd`` completos para que possa comparar com o seu " "código." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:296 msgid "Here's the *Player* script." msgstr "Aqui está o script do *Jogador*." #: ../../docs/getting_started/first_3d_game/09.adding_animations.rst:509 msgid "And the *Mob*'s script." msgstr "E o script do *Inimigo*." #: ../../docs/getting_started/first_3d_game/going_further.rst:6 #, fuzzy msgid "Going further" msgstr "Movendo o Jogador" #: ../../docs/getting_started/first_3d_game/going_further.rst:8 msgid "" "You can pat yourself on the back for having completed your first 3D game " "with Godot." msgstr "" "Pode se dar um tapinha nas costas por ter completado seu primeiro jogo 3D " "com Godot." #: ../../docs/getting_started/first_3d_game/going_further.rst:11 #, fuzzy msgid "" "In this series, we went over a wide range of techniques and editor features. " "Hopefully, you've witnessed how intuitive Godot's scene system can be and " "learned a few tricks you can apply in your projects." msgstr "" "Nesta série, analisamos uma ampla gama de técnicas e recursos do editor. " "Espero que tenha testemunhado o quão intuitivo o sistema de cena de Godot " "pode ser e aprendido alguns truques que pode aplicar nos seus projetos." #: ../../docs/getting_started/first_3d_game/going_further.rst:15 msgid "" "But we just scratched the surface: Godot has a lot more in store for you to " "save time creating games. And you can learn all that by browsing the " "documentation." msgstr "" "Mas apenas arranhamos a superfície: Godot tem muito mais reservado para " "economizar tempo criando jogos. E pode aprender tudo isso navegando na " "documentação." #: ../../docs/getting_started/first_3d_game/going_further.rst:18 #, fuzzy msgid "" "Where should you begin? Below, you'll find a few pages to start exploring " "and build upon what you've learned so far." msgstr "" "Por onde deve começar? Abaixo, encontrará algumas páginas para começar a " "explorar e desenvolver o que aprendeu até agora." #: ../../docs/getting_started/first_3d_game/going_further.rst:21 #, fuzzy msgid "" "But before that, here's a link to download a completed version of the " "project: ``_." msgstr "" "Mas antes disso, aqui está uma ligação para descarregar uma versão completa " "do projeto: ``_." #: ../../docs/getting_started/first_3d_game/going_further.rst:25 msgid "Exploring the manual" msgstr "Explorando o manual" #: ../../docs/getting_started/first_3d_game/going_further.rst:27 #, fuzzy msgid "" "The manual is your ally whenever you have a doubt or you're curious about a " "feature. It does not contain tutorials about specific game genres or " "mechanics. Instead, it explains how Godot works in general. In it, you will " "find information about 2D, 3D, physics, rendering and performance, and much " "more." msgstr "" "O manual é o seu aliado sempre que tiver uma dúvida ou estiver curioso sobre " "um recurso. Ele não contém tutoriais sobre gêneros ou mecânicas de jogos " "específicos. Em vez disso, explica como o Godot funciona em geral. Nele, " "encontrará informações sobre 2D, 3D, física, renderização e desempenho e " "muito mais." #: ../../docs/getting_started/first_3d_game/going_further.rst:32 msgid "Here are the sections we recommend you to explore next:" msgstr "Aqui estão as secções que recomendamos que explore a seguir:" #: ../../docs/getting_started/first_3d_game/going_further.rst:34 #, fuzzy msgid "" "Read the :ref:`Scripting section ` to learn " "essential programming features you'll use in every project." msgstr "" "Leia a secção :ref:`Secção de scripts ` para " "aprender recursos essenciais de programação que utilizará em cada projeto." #: ../../docs/getting_started/first_3d_game/going_further.rst:36 msgid "" "The :ref:`3D ` and :ref:`Physics ` sections will teach you more about 3D game creation in the engine." msgstr "" "As secções :ref:`3D ` e :ref:`Physics ` lhe ensinarão mais sobre a criação de jogos 3D no " "mecanismo." #: ../../docs/getting_started/first_3d_game/going_further.rst:38 msgid "" ":ref:`Inputs ` is another important one for any " "game project." msgstr "" "ref:`Inputs ` é outra importante para qualquer " "projeto de jogo." #: ../../docs/getting_started/first_3d_game/going_further.rst:40 msgid "" "You can start with these or, if you prefer, look at the sidebar menu on the " "left and pick your options." msgstr "" "Pode começar com estes ou, se preferir, olhe ao menu da barra lateral à " "esquerda e escolha as suas opções." #: ../../docs/getting_started/first_3d_game/going_further.rst:43 #, fuzzy msgid "" "We hope you enjoyed this tutorial series, and we're looking forward to " "seeing what you achieve using Godot." msgstr "" "Esperamos que tenha gostado desta série de tutoriais e estamos ansiosos para " "ver o que consegue alcançar usando o Godot." #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:6 msgid "" "This series is a collection of best practices to help you work efficiently " "with Godot." msgstr "" "Esta série é uma coleção de boas práticas para ajudar a trabalhar " "eficientemente com Godot." #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:9 msgid "" "Godot allows for a great amount of flexibility in how you structure a " "project's codebase and break it down into scenes. Each approach has its pros " "and cons, and they can be hard to weigh until you've worked with the engine " "for long enough." msgstr "" "O Godot permite uma grande flexibilidade na forma como estrutura uma base de " "código do projeto e a divide em cenas. Cada abordagem tem os próprios prós e " "contras e eles podem ser difíceis de balancear até que trabalhe com o motor " "por tempo suficiente." #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:13 msgid "" "There are always many ways to structure your code and solve specific " "programming problems. It would be impossible to cover them all here." msgstr "" "Há sempre muitas formas para construir o seu código e resolver problemas " "específicos de programação. Seria impossível de cobrir todos eles aqui." #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:16 msgid "" "That is why each article starts from a real-world problem. We will break " "down each problem in fundamental questions, suggest solutions, analyze the " "pros and cons of each option, and highlight the best course of action for " "the problem at hand." msgstr "" "É por isso que cada artigo começa com um problema do mundo real. Vamos " "dividir cada problema em questões fundamentais, sugerindo soluções, " "analisando os prós e contras de cada opção e destacando o melhor curso de " "ação para o problema em questão." #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:20 msgid "" "You should start by reading :ref:`doc_what_are_godot_classes`. It explains " "how Godot's nodes and scenes relate to classes and objects in other Object-" "Oriented programming languages. It will help you make sense of the rest of " "the series." msgstr "" "Deve começar lendo :ref:`doc_what_are_godot_classes`. Explica como nós e " "cenas do Godot se relacionam com classes e objetos em outra linguagem de " "programação Orientada a Objetos. Isto o ajudará a entender o resto da série." #: ../../docs/tutorials/best_practices/introduction_best_practices.rst:26 msgid "" "The best practices in Godot rely on Object-Oriented design principles. We " "use tools like the `single responsibility `_ principle and `encapsulation `_." msgstr "" "As melhores práticas em Godot dependem de princípios de design Orientado a " "Objetos. Utilizamos ferramentas como os princípios `responsabilidade única " "`_ e " "`encapsulamento `_." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:4 msgid "Applying object-oriented principles in Godot" msgstr "Aplicando princípios de orientação a objetos em Godot" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:6 msgid "" "The engine offers two main ways to create reusable objects: scripts and " "scenes. Neither of these technically define classes under the hood." msgstr "" "O motor oferece duas maneiras principais de criar objetos reutilizáveis: " "scripts e cenas. Nenhum deles define tecnicamente as classes subjacentes." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:9 msgid "" "Still, many best practices using Godot involve applying object-oriented " "programming principles to the scripts and scenes that compose your game. " "That is why it's useful to understand how we can think of them as classes." msgstr "" "Ainda assim, muitas das melhores práticas usando o Godot envolvem a " "aplicação de princípios de programação orientada a objetos aos scripts e " "cenas que compõem o seu jogo. É por isso que é útil entender como podemos " "pensar neles como classes." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:13 msgid "" "This guide briefly explains how scripts and scenes work in the engine's core " "to help you understand how they work under the hood." msgstr "" "Este guia explica resumidamente como os scripts e as cenas funcionam no " "núcleo do motor para ajudá-lo a entender como eles funcionam nos bastidores." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:17 msgid "How scripts work in the engine" msgstr "Como os scripts funcionam no motor" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:19 msgid "" "The engine provides built-in classes like :ref:`Node `. You can " "extend those to create derived types using a script." msgstr "" "O motor fornece classes incorporadas como :ref:`Node `. Pode " "estendê-las para criar tipos derivados por entre um script." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:22 msgid "" "These scripts are not technically classes. Instead, they are resources that " "tell the engine a sequence of initializations to perform on one of the " "engine's built-in classes." msgstr "" "Esses scripts não são tecnicamente classes. Em vez disso, são recursos que " "informam ao motor uma sequência de inicializações para executar numa das " "classes integradas do motor." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:25 msgid "" "Godot's internal classes have methods that register a class's data with a :" "ref:`ClassDB `. This database provides runtime access to " "class information. ``ClassDB`` contains information about classes like:" msgstr "" "As classes internas do Godot possuem métodos que registam os dados de uma " "classe com um :ref: `ClassDB `. Este banco de dados fornece " "acesso em tempo de execução às informações da classe. ``ClassDB`` contém " "informações sobre classes como:" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:29 msgid "Properties." msgstr "Propriedades." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:30 msgid "Methods." msgstr "Métodos." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:31 msgid "Constants." msgstr "Constantes." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:32 msgid "Signals." msgstr "Sinais." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:34 msgid "" "This ``ClassDB`` is what objects check against when performing an operation " "like accessing a property or calling a method. It checks the database's " "records and the object's base types' records to see if the object supports " "the operation." msgstr "" "Este ``ClassDB`` é o que os objetos verificam ao realizar uma operação como " "acessar uma propriedade ou chamar um método. Ele verifica os registos do " "banco de dados e os registos dos tipos base do objeto para ver se o objeto " "suporta a operação." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:38 msgid "" "Attaching a :ref:`Script ` to your object extends the methods, " "properties, and signals available from the ``ClassDB``." msgstr "" "Anexar um :ref:`Script ` ao seu objeto estende os métodos, " "propriedades e sinais disponíveis da ``ClassDB``." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:43 #, fuzzy msgid "" "Even scripts that don't use the ``extends`` keyword implicitly inherit from " "the engine's base :ref:`RefCounted ` class. As a result, " "you can instantiate scripts without the ``extends`` keyword from code. Since " "they extend ``RefCounted`` though, you cannot attach them to a :ref:`Node " "`." msgstr "" "Mesmo os scripts que não usam a palavra-chave ``extends`` herdam " "implicitamente da classe :ref:`Reference ` da base do " "motor. Como resultado, pode instanciar scripts sem a palavra-chave " "``extends`` do código. Uma vez que eles estendem ``Reference``, não pode " "anexá-los a um :ref:`Node `." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:51 msgid "" "The behavior of scenes has many similarities to classes, so it can make " "sense to think of a scene as a class. Scenes are reusable, instantiable, and " "inheritable groups of nodes. Creating a scene is similar to having a script " "that creates nodes and adds them as children using ``add_child()``." msgstr "" "O comportamento das cenas tem muitas semelhanças com as classes, então pode " "fazer sentido pensar numa cena como uma classe. As cenas são grupos de nós " "reutilizáveis, instanciados e herdáveis. Criar uma cena é semelhante a ter " "um script que cria nós e os adiciona como filhos usando ``add_child()``." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:55 #, fuzzy msgid "" "We often pair a scene with a scripted root node that makes use of the " "scene's nodes. As such, the script extends the scene by adding behavior " "through imperative code." msgstr "" "Muitas vezes emparelhamos uma cena com um nó raiz com script que faz uso dos " "nós da cena. Como tal, a cena é muitas vezes uma extensão do código " "declarativo do script." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:58 msgid "The content of a scene helps to define:" msgstr "O conteúdo de uma cena ajuda a definir:" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:60 #, fuzzy msgid "What nodes are available to the script." msgstr "Quais nós estão disponíveis para o script" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:61 #, fuzzy msgid "How they are organized." msgstr "Como eles são organizados" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:62 #, fuzzy msgid "How they are initialized." msgstr "Como eles são inicializados" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:63 #, fuzzy msgid "What signal connections they have with each other." msgstr "Que conexões de sinal eles têm uns com os outros" #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:65 msgid "" "Why is any of this important to scene organization? Because instances of " "scenes *are* objects. As a result, many object-oriented principles that " "apply to written code also apply to scenes: single responsibility, " "encapsulation, and others." msgstr "" "Por que isto é importante para a organização da cena? Porque instâncias de " "cenas *são* objetos. Como resultado, muitos princípios de orientação a " "objetos que se aplicam ao código escrito também se aplicam a cenas: " "responsabilidade única, encapsulamento e outros." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:69 msgid "" "The scene is *always an extension of the script attached to its root node*, " "so you can interpret it as part of a class." msgstr "" "A cena é *sempre uma extensão do script anexado ao seu nó raiz*, então pode " "interpretá-la como parte de uma classe." #: ../../docs/tutorials/best_practices/what_are_godot_classes.rst:72 msgid "" "Most of the techniques explained in this best practices series build on this " "point." msgstr "" "A maioria das técnicas explicadas nesta série de melhores práticas se baseia " "neste ponto." #: ../../docs/tutorials/best_practices/scene_organization.rst:4 msgid "Scene organization" msgstr "Organização da cena" #: ../../docs/tutorials/best_practices/scene_organization.rst:6 msgid "" "This article covers topics related to the effective organization of scene " "content. Which nodes should one use? Where should one place them? How should " "they interact?" msgstr "" "Este artigo cobre tópicos relacionados à organização eficaz do conteúdo da " "cena. Quais nós devemos usar? Onde devemos colocá-los? Como eles devem " "interagir?" #: ../../docs/tutorials/best_practices/scene_organization.rst:11 msgid "How to build relationships effectively" msgstr "Como construir relações de forma eficaz" #: ../../docs/tutorials/best_practices/scene_organization.rst:13 msgid "" "When Godot users begin crafting their own scenes, they often run into the " "following problem:" msgstr "" "Quando os utilizadores do Godot começam a criar as próprias cenas deles, " "geralmente deparam-se com o seguinte problema:" #: ../../docs/tutorials/best_practices/scene_organization.rst:16 msgid "" "They create their first scene and fill it with content only to eventually " "end up saving branches of their scene into separate scenes as the nagging " "feeling that they should split things up starts to accumulate. However, they " "then notice that the hard references they were able to rely on before are no " "longer possible. Re-using the scene in multiple places creates issues " "because the node paths do not find their targets and signal connections " "established in the editor break." msgstr "" "Eles criam a primeira cena deles e a preenchem com conteúdo apenas para, " "eventualmente, acabar salvando ramos da cena deles em cenas separadas, à " "medida que a sensação incômoda de que devem dividir as coisas começa a se " "acumular. No entanto, eles percebem que as referências concretas nas quais " "podiam confiar antes não são mais possíveis. Reutilizar a cena em vários " "lugares cria problemas porque os caminhos dos nós não encontram os alvos " "deles e as conexões de sinal estabelecidas na quebra do editor." #: ../../docs/tutorials/best_practices/scene_organization.rst:24 msgid "" "To fix these problems, one must instantiate the sub-scenes without them " "requiring details about their environment. One needs to be able to trust " "that the sub-scene will create itself without being picky about how one uses " "it." msgstr "" "Para resolver estes problemas, é preciso instanciar as subcenas sem que elas " "exijam detalhes sobre o ambiente deles. É preciso ser capaz de confiar que a " "subcena criará a si mesma sem ser exigente quanto à forma como se a utiliza." #: ../../docs/tutorials/best_practices/scene_organization.rst:29 msgid "" "One of the biggest things to consider in OOP is maintaining focused, " "singular-purpose classes with `loose coupling `_ to other parts of the codebase. This keeps the size of " "objects small (for maintainability) and improves their reusability." msgstr "" "Uma das maiores coisas a considerar no POO é manter as classes focadas e de " "propósito único, com `acoplamento fraco `_ para outras partes da base do código. Isto mantém o " "tamanho dos objetos pequenos (para manutenção) e melhora a sua reusabilidade." #: ../../docs/tutorials/best_practices/scene_organization.rst:35 msgid "" "These OOP best practices have *several* implications for best practices in " "scene structure and script usage." msgstr "" "Essas melhores práticas de POO têm *várias* implicações para as melhores " "práticas na estrutura da cena e uso de script." #: ../../docs/tutorials/best_practices/scene_organization.rst:38 msgid "" "**If at all possible, one should design scenes to have no dependencies.** " "That is, one should create scenes that keep everything they need within " "themselves." msgstr "" "**Se possível, deve-se projetar cenas para não ter dependências.** Ou seja, " "deve-se criar cenas que mantenham tudo o que precisam dentro de si." #: ../../docs/tutorials/best_practices/scene_organization.rst:42 msgid "" "If a scene must interact with an external context, experienced developers " "recommend the use of `Dependency Injection `_. This technique involves having a high-level API " "provide the dependencies of the low-level API. Why do this? Because classes " "which rely on their external environment can inadvertently trigger bugs and " "unexpected behavior." msgstr "" "Se uma cena deve interagir com um contexto externo, programadores " "experientes recomendam o uso de `Injeção de Dependência `_. Esta técnica " "envolve ter uma API de alto nível que fornece as dependências da API de " "baixo nível. Por que fazer isto? Porque classes que dependem do ambiente " "externo deles podem inadvertidamente acionar bugs e comportamentos " "inesperados." #: ../../docs/tutorials/best_practices/scene_organization.rst:49 msgid "" "To do this, one must expose data and then rely on a parent context to " "initialize it:" msgstr "" "Para isto, é necessário expor dados e, em seguida, confiar num contexto pai " "para inicializá-los:" #: ../../docs/tutorials/best_practices/scene_organization.rst:52 #, fuzzy msgid "" "Connect to a signal. Extremely safe, but should be used only to \"respond\" " "to behavior, not start it. By convention, signal names are usually past-" "tense verbs like \"entered\", \"skill_activated\", or \"item_collected\"." msgstr "" "Conecte a um sinal. Extremamente seguro, mas deve ser usado apenas para " "\"responder\" ao comportamento, não para o iniciar. Note que os nomes dos " "sinais são normalmente verbos no past-tense (passado) como \"entered\", " "\"skill_activated\" ou \"item_collected\"." #: ../../docs/tutorials/best_practices/scene_organization.rst:73 msgid "Call a method. Used to start behavior." msgstr "Chame um método. Usado para iniciar o comportamento." #: ../../docs/tutorials/best_practices/scene_organization.rst:92 #, fuzzy msgid "" "Initialize a :ref:`Callable ` property. Safer than a method " "as ownership of the method is unnecessary. Used to start behavior." msgstr "" "Inicialize uma propriedade :ref:`FuncRef `. Mais seguro do " "que um método, pois a propriedade do método é desnecessária. Utilizado para " "iniciar o comportamento." #: ../../docs/tutorials/best_practices/scene_organization.rst:112 msgid "Initialize a Node or other Object reference." msgstr "Inicialize um Nó ou outra referência de Objeto." #: ../../docs/tutorials/best_practices/scene_organization.rst:131 msgid "Initialize a NodePath." msgstr "Inicialize um NodePath." #: ../../docs/tutorials/best_practices/scene_organization.rst:150 #, fuzzy msgid "" "These options hide the points of access from the child node. This in turn " "keeps the child **loosely coupled** to its environment. One can reuse it in " "another context without any extra changes to its API." msgstr "" "Essas opções ocultam os pontos de acesso do nó filho. Isso, por sua vez, " "mantém o filho **vagamente acoplado** ao ambiente. Pode-se reutilizá-lo em " "outro contexto sem quaisquer alterações extras na API dele." #: ../../docs/tutorials/best_practices/scene_organization.rst:156 msgid "" "Although the examples above illustrate parent-child relationships, the same " "principles apply towards all object relations. Nodes which are siblings " "should only be aware of their hierarchies while an ancestor mediates their " "communications and references." msgstr "" "Embora os exemplos acima ilustrem as relações entre pai-filho, os mesmos " "princípios se aplicam a todas as relações de objetos. Nós que são irmãos só " "devem estar cientes das hierarquias deles enquanto um ancestral media as " "comunicações e referências deles." #: ../../docs/tutorials/best_practices/scene_organization.rst:203 msgid "" "The same principles also apply to non-Node objects that maintain " "dependencies on other objects. Whichever object actually owns the objects " "should manage the relationships between them." msgstr "" "Os mesmos princípios também se aplicam a objetos não-Nó que mantêm " "dependências em outros objetos. Qualquer objeto que realmente possui os " "objetos deve gerir as relações entre eles." #: ../../docs/tutorials/best_practices/scene_organization.rst:209 msgid "" "One should favor keeping data in-house (internal to a scene) though as " "placing a dependency on an external context, even a loosely coupled one, " "still means that the node will expect something in its environment to be " "true. The project's design philosophies should prevent this from happening. " "If not, the code's inherent liabilities will force developers to use " "documentation to keep track of object relations on a microscopic scale; this " "is otherwise known as development hell. Writing code that relies on external " "documentation for one to use it safely is error-prone by default." msgstr "" "Deve-se favorecer a manutenção dos dados internamente (internos a uma cena), " "embora pôr uma dependência num contexto externo, mesmo um vagamente " "acoplado, ainda signifique que o nó esperará que algo no ambiente dele seja " "verdadeiro. As filosofias de design do projeto devem evitar que isso " "aconteça. Do contrário, as responsabilidades inerentes ao código forçarão os " "programadores a usar a documentação para controlar as relações de objeto " "numa escala microscópica; isso também é conhecido como inferno do " "desenvolvimento. Escrever código que depende de documentação externa para " "usá-lo com segurança está sujeito a erros por padrão." #: ../../docs/tutorials/best_practices/scene_organization.rst:218 #, fuzzy msgid "" "To avoid creating and maintaining such documentation, one converts the " "dependent node (\"child\" above) into a tool script that implements " "``_get_configuration_warnings()``. Returning a non-empty PackedStringArray " "from it will make the Scene dock generate a warning icon with the string(s) " "as a tooltip by the node. This is the same icon that appears for nodes such " "as the :ref:`Area2D ` node when it has no child :ref:" "`CollisionShape2D ` nodes defined. The editor then " "self-documents the scene through the script code. No content duplication via " "documentation is necessary." msgstr "" "Para evitar a criação e manutenção de tal documentação, converte-se o nó " "dependente (\"filho\" acima) num script de ferramenta que implementa :ref:" "`_get_configuration_warning() " "`. Retornar uma cadeia não " "vazia fará com que a dock Cena gere um ícone de aviso com a cadeia como uma " "dica de ferramenta pelo nó. Este é o mesmo ícone que aparece para nós como o " "nó :ref:`Area2D ` quando não tem nós filhos :ref:" "`CollisionShape2D ` definidos. O editor então " "autodocumenta a cena por meio do código do script. Nenhuma duplicação de " "conteúdo por meio de documentação é necessária." #: ../../docs/tutorials/best_practices/scene_organization.rst:229 msgid "" "A GUI like this can better inform project users of critical information " "about a Node. Does it have external dependencies? Have those dependencies " "been satisfied? Other programmers, and especially designers and writers, " "will need clear instructions in the messages telling them what to do to " "configure it." msgstr "" "Uma GUI como essa pode informar melhor os utilizadores do projeto sobre " "informações críticas sobre um Nó.Ele possui dependências externas? Essas " "dependências foram satisfeitas? Outros programadores e especialmente " "designers e escritores, precisarão de instruções claras nas mensagens " "dizendo-lhes o que fazer para configurá-lo." #: ../../docs/tutorials/best_practices/scene_organization.rst:234 #, fuzzy msgid "" "So, why does all this complex switcharoo work? Well, because scenes operate " "best when they operate alone. If unable to work alone, then working with " "others anonymously (with minimal hard dependencies, i.e. loose coupling) is " "the next best thing. Inevitably, changes may need to be made to a class and " "if these changes cause it to interact with other scenes in unforeseen ways, " "then things will start to break down. The whole point of all this " "indirection is to avoid ending up in a situation where changing one class " "results in adversely effecting other classes dependent on it." msgstr "" "Então, por que toda esta troca complexa funciona? Bem, porque as cenas " "funcionam melhor quando funcionam sozinhas. Se não conseguir trabalhar " "sozinho, trabalhar com outras pessoas anonimamente (com dependências rígidas " "mínimas, ou seja, acoplamento fraco) é a segunda melhor opção. " "Inevitavelmente, mudanças podem precisar ser feitas numa classe e se essas " "mudanças fizerem com que ela interaja com outras cenas de maneiras " "imprevistas, então as coisas começarão a quebrar. O objetivo de toda essa " "indireção é evitar acabar numa situação em que a mudança de uma classe " "resulte em efeitos adversos em outras classes." #: ../../docs/tutorials/best_practices/scene_organization.rst:243 msgid "" "Scripts and scenes, as extensions of engine classes, should abide by *all* " "OOP principles. Examples include..." msgstr "" "Scripts e cenas, como extensões de classes do motor, devem obedecer a " "*todos* os princípios de POO. Exemplos incluem..." #: ../../docs/tutorials/best_practices/scene_organization.rst:246 msgid "`SOLID `_" msgstr "`SOLID `_" #: ../../docs/tutorials/best_practices/scene_organization.rst:247 msgid "`DRY `_" msgstr "`DRY `_" #: ../../docs/tutorials/best_practices/scene_organization.rst:248 msgid "`KISS `_" msgstr "`KISS `_" #: ../../docs/tutorials/best_practices/scene_organization.rst:249 msgid "`YAGNI `_" msgstr "`YAGNI `_" #: ../../docs/tutorials/best_practices/scene_organization.rst:252 msgid "Choosing a node tree structure" msgstr "Escolhendo uma estrutura de árvore de nós" #: ../../docs/tutorials/best_practices/scene_organization.rst:254 msgid "" "So, a developer starts work on a game only to stop at the vast possibilities " "before them. They might know what they want to do, what systems they want to " "have, but *where* to put them all? Well, how one goes about making their " "game is always up to them. One can construct node trees in countless ways. " "But, for those who are unsure, this helpful guide can give them a sample of " "a decent structure to start with." msgstr "" "Então, um programador começa a trabalhar num jogo apenas para parar nas " "vastas possibilidades à sua frente. Eles podem saber o que querem fazer, que " "sistemas desejam ter, mas *onde* pôr todos? Bem, como alguém vai fazer o seu " "jogo depende sempre dele. Pode-se construir árvores de nós de uma infinidade " "de maneiras. Mas, para aqueles que não têm certeza, este guia útil pode dar " "uma amostra de uma estrutura decente para começar." #: ../../docs/tutorials/best_practices/scene_organization.rst:261 msgid "" "A game should always have a sort of \"entry point\"; somewhere the developer " "can definitively track where things begin so that they can follow the logic " "as it continues elsewhere. This place also serves as a bird's eye view of " "all of the other data and logic in the program. For traditional " "applications, this would be the \"main\" function. In this case, it would be " "a Main node." msgstr "" "Um jogo deve sempre ter uma espécie de \"ponto de entrada\"; em algum lugar, " "o programador pode rastrear definitivamente onde as coisas começam para que " "possam seguir a lógica enquanto ela continua em outro lugar. Este local " "também serve como uma visão geral de todos os outros dados e lógicas do " "programa. Para aplicações tradicionais, esta seria a função \"main\". Nesse " "caso, seria um nó Main." #: ../../docs/tutorials/best_practices/scene_organization.rst:267 #: ../../docs/tutorials/best_practices/scene_organization.rst:278 msgid "Node \"Main\" (main.gd)" msgstr "Node \"Main\" (main.gd)" #: ../../docs/tutorials/best_practices/scene_organization.rst:269 msgid "" "The ``main.gd`` script would then serve as the primary controller of one's " "game." msgstr "" "O script ``main.gd`` então serviria como o controlador principal do jogo." #: ../../docs/tutorials/best_practices/scene_organization.rst:272 msgid "" "Then one has their actual in-game \"World\" (a 2D or 3D one). This can be a " "child of Main. In addition, one will need a primary GUI for their game that " "manages the various menus and widgets the project needs." msgstr "" "Então, se tem o \"Mundo\" real deles no jogo (um 2D ou 3D). Este pode ser um " "filho de Main. Além disso, será necessária uma GUI principal para o jogo que " "gira os vários menus e widgets de que o projeto precisa." #: ../../docs/tutorials/best_practices/scene_organization.rst:277 #, fuzzy msgid "Node2D/Node3D \"World\" (game_world.gd)" msgstr "Node2D/Spatial \"World\" (game_world.gd)" #: ../../docs/tutorials/best_practices/scene_organization.rst:278 msgid "Control \"GUI\" (gui.gd)" msgstr "Control \"GUI\" (gui.gd)" #: ../../docs/tutorials/best_practices/scene_organization.rst:280 msgid "" "When changing levels, one can then swap out the children of the \"World\" " "node. :ref:`Changing scenes manually ` gives " "users full control over how their game world transitions." msgstr "" "Ao mudar de fase, é possível trocar os filhos do nó \"Mundo\". :ref:`Mudar " "as cenas manualmente ` dá aos utilizadores " "controle total sobre como as transições de mundo de jogo dele." #: ../../docs/tutorials/best_practices/scene_organization.rst:284 msgid "" "The next step is to consider what gameplay systems one's project requires. " "If one has a system that..." msgstr "" "O próximo passo é considerar quais sistemas de jogabilidade o projeto " "requer. Se houver um sistema que..." #: ../../docs/tutorials/best_practices/scene_organization.rst:287 msgid "tracks all of its data internally" msgstr "rastreia todos os seus dados internamente" #: ../../docs/tutorials/best_practices/scene_organization.rst:288 msgid "should be globally accessible" msgstr "deve ser globalmente acessível" #: ../../docs/tutorials/best_practices/scene_organization.rst:289 msgid "should exist in isolation" msgstr "deve existir isoladamente" #: ../../docs/tutorials/best_practices/scene_organization.rst:291 msgid "" "... then one should create an :ref:`autoload 'singleton' node " "`." msgstr "" "... então deve-se criar um nó :ref:`autoload 'singleton' " "`." #: ../../docs/tutorials/best_practices/scene_organization.rst:295 #, fuzzy msgid "" "For smaller games, a simpler alternative with less control would be to have " "a \"Game\" singleton that simply calls the :ref:`SceneTree." "change_scene_to_file() ` method " "to swap out the main scene's content. This structure more or less keeps the " "\"World\" as the main game node." msgstr "" "Para jogos menores, uma alternativa mais simples com menos controle seria " "ter um singleton \"Game\" que simplesmente chama o método :ref:`SceneTree." "change_scene() ` para trocar o conteúdo " "da cena principal. Esta estrutura mantém mais ou menos o \"Mundo\" como o nó " "principal do jogo." #: ../../docs/tutorials/best_practices/scene_organization.rst:301 msgid "" "Any GUI would need to also be a singleton; be a transitory part of the " "\"World\"; or be manually added as a direct child of the root. Otherwise, " "the GUI nodes would also delete themselves during scene transitions." msgstr "" "Qualquer GUI também precisaria ser um singleton; ser uma parte transitória " "do \"Mundo\"; ou ser adicionado manualmente como filho direto da raiz. Caso " "contrário, os nós da GUI também se excluiriam durante as transições de cena." #: ../../docs/tutorials/best_practices/scene_organization.rst:306 msgid "" "If one has systems that modify other systems' data, one should define those " "as their own scripts or scenes rather than autoloads. For more information " "on the reasons, please see the :ref:`Autoloads versus regular nodes " "` documentation." msgstr "" "Se alguém tem sistemas que modificam os dados de outros sistemas, deve-se " "defini-los como os seus próprios scripts ou cenas, em vez de cargas " "automáticas. Para obter mais informações sobre os motivos, consulte a " "documentação :ref:`Autoloads versus regular nodes " "`." #: ../../docs/tutorials/best_practices/scene_organization.rst:312 msgid "" "Each subsystem within one's game should have its own section within the " "SceneTree. One should use parent-child relationships only in cases where " "nodes are effectively elements of their parents. Does removing the parent " "reasonably mean that one should also remove the children? If not, then it " "should have its own place in the hierarchy as a sibling or some other " "relation." msgstr "" "Cada subsistema dentro do jogo deve ter a própria secção dentro da " "SceneTree. Deve-se usar relacionamentos pai-filho apenas nos casos em que os " "nós são efetivamente elementos dos pais deles. Remover o pai significa " "razoavelmente que também se deve remover os filhos? Do contrário, deve ter o " "próprio lugar na hierarquia como irmão ou algum outro parente." #: ../../docs/tutorials/best_practices/scene_organization.rst:320 #, fuzzy msgid "" "In some cases, one needs these separated nodes to *also* position themselves " "relative to each other. One can use the :ref:`RemoteTransform " "` / :ref:`RemoteTransform2D " "` nodes for this purpose. They will allow a target " "node to conditionally inherit selected transform elements from the Remote\\* " "node. To assign the ``target`` :ref:`NodePath `, use one of " "the following:" msgstr "" "Em alguns casos, é necessário que esses nós separados *também* se posicionem " "uns em relação aos outros. É possível usar os nós :ref:`RemoteTransform " "` / :ref:`RemoteTransform2D " "` para este propósito. Eles permitirão que um nó de " "destino herde condicionalmente os elementos de transformação selecionados do " "nó Remoto*. Para atribuir o :ref: `NodePath ` ``target``, " "use um dos seguintes:" #: ../../docs/tutorials/best_practices/scene_organization.rst:328 msgid "" "A reliable third party, likely a parent node, to mediate the assignment." msgstr "" "Um terceiro confiável, provavelmente um nó pai, para mediar a atribuição." #: ../../docs/tutorials/best_practices/scene_organization.rst:329 msgid "" "A group, to easily pull a reference to the desired node (assuming there will " "only ever be one of the targets)." msgstr "" "Um grupo, para puxar facilmente uma referência para o nó desejado (assumindo " "que haverá apenas um dos alvos)." #: ../../docs/tutorials/best_practices/scene_organization.rst:332 msgid "" "When should one do this? Well, this is subjective. The dilemma arises when " "one must micro-manage when a node must move around the SceneTree to preserve " "itself. For example..." msgstr "" "Quando fazer isto? Bem, isto é subjetivo. O dilema surge quando é necessário " "microgerenciar quando um nó deve se mover ao redor da SceneTree para se " "preservar. Por exemplo..." #: ../../docs/tutorials/best_practices/scene_organization.rst:336 msgid "Add a \"player\" node to a \"room\"." msgstr "Adicionar um nó \"jogador\" a uma \"sala\"." #: ../../docs/tutorials/best_practices/scene_organization.rst:337 msgid "Need to change rooms, so one must delete the current room." msgstr "É necessário mudar de sala, portanto, deve-se excluir a sala atual." #: ../../docs/tutorials/best_practices/scene_organization.rst:338 msgid "" "Before the room can be deleted, one must preserve and/or move the player." msgstr "" "Antes que a sala possa ser excluída, deve-se preservar e/ou mover o jogador." #: ../../docs/tutorials/best_practices/scene_organization.rst:340 msgid "Is memory a concern?" msgstr "A memória é uma preocupação?" #: ../../docs/tutorials/best_practices/scene_organization.rst:342 msgid "" "If not, one can just create the two rooms, move the player and delete the " "old one. No problem." msgstr "" "Caso não, pode-se simplesmente criar as duas salas, mover o jogador e " "deletar a antiga. Sem problemas." #: ../../docs/tutorials/best_practices/scene_organization.rst:345 msgid "If so, one will need to..." msgstr "Se sim, será necessário..." #: ../../docs/tutorials/best_practices/scene_organization.rst:347 msgid "Move the player somewhere else in the tree." msgstr "Mover o jogador para outro lugar na árvore." #: ../../docs/tutorials/best_practices/scene_organization.rst:348 msgid "Delete the room." msgstr "Deletar a sala." #: ../../docs/tutorials/best_practices/scene_organization.rst:349 msgid "Instantiate and add the new room." msgstr "Instanciar e adicionar a nova sala." #: ../../docs/tutorials/best_practices/scene_organization.rst:350 msgid "Re-add the player." msgstr "Adicionar novamente o jogador." #: ../../docs/tutorials/best_practices/scene_organization.rst:352 msgid "" "The issue is that the player here is a \"special case\"; one where the " "developers must *know* that they need to handle the player this way for the " "project. As such, the only way to reliably share this information as a team " "is to *document* it. Keeping implementation details in documentation however " "is dangerous. It's a maintenance burden, strains code readability, and " "bloats the intellectual content of a project unnecessarily." msgstr "" "A questão é que o jogador aqui é um \"caso especial\"; aquele em que os " "programadores devem *saber* que precisam lidar com o jogador desta maneira " "para o projeto. Como tal, a única maneira confiável de compartilhar essas " "informações em equipa é *documentá-las*. Manter os detalhes da implementação " "na documentação, entretanto, é perigoso. É um fardo de manutenção, restringe " "a legibilidade do código e incha o conteúdo intelectual de um projeto " "desnecessariamente." #: ../../docs/tutorials/best_practices/scene_organization.rst:359 msgid "" "In a more complex game with larger assets, it can be a better idea to simply " "keep the player somewhere else in the SceneTree entirely. This results in:" msgstr "" "Num jogo mais complexo com assets maiores, pode ser uma ideia melhor " "simplesmente manter o jogador inteiramente em outro lugar no SceneTree. Isto " "resulta em:" #: ../../docs/tutorials/best_practices/scene_organization.rst:362 msgid "More consistency." msgstr "Mais consistência." #: ../../docs/tutorials/best_practices/scene_organization.rst:363 msgid "No \"special cases\" that must be documented and maintained somewhere." msgstr "" "Nenhum \"caso especial\" que deva ser documentado e mantido em algum lugar." #: ../../docs/tutorials/best_practices/scene_organization.rst:364 msgid "" "No opportunity for errors to occur because these details are not accounted " "for." msgstr "" "Nenhuma oportunidade para erros ocorrerem porque estes detalhes não são " "levados em consideração." #: ../../docs/tutorials/best_practices/scene_organization.rst:367 msgid "" "In contrast, if one ever needs to have a child node that does *not* inherit " "the transform of their parent, one has the following options:" msgstr "" "Em contraste, se alguém precisa ter um nó filho que *não* herda a " "transformação do pai dele, tem-se as seguintes opções:" #: ../../docs/tutorials/best_practices/scene_organization.rst:370 msgid "" "The **declarative** solution: place a :ref:`Node ` in between " "them. As nodes with no transform, Nodes will not pass along such information " "to their children." msgstr "" "A solução **declarativa**: ponha um :ref:`Node ` entre eles. " "Como nós sem transformação, Nodes não passarão essas informações para " "osfilhos deles." #: ../../docs/tutorials/best_practices/scene_organization.rst:373 #, fuzzy msgid "" "The **imperative** solution: Use the ``top_level`` property for the :ref:" "`CanvasItem ` or :ref:`Node3D " "` node. This will make the node ignore its " "inherited transform." msgstr "" "A solução **imperativa**: Use o setter ``set_as_toplevel`` para o nó :ref:" "`CanvasItem ` ou :ref:`Spatial " "`. Isso fará com que o nó ignore " "atransformação herdada dele." #: ../../docs/tutorials/best_practices/scene_organization.rst:380 msgid "" "If building a networked game, keep in mind which nodes and gameplay systems " "are relevant to all players versus those just pertinent to the authoritative " "server. For example, users do not all need to have a copy of every players' " "\"PlayerController\" logic. Instead, they need only their own. As such, " "keeping these in a separate branch from the \"world\" can help simplify the " "management of game connections and the like." msgstr "" "Se estiver criando um jogo em rede, tenha em mente quais nós e sistemas de " "jogo são relevantes para todos os jogadores e aqueles apenas pertinentes ao " "servidor autorizado. Por exemplo, nem todos os utilizadores precisam ter uma " "cópia da lógica \"PlayerController\" de todos os jogadores. Em vez disso, " "eles precisam apenas dos seus próprios. Como tal, mantê-los num ramo " "separado do \"mundo\" pode ajudar a simplificar o gestão de conexões de " "jogos e similares." #: ../../docs/tutorials/best_practices/scene_organization.rst:387 msgid "" "The key to scene organization is to consider the SceneTree in relational " "terms rather than spatial terms. Are the nodes dependent on their parent's " "existence? If not, then they can thrive all by themselves somewhere else. If " "they are dependent, then it stands to reason that they should be children of " "that parent (and likely part of that parent's scene if they aren't already)." msgstr "" "A chave para a organização da cena é considerar a SceneTree em termos " "relacionais, em vez de termos espaciais. Os nós são dependentes da " "existência dos seus pais? Do contrário, eles podem prosperar sozinhos em " "outro lugar. Se forem dependentes, é lógico que devam ser filhos desse pai " "(e provavelmente parte da cena desse pai, se ainda não o forem)." #: ../../docs/tutorials/best_practices/scene_organization.rst:393 msgid "" "Does this mean nodes themselves are components? Not at all. Godot's node " "trees form an aggregation relationship, not one of composition. But while " "one still has the flexibility to move nodes around, it is still best when " "such moves are unnecessary by default." msgstr "" "Isso significa que os próprios nós são componentes? De modo algum. As " "árvores de nós do Godot formam uma relação de agregação, não de composição. " "Mas, embora ainda se tenha a flexibilidade de mover nós, ainda é melhor " "quando esses movimentos são desnecessários por padrão." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:4 msgid "When to use scenes versus scripts" msgstr "Quando usar cenas versus scripts" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:6 msgid "" "We've already covered how scenes and scripts are different. Scripts define " "an engine class extension with imperative code, scenes with declarative code." msgstr "" "Já abordamos como cenas e scripts são diferentes. Scripts definem uma " "extensão de classe de mecanismo com código imperativo, cenas com código " "declarativo." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:10 #, fuzzy msgid "" "Each system's capabilities are different as a result. Scenes can define how " "an extended class initializes, but not what its behavior actually is. Scenes " "are often used in conjunction with a script, the scene declaring a " "composition of nodes, and the script adding behaviour with imperative code." msgstr "" "Como resultado, as capacidades de cada sistema são diferentes. As cenas " "podem definir como uma classe estendida é inicializada, mas não o que " "ocomportamento dele realmente é. As cenas são frequentemente usadas em " "conjunto com um script para que a cena atue como uma extensão do código " "declarativo do script." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:16 msgid "Anonymous types" msgstr "Tipos anônimos" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:18 msgid "" "It *is* possible to completely define a scenes' contents using a script " "alone. This is, in essence, what the Godot Editor does, only in the C++ " "constructor of its objects." msgstr "" "*É* possível definir completamente o conteúdo de uma cena usando apenas um " "script. Isto é, em essência, o que o Editor do Godot faz, apenas no " "construtor em C++ dos objetos dele." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:22 msgid "" "But, choosing which one to use can be a dilemma. Creating script instances " "is identical to creating in-engine classes whereas handling scenes requires " "a change in API:" msgstr "" "Mas, escolher qual deles usar pode ser um dilema. A criação de instâncias de " "script é idêntica à criação de classes no motor, enquanto o manuseio de " "cenas requer uma mudança na API:" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:62 msgid "" "Also, scripts will operate a little slower than scenes due to the speed " "differences between engine and script code. The larger and more complex the " "node, the more reason there is to build it as a scene." msgstr "" "Além disso, os scripts irão operar um pouco mais lentamente do que as cenas " "devido às diferenças de velocidade entre o motor e o código do script. " "Quanto maior e mais complexo o nó, mais razão haverá para construí-lo como " "uma cena." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:67 msgid "Named types" msgstr "Tipos nomeados" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:69 #, fuzzy msgid "" "Scripts can be registered as a new type within the editor itself. This " "displays it as a new type in the node or resource creation dialog with an " "optional icon. This way, the user's ability to use the script is much more " "streamlined. Rather than having to..." msgstr "" "Em alguns casos, um utilizador pode registar um script como um novo tipo " "dentro do próprio editor. Isso o exibe como um novo tipo na caixa de diálogo " "de criação de nó ou recurso com um ícone opcional. Nestes casos, a " "capacidade do utilizador de usar o script é muito mais simplificada. Em vez " "de ter que..." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:74 msgid "Know the base type of the script they would like to use." msgstr "Conhecer o tipo base do script que eles gostariam de usar." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:76 msgid "Create an instance of that base type." msgstr "Criar uma instância desse tipo base." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:78 msgid "Add the script to the node." msgstr "Incluir o script ao nó." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:80 #, fuzzy msgid "" "With a registered script, the scripted type instead becomes a creation " "option like the other nodes and resources in the system. The creation dialog " "even has a search bar to look up the type by name." msgstr "" "Com um script registado, o tipo com script se torna uma opção de criação " "como os outros nós e recursos no sistema. Não é necessário fazer nenhum dos " "trabalhos acima. A caixa de diálogo de criação tem até uma barra de pesquisa " "para pesquisar o tipo por nome." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:85 #, fuzzy msgid "There are two systems for registering types:" msgstr "Existem dois sistemas para registar tipos..." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:87 msgid ":ref:`Custom Types `" msgstr ":ref:`Tipos Personalizados `" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:89 msgid "Editor-only. Typenames are not accessible at runtime." msgstr "Apenas editor. Os nomes de tipo não são acessíveis durante a execução." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:91 msgid "Does not support inherited custom types." msgstr "Não suporta tipos personalizados herdados." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:93 msgid "An initializer tool. Creates the node with the script. Nothing more." msgstr "Uma ferramenta de inicialização. Cria o nó com o script. Nada mais." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:95 msgid "" "Editor has no type-awareness of the script or its relationship to other " "engine types or scripts." msgstr "" "O editor não reconhece o tipo do script ou o relacionamento dele com outros " "tipos do motor ou scripts." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:98 #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:116 msgid "Allows users to define an icon." msgstr "Permite que os utilizadores definam um ícone." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:100 msgid "" "Works for all scripting languages because it deals with Script resources in " "abstract." msgstr "" "Funciona para todas as linguagens de scripting pois lida com recursos de " "Script em abstrato." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:102 msgid "" "Set up using :ref:`EditorPlugin.add_custom_type " "`." msgstr "" "Configurado usando :ref:`EditorPlugin.add_custom_type " "`." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:104 msgid ":ref:`Script Classes `" msgstr ":ref:`Script Classes `" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:106 msgid "Editor and runtime accessible." msgstr "Acessíveis pelo editor e pela execução." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:108 msgid "Displays inheritance relationships in full." msgstr "Exibe relações de herança na íntegra." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:110 msgid "" "Creates the node with the script, but can also change types or extend the " "type from the editor." msgstr "" "Cria o nó com o script, mas também pode alterar os tipos ou estender o tipo " "a partir do editor." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:113 msgid "" "Editor is aware of inheritance relationships between scripts, script " "classes, and engine C++ classes." msgstr "" "O editor está ciente das relações de herança entre scripts, classes de " "script e classes C++ do motor." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:118 msgid "" "Engine developers must add support for languages manually (both name " "exposure and runtime accessibility)." msgstr "" "Os programadores do motor devem adicionar suporte a linguagens manualmente " "(tanto a exposição do nome quanto a acessibilidade durante a execução)." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:121 msgid "Godot 3.1+ only." msgstr "Apenas em Godot 3.1+." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:123 msgid "" "The Editor scans project folders and registers any exposed names for all " "scripting languages. Each scripting language must implement its own support " "for exposing this information." msgstr "" "O Editor verifica pastas do projeto e regista todos os nomes expostos para " "todas as linguagens de scripting. Cada linguagem de scripting deve " "implementar o próprio suporte para expor estas informações." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:127 msgid "" "Both methodologies add names to the creation dialog, but script classes, in " "particular, also allow for users to access the typename without loading the " "script resource. Creating instances and accessing constants or static " "methods is viable from anywhere." msgstr "" "Ambas as metodologias adicionam nomes à caixa de diálogo de criação, mas as " "classes de script, em particular, também permitem que os utilizadores " "acessem o nome do tipo sem carregar o recurso de script. Criar instâncias e " "acessar constantes ou métodos estáticos é viável de qualquer lugar." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:132 msgid "" "With features like these, one may wish their type to be a script without a " "scene due to the ease of use it grants users. Those developing plugins or " "creating in-house tools for designers to use will find an easier time of " "things this way." msgstr "" "Com funcionalidades como estas, pode-se desejar que o tipo deles seja um " "script sem uma cena devido à facilidade de uso que ele proporciona aos " "utilizadores. Aqueles que desenvolvem plug-ins ou criam ferramentas internas " "para os designers usarem acharão mais fácil as coisas desta forma." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:137 msgid "" "On the downside, it also means having to use largely imperative programming." msgstr "" "No lado negativo, também significa ter de utilizar uma programação " "imperativa." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:140 msgid "Performance of Script vs PackedScene" msgstr "Desempenho do Script vs PackedScene" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:142 msgid "" "One last aspect to consider when choosing scenes and scripts is execution " "speed." msgstr "" "Um último aspeto a considerar ao escolher cenas e scripts é a velocidade de " "execução." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:144 msgid "" "As the size of objects increases, the scripts' necessary size to create and " "initialize them grows much larger. Creating node hierarchies demonstrates " "this. Each Node's logic could be several hundred lines of code in length." msgstr "" "Conforme o tamanho dos objetos aumenta, o tamanho necessário dos scripts " "para criá-los e inicializá-los fica muito maior. A criação de hierarquias de " "nós demonstra isso. A lógica de cada Nó pode ter várias centenas de linhas " "de código." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:148 msgid "" "The code example below creates a new ``Node``, changes its name, assigns a " "script to it, sets its future parent as its owner so it gets saved to disk " "along with it, and finally adds it as a child of the ``Main`` node:" msgstr "" "O exemplo de código abaixo cria um novo ``Node``, muda o nome dele, atribui-" "lhe um script, define o futuro pai dele como proprietário dele para que seja " "salvo no disco junto com ele e, finalmente, o adiciona como filho do nó " "``Main``:" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:187 msgid "" "Script code like this is much slower than engine-side C++ code. Each " "instruction makes a call to the scripting API which leads to many " "\"lookups\" on the back-end to find the logic to execute." msgstr "" "Um código de script como este é muito mais lento do que o código C++ do lado " "do motor. Cada instrução faz uma chamada para a API de scripting que leva a " "muitas \"pesquisas\" no back-end para encontrar a lógica a ser executada." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:191 msgid "" "Scenes help to avoid this performance issue. :ref:`PackedScene " "`, the base type that scenes inherit from, defines " "resources that use serialized data to create objects. The engine can process " "scenes in batches on the back-end and provide much better performance than " "scripts." msgstr "" "Cenas ajudam a evitar este problema de desempenho. :ref:`PackedScene " "`, o tipo base do qual as cenas herdam, define recursos " "que utilizam dados serializados para criar objetos. O motor pode processar " "cenas em lotes no back-end e fornecer um desempenho muito melhor do que os " "scripts." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:197 #: ../../docs/tutorials/shaders/your_first_shader/your_first_2d_shader.rst:241 msgid "Conclusion" msgstr "Conclusão" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:199 msgid "In the end, the best approach is to consider the following:" msgstr "No final, a melhor abordagem é considerar o seguinte:" #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:201 msgid "" "If one wishes to create a basic tool that is going to be re-used in several " "different projects and which people of all skill levels will likely use " "(including those who don't label themselves as \"programmers\"), then " "chances are that it should probably be a script, likely one with a custom " "name/icon." msgstr "" "Se alguém deseja criar uma ferramenta básica que será reutilizada em vários " "projetos diferentes e que pessoas de todos os níveis de habilidade " "provavelmente usarão (incluindo aqueles que não se rotulam como " "\"programadores\"), então é provável que deva ser um script, provavelmente " "um com um nome/ícone personalizado." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:206 msgid "" "If one wishes to create a concept that is particular to their game, then it " "should always be a scene. Scenes are easier to track/edit and provide more " "security than scripts." msgstr "" "Se alguém deseja criar um conceito que seja específico para o jogo deles, " "então deve ser sempre uma cena. As cenas são mais fáceis de rastrear/editar " "e fornecem mais segurança do que os scripts." #: ../../docs/tutorials/best_practices/scenes_versus_scripts.rst:210 #, fuzzy msgid "" "If one would like to give a name to a scene, then they can still sort of do " "this by declaring a script class and giving it a scene as a constant. The " "script becomes, in effect, a namespace:" msgstr "" "Se alguém quiser dar um nome a uma cena, então eles ainda podem fazer isso " "no 3.1, declarando uma classe de script e a dar-lde uma cena como uma " "constante. O script se torna, de fato, um namespace:" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:4 msgid "Autoloads versus regular nodes" msgstr "Autoloads versus nós normais" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:6 #, fuzzy msgid "" "Godot offers a feature to automatically load nodes at the root of your " "project, allowing you to access them globally, that can fulfill the role of " "a Singleton: :ref:`doc_singletons_autoload`. These autoloaded nodes are not " "freed when you change the scene from code with :ref:`SceneTree." "change_scene_to_file `." msgstr "" "O Godot oferece um recurso para carregar automaticamente nós na raiz do seu " "projeto, permitindo que os acesse globalmente, que pode cumprir o papel de " "um Singleton: :ref:`doc_singletons_autoload`. Estes nós auto-carregados não " "são liberados quando muda a cena pelo código com :ref:`SceneTree." "change_scene `." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:11 msgid "" "In this guide, you will learn when to use the Autoload feature, and " "techniques you can use to avoid it." msgstr "" "Neste guia, aprenderá quando usar a funcionalidade Autoload e as técnicas " "que pode usar para evitá-lo." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:15 msgid "The cutting audio issue" msgstr "O problema do corte de áudio" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:17 msgid "" "Other engines can encourage the use of creating manager classes, singletons " "that organize a lot of functionality into a globally accessible object. " "Godot offers many ways to avoid global state thanks to the node tree and " "signals." msgstr "" "Outros motores podem encorajar o uso da criação de classes de gestor, " "singletons que organizam muita funcionalidade num objeto globalmente " "acessível. O Godot oferece muitas maneiras de evitar o estado global graças " "à árvore de nós e aos sinais." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:21 msgid "" "For example, let's say we are building a platformer and want to collect " "coins that play a sound effect. There's a node for that: the :ref:" "`AudioStreamPlayer `. But if we call the " "``AudioStreamPlayer`` while it is already playing a sound, the new sound " "interrupts the first." msgstr "" "Por exemplo, digamos que estamos construindo um jogo de plataforma e " "queremos coletar moedas que reproduzam um efeito sonoro. Há um nó para isso: " "o :ref:`AudioStreamPlayer `. Mas se chamarmos o " "``AudioStreamPlayer`` enquanto ele já está tocando um som, o novo som " "interrompe o primeiro." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:26 #, fuzzy msgid "" "A solution is to code a global, autoloaded sound manager class. It generates " "a pool of ``AudioStreamPlayer`` nodes that cycle through as each new request " "for sound effects comes in. Say we call that class ``Sound``, you can use it " "from anywhere in your project by calling ``Sound.play(\"coin_pickup." "ogg\")``. This solves the problem in the short term but causes more problems:" msgstr "" "Uma solução é codificar uma classe de gestão de som global e auto-carregada. " "Ele gera um conjunto de nós ``AudioStreamPlayer`` que se movimentam à medida " "que cada nova solicitação de efeitos sonoros chega. Digamos que chamamos " "essa classe ``Sound``, pode utilizá-la de qualquer lugar do seu projeto " "chamando ``Sound.play(\"coin_pickup.ogg\")``. Isto resolve o problema a " "curto prazo, mas causa mais problemas:" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:32 msgid "" "**Global state**: one object is now responsible for all objects' data. If " "the ``Sound`` class has errors or doesn't have an AudioStreamPlayer " "available, all the nodes calling it can break." msgstr "" "**Estado global**: um objeto agora é responsável pelos dados de todos os " "objetos. Se a classe ``Sound`` tem erros ou não tem um AudioStreamPlayer " "disponível, todos os nós que o chamam podem quebrar." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:36 msgid "" "**Global access**: now that any object can call ``Sound.play(sound_path)`` " "from anywhere, there's no longer an easy way to find the source of a bug." msgstr "" "**Acesso global**: agora que qualquer objeto pode chamar ``Sound." "play(sound_path)`` de qualquer lugar, não há mais uma maneira fácil de " "encontrar a origem de um bug." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:39 msgid "" "**Global resource allocation**: with a pool of ``AudioStreamPlayer`` nodes " "stored from the start, you can either have too few and face bugs, or too " "many and use more memory than you need." msgstr "" "**Alocação global de recursos***: com um conjunto de nós " "``AudioStreamPlayer`` armazenados desde o início, pode ou ter muito poucos e " "enfrentar bugs, ou muitos e utilizar mais memória do que precisa." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:45 #, fuzzy msgid "" "About global access, the problem is that any code anywhere could pass wrong " "data to the ``Sound`` autoload in our example. As a result, the domain to " "explore to fix the bug spans the entire project." msgstr "" "Sobre o acesso global, o problema é que qualquer código em qualquer lugar " "pode passar dados errados para o autoload ``Sound`` no nosso exemplo. Como " "resultado, o domínio a explorar para corrigir o bug abrange todo o projeto." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:49 msgid "" "When you keep code inside a scene, only one or two scripts may be involved " "in audio." msgstr "" "Quando mantém o código dentro de uma cena, apenas um ou dois scripts podem " "estar envolvidos no áudio." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:52 msgid "" "Contrast this with each scene keeping as many ``AudioStreamPlayer`` nodes as " "it needs within itself and all these problems go away:" msgstr "" "Contraste isto com cada cena mantendo tantos nós ``AudioStreamPlayer`` " "quantos forem necessários dentro de si e todos estes problemas desaparecem:" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:55 msgid "" "Each scene manages its own state information. If there is a problem with the " "data, it will only cause issues in that one scene." msgstr "" "Cada cena gere as próprias informações de estado. Se houver um problema com " "os dados, isso causará problemas apenas naquela cena." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:58 msgid "" "Each scene accesses only its own nodes. Now, if there is a bug, it's easy to " "find which node is at fault." msgstr "" "Cada cena acessa apenas os próprios nós. Agora, se houver um bug, é fácil " "descobrir qual nó é o culpado." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:61 msgid "Each scene allocates exactly the amount of resources it needs." msgstr "Cada cena aloca exatamente a quantidade de recursos de que precisa." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:64 msgid "Managing shared functionality or data" msgstr "Gestão de funcionalidades ou dados compartilhados" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:66 msgid "" "Another reason to use an Autoload can be that you want to reuse the same " "method or data across many scenes." msgstr "" "Outra razão para usar um Autoload pode ser que queira reutilizar o mesmo " "método ou dados em muitas cenas." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:69 msgid "" "In the case of functions, you can create a new type of ``Node`` that " "provides that feature for an individual scene using the :ref:`class_name " "` keyword in GDScript." msgstr "" "No caso de funções, pode criar um novo tipo de ``Node`` que fornece esse " "recurso para uma cena individual utilizando a palavra-chave :ref:`class_name " "` em GDScript." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:73 msgid "When it comes to data, you can either:" msgstr "Quando se trata de dados, pode:" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:75 msgid "" "Create a new type of :ref:`Resource ` to share the data." msgstr "" "Cria um novo tipo de :ref:`Resource ` para compartilhar os " "dados." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:77 msgid "" "Store the data in an object to which each node has access, for example using " "the ``owner`` property to access the scene's root node." msgstr "" "Armazenar os dados num objeto ao qual cada nó tem acesso, por exemplo " "utilizando a propriedade ``owner`` para acessar o nó raiz da cena." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:81 msgid "When you should use an Autoload" msgstr "Quando deve usar um Autoload" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:83 msgid "" "GDScript supports the creation of ``static`` functions using ``static " "func``. When combined with ``class_name``, this makes it possible to create " "libraries of helper functions without having to create an instance to call " "them. The limitation of static functions is that they can't reference member " "variables, non-static functions or ``self``." msgstr "" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:89 msgid "" "Since Godot 4.1, GDScript also supports ``static`` variables using ``static " "var``. This means you can now share a variables across instances of a class " "without having to create a separate autoload." msgstr "" #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:93 #, fuzzy msgid "" "Still, autoloaded nodes can simplify your code for systems with a wide " "scope. If the autoload is managing its own information and not invading the " "data of other objects, then it's a great way to create systems that handle " "broad-scoped tasks. For example, a quest or a dialogue system." msgstr "" "**Sistemas com amplo escopo**: se o singleton está a gerir as próprias " "informações e não invadindo os dados de outros objetos, então é uma ótima " "maneira de criar sistemas que lidam com tarefas de amplo escopo. Por " "exemplo, uma quest ou um sistema de diálogo." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:100 #, fuzzy msgid "" "An autoload is *not* necessarily a singleton. Nothing prevents you from " "instantiating copies of an autoloaded node. An autoload is only a tool that " "makes a node load automatically as a child of the root of your scene tree, " "regardless of your game's node structure or which scene you run, e.g. by " "pressing the :kbd:`F6` key." msgstr "" "Autoload não é exatamente um Singleton. Nada o impede de instanciar cópias " "de um nó carregado automaticamente. É apenas uma ferramenta que faz um nó " "carregar automaticamente como um filho da raiz da sua árvore de cenas, " "independentemente da estrutura do seu jogo ou da cena que executar, por " "exemplo, pressionando a tecla :kbd:`F6`." #: ../../docs/tutorials/best_practices/autoloads_versus_internal_nodes.rst:106 #, fuzzy msgid "" "As a result, you can get the autoloaded node, for example an autoload called " "``Sound``, by calling ``get_node(\"/root/Sound\")``." msgstr "" "Como resultado, pode obter o nó carregado automaticamente, por exemplo, um " "autoload chamado ``Sound``, chamando ``get_node(\"/root/Sound\")``." #: ../../docs/tutorials/best_practices/node_alternatives.rst:4 msgid "When and how to avoid using nodes for everything" msgstr "Quando e como evitar o uso de nós para tudo" #: ../../docs/tutorials/best_practices/node_alternatives.rst:6 msgid "" "Nodes are cheap to produce, but even they have their limits. A project may " "have tens of thousands of nodes all doing things. The more complex their " "behavior though, the larger the strain each one adds to a project's " "performance." msgstr "" "Nós são baratos de produzir, mas até eles têm limites. Um projeto pode ter " "dezenas de milhares de nós fazendo coisas. Quanto mais complexo for o " "comportamento deles, maior será a tensão que cada um adiciona ao desempenho " "de um projeto." #: ../../docs/tutorials/best_practices/node_alternatives.rst:11 msgid "" "Godot provides more lightweight objects for creating APIs which nodes use. " "Be sure to keep these in mind as options when designing how you wish to " "build your project's features." msgstr "" "O Godot fornece objetos mais leves para a criação de APIs que os nós usam. " "Lembre-se de ter isso em mente como opções ao projetar como deseja construir " "os recursos do seu projeto." #: ../../docs/tutorials/best_practices/node_alternatives.rst:15 msgid "" ":ref:`Object `: The ultimate lightweight object, the original " "Object must use manual memory management. With that said, it isn't too " "difficult to create one's own custom data structures, even node structures, " "that are also lighter than the :ref:`Node ` class." msgstr "" ":ref:`Object `: O supremo objeto leve, o Objeto original deve " "usar gestão manual de memória. Dito isso, não é muito difícil criar as " "próprias estruturas de dados personalizadas, mesmo estruturas de nós, que " "também são mais leves que a classe :ref:`Node `." #: ../../docs/tutorials/best_practices/node_alternatives.rst:20 msgid "" "**Example:** See the :ref:`Tree ` node. It supports a high level " "of customization for a table of content with an arbitrary number of rows and " "columns. The data that it uses to generate its visualization though is " "actually a tree of :ref:`TreeItem ` Objects." msgstr "" "**Exemplo:** Veja o nó :ref:`Tree <árvore_classe>`. Ele suporta um alto " "nível de personalização para uma tabela de conteúdo com uma quantidade " "arbitrária de linhas e colunas. Os dados que utiliza para gerar a " "visualização delesão na verdade uma árvore de Objetos :ref:`TreeItem " "`." #: ../../docs/tutorials/best_practices/node_alternatives.rst:25 msgid "" "**Advantages:** Simplifying one's API to smaller scoped objects helps " "improve its accessibility and improve iteration time. Rather than working " "with the entire Node library, one creates an abbreviated set of Objects from " "which a node can generate and manage the appropriate sub-nodes." msgstr "" "**Vantagens:** A simplificação da API para objetos com escopo menor ajuda a " "melhorar a sua acessibilidade e melhorar o tempo de iteração. Ao invés de " "trabalhar com toda a biblioteca de Nós, cria-se um conjunto abreviado de " "Objetos a partir dos quais um nó pode gerar e gerir os sub-nós apropriados." #: ../../docs/tutorials/best_practices/node_alternatives.rst:32 msgid "" "One should be careful when handling them. One can store an Object into a " "variable, but these references can become invalid without warning. For " "example, if the object's creator decides to delete it out of nowhere, this " "would trigger an error state when one next accesses it." msgstr "" "Deve-se ter cuidado ao manuseá-los. É possível armazenar um Objeto numa " "variável, mas essas referências podem se tornar inválidas sem aviso prévio. " "Por exemplo, se o criador do objeto decidir excluí-lo do nada, isso " "acionaria um estado de erro no próximo acesso." #: ../../docs/tutorials/best_practices/node_alternatives.rst:37 #, fuzzy msgid "" ":ref:`RefCounted `: Only a little more complex than " "Object. They track references to themselves, only deleting loaded memory " "when no further references to themselves exist. These are useful in the " "majority of cases where one needs data in a custom class." msgstr "" ":ref:`Reference `: Apenas um pouco mais complexo que " "Objeto. Elas rastreiam referências a eles mesmos, apagando apenas a memória " "carregada quando não há mais referências a eles mesmos. Elas são úteis na " "maioria dos casos em que se precisa de dados numa classe personalizada." #: ../../docs/tutorials/best_practices/node_alternatives.rst:42 #, fuzzy msgid "" "**Example:** See the :ref:`FileAccess ` object. It " "functions just like a regular Object except that one need not delete it " "themselves." msgstr "" "**Exemplo:** Veja o objeto :ref:`File `. Ele funciona como um " "Objeto normal, exceto que não é necessário excluí-lo." #: ../../docs/tutorials/best_practices/node_alternatives.rst:45 msgid "**Advantages:** same as the Object." msgstr "**Vantagens:** o mesmo que o Objeto." #: ../../docs/tutorials/best_practices/node_alternatives.rst:47 #, fuzzy msgid "" ":ref:`Resource `: Only slightly more complex than " "RefCounted. They have the innate ability to serialize/deserialize (i.e. save " "and load) their object properties to/from Godot resource files." msgstr "" ":ref:`Resource `: Apenas um pouco mais complexo que " "Referência. Eles têm a capacidade inata de serializar/deserializar (ou seja, " "gravar e carregar) as propriedades deles de/para ficheiros de recursos do " "Godot." #: ../../docs/tutorials/best_practices/node_alternatives.rst:51 msgid "" "**Example:** Scripts, PackedScene (for scene files), and other types like " "each of the :ref:`AudioEffect ` classes. Each of these " "can be save and loaded, therefore they extend from Resource." msgstr "" "**Exemplo:** Scripts, PackedScene (para ficheiros de cena), e outros tipos " "como cada uma das classes :ref:`AudioEffect `. Cada uma " "delas pode ser salva e carregada, portanto elas se estendem de Resource." #: ../../docs/tutorials/best_practices/node_alternatives.rst:55 #, fuzzy msgid "" "**Advantages:** Much has :ref:`already been said ` on :ref:" "`Resource `'s advantages over traditional data storage " "methods. In the context of using Resources over Nodes though, their main " "advantage is in Inspector-compatibility. While nearly as lightweight as " "Object/RefCounted, they can still display and export properties in the " "Inspector. This allows them to fulfill a purpose much like sub-Nodes on the " "usability front, but also improve performance if one plans to have many such " "Resources/Nodes in their scenes." msgstr "" "**Vantagens:** Muito :ref:`já foi dito ` sobre as vantagens " "de :ref:`Resource ` em relação aos métodos tradicionais de " "armazenamento de dados. No contexto da utilização de Recursos sobre Nós, " "porém, a principal vantagem deles é a compatibilidade com o Inspetor. Embora " "quase tão leves quanto Objeto/Referência, eles ainda podem exibir e exportar " "propriedades no Inspetor. Isso permite que eles cumpram um propósito muito " "parecido com os sub-nós na frente de usabilidade, mas também melhora o " "desempenho se alguém planeja ter muitos desses Recursos/Nós em cenas deles." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:4 msgid "Godot interfaces" msgstr "Interfaces em Godot" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:6 msgid "" "Often one needs scripts that rely on other objects for features. There are 2 " "parts to this process:" msgstr "" "Muitas vezes são necessários scripts que dependem de outros objetos para " "funcionalidades. Este processo tem 2 partes:" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:9 msgid "Acquiring a reference to the object that presumably has the features." msgstr "" "Adquirir uma referência ao objeto que presumivelmente possui as " "funcionalidades." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:11 msgid "Accessing the data or logic from the object." msgstr "Acessar os dados ou a lógica do objeto." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:13 msgid "The rest of this tutorial outlines the various ways of doing all this." msgstr "O resto deste tutorial descreve as várias formas de fazer tudo isto." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:16 msgid "Acquiring object references" msgstr "Adquirindo referências de objetos" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:18 msgid "" "For all :ref:`Object `\\s, the most basic way of referencing " "them is to get a reference to an existing object from another acquired " "instance." msgstr "" "Para todos os :ref:`Object `\\s, a forma mais básica de " "referenciá-los é obtendo uma referência para um objeto existente de outra " "instância adquirida." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:32 #, fuzzy msgid "" "The same principle applies for :ref:`RefCounted ` objects. " "While users often access :ref:`Node ` and :ref:`Resource " "` this way, alternative measures are available." msgstr "" "O mesmo princípio se aplica a objetos :ref:`Reference `. " "enquanto utilizadores geralmente acessam :ref:`Node ` e :ref:" "`Resource ` desta forma, medidas alternativas estão " "disponíveis." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:36 msgid "" "Instead of property or method access, one can get Resources by load access." msgstr "" "Em vez de acesso a propriedade ou método, pode-se obter Recursos por acesso " "de carregamento." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:121 msgid "Note the following:" msgstr "Observe o seguinte:" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:123 msgid "There are many ways in which a language can load such resources." msgstr "Existem muitas maneiras de uma linguagem carregar tais recursos." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:125 msgid "" "When designing how objects will access data, don't forget that one can pass " "resources around as references as well." msgstr "" "Ao projetar como os objetos acessarão os dados, não se esqueça de que também " "se pode passar recursos como referências." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:128 msgid "" "Keep in mind that loading a resource fetches the cached resource instance " "maintained by the engine. To get a new object, one must :ref:`duplicate " "` an existing reference or instantiate one " "from scratch with ``new()``." msgstr "" "Tenha em mente que carregar um recurso bisca a instância do recurso em cache " "mantida pelo motor. Para obter um novo objeto, deve-se :ref:`duplicar " "` uma referência existente ou instanciar " "uma do zero com ``new()``." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:133 msgid "Nodes likewise have an alternative access point: the SceneTree." msgstr "Nós também têm um ponto de acesso alternativo: a SceneTree." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:267 msgid "Accessing data or logic from an object" msgstr "Acessando dados ou lógica a partir de um objeto" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:269 msgid "" "Godot's scripting API is duck-typed. This means that if a script executes an " "operation, Godot doesn't validate that it supports the operation by " "**type**. It instead checks that the object **implements** the individual " "method." msgstr "" "A API de scripting do Godot é duck-typed. Isto significa que se um script " "executa uma operação, o Godot não valida que ele suporta a operação por " "**type***. Em vez disso, ele verifica se o objeto **implementa** o método " "individual." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:273 msgid "" "For example, the :ref:`CanvasItem ` class has a " "``visible`` property. All properties exposed to the scripting API are in " "fact a setter and getter pair bound to a name. If one tried to access :ref:" "`CanvasItem.visible `, then Godot would " "do the following checks, in order:" msgstr "" "Por exemplo, a classe :ref:`CanvasItem ` tem uma " "propriedade ``visible``. Todas as propriedades expostas à API de scripting " "são na verdade um par de setter e getter vinculado a um nome. Se alguém " "tentasse acessar :ref:`CanvasItem.visible " "`, então o Godot faria as seguintes " "verificações, na ordem:" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:279 msgid "" "If the object has a script attached, it will attempt to set the property " "through the script. This leaves open the opportunity for scripts to override " "a property defined on a base object by overriding the setter method for the " "property." msgstr "" "Se o objeto tiver um script anexado, ele tentará definir a propriedade " "através do script. Isto deixa aberta a oportunidade para os scripts " "sobreporem uma propriedade definida num objeto base sobrepondo o método " "setter para a propriedade." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:284 msgid "" "If the script does not have the property, it performs a HashMap lookup in " "the ClassDB for the \"visible\" property against the CanvasItem class and " "all of its inherited types. If found, it will call the bound setter or " "getter. For more information about HashMaps, see the :ref:`data preferences " "` docs." msgstr "" "Se o script não tiver a propriedade, ele realiza uma pesquisa HashMap na " "ClassDB pela propriedade \"visible\" na classe CanvasItem e todos os seus " "tipos herdados. Se encontrada, ela chamará o setter ou getter vinculado. " "Para mais informações sobre HashMaps, veja a documentação :ref:`preferências " "de dados `." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:290 msgid "" "If not found, it does an explicit check to see if the user wants to access " "the \"script\" or \"meta\" properties." msgstr "" "Se não for encontrado, ele faz uma verificação explícita para ver se o " "utilizador deseja acessar as propriedades \"script\" ou \"meta\"." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:293 msgid "" "If not, it checks for a ``_set``/``_get`` implementation (depending on type " "of access) in the CanvasItem and its inherited types. These methods can " "execute logic that gives the impression that the Object has a property. This " "is also the case with the ``_get_property_list`` method." msgstr "" "Caso contrário, ele verifica se há uma implementação ``_set``/ ``_get`` " "(dependendo do tipo de acesso) no CanvasItem e os tipos herdados deles. " "Estes métodos podem executar uma lógica que dá a impressão de que o objeto " "possui uma propriedade. Este também é o caso com o método " "``_get_property_list``." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:298 msgid "" "Note that this happens even for non-legal symbol names, such as names " "starting with a digit or containing a slash." msgstr "" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:301 msgid "" "As a result, this duck-typed system can locate a property either in the " "script, the object's class, or any class that object inherits, but only for " "things which extend Object." msgstr "" "Como resultado, este sistema duck-typed pode localizar uma propriedade no " "script, na classe do objeto ou em qualquer classe que o objeto herda, mas " "apenas para coisas que estendem de Object." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:305 msgid "" "Godot provides a variety of options for performing runtime checks on these " "accesses:" msgstr "" "O Godot fornece uma variedade de opções para realizar verificações durante a " "execução nestes acessos:" #: ../../docs/tutorials/best_practices/godot_interfaces.rst:308 #, fuzzy msgid "" "A duck-typed property access. These will be property checks (as described " "above). If the operation isn't supported by the object, execution will halt." msgstr "" "Um acesso de propriedade duck-typed. Estes irão verificar a propriedade " "(como descrito acima). Se a operação não for suportada pelo objeto, a " "execução será interrompida." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:336 msgid "" "A method check. In the case of :ref:`CanvasItem.visible " "`, one can access the methods, " "``set_visible`` and ``is_visible`` like any other method." msgstr "" "Uma verificação de método. No caso de :ref:`CanvasItem.visible " "`, pode-se acessar os métodos, " "``set_visible`` e ``is_visible`` como qualquer outro método." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:474 #, fuzzy msgid "" "Outsource the access to a :ref:`Callable `. These may be " "useful in cases where one needs the max level of freedom from dependencies. " "In this case, one relies on an external context to setup the method." msgstr "" "Terceirizar o acesso a uma :ref:`FuncRef `. Isto pode ser " "útil nos casos em que é necessário o nível máximo de liberdade de " "dependências. Neste caso, conta-se com um contexto externo para configurar o " "método." #: ../../docs/tutorials/best_practices/godot_interfaces.rst:536 msgid "" "These strategies contribute to Godot's flexible design. Between them, users " "have a breadth of tools to meet their specific needs." msgstr "" "Estas estratégias contribuem para o design flexível do Godot. Entre elas, os " "utilizadores têm uma grande variedade de ferramentas para atender às suas " "necessidades específicas." #: ../../docs/tutorials/best_practices/godot_notifications.rst:4 msgid "Godot notifications" msgstr "Notificações em Godot" #: ../../docs/tutorials/best_practices/godot_notifications.rst:6 #, fuzzy msgid "" "Every Object in Godot implements a :ref:`_notification " "` method. Its purpose is to allow " "the Object to respond to a variety of engine-level callbacks that may relate " "to it. For example, if the engine tells a :ref:`CanvasItem " "` to \"draw\", it will call " "``_notification(NOTIFICATION_DRAW)``." msgstr "" "Cada objeto no Godot implementa um método :ref:`_notification " "`. A finalidade dele é permitir que o " "Objeto responda a uma variedade de chamadas de retorno em nível de motor que " "possam estar-lhe relacionadas. Por exemplo, se o motor diz a um :ref:" "`CanvasItem ` para \"desenhar\", ele irá chamar " "``_notification(NOTIFICATION_DRAW)``." #: ../../docs/tutorials/best_practices/godot_notifications.rst:13 msgid "" "Some of these notifications, like draw, are useful to override in scripts. " "So much so that Godot exposes many of them with dedicated functions:" msgstr "" "Algumas destas notificações, como desenhar, são úteis para sobrepor em " "scripts. Tanto que o Godot expões muitas delas com funções dedicadas:" #: ../../docs/tutorials/best_practices/godot_notifications.rst:16 #, fuzzy msgid "``_ready()``: ``NOTIFICATION_READY``" msgstr "``_ready()`` : NOTIFICATION_READY" #: ../../docs/tutorials/best_practices/godot_notifications.rst:18 #, fuzzy msgid "``_enter_tree()``: ``NOTIFICATION_ENTER_TREE``" msgstr "``_enter_tree()`` : NOTIFICATION_ENTER_TREE" #: ../../docs/tutorials/best_practices/godot_notifications.rst:20 #, fuzzy msgid "``_exit_tree()``: ``NOTIFICATION_EXIT_TREE``" msgstr "``_exit_tree()`` : NOTIFICATION_EXIT_TREE" #: ../../docs/tutorials/best_practices/godot_notifications.rst:22 #, fuzzy msgid "``_process(delta)``: ``NOTIFICATION_PROCESS``" msgstr "``_process(delta)`` : NOTIFICATION_PROCESS" #: ../../docs/tutorials/best_practices/godot_notifications.rst:24 #, fuzzy msgid "``_physics_process(delta)``: ``NOTIFICATION_PHYSICS_PROCESS``" msgstr "``_physics_process(delta)`` : NOTIFICATION_PHYSICS_PROCESS" #: ../../docs/tutorials/best_practices/godot_notifications.rst:26 #, fuzzy msgid "``_draw()``: ``NOTIFICATION_DRAW``" msgstr "``_draw()`` : NOTIFICATION_DRAW" #: ../../docs/tutorials/best_practices/godot_notifications.rst:28 #, fuzzy msgid "" "What users might *not* realize is that notifications exist for types other " "than Node alone, for example:" msgstr "" "O que os utilizadores podem *não* perceber é que existem notificações para " "outros tipos além do Node sozinho:" #: ../../docs/tutorials/best_practices/godot_notifications.rst:31 msgid "" ":ref:`Object::NOTIFICATION_POSTINITIALIZE " "`: a callback that " "triggers during object initialization. Not accessible to scripts." msgstr "" ":ref:`Object::NOTIFICATION_POSTINITIALIZE " "`: uma chamada de retorno " "que aciona durante a inicialização do objeto. Não acessível a scripts." #: ../../docs/tutorials/best_practices/godot_notifications.rst:34 #, fuzzy msgid "" ":ref:`Object::NOTIFICATION_PREDELETE " "`: a callback that triggers " "before the engine deletes an Object, i.e. a \"destructor\"." msgstr "" ":ref:`Object::NOTIFICATION_PREDELETE " "`: uma chamada de retorno que " "aciona antes do motor deletar um Objeto, ou seja, um 'destruidor'." #: ../../docs/tutorials/best_practices/godot_notifications.rst:38 msgid "" "And many of the callbacks that *do* exist in Nodes don't have any dedicated " "methods, but are still quite useful." msgstr "" "E muitas das chamadas de retorno que *existem* em Nós não têm métodos " "dedicados mas ainda são bastante úteis." #: ../../docs/tutorials/best_practices/godot_notifications.rst:41 msgid "" ":ref:`Node::NOTIFICATION_PARENTED " "`: a callback that triggers " "anytime one adds a child node to another node." msgstr "" ":ref:`Node::NOTIFICATION_PARENTED " "`: uma chamada de retorno que " "aciona sempre que se adiciona um nó filho a outro nó." #: ../../docs/tutorials/best_practices/godot_notifications.rst:44 msgid "" ":ref:`Node::NOTIFICATION_UNPARENTED " "`: a callback that triggers " "anytime one removes a child node from another node." msgstr "" ":ref:`Node::NOTIFICATION_UNPARENTED " "`: uma chamada de retorno que " "aciona sempre que se remove um nó filho de outro nó." #: ../../docs/tutorials/best_practices/godot_notifications.rst:48 #, fuzzy msgid "" "One can access all these custom notifications from the universal " "``_notification()`` method." msgstr "" "Pode-se acessar todas essas notificações personalizadas a partir do método " "universal ``_notification``." #: ../../docs/tutorials/best_practices/godot_notifications.rst:52 msgid "" "Methods in the documentation labeled as \"virtual\" are also intended to be " "overridden by scripts." msgstr "" "Os métodos na documentação rotulados como \"virtual\" também são destinados " "a serem substituídos por scripts." #: ../../docs/tutorials/best_practices/godot_notifications.rst:55 #, fuzzy msgid "" "A classic example is the :ref:`_init ` " "method in Object. While it has no ``NOTIFICATION_*`` equivalent, the engine " "still calls the method. Most languages (except C#) rely on it as a " "constructor." msgstr "" "Um exemplo clássico é o método :ref:`_init ` em " "Object. Embora ele não tenha uma ``NOTIFICAÇÃO_*`` equivalente, o motor " "ainda chama o método. A maioria das linguagens (exceto C#) dependem dele " "como um construtor." #: ../../docs/tutorials/best_practices/godot_notifications.rst:60 msgid "" "So, in which situation should one use each of these notifications or virtual " "functions?" msgstr "" "Então, em que situação se deve usar cada uma destas notificações ou funções " "virtuais?" #: ../../docs/tutorials/best_practices/godot_notifications.rst:64 msgid "_process vs. _physics_process vs. \\*_input" msgstr "_process vs. _physics_process vs. \\*_input" #: ../../docs/tutorials/best_practices/godot_notifications.rst:66 #, fuzzy msgid "" "Use ``_process()`` when one needs a framerate-dependent delta time between " "frames. If code that updates object data needs to update as often as " "possible, this is the right place. Recurring logic checks and data caching " "often execute here, but it comes down to the frequency at which one needs " "the evaluations to update. If they don't need to execute every frame, then " "implementing a Timer-timeout loop is another option." msgstr "" "Use ``_process``` quando precisar de um deltatime dependente de framerate " "entre frames. Se o código que atualiza os dados do objeto precisa ser " "atualizado o mais frequentemente possível, este é o lugar certo. As " "verificações lógicas recorrentes e o armazenamento em cache de dados " "costumam ser executados aqui, mas se resume à frequência na qual se precisa " "das avaliações para atualizar. Se eles não precisarem executar cada frame, " "então implementar um loop Timer-yield-timeout é outra opção." #: ../../docs/tutorials/best_practices/godot_notifications.rst:105 #, fuzzy msgid "" "Use ``_physics_process()`` when one needs a framerate-independent delta time " "between frames. If code needs consistent updates over time, regardless of " "how fast or slow time advances, this is the right place. Recurring kinematic " "and object transform operations should execute here." msgstr "" "Use ``_physics_process`` quando precisar de um deltatime entre frames " "independente de framerate. Se o código precisa de atualizações consistentes " "ao longo do tempo, independentemente de quão rápido ou lento o tempo avança, " "este é o lugar certo. As operações recorrentes de cinemática e transformação " "de objetos devem ser executadas aqui." #: ../../docs/tutorials/best_practices/godot_notifications.rst:110 #, fuzzy msgid "" "While it is possible, to achieve the best performance, one should avoid " "making input checks during these callbacks. ``_process()`` and " "``_physics_process()`` will trigger at every opportunity (they do not " "\"rest\" by default). In contrast, ``*_input()`` callbacks will trigger only " "on frames in which the engine has actually detected the input." msgstr "" "Embora seja possível, para obter o melhor desempenho, deve-se evitar fazer " "verificações de entrada durante estas chamadas de retorno. ``_process`` e " "``_physics_process`` acionarão em todas as oportunidades (eles não " "\"descançam\" por padrão). Em contraste, as chamadas de retorno ``*_input`` " "acionarão apenas nos quadros nos quais o motor realmente detectou a entrada." #: ../../docs/tutorials/best_practices/godot_notifications.rst:116 #, fuzzy msgid "" "One can check for input actions within the input callbacks just the same. If " "one wants to use delta time, one can fetch it from the related delta time " "methods as needed." msgstr "" "É possível verificar se há ações de entrada dentro das chamadas de retorno " "de entrada da mesma forma. Se alguém quiser usar o tempo delta, pode-se " "buscá-lo a partir dos métodos deltatime relacionados conforme necessário." #: ../../docs/tutorials/best_practices/godot_notifications.rst:164 msgid "_init vs. initialization vs. export" msgstr "_init vs. initialization vs. export" #: ../../docs/tutorials/best_practices/godot_notifications.rst:166 #, fuzzy msgid "" "If the script initializes its own node subtree, without a scene, that code " "should execute here. Other property or SceneTree-independent initializations " "should also run here. This triggers before ``_ready()`` or " "``_enter_tree()``, but after a script creates and initializes its properties." msgstr "" "Se o script inicializa sua própria sub-árvore de nó, sem uma cena, esse " "código deve ser executado aqui. Outras propriedades ou inicializações " "independentes da SceneTree-independent também devem ser executadas aqui. " "Isto aciona antes de ``_ready`` ou ``_enter_tree``, mas depois que um script " "cria e inicializa as propriedades dele." #: ../../docs/tutorials/best_practices/godot_notifications.rst:171 msgid "" "Scripts have three types of property assignments that can occur during " "instantiation:" msgstr "" "Scripts têm três tipos de atribuições de propriedade que podem ocorrer " "durante a instanciação:" #: ../../docs/tutorials/best_practices/godot_notifications.rst:217 msgid "" "When instantiating a scene, property values will set up according to the " "following sequence:" msgstr "" "Ao instanciar uma cena, os valores das propriedades serão configurados de " "acordo com a seguinte sequência:" #: ../../docs/tutorials/best_practices/godot_notifications.rst:220 msgid "" "**Initial value assignment:** instantiation will assign either the " "initialization value or the init assignment value. Init assignments take " "priority over initialization values." msgstr "" "**Atribuição de valor inicial:** a instanciação atribuirá o valor de " "inicialização ou o valor de atribuição inicial. As atribuições de " "inicialização têm prioridade sobre os valores de inicialização." #: ../../docs/tutorials/best_practices/godot_notifications.rst:224 msgid "" "**Exported value assignment:** If instancing from a scene rather than a " "script, Godot will assign the exported value to replace the initial value " "defined in the script." msgstr "" "**Atribuição de valor exportado:** Se criar uma instância de uma cena em vez " "de um script, o Godot atribuirá o valor exportado para substituir o valor " "inicial definido no script." #: ../../docs/tutorials/best_practices/godot_notifications.rst:228 msgid "" "As a result, instantiating a script versus a scene will affect both the " "initialization *and* the number of times the engine calls the setter." msgstr "" "Como resultado, instanciar um script versus uma cena afetará tanto a " "inicialização *como* quantas vezes o mecanismo chama o setter." #: ../../docs/tutorials/best_practices/godot_notifications.rst:232 msgid "_ready vs. _enter_tree vs. NOTIFICATION_PARENTED" msgstr "" #: ../../docs/tutorials/best_practices/godot_notifications.rst:234 #, fuzzy msgid "" "When instantiating a scene connected to the first executed scene, Godot will " "instantiate nodes down the tree (making ``_init()`` calls) and build the " "tree going downwards from the root. This causes ``_enter_tree()`` calls to " "cascade down the tree. Once the tree is complete, leaf nodes call " "``_ready``. A node will call this method once all child nodes have finished " "calling theirs. This then causes a reverse cascade going up back to the " "tree's root." msgstr "" "Ao instanciar uma cena conectada à primeira cena executada, o Godot irá " "instanciar nós abaixo da árvore (fazendo chamadas ``_init``) e construir a " "árvore descendo a partir da raiz. Isto faz com que as chamadas " "``_enter_tree`` desçam em cascata pela árvore. Quando a árvore estiver " "completa, os nós da folha chamam ``_ready``. Um nó chamará este método assim " "que todos os nós filhos tenham terminado de chamar o deles. Isto então causa " "uma cascata inversa que volta à raiz da árvore." #: ../../docs/tutorials/best_practices/godot_notifications.rst:241 #, fuzzy msgid "" "When instantiating a script or a standalone scene, nodes are not added to " "the SceneTree upon creation, so no ``_enter_tree()`` callbacks trigger. " "Instead, only the ``_init()`` call occurs. When the scene is added to the " "SceneTree, the ``_enter_tree()`` and ``_ready()`` calls occur." msgstr "" "Ao instanciar um script ou uma cena isolada, nós não são adicionados à " "SceneTree após a criação, então nenhuma chamada de retorno ``_enter_tree`` " "aciona. Em vez disso, apenas as chamadas ``_init`` e depois ``_ready`` " "ocorrem." #: ../../docs/tutorials/best_practices/godot_notifications.rst:246 msgid "" "If one needs to trigger behavior that occurs as nodes parent to another, " "regardless of whether it occurs as part of the main/active scene or not, one " "can use the :ref:`PARENTED ` " "notification. For example, here is a snippet that connects a node's method " "to a custom signal on the parent node without failing. Useful on data-" "centric nodes that one might create at runtime." msgstr "" "Se for necessário disparar o comportamento que ocorre como nós pais de " "outro, independentemente de ocorrer como parte da cena principal/ativa ou " "não, pode-se usar a notificação :ref:`PARENTED " "`. Por exemplo, aqui está um " "trecho que conecta o método de um nó a um sinal personalizado no nó pai sem " "falhar. Útil em nós centrados em dados que podem ser criados durante a " "execução." #: ../../docs/tutorials/best_practices/data_preferences.rst:6 msgid "Data preferences" msgstr "Preferências de dados" #: ../../docs/tutorials/best_practices/data_preferences.rst:8 msgid "" "Ever wondered whether one should approach problem X with data structure Y or " "Z? This article covers a variety of topics related to these dilemmas." msgstr "" "Já se perguntou se devemos abordar o problema X com a estrutura de dados Y " "ou Z? Este artigo cobre uma variedade de tópicos relacionados a esses " "dilemas." #: ../../docs/tutorials/best_practices/data_preferences.rst:13 msgid "" "This article makes references to \"[something]-time\" operations. This " "terminology comes from algorithm analysis' `Big O Notation `_." msgstr "" "Este artigo faz referência a operações \"[algo]-tempo\". Esta terminologia " "vem da análise de algoritmos do `Big O Notation `_." #: ../../docs/tutorials/best_practices/data_preferences.rst:17 msgid "" "Long-story short, it describes the worst-case scenario of runtime length. In " "laymen's terms:" msgstr "" "Resumindo, ele descreve o pior cenário de duração do tempo de execução. Em " "termos leigos:" #: ../../docs/tutorials/best_practices/data_preferences.rst:20 msgid "" "\"As the size of a problem domain increases, the runtime length of the " "algorithm...\"" msgstr "" "\"À medida que o tamanho de um domínio problemático aumenta, o comprimento " "de execução do algoritmo...\"" #: ../../docs/tutorials/best_practices/data_preferences.rst:23 msgid "Constant-time, ``O(1)``: \"...does not increase.\"" msgstr "Tempo constante, ``O(1)``O(1)``: \"...não aumenta.\"" #: ../../docs/tutorials/best_practices/data_preferences.rst:24 msgid "Logarithmic-time, ``O(log n)``: \"...increases at a slow rate.\"" msgstr "Tempo logarítmico, ``O(log n)``: \"... aumenta numa taxa lenta.\"" #: ../../docs/tutorials/best_practices/data_preferences.rst:25 msgid "Linear-time, ``O(n)``: \"...increases at the same rate.\"" msgstr "Tempo linear, ``O(n)``: \"... aumenta na mesma taxa.\"" #: ../../docs/tutorials/best_practices/data_preferences.rst:26 msgid "Etc." msgstr "Etc." #: ../../docs/tutorials/best_practices/data_preferences.rst:28 msgid "" "Imagine if one had to process 3 million data points within a single frame. " "It would be impossible to craft the feature with a linear-time algorithm " "since the sheer size of the data would increase the runtime far beyond the " "time allotted. In comparison, using a constant-time algorithm could handle " "the operation without issue." msgstr "" "Imagine se fosse necessário processar 3 milhões de pontos de dados num único " "quadro. Seria impossível criar o recurso com um algoritmo de tempo linear, " "pois o tamanho dos dados aumentaria o tempo de execução muito além do tempo " "alocado. Em comparação, o uso de um algoritmo de tempo constante pode lidar " "com a operação sem problemas." #: ../../docs/tutorials/best_practices/data_preferences.rst:34 msgid "" "By and large, developers want to avoid engaging in linear-time operations as " "much as possible. But, if one keeps the scale of a linear-time operation " "small, and if one does not need to perform the operation often, then it may " "be acceptable. Balancing these requirements and choosing the right " "algorithm / data structure for the job is part of what makes programmers' " "skills valuable." msgstr "" "Em geral, os programadores desejam evitar o envolvimento em operações de " "tempo linear o máximo possível. Mas, se mantivermos a escala de uma operação " "de tempo linear pequena e se não for necessário realizar a operação com " "frequência, isso pode ser aceitável. Equilibrar esses requisitos e escolher " "o algoritmo / estrutura de dados certa para o trabalho é parte do que torna " "as habilidades dos programadores valiosas." #: ../../docs/tutorials/best_practices/data_preferences.rst:42 msgid "Array vs. Dictionary vs. Object" msgstr "Array vs. Dicionário vs. Objeto" #: ../../docs/tutorials/best_practices/data_preferences.rst:44 #, fuzzy msgid "" "Godot stores all variables in the scripting API in the :ref:`Variant " "` class. Variants can store Variant-compatible data " "structures such as :ref:`Array ` and :ref:`Dictionary " "` as well as :ref:`Objects `." msgstr "" "O Godot armazena todas as variáveis na API de scripting na classe `Variant " "` " "_. As variantes podem armazenar estruturas de dados compatíveis com Variant, " "como :ref:`Array ` e :ref:`Dictionary `, bem " "como :ref:`Object `." #: ../../docs/tutorials/best_practices/data_preferences.rst:50 msgid "" "Godot implements Array as a ``Vector``. The engine stores the Array " "contents in a contiguous section of memory, i.e. they are in a row adjacent " "to each other." msgstr "" "O Godot implementa o Array como um ``Vector``. O motor armazena o " "conteúdo do Array numa secção contígua da memória, ou seja, eles estão em " "uma fileira adjacente um ao outro." #: ../../docs/tutorials/best_practices/data_preferences.rst:56 #, fuzzy msgid "" "For those unfamiliar with C++, a Vector is the name of the array object in " "traditional C++ libraries. It is a \"templated\" type, meaning that its " "records can only contain a particular type (denoted by angled brackets). So, " "for example, a :ref:`PackedStringArray ` would be " "something like a ``Vector``." msgstr "" "Para aqueles não familiarizados com C++, um Vetor é o nome do objeto Array " "em bibliotecas C++ tradicionais. É um tipo \"modelado\", o que significa que " "os registos deles podem conter apenas um tipo particular (denotado por " "brackets angulares). Então, por exemplo, um :ref:`PoolStringArray " "` seria algo como um ``Vector``." #: ../../docs/tutorials/best_practices/data_preferences.rst:63 msgid "Contiguous memory stores imply the following operation performance:" msgstr "" "Armazenamentos de memória contígua implicam no seguinte desempenho de " "operação:" #: ../../docs/tutorials/best_practices/data_preferences.rst:65 msgid "**Iterate:** Fastest. Great for loops." msgstr "**Iterar:** O mais rápido. Ótimo para loops." #: ../../docs/tutorials/best_practices/data_preferences.rst:67 msgid "Op: All it does is increment a counter to get to the next record." msgstr "" "Op: Tudo que ele faz é incrementar um contador para chegar ao próximo " "registo." #: ../../docs/tutorials/best_practices/data_preferences.rst:69 msgid "**Insert, Erase, Move:** Position-dependent. Generally slow." msgstr "**Inserir, Apagar, Mover:** Dependente da posição. Geralmente lento." #: ../../docs/tutorials/best_practices/data_preferences.rst:71 msgid "" "Op: Adding/removing/moving content involves moving the adjacent records over " "(to make room / fill space)." msgstr "" "Op: Adicionar/remover/mover conteúdo envolve mover os registos adjacentes " "(para criar espaço / preencher espaço)." #: ../../docs/tutorials/best_practices/data_preferences.rst:74 msgid "Fast add/remove *from the end*." msgstr "Adicionar/remover rapidamente *do final*." #: ../../docs/tutorials/best_practices/data_preferences.rst:76 msgid "Slow add/remove *from an arbitrary position*." msgstr "Adicionar/remover lentamente *de uma posição arbitrária*." #: ../../docs/tutorials/best_practices/data_preferences.rst:78 msgid "Slowest add/remove *from the front*." msgstr "Adicionar/remover mais devagar *da frente*." #: ../../docs/tutorials/best_practices/data_preferences.rst:80 msgid "If doing many inserts/removals *from the front*, then..." msgstr "Se fizer muitas inserções/remoções *da frente*, então..." #: ../../docs/tutorials/best_practices/data_preferences.rst:82 msgid "invert the array." msgstr "inverta o array." #: ../../docs/tutorials/best_practices/data_preferences.rst:84 msgid "do a loop which executes the Array changes *at the end*." msgstr "faça um loop que executa as mudanças do Array *no final*." #: ../../docs/tutorials/best_practices/data_preferences.rst:86 msgid "re-invert the array." msgstr "reinverta o array." #: ../../docs/tutorials/best_practices/data_preferences.rst:88 msgid "" "This makes only 2 copies of the array (still constant time, but slow) versus " "copying roughly 1/2 of the array, on average, N times (linear time)." msgstr "" "Isto faz apenas duas cópias do array (tempo ainda constante, mas lento) em " "comparação com a cópia de cerca de 1/2 do array, em média, N vezes (tempo " "linear)." #: ../../docs/tutorials/best_practices/data_preferences.rst:91 msgid "" "**Get, Set:** Fastest *by position*. E.g. can request 0th, 2nd, 10th record, " "etc. but cannot specify which record you want." msgstr "" "**Get, Set:** Mais rápido *por posição*. Ex. pode solicitar 0º, 2º, 10º " "registo, etc. mas não pode especificar qual registo deseja." #: ../../docs/tutorials/best_practices/data_preferences.rst:94 msgid "Op: 1 addition operation from array start position up to desired index." msgstr "" "Op: 1 operação de adição desde a posição de início do array até o índice " "desejado." #: ../../docs/tutorials/best_practices/data_preferences.rst:96 msgid "**Find:** Slowest. Identifies the index/position of a value." msgstr "**Find:** O mais lento. Identifica o índice/posição de um valor." #: ../../docs/tutorials/best_practices/data_preferences.rst:98 msgid "" "Op: Must iterate through array and compare values until one finds a match." msgstr "" "Op: Deve iterar através de array e comparar valores até encontrar uma " "correspondência." #: ../../docs/tutorials/best_practices/data_preferences.rst:100 msgid "" "Performance is also dependent on whether one needs an exhaustive search." msgstr "O desempenho também depende da necessidade de uma busca exaustiva." #: ../../docs/tutorials/best_practices/data_preferences.rst:103 msgid "" "If kept ordered, custom search operations can bring it to logarithmic time " "(relatively fast). Laymen users won't be comfortable with this though. Done " "by re-sorting the Array after every edit and writing an ordered-aware search " "algorithm." msgstr "" "Se mantidas em ordem, as operações de busca personalizadas podem levar ao " "tempo logarítmico (relativamente rápido). Os utilizadores leigos não ficarão " "confortáveis com isso. Feito reordenando o Array após cada edição e " "escrevendo um algoritmo de busca com reconhecimento ordenado." #: ../../docs/tutorials/best_practices/data_preferences.rst:108 msgid "" "Godot implements Dictionary as an ``OrderedHashMap``. The " "engine stores a small array (initialized to 2^3 or 8 records) of key-value " "pairs. When one attempts to access a value, they provide it a key. It then " "*hashes* the key, i.e. converts it into a number. The \"hash\" is used to " "calculate the index into the array. As an array, the OHM then has a quick " "lookup within the \"table\" of keys mapped to values. When the HashMap " "becomes too full, it increases to the next power of 2 (so, 16 records, then " "32, etc.) and rebuilds the structure." msgstr "" "O Godot implementa o Dicionário como um ``OrderedHashMap```. O motor armazena um pequeno array (inicializado a 2^3 ou 8 " "registos) de pares de valor-chave. Quando se tenta acessar um valor, eles " "fornecem uma chave. Ele então *hasha* a chave, ou seja, converte-a num " "número. O \"hash\" é usado para calcular o índice para o array. Como um " "array, o OHM então tem uma rápida procura dentro da \"tabela\" de chaves " "mapeadas para valores. Quando o HashMap fica muito cheio, ele aumenta para a " "próxima potência de 2 (assim, 16 registos, depois 32, etc.) e reconstrói a " "estrutura." #: ../../docs/tutorials/best_practices/data_preferences.rst:116 msgid "" "Hashes are to reduce the chance of a key collision. If one occurs, the table " "must recalculate another index for the value that takes the previous " "position into account. In all, this results in constant-time access to all " "records at the expense of memory and some minor operational efficiency." msgstr "" "Os hashes são para reduzir a chance de uma colisão de chave. Se ocorrer, a " "tabela deve recalcular outro índice para o valor que leva em conta a posição " "anterior. Ao todo, isto resulta em acesso constante a todos os registos em " "detrimento da memória e de alguma eficiência operacional menor." #: ../../docs/tutorials/best_practices/data_preferences.rst:121 msgid "Hashing every key an arbitrary number of times." msgstr "Hashear cada chave um quantidade arbitrária de vezes." #: ../../docs/tutorials/best_practices/data_preferences.rst:123 msgid "" "Hash operations are constant-time, so even if an algorithm must do more than " "one, as long as the number of hash calculations doesn't become too dependent " "on the density of the table, things will stay fast. Which leads to..." msgstr "" "Operações de hash são constantes, portanto, mesmo se um algoritmo precisar " "fazer mais de um, desde que a quantidade de cálculos de hash não se torne " "muito dependente da densidade da tabela, as coisas permanecerão rápidas. O " "que leva a..." #: ../../docs/tutorials/best_practices/data_preferences.rst:128 msgid "Maintaining an ever-growing size for the table." msgstr "Fazer a manutenção de um tamanho cada vez maior para a tabela." #: ../../docs/tutorials/best_practices/data_preferences.rst:130 msgid "" "HashMaps maintain gaps of unused memory interspersed in the table on purpose " "to reduce hash collisions and maintain the speed of accesses. This is why it " "constantly increases in size quadratically by powers of 2." msgstr "" "HashMaps mantêm lacunas de memória não utilizada intercaladas na tabela de " "propósito para reduzir as colisões de hash e manter a velocidade dos " "acessos. É por isso que aumenta constantemente de tamanho quadraticamente em " "potências de 2." #: ../../docs/tutorials/best_practices/data_preferences.rst:135 msgid "" "As one might be able to tell, Dictionaries specialize in tasks that Arrays " "do not. An overview of their operational details is as follows:" msgstr "" "Como se pode notar, os Dicionários se especializam em tarefas que os Arrays " "não fazem. Uma visão geral dos detalhes operacionais deles é a seguinte:" #: ../../docs/tutorials/best_practices/data_preferences.rst:138 msgid "**Iterate:** Fast." msgstr "**Iterate:** Rápido." #: ../../docs/tutorials/best_practices/data_preferences.rst:140 msgid "" "Op: Iterate over the map's internal vector of hashes. Return each key. " "Afterwards, users then use the key to jump to and return the desired value." msgstr "" "Op: Itere sobre o vetor interno de hashes do mapa. Retorne cada chave. " "Depois, os utilizadores usam a tecla para pular e retornar o valor desejado." #: ../../docs/tutorials/best_practices/data_preferences.rst:144 msgid "**Insert, Erase, Move:** Fastest." msgstr "**Inserir, Apagar, mover:** O mais rápido." #: ../../docs/tutorials/best_practices/data_preferences.rst:146 msgid "" "Op: Hash the given key. Do 1 addition operation to look up the appropriate " "value (array start + offset). Move is two of these (one insert, one erase). " "The map must do some maintenance to preserve its capabilities:" msgstr "" "Op: Hasheia a chave fornecida. Faça 1 operação de adição para pesquisar o " "valor apropriado (início do array + deslocamento). Mover é dois deles (um " "inserir, um apagar). O mapa deve fazer alguma manutenção para preservar as " "capacidades dele:" #: ../../docs/tutorials/best_practices/data_preferences.rst:151 msgid "update ordered List of records." msgstr "atualizar Lista encomendada de registos." #: ../../docs/tutorials/best_practices/data_preferences.rst:153 msgid "determine if table density mandates a need to expand table capacity." msgstr "" "determinar se a densidade da tabela exige a ampliação da capacidade da " "tabela." #: ../../docs/tutorials/best_practices/data_preferences.rst:155 msgid "" "The Dictionary remembers in what order users inserted its keys. This enables " "it to execute reliable iterations." msgstr "" "O Dicionário lembra em que ordem os utilizadores inseriram as chaves dele. " "Isso permite que execute iterações confiáveis." #: ../../docs/tutorials/best_practices/data_preferences.rst:158 msgid "**Get, Set:** Fastest. Same as a lookup *by key*." msgstr "**Get, Set:** Mais rápido. O mesmo que uma pesquisa *por chave*." #: ../../docs/tutorials/best_practices/data_preferences.rst:160 msgid "Op: Same as insert/erase/move." msgstr "Op: O mesmo que inserir/apagar/mover." #: ../../docs/tutorials/best_practices/data_preferences.rst:162 msgid "**Find:** Slowest. Identifies the key of a value." msgstr "**Find:** Mais lento. Identifica a chave de um valor." #: ../../docs/tutorials/best_practices/data_preferences.rst:164 msgid "" "Op: Must iterate through records and compare the value until a match is " "found." msgstr "" "Op: Deve iterar através de registos e comparar o valor até que uma " "correspondência seja encontrada." #: ../../docs/tutorials/best_practices/data_preferences.rst:167 msgid "" "Note that Godot does not provide this feature out-of-the-box (because they " "aren't meant for this task)." msgstr "" "Observe que o Godot não fornece este funcionalidade de forma imediata " "(porque eles não foram feitos para essa tarefa)." #: ../../docs/tutorials/best_practices/data_preferences.rst:170 msgid "" "Godot implements Objects as stupid, but dynamic containers of data content. " "Objects query data sources when posed questions. For example, to answer the " "question, \"do you have a property called, 'position'?\", it might ask its :" "ref:`script ` or the :ref:`ClassDB `. One can " "find more information about what objects are and how they work in the :ref:" "`doc_what_are_godot_classes` article." msgstr "" "O Godot implementa Objetos como recipientes estúpidos, mas dinâmicos, de " "conteúdo de dados. Objetos consultam fontes de dados quando são feitas " "perguntas. Por exemplo, para responder à pergunta, \"tem uma propriedade " "chamada, 'posição'?\", pode perguntar a sua :ref:`script ` ou " "a :ref:`ClassDB `. É possível encontrar mais informações " "sobre o que são objetos e como eles funcionam no artigo :ref:" "`doc_what_are_godot_classes`." #: ../../docs/tutorials/best_practices/data_preferences.rst:177 msgid "" "The important detail here is the complexity of the Object's task. Every time " "it performs one of these multi-source queries, it runs through *several* " "iteration loops and HashMap lookups. What's more, the queries are linear-" "time operations dependent on the Object's inheritance hierarchy size. If the " "class the Object queries (its current class) doesn't find anything, the " "request defers to the next base class, all the way up until the original " "Object class. While these are each fast operations in isolation, the fact " "that it must make so many checks is what makes them slower than both of the " "alternatives for looking up data." msgstr "" "O detalhe importante aqui é a complexidade da tarefa do Objeto. Cada vez que " "ele executa uma destas consultas multi-fonte, ele passa por *vários* loops " "de iteração e pesquisas de HashMap. Além disso, as consultas são operações " "de tempo linear dependentes do tamanho da hierarquia de herança do Objeto. " "Se a classe que o Objeto consulta (a classe dele atual) não encontra nada, a " "solicitação adia para a próxima classe base, até a classe Objeto original. " "Embora estas sejam cada uma das operações rápidas isoladamente, o fato de " "que deve fazer tantas verificações é o que as torna mais lentas do que as " "duas alternativas para a pesquisa de dados." #: ../../docs/tutorials/best_practices/data_preferences.rst:189 msgid "" "When developers mention how slow the scripting API is, it is this chain of " "queries they refer to. Compared to compiled C++ code where the application " "knows exactly where to go to find anything, it is inevitable that scripting " "API operations will take much longer. They must locate the source of any " "relevant data before they can attempt to access it." msgstr "" "Quando os programadores mencionam o quão lenta é a API de scripting, é esta " "cadeia de consultas a que eles se referem. Comparado ao código C++ compilado " "onde a aplicação sabe exatamente para onde ir para encontrar qualquer coisa, " "é inevitável que as operações do API de scripting levem muito mais tempo. " "Eles devem localizar a fonte de quaisquer dados relevantes antes de tentarem " "acessá-los." #: ../../docs/tutorials/best_practices/data_preferences.rst:195 msgid "" "The reason GDScript is slow is because every operation it performs passes " "through this system." msgstr "" "O motivo pelo qual o GDScript é lento é porque todas as operações que ele " "executa passam por esse sistema." #: ../../docs/tutorials/best_practices/data_preferences.rst:198 msgid "" "C# can process some content at higher speeds via more optimized bytecode. " "But, if the C# script calls into an engine class' content or if the script " "tries to access something external to it, it will go through this pipeline." msgstr "" "O C# pode processar algum conteúdo em velocidades mais altas por meio de " "bytecode mais otimizado. Mas, se o script C# chamar o conteúdo de uma classe " "do motor ou se o script tentar acessar algo externo a ele, passará por este " "pipeline." #: ../../docs/tutorials/best_practices/data_preferences.rst:203 msgid "" "NativeScript C++ goes even further and keeps everything internal by default. " "Calls into external structures will go through the scripting API. In " "NativeScript C++, registering methods to expose them to the scripting API is " "a manual task. It is at this point that external, non-C++ classes will use " "the API to locate them." msgstr "" "O NativeScript C++ vai ainda mais longe e mantém tudo interno por padrão. " "Chamadas para estruturas externas irão através da API de scripting. No " "NativeScript C++, registar métodos para expô-los à API de scripting é uma " "tarefa manual. É neste ponto que as classes externas, não-C++, utilizarão a " "API para localizá-las." #: ../../docs/tutorials/best_practices/data_preferences.rst:209 msgid "" "So, assuming one extends from Reference to create a data structure, like an " "Array or Dictionary, why choose an Object over the other two options?" msgstr "" "Portanto, supondo que se estenda de Reference para criar uma estrutura de " "dados, como um Array ou Dicionário, por que escolher um Objeto em vez das " "outras duas opções?" #: ../../docs/tutorials/best_practices/data_preferences.rst:212 msgid "" "**Control:** With objects comes the ability to create more sophisticated " "structures. One can layer abstractions over the data to ensure the external " "API doesn't change in response to internal data structure changes. What's " "more, Objects can have signals, allowing for reactive behavior." msgstr "" "**Controle:** Com objetos vem a capacidade de criar estruturas mais " "sofisticadas. É possível pôr abstrações sobre os dados para garantir que a " "API externa não mude em resposta às mudanças na estrutura de dados interna. " "Além do mais, Objetos podem ter sinais, permitindo um comportamento reativo." #: ../../docs/tutorials/best_practices/data_preferences.rst:217 msgid "" "**Clarity:** Objects are a reliable data source when it comes to the data " "that scripts and engine classes define for them. Properties may not hold the " "values one expects, but one doesn't need to worry about whether the property " "exists in the first place." msgstr "" "**Clareza:** Objetos são uma fonte de dados confiável quando se trata dos " "dados que os scripts e as classes do motor lhe definem. Propriedades podem " "não conter os valores esperados, mas não é necessário se preocupar se a " "propriedade existe em primeiro lugar." #: ../../docs/tutorials/best_practices/data_preferences.rst:222 msgid "" "**Convenience:** If one already has a similar data structure in mind, then " "extending from an existing class makes the task of building the data " "structure much easier. In comparison, Arrays and Dictionaries don't fulfill " "all use cases one might have." msgstr "" "**Conveniência:** Se já houver uma estrutura de dados semelhante em mente, " "então estender a partir de uma classe existente torna a tarefa de construir " "a estrutura de dados muito mais fácil. Em comparação, Arrays e Dicionários " "não atendem a todos os casos de uso que podemos ter." #: ../../docs/tutorials/best_practices/data_preferences.rst:227 msgid "" "Objects also give users the opportunity to create even more specialized data " "structures. With it, one can design their own List, Binary Search Tree, " "Heap, Splay Tree, Graph, Disjoint Set, and any host of other options." msgstr "" "Objetos também dão aos utilizadores a oportunidade de criar estruturas de " "dados ainda mais especializadas. Com ele, é possível projetar a própria " "Lista, Árvore de Busca Binária, Heap, Splay Tree, Gráfico, Conjunto " "Desarticulado e qualquer hospedeiro de outras opções." #: ../../docs/tutorials/best_practices/data_preferences.rst:231 msgid "" "\"Why not use Node for tree structures?\" one might ask. Well, the Node " "class contains things that won't be relevant to one's custom data structure. " "As such, it can be helpful to construct one's own node type when building " "tree structures." msgstr "" "\"Porque não usar Node para estruturas de árvores?\" pode-se perguntar. Bem, " "a classe Node contém coisas que não serão relevantes para a estrutura de " "dados personalizada. Como tal, pode ser útil construir o próprio tipo de nó " "ao construir estruturas em árvore." #: ../../docs/tutorials/best_practices/data_preferences.rst:278 msgid "" "From here, one can then create their own structures with specific features, " "limited only by their imagination." msgstr "" "A partir daqui, é possível criar as próprias estruturas com funcionalidades " "específicas, limitadas apenas por a imaginação deles." #: ../../docs/tutorials/best_practices/data_preferences.rst:282 msgid "Enumerations: int vs. string" msgstr "Enumerações: int vs. string" #: ../../docs/tutorials/best_practices/data_preferences.rst:284 msgid "" "Most languages offer an enumeration type option. GDScript is no different, " "but unlike most other languages, it allows one to use either integers or " "strings for the enum values (the latter only when using the ``export`` " "keyword in GDScript). The question then arises, \"which should one use?\"" msgstr "" "A maioria das linguagens oferecem uma opção do tipo enumeração. GDScript não " "é diferente, mas ao contrário da maioria das outras linguagens, ele permite " "usar inteiros ou cadeias para os valores do enum (este último apenas quando " "se utiliza a palavra-chave ``export`` no GDScript). Surge então a pergunta: " "\"qual deve ser usado?\"" #: ../../docs/tutorials/best_practices/data_preferences.rst:289 msgid "" "The short answer is, \"whichever you are more comfortable with.\" This is a " "feature specific to GDScript and not Godot scripting in general; The " "languages prioritizes usability over performance." msgstr "" "A resposta curta é: aquele com o qual se sentir mais confortável\". Este é " "um recurso específico do GDScript e não do scripting do Godot em geral; As " "linguagens priorizam usabilidade em vez do desempenho." #: ../../docs/tutorials/best_practices/data_preferences.rst:293 msgid "" "On a technical level, integer comparisons (constant-time) will happen faster " "than string comparisons (linear-time). If one wants to keep up other " "languages' conventions though, then one should use integers." msgstr "" "Num nível técnico, comparações de inteiros (tempo constante) acontecerão " "mais rápido que comparações de cadeias (tempo linear). Se for preciso manter " "convenções de outras linguagens, então deve-se usar números inteiros." #: ../../docs/tutorials/best_practices/data_preferences.rst:297 #, fuzzy msgid "" "The primary issue with using integers comes up when one wants to *print* an " "enum value. As integers, attempting to print ``MY_ENUM`` will print ``5`` or " "what-have-you, rather than something like ``\"MyEnum\"``. To print an " "integer enum, one would have to write a Dictionary that maps the " "corresponding string value for each enum." msgstr "" "O problema principal com o uso de inteiros surge quando se deseja *imprimir* " "um valor enum. Como inteiros, tentar imprimir MY_ENUM imprimirá ``5``ou sei " "lá o quê, ao invés de algo como ``MyEnum``. Para imprimir um enum inteiro, " "seria preciso escrever um dicionário que mapeia o valor da cadeia " "correspondente para cada enum." #: ../../docs/tutorials/best_practices/data_preferences.rst:303 msgid "" "If the primary purpose of using an enum is for printing values and one " "wishes to group them together as related concepts, then it makes sense to " "use them as strings. That way, a separate data structure to execute on the " "printing is unnecessary." msgstr "" "Se o objetivo principal de usar um enum é para imprimir valores e se deseja " "agrupá-los como conceitos relacionados, então faz sentido utilizá-los como " "cadeias. Dessa forma, uma estrutura de dados separada para executar na " "impressão é desnecessária." #: ../../docs/tutorials/best_practices/data_preferences.rst:309 msgid "" "AnimatedTexture vs. AnimatedSprite2D vs. AnimationPlayer vs. AnimationTree" msgstr "" #: ../../docs/tutorials/best_practices/data_preferences.rst:311 msgid "" "Under what circumstances should one use each of Godot's animation classes? " "The answer may not be immediately clear to new Godot users." msgstr "" "Em que circunstâncias se deve usar cada uma das classes de animação do " "Godot? A resposta não pode ser imediatamente clara para novos utilizadores " "do Godot." #: ../../docs/tutorials/best_practices/data_preferences.rst:314 msgid "" ":ref:`AnimatedTexture ` is a texture that the engine " "draws as an animated loop rather than a static image. Users can manipulate..." msgstr "" ":ref:`AnimatedTexture ` é uma textura que o motor " "desenha como um loop animado em vez de uma imagem estática. Utilizadores " "podem manipular..." #: ../../docs/tutorials/best_practices/data_preferences.rst:318 #, fuzzy msgid "the rate at which it moves across each section of the texture (FPS)." msgstr "a taxa na qual ela se move através de cada secção da textura (fps)." #: ../../docs/tutorials/best_practices/data_preferences.rst:320 msgid "the number of regions contained within the texture (frames)." msgstr "a quantidade de regiões contidas dentro da textura (quadros)." #: ../../docs/tutorials/best_practices/data_preferences.rst:322 #, fuzzy msgid "" "Godot's :ref:`RenderingServer ` then draws the " "regions in sequence at the prescribed rate. The good news is that this " "involves no extra logic on the part of the engine. The bad news is that " "users have very little control." msgstr "" "O :ref:`VisualServer ` do Godot então desenha as regiões " "em sequência na taxa prescrita. A boa notícia é que isto não envolve lógica " "extra por parte do motor. A má notícia é que os utilizadores têm muito pouco " "controle." #: ../../docs/tutorials/best_practices/data_preferences.rst:327 #, fuzzy msgid "" "Also note that AnimatedTexture is a :ref:`Resource ` unlike " "the other :ref:`Node ` objects discussed here. One might create " "a :ref:`Sprite2D ` node that uses AnimatedTexture as its " "texture. Or (something the others can't do) one could add AnimatedTextures " "as tiles in a :ref:`TileSet ` and integrate it with a :ref:" "`TileMap ` for many auto-animating backgrounds that all " "render in a single batched draw call." msgstr "" "Observe também que o AnimatedTexture é um :ref:`Resource ` " "ao contrário dos outros objetos :ref:`Node ` discutidos aqui. " "Pode-se criar um nó :ref:`Sprite ` que usa Animated Texture " "como a textura dele. Ou (algo que os outros não podem fazer) pode-se " "adicionar AnimatedTextures como tiles num :ref:`TileSet ` e " "intergrá-lo com um :ref:`TileMap ` para muitos fundos " "autoanimados que renderizam numa única chamada de desenho em lote." #: ../../docs/tutorials/best_practices/data_preferences.rst:335 #, fuzzy msgid "" "The AnimatedSprite2D node, in combination with the :ref:`SpriteFrames " "` resource, allows one to create a variety of animation " "sequences through spritesheets, flip between animations, and control their " "speed, regional offset, and orientation. This makes them well-suited to " "controlling 2D frame-based animations." msgstr "" "O nó AnimatedSprite, em combinação com o recurso :ref:`SpriteFrames " "`, permite criar uma variedade de sequências de animação " "através de spritesheets, alternar entre animações e controlar avelocidade " "deles, deslocamento regional e orientação. Isto os torna bem adequados para " "controlar animações 2D baseadas em quadros." #: ../../docs/tutorials/best_practices/data_preferences.rst:341 #, fuzzy msgid "" "If one needs trigger other effects in relation to animation changes (for " "example, create particle effects, call functions, or manipulate other " "peripheral elements besides the frame-based animation), then will need to " "use an :ref:`AnimationPlayer ` node in conjunction " "with the AnimatedSprite2D." msgstr "" "Se for necessário acionar outros efeitos em relação a mudanças na animação " "(por exemplo, criar efeitos de partícula, chamar funções ou manipular outros " "elementos periféricos além da animação baseada em quadros), será necessário " "usar um nó :ref:`AnimationPlayer ` em conjunto com o " "AnimatedSprite." #: ../../docs/tutorials/best_practices/data_preferences.rst:347 msgid "" "AnimationPlayers are also the tool one will need to use if they wish to " "design more complex 2D animation systems, such as..." msgstr "" "AnimationPlayers também são a ferramenta necessária para projetar sistemas " "de animação 2D mais complexos, como..." #: ../../docs/tutorials/best_practices/data_preferences.rst:350 #, fuzzy msgid "**Cut-out animations:** editing sprites' transforms at runtime." msgstr "" "**Animações de recorte:** editar transformações de sprites durante a " "execução." #: ../../docs/tutorials/best_practices/data_preferences.rst:352 msgid "" "**2D Mesh animations:** defining a region for the sprite's texture and " "rigging a skeleton to it. Then one animates the bones which stretch and bend " "the texture in proportion to the bones' relationships to each other." msgstr "" "**Animações de Malha 2D:** definir uma região para a textura do sprite e " "armando um esqueleto nela. Em seguida anima-se os ossos que esticam e dobram " "a textura em proporção às relações dos ossos entre si." #: ../../docs/tutorials/best_practices/data_preferences.rst:357 msgid "A mix of the above." msgstr "Uma mistura das opções acima." #: ../../docs/tutorials/best_practices/data_preferences.rst:359 msgid "" "While one needs an AnimationPlayer to design each of the individual " "animation sequences for a game, it can also be useful to combine animations " "for blending, i.e. enabling smooth transitions between these animations. " "There may also be a hierarchical structure between animations that one plans " "out for their object. These are the cases where the :ref:`AnimationTree " "` shines. One can find an in-depth guide on using the " "AnimationTree :ref:`here `." msgstr "" "Embora seja necessário um AnimationPlayer para projetar cada uma das " "sequências individuais de animação para um jogo, também pode ser útil " "combinar animações para misturar, ou seja, permitir transições suaves entre " "estas animações. Também pode haver uma estrutura hierárquica entre animações " "que se planeja para o objeto deles. Estes são casos onde a :ref:" "`AnimationTree ` brilha. Pode-se encontrar um guia " "detalhado sobre o uso da AnimationTree :ref:`aqui `." #: ../../docs/tutorials/best_practices/logic_preferences.rst:4 msgid "Logic preferences" msgstr "Preferências de lógica" #: ../../docs/tutorials/best_practices/logic_preferences.rst:6 msgid "" "Ever wondered whether one should approach problem X with strategy Y or Z? " "This article covers a variety of topics related to these dilemmas." msgstr "" "Já se perguntou se devemos abordar o problema X com a estratégia Y ou Z? " "Este artigo cobre uma variedade de tópicos relacionados a esses dilemas." #: ../../docs/tutorials/best_practices/logic_preferences.rst:10 msgid "Adding nodes and changing properties: which first?" msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:12 msgid "" "When initializing nodes from a script at runtime, you may need to change " "properties such as the node's name or position. A common dilemma is, when " "should you change those values?" msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:16 msgid "" "It is the best practice to change values on a node before adding it to the " "scene tree. Some property's setters have code to update other corresponding " "values, and that code can be slow! For most cases, this code has no impact " "on your game's performance, but in heavy use cases such as procedural " "generation, it can bring your game to a crawl." msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:22 msgid "" "For these reasons, it is always a best practice to set the initial values of " "a node before adding it to the scene tree." msgstr "" #: ../../docs/tutorials/best_practices/logic_preferences.rst:26 msgid "Loading vs. preloading" msgstr "Carregamento vs. pré-carregamento" #: ../../docs/tutorials/best_practices/logic_preferences.rst:28 msgid "" "In GDScript, there exists the global :ref:`preload " "` method. It loads resources as early as " "possible to front-load the \"loading\" operations and avoid loading " "resources while in the middle of performance-sensitive code." msgstr "" "No GDScript, existe o método global :ref:`preload " "`. Ele carrega recursos o mais cedo possível " "para antecipar as operações de \"carregamento\" e evitar o carregamento de " "recursos no meio de um código sensível ao desempenho." #: ../../docs/tutorials/best_practices/logic_preferences.rst:33 #, fuzzy msgid "" "Its counterpart, the :ref:`load ` method, loads " "a resource only when it reaches the load statement. That is, it will load a " "resource in-place which can cause slowdowns when it occurs in the middle of " "sensitive processes. The ``load()`` function is also an alias for :ref:" "`ResourceLoader.load(path) ` which is " "accessible to *all* scripting languages." msgstr "" "A contraparte, o método :ref:`load `, carrega " "um recurso somente quando ele atinge a instrução de carregamento. Ou seja, " "ele carregará um recurso no local que pode causar lentidão quando ele ocorre " "no meio de processos sensíveis. A função ``load`` também é um apelido para :" "ref:`ResourceLoader.load(path) ` que é " "acessível a *todas* as linguagens de scripting." #: ../../docs/tutorials/best_practices/logic_preferences.rst:40 msgid "" "So, when exactly does preloading occur versus loading, and when should one " "use either? Let's see an example:" msgstr "" "Então, quando exatamente ocorre o pré-carregamento versus carregamento e " "quando se deve usar qualquer algum deles? Vejamos um exemplo:" #: ../../docs/tutorials/best_practices/logic_preferences.rst:103 msgid "" "Preloading allows the script to handle all the loading the moment one loads " "the script. Preloading is useful, but there are also times when one doesn't " "wish for it. To distinguish these situations, there are a few things one can " "consider:" msgstr "" "O pré-carregamento permite que o script manuseie todo o carregamento no " "momento em que se carrega o script. Pré-carregar é útil, mas também há " "momentos em que não se deseja. Para distinguir estas situações há algumas " "coisas que podemos considerar:" #: ../../docs/tutorials/best_practices/logic_preferences.rst:108 msgid "" "If one cannot determine when the script might load, then preloading a " "resource, especially a scene or script, could result in further loads one " "does not expect. This could lead to unintentional, variable-length load " "times on top of the original script's load operations." msgstr "" "Se não for possível determinar quando o script pode carregar, então pré-" "carregar um recurso, especialmente uma cena ou script, pode resultar em " "carregamentos adicionais inesperados. Isso pode levar a tempos de " "carregamento não intencionais e de comprimento variável em cima das " "operações de carregamento do script." #: ../../docs/tutorials/best_practices/logic_preferences.rst:113 msgid "" "If something else could replace the value (like a scene's exported " "initialization), then preloading the value has no meaning. This point isn't " "a significant factor if one intends to always create the script on its own." msgstr "" "Se algo mais pudesse substituir o valor (como a inicialização exportada de " "uma cena), então pre-carregar o valor não teria sentido. Este ponto não é um " "fator significativo se a intenção é sempre criar o script por conta própria." #: ../../docs/tutorials/best_practices/logic_preferences.rst:117 msgid "" "If one wishes only to 'import' another class resource (script or scene), " "then using a preloaded constant is often the best course of action. However, " "in exceptional cases, one may wish not to do this:" msgstr "" "Se alguém deseja apenas 'importar' outro recurso de classe (script ou cena), " "usar uma constante pré-carregada é geralmente o melhor curso de ação. No " "entanto, em casos excepcionais, não se deseja fazer isso:" #: ../../docs/tutorials/best_practices/logic_preferences.rst:121 #, fuzzy msgid "" "If the 'imported' class is liable to change, then it should be a property " "instead, initialized either using an ``export`` or a ``load()`` (and perhaps " "not even initialized until later)." msgstr "" "Se a classe 'importada' estiver sujeita a mudanças, então ela deve ser uma " "propriedade, inicializada utilizando um ``export`` ou um ``load`` (e talvez " "nem mesmo inicializada até mais tarde)." #: ../../docs/tutorials/best_practices/logic_preferences.rst:125 #, fuzzy msgid "" "If the script requires a great many dependencies, and one does not wish to " "consume so much memory, then one may wish to, load and unload various " "dependencies at runtime as circumstances change. If one preloads resources " "into constants, then the only way to unload these resources would be to " "unload the entire script. If they are instead loaded properties, then one " "can set them to ``null`` and remove all references to the resource entirely " "(which, as a :ref:`RefCounted `-extending type, will cause " "the resources to delete themselves from memory)." msgstr "" "Se o script requer muitas dependências e não se deseja consumir tanta " "memória, então pode-se desejar carregar e descarregar várias dependências " "durante a execução, conforme as circunstâncias mudam. Se alguém pré-carregar " "recursos em constantes, então a única maneira de descarregar estes recursos " "seria descarregar o script inteiro. Se ao invés disso eles são carregados, " "então pode-se defini-los como ``null`` e remover todas as referências ao " "recurso por completo (o que, como um tipo de extensão :ref:`Referência " "`, fará com que os recursos se apaguem da " "memória)." #: ../../docs/tutorials/best_practices/logic_preferences.rst:136 msgid "Large levels: static vs. dynamic" msgstr "Fases grandes: estática vs. dinâmica" #: ../../docs/tutorials/best_practices/logic_preferences.rst:138 msgid "" "If one is creating a large level, which circumstances are most appropriate? " "Should they create the level as one static space? Or should they load the " "level in pieces and shift the world's content as needed?" msgstr "" "Se alguém está criando uma fase grande, quais circunstâncias são mais " "apropriadas? Eles deveriam criar a fase como um espaço estático? Ou eles " "deveriam carregar a fase em pedaços e mudar o conteúdo do mundo conforme " "necessário?" #: ../../docs/tutorials/best_practices/logic_preferences.rst:142 #, fuzzy msgid "" "Well, the simple answer is, \"when the performance requires it.\" The " "dilemma associated with the two options is one of the age-old programming " "choices: does one optimize memory over speed, or vice versa?" msgstr "" "Bem, a resposta simples é \"quando o desempenho assim o exigir.\" O dilema " "associado às duas opções é uma das antigas opções de programação: a memória " "é otimizada em relação à velocidade ou vice-versa?" #: ../../docs/tutorials/best_practices/logic_preferences.rst:146 msgid "" "The naive answer is to use a static level that loads everything at once. " "But, depending on the project, this could consume a large amount of memory. " "Wasting users' RAM leads to programs running slow or outright crashing from " "everything else the computer tries to do at the same time." msgstr "" "A resposta ingênua é usar uma fase estática que carrega tudo ao mesmo tempo. " "Mas, dependendo do projeto, isto pode consumir uma grande quantidade de " "memória. Desperdiçar a RAM dos utilizadores leva a programas executarem " "devagar ou travamento total de tudo o que o computador tenta fazer ao mesmo " "tempo." #: ../../docs/tutorials/best_practices/logic_preferences.rst:151 msgid "" "No matter what, one should break larger scenes into smaller ones (to aid in " "reusability of assets). Developers can then design a node that manages the " "creation/loading and deletion/unloading of resources and nodes in real-time. " "Games with large and varied environments or procedurally generated elements " "often implement these strategies to avoid wasting memory." msgstr "" "Não importa o que aconteça. deve-se quebrar cenas maiores em cenas menores " "(para ajudar na reutilização de assets). Programadores podem então projetar " "um nó que gere criação/carregamento e exclusão/descarregamento de recursos e " "nós em tempo real. Jogos com ambientes variáveis e grandes ou elementos " "gerados proceduralmente geralmente implementam estas estratégias para evitar " "o desperdício de memória." #: ../../docs/tutorials/best_practices/logic_preferences.rst:157 msgid "" "On the flip side, coding a dynamic system is more complex, i.e. uses more " "programmed logic, which results in opportunities for errors and bugs. If one " "isn't careful, they can develop a system that bloats the technical debt of " "the application." msgstr "" "Por outro lado, codificar um sistema dinâmico é mais complexo, ou seja, usa " "lógica mais programada, o que resulta em oportunidades para erros e bugs. Se " "não tomar cuidado, é possível desenvolver um sistema que incha a dívida " "técnica da aplicação." #: ../../docs/tutorials/best_practices/logic_preferences.rst:162 msgid "As such, the best options would be..." msgstr "Sendo assim, as melhores opções seriam..." #: ../../docs/tutorials/best_practices/logic_preferences.rst:164 msgid "To use a static level for smaller games." msgstr "Para usar uma fase estática para jogos menores." #: ../../docs/tutorials/best_practices/logic_preferences.rst:166 msgid "" "If one has the time/resources on a medium/large game, create a library or " "plugin that can code the management of nodes and resources. If refined over " "time, so as to improve usability and stability, then it could evolve into a " "reliable tool across projects." msgstr "" "Se alguém tiver tempo/recursos num jogo médio/grande, crie uma biblioteca ou " "plugin que possa codificar a gestão de nós e recursos. Se aperfeiçoada ao " "longo do tempo, de modo a melhorar a usabilidade e estabilidade, então ela " "pode evoluir para uma ferramenta confiável em todos os projetos." #: ../../docs/tutorials/best_practices/logic_preferences.rst:171 msgid "" "Code the dynamic logic for a medium/large game because one has the coding " "skills, but not the time or resources to refine the code (game's gotta get " "done). Could potentially refactor later to outsource the code into a plugin." msgstr "" "Codificar a lógica dinâmica para um jogo médio/grande porque se tem as " "habilidades de codificação, mas não o tempo ou recursos para refinar o " "código (o jogo tem que ser feito). Poderia potencialmente refatorar mais " "tarde para terceirizar o código num plugin." #: ../../docs/tutorials/best_practices/logic_preferences.rst:176 msgid "" "For an example of the various ways one can swap scenes around at runtime, " "please see the :ref:`\"Change scenes manually\" " "` documentation." msgstr "" "Para um exemplo das várias formas de trocar cenas durante a execução, por " "favor veja a documentação :ref:`\"Mudar cenas manualmente\" " "`." #: ../../docs/tutorials/best_practices/project_organization.rst:4 msgid "Project organization" msgstr "Organização do projeto" #: ../../docs/tutorials/best_practices/project_organization.rst:9 msgid "" "Since Godot has no restrictions on project structure or filesystem usage, " "organizing files when learning the engine can seem challenging. This " "tutorial suggests a workflow which should be a good starting point. We will " "also cover using version control with Godot." msgstr "" "Uma vez que Godot não tem nenhuma restrição na estrutura do projeto ou uso " "do sistema de ficheiros, organizar ficheiros enquanto aprendendo a engine " "pode parecer desafiador. Este tutorial sugere um fluxo de trabalho que deve " "ser um bom ponto de início. Também cobriremos o uso de controle de versão " "com Godot." #: ../../docs/tutorials/best_practices/project_organization.rst:15 msgid "Organization" msgstr "Organização" #: ../../docs/tutorials/best_practices/project_organization.rst:17 msgid "" "Godot is scene-based in nature, and uses the filesystem as-is, without " "metadata or an asset database." msgstr "" "Godot é baseado em cenas por natureza e usa o sistema de ficheiros como ele " "é, sem metadados ou um banco de dados de assets." #: ../../docs/tutorials/best_practices/project_organization.rst:20 msgid "" "Unlike other engines, many resources are contained within the scene itself, " "so the amount of files in the filesystem is considerably lower." msgstr "" "Ao contrário de outras engines, muitos recursos são contidos dentro da " "própria cena, então a quantidade de ficheiros no sistema de ficheiros é " "consideravelmente mais baixa." #: ../../docs/tutorials/best_practices/project_organization.rst:23 msgid "" "Considering that, the most common approach is to group assets as close to " "scenes as possible; when a project grows, it makes it more maintainable." msgstr "" "Considerando isso, o modo mais comum de lidar com isso é agrupar recursos " "com as cenas, assim, quando um projeto cresce, ele fica mais gerenciável." #: ../../docs/tutorials/best_practices/project_organization.rst:27 msgid "" "As an example, one can usually place into a single folder their basic " "assets, such as sprite images, 3D model meshes, materials, and music, etc. " "They can then use a separate folder to store built levels that use them." msgstr "" "Como exemplo, normalmente é possível pôr numa única pasta os ativos básicos " "deles, como imagens de sprite, malhas de modelos 3D, materiais e música, " "etc. Eles podem então usar uma pasta separada para armazenar níveis " "construídos que os utilizam." #: ../../docs/tutorials/best_practices/project_organization.rst:48 msgid "Style guide" msgstr "Guia de Estilo" #: ../../docs/tutorials/best_practices/project_organization.rst:50 msgid "" "For consistency across projects, we recommend following these guidelines:" msgstr "" "Para manter a consistência entre os projetos, recomendamos estas seguintes " "diretrizes:" #: ../../docs/tutorials/best_practices/project_organization.rst:52 msgid "" "Use **snake_case** for folder and file names (with the exception of C# " "scripts). This sidesteps case sensitivity issues that can crop up after " "exporting a project on Windows. C# scripts are an exception to this rule, as " "the convention is to name them after the class name which should be in " "PascalCase." msgstr "" "Use **snake_case** para nomes de pastas e ficheiros (com exceção de scripts " "C#). Isto evita os problemas de distinção entre maiúsculas e minúsculas que " "podem surgir após a exportação de um projeto no Windows. Os scripts C# são " "uma exceção a essa regra, pois a convenção é nomeá-los após o nome da classe " "que deve estar em PascalCase." #: ../../docs/tutorials/best_practices/project_organization.rst:57 msgid "" "Use **PascalCase** for node names, as this matches built-in node casing." msgstr "" "Use **PascalCase** para nomes de nós, pois isso combina com a caixa embutida " "do nó." #: ../../docs/tutorials/best_practices/project_organization.rst:58 msgid "" "In general, keep third-party resources in a top-level ``addons/`` folder, " "even if they aren't editor plugins. This makes it easier to track which " "files are third-party. There are some exceptions to this rule; for instance, " "if you use third-party game assets for a character, it makes more sense to " "include them within the same folder as the character scenes and scripts." msgstr "" "Em geral, mantenha os recursos de terceiros numa pasta ``addons/`` de nível " "superior, mesmo se eles não forem plugins do editor. Isto torna mais fácil " "rastrear quais ficheiros são de terceiros. Existem algumas exceções a esta " "regra; por exemplo, se usar recursos de jogo de terceiros para um " "personagem, faz mais sentido incluí-los na mesma pasta que as cenas e " "scripts dos personagens." #: ../../docs/tutorials/best_practices/project_organization.rst:65 msgid "Importing" msgstr "Importando" #: ../../docs/tutorials/best_practices/project_organization.rst:67 msgid "" "Godot versions prior to 3.0 did the import process from files outside the " "project. While this can be useful in large projects, it resulted in an " "organization hassle for most developers." msgstr "" "Versões do Godot anteriores à 3.0 faziam o processo de importação dos " "ficheiros fora do projeto. Embora isto possa ser útil em grandes projetos, " "isso resultou em problemas de organização para a maioria dos programadores." #: ../../docs/tutorials/best_practices/project_organization.rst:71 msgid "" "Because of this, assets are now transparently imported from within the " "project folder." msgstr "" "Por causa disso, os assets agora são importados de dentro da pasta do " "projeto de forma transparente." #: ../../docs/tutorials/best_practices/project_organization.rst:75 msgid "Ignoring specific folders" msgstr "Ignorando pastas específicas" #: ../../docs/tutorials/best_practices/project_organization.rst:77 msgid "" "To prevent Godot from importing files contained in a specific folder, create " "an empty file called ``.gdignore`` in the folder (the leading ``.`` is " "required). This can be useful to speed up the initial project importing." msgstr "" "Para evitar que Godot importe ficheiros contidos numa pasta específica, crie " "um ficheiro vazio chamado ``.gdignore`` na pasta (o início ``.`` é " "necessário). Isso pode ser útil para acelerar a importação inicial do " "projeto." #: ../../docs/tutorials/best_practices/project_organization.rst:83 msgid "" "To create a file whose name starts with a dot on Windows, place a dot at " "both the beginning and end of the filename (\".gdignore.\"). Windows will " "automatically remove the trailing dot when you confirm the name." msgstr "" #: ../../docs/tutorials/best_practices/project_organization.rst:87 #, fuzzy msgid "" "Alternatively, you can use a text editor such as Notepad++ or use the " "following command in a command prompt: ``type nul > .gdignore``" msgstr "" "Para criar um ficheiro cujo nome começa com um ponto no Windows, pode usar " "um editor de texto como Notepad++ ou usar o seguinte comando num prompt de " "comando: ``type nul > .gdignore``" #: ../../docs/tutorials/best_practices/project_organization.rst:90 msgid "" "Once the folder is ignored, resources in that folder can't be loaded anymore " "using the ``load()`` and ``preload()`` methods. Ignoring a folder will also " "automatically hide it from the FileSystem dock, which can be useful to " "reduce clutter." msgstr "" "Uma vez ignorada a pasta, os recursos dessa pasta não podem mais ser " "carregados utilizando os métodos ``load()`` e ``preload()``. Ignorar uma " "pasta também irá escondê-la automaticamente no painel Sistema de Ficheiros, " "o que pode ser útil para reduzir a desordem." #: ../../docs/tutorials/best_practices/project_organization.rst:94 msgid "" "Note that the ``.gdignore`` file's contents are ignored, which is why the " "file should be empty. It does not support patterns like ``.gitignore`` files " "do." msgstr "" "Observe que o conteúdo do ficheiro ``.gdignore`` é ignorado, razão pela qual " "o ficheiro deve estar vazio. Ele não suporta padrões como os ficheiro ``." "gitignore``." #: ../../docs/tutorials/best_practices/project_organization.rst:100 msgid "Case sensitivity" msgstr "Sensibilidade de caixa" #: ../../docs/tutorials/best_practices/project_organization.rst:102 msgid "" "Windows and recent macOS versions use case-insensitive filesystems by " "default, whereas Linux distributions use a case-sensitive filesystem by " "default. This can cause issues after exporting a project, since Godot's PCK " "virtual filesystem is case-sensitive. To avoid this, it's recommended to " "stick to ``snake_case`` naming for all files in the project (and lowercase " "characters in general)." msgstr "" "Windows e versões recentes do macOS usam sistemas de ficheiros sem " "sensibilidade de caixa por padrão, enquanto distribuições Linux usam um " "sistema de ficheiro com sensibilidade de caixa por padrão. Isto pode causar " "problemas após exportar um projeto, já que o sistema de ficheiros virtual do " "PCK do Godot tem sensibilidade de caixa, para evitar isto, é recomendado " "manter a nomeação ``snake_case`` para todos os ficheiros no projeto (e " "caracteres minúsculos em geral)." #: ../../docs/tutorials/best_practices/project_organization.rst:111 msgid "" "You can break this rule when style guides say otherwise (such as the C# " "style guide). Still, be consistent to avoid mistakes." msgstr "" "Pode quebrar esta regra quando os guias de estilo dizem o contrário (como o " "guia de estilo C#). Ainda assim, seja consistente para evitar erros." #: ../../docs/tutorials/best_practices/project_organization.rst:114 msgid "" "On Windows 10, to further avoid mistakes related to case sensitivity, you " "can also make the project folder case-sensitive. After enabling the Windows " "Subsystem for Linux feature, run the following command in a PowerShell " "window::" msgstr "" "No Windows 10, para evitar ainda mais erros relacionados à sensibilidade de " "caixa, também pode fazer a pasta do projeto suportar sensibilidade. Após " "ativar o recurso Subsistema Windows para Linux, execute o seguinte comando " "numa janela do PowerShell::" #: ../../docs/tutorials/best_practices/project_organization.rst:124 msgid "" "If you haven't enabled the Windows Subsystem for Linux, you can enter the " "following line in a PowerShell window *running as Administrator* then reboot " "when asked::" msgstr "" "Se não ativou o Subsistema Windows para Linux, pode inserir a seguinte linha " "numa janela do PowerShell *executando como Administrador* e reinicializar " "quando solicitado::" #: ../../docs/tutorials/best_practices/version_control_systems.rst:4 #, fuzzy msgid "Version control systems" msgstr "Sistemas de Controle de Versão" #: ../../docs/tutorials/best_practices/version_control_systems.rst:9 msgid "" "Godot aims to be VCS-friendly and generate mostly readable and mergeable " "files." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:12 #, fuzzy msgid "Version control plugins" msgstr "Sistemas de Controle de Versão" #: ../../docs/tutorials/best_practices/version_control_systems.rst:14 #, fuzzy msgid "" "Godot also supports the use of version control systems in the editor itself. " "However, version control in the editor requires a plugin for the specific " "VCS you're using." msgstr "" "Godot tem como objetivo ser amigável ao SCV e gerar ficheiros legíveis e " "mescláveis na maioria. Godot também suporta o uso de sistemas de controle de " "versão no próprio editor. No entanto, o SCV no editor requer um plug-in para " "o SCV específico que está usando. O SCV pode ser configurado ou encerrado no " "editor em **Projeto > Controle de Versão**." #: ../../docs/tutorials/best_practices/version_control_systems.rst:18 msgid "" "As of July 2023, there is only a Git plugin available, but the community may " "create additional VCS plugins." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:22 msgid "Official Git plugin" msgstr "Plugin oficial do Git" #: ../../docs/tutorials/best_practices/version_control_systems.rst:26 msgid "" "As of July 2023, the Git plugin hasn't been updated to work with Godot 4.1 " "and later yet." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:29 #, fuzzy msgid "" "Using Git from inside the editor is supported with an official plugin. You " "can find the latest releases on `GitHub `__." msgstr "" "Usar o Git de dentro do editor é suportado com um plugin oficial. Pode " "encontrar as versões mais recentes `aqui `__ (não está disponível na biblioteca de assets). " "A documentação sobre como usar o plugin Git encontra-se `aqui `__." #: ../../docs/tutorials/best_practices/version_control_systems.rst:33 #, fuzzy msgid "" "Documentation on how to use the Git plugin can be found on its `wiki " "`__." msgstr "" "Além desta documentação, também pode dar uma olhada nos vários `Projetos de " "demonstração do Godot `_." #: ../../docs/tutorials/best_practices/version_control_systems.rst:37 msgid "Files to exclude from VCS" msgstr "Ficheiros para excluir do SCV" #: ../../docs/tutorials/best_practices/version_control_systems.rst:41 msgid "" "This lists files and folders that should be ignored from version control in " "Godot 4.1 and later." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:44 msgid "" "The list of files of folders that should be ignored from version control in " "Godot 3.x and Godot 4.0 is **entirely** different. This is important, as " "Godot 3.x and 4.0 may store sensitive credentials in ``export_presets.cfg`` " "(unlike Godot 4.1 and later)." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:49 msgid "" "If you are using Godot 3, check the ``3.5`` version of this documentation " "page instead." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:52 msgid "" "There are some files and folders Godot automatically creates when opening a " "project in the editor for the first time. To avoid bloating your version " "control repository with generated data, you should add them to your VCS " "ignore:" msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:56 msgid "``.godot/``: This folder stores various project cache data." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:57 #, fuzzy msgid "" "``*.translation``: These files are binary imported :ref:`translations " "` generated from CSV files." msgstr "" "``*.translation``: Estes ficheiros são traduções binárias importadas geradas " "a partir de ficheiros CSV." #: ../../docs/tutorials/best_practices/version_control_systems.rst:60 msgid "" "You can make the Godot project manager generate version control metadata for " "you automatically when creating a project. When choosing the **Git** option, " "this creates ``.gitignore`` and ``.gitattributes`` files in the project root:" msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:68 msgid "" "Creating version control metadata in the project manager's New Project dialog" msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:68 msgid "" "Creating version control metadata in the project manager's **New Project** " "dialog" msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:70 msgid "" "In existing projects, select the **Project** menu at the top of the editor, " "then choose **Version Control > Generate Version Control Metadata**. This " "creates the same files as if the operation was performed in the project " "manager." msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:75 msgid "Working with Git on Windows" msgstr "Trabalhando com Git no Windows" #: ../../docs/tutorials/best_practices/version_control_systems.rst:77 #, fuzzy msgid "" "Most Git for Windows clients are configured with the ``core.autocrlf`` set " "to ``true``. This can lead to files unnecessarily being marked as modified " "by Git due to their line endings being converted from LF to CRLF " "automatically." msgstr "" "A maioria dos clientes Git para Windows são configurados com o ``core." "autocrlf`` definido como ``true``. Isso pode fazer com que os ficheiros " "sejam desnecessariamente marcados como modificados pelo Git devido ao " "término da linha deles ser convertido automaticamente. É melhor definir esta " "opção como::" #: ../../docs/tutorials/best_practices/version_control_systems.rst:81 msgid "It is better to set this option as:" msgstr "" #: ../../docs/tutorials/best_practices/version_control_systems.rst:87 msgid "" "Creating version control metadata using the project manager or editor will " "automatically enforce LF line endings using the ``.gitattributes`` file. In " "this case, you don't need to change your Git configuration." msgstr "" #: ../../docs/tutorials/editor/index.rst:4 #, fuzzy msgid "Editor introduction" msgstr "Introdução à física" #: ../../docs/tutorials/editor/index.rst:6 msgid "" "In this section, we cover the Godot editor in general, from its interface to " "using it with the command line." msgstr "" #: ../../docs/tutorials/editor/index.rst:10 #, fuzzy msgid "Editor's interface" msgstr "Interface do editor (C++)" #: ../../docs/tutorials/editor/index.rst:12 #, fuzzy msgid "" "The following pages explain how to use the various windows, workspaces, and " "docks that make up the Godot editor. We cover some specific editors' " "interface in other sections where appropriate. For example, the :ref:" "`animation editor `." msgstr "" "Nesta secção, cobrimos o editor Godot em geral, da sua interface até para " "usá-lo com linha de comando. Cobrimos a interface de alguns editores " "específicos em outras secções, quando apropriado. Por exemplo, o :ref:" "`animation editor `." #: ../../docs/tutorials/editor/index.rst:28 #, fuzzy msgid "Android editor" msgstr "Android Studio" #: ../../docs/tutorials/editor/index.rst:30 msgid "" "Godot offers a native port of the editor running entirely on Android " "devices. The Android port can be downloaded from the `Android Downloads page " "`__. While we strive for feature " "parity with the Desktop version of the editor, the Android port has a " "certain amount of caveats you should be aware of." msgstr "" #: ../../docs/tutorials/editor/index.rst:42 #, fuzzy msgid "Web editor" msgstr "Utilizando o editor Web" #: ../../docs/tutorials/editor/index.rst:44 msgid "" "Godot offers an HTML5 version of the editor running entirely in your " "browser. No download is required to use it, but it has a certain amount of " "caveats you should be aware of." msgstr "" #: ../../docs/tutorials/editor/index.rst:55 #, fuzzy msgid "Advanced features" msgstr "Exports avançados" #: ../../docs/tutorials/editor/index.rst:57 msgid "" "The articles below focus on advanced features useful for experienced " "developers, such as calling Godot from the command line and using an " "external text editor like Visual Studio Code or Emacs." msgstr "" #: ../../docs/tutorials/editor/index.rst:69 #: ../../docs/tutorials/editor/managing_editor_features.rst:6 #, fuzzy msgid "Managing editor features" msgstr "Lista das funcionalidades" #: ../../docs/tutorials/editor/index.rst:71 msgid "" "Godot allows you to remove features from the editor. This may be useful if " "you're an educator trying to ease students into the editor slowly, or if " "you're working on a project that's only 2D or only 3D and don't want to see " "what you don't need." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:4 #: ../../docs/tutorials/migrating/upgrading_to_godot_4.rst:116 #, fuzzy msgid "Using the Project Manager" msgstr "O Gestor do Projeto" #: ../../docs/tutorials/editor/project_manager.rst:6 #, fuzzy msgid "" "When you launch Godot, the first window you see is the Project Manager. It " "lets you create, remove, import, or play game projects." msgstr "" "Quando você executa a Godot, a primeira janela que você vê é o Gestor de " "Projetos. Na guia padrão \"Projetos Locais\", você pode gerir projetos pré-" "existentes, importar ou criar novos projetos, e mais." #: ../../docs/tutorials/editor/project_manager.rst:11 msgid "" "In the window's top-right corner, a drop-down menu allows you to change the " "editor's language." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:19 #, fuzzy msgid "Creating and importing projects" msgstr "Criando um novo projeto" #: ../../docs/tutorials/editor/project_manager.rst:21 #, fuzzy msgid "To create a new project:" msgstr "Crie um novo projeto." #: ../../docs/tutorials/editor/project_manager.rst:23 #, fuzzy msgid "Click the **New** button on the top-left of the window." msgstr "" "Clicando no botão \"Pesquisar Ajuda\" no canto superior direito da tela " "principal do Script." #: ../../docs/tutorials/editor/project_manager.rst:24 msgid "" "Give the project a name, choose an empty folder on your computer to save the " "files, and select a rendering backend." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:26 #, fuzzy msgid "" "Click the **Create & Edit** button to create the project folder and open it " "in the editor." msgstr "Clique em *Importar & Editar* para abrir o projeto no editor." #: ../../docs/tutorials/editor/project_manager.rst:31 #, fuzzy msgid "Using the file browser" msgstr "Servir os ficheiros" #: ../../docs/tutorials/editor/project_manager.rst:33 msgid "" "Click the **Browse** button to open Godot's file browser and pick a location " "or type the folder's path in the Project Path field." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:38 msgid "" "When you see the green tick on the right, it means the engine detects an " "empty folder. You can also click the **Create Folder** button to create an " "empty folder based on your project's name." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:43 #, fuzzy msgid "Opening and importing projects" msgstr "Editando e executando um projeto" #: ../../docs/tutorials/editor/project_manager.rst:45 msgid "" "The next time you open the Project Manager, you'll see your new project in " "the list. Double click on it to open it in the editor." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:50 msgid "" "You can similarly import existing projects using the **Import** button. " "Locate the folder that contains the project or the **project.godot** file to " "import and edit it." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:56 msgid "When the folder path is correct, you'll see a green checkmark." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:61 #, fuzzy msgid "Downloading demos and templates" msgstr "Localizar os modelos" #: ../../docs/tutorials/editor/project_manager.rst:63 msgid "" "From the **Asset Library Projects** tab you can download open source project " "templates and demos from the :ref:`Asset Library ` to " "help you get started faster." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:67 msgid "To download a demo or template:" msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:69 msgid "Click on its title." msgstr "" #: ../../docs/tutorials/editor/project_manager.rst:70 #, fuzzy msgid "On the page that opens, click the download button." msgstr "Deixe os valores padrão e clique no botão *Adicionar*." #: ../../docs/tutorials/editor/project_manager.rst:71 msgid "" "Once it finished downloading, click install and choose where you want to " "save the project." msgstr "" #: ../../docs/tutorials/editor/inspector_dock.rst:6 #, fuzzy msgid "The Inspector" msgstr "Inspetor remoto." #: ../../docs/tutorials/editor/inspector_dock.rst:8 msgid "" "This page explains how the Inspector dock works in-depth. You will learn how " "to edit properties, fold and unfold areas, use the search bar, and more." msgstr "" #: ../../docs/tutorials/editor/inspector_dock.rst:10 msgid "This page is a work-in-progress." msgstr "" #: ../../docs/tutorials/editor/inspector_dock.rst:13 #, fuzzy msgid "Overview of the interface" msgstr "Visão geral dos ficheiro PCK" #: ../../docs/tutorials/editor/inspector_dock.rst:15 msgid "Let's start by looking at the dock's main parts." msgstr "" #: ../../docs/tutorials/editor/inspector_dock.rst:19 msgid "At the top are the file and navigation buttons." msgstr "" #: ../../docs/tutorials/editor/inspector_dock.rst:23 msgid "" "Below it, you can find the selected node's name, its type, and the tools " "menu on the right side." msgstr "" #: ../../docs/tutorials/editor/inspector_dock.rst:27 msgid "" "If you click the tool menu icon, a drop-down menu offers some view and edit " "options." msgstr "" #: ../../docs/tutorials/editor/inspector_dock.rst:31 msgid "" "Then comes the search bar. Type anything in it to filter displayed " "properties. Delete the text to clear the search." msgstr "" #: ../../docs/tutorials/editor/project_settings.rst:6 msgid "Project Settings" msgstr "Configurações do Projeto" #: ../../docs/tutorials/editor/project_settings.rst:8 msgid "" "This page explains how to use the Project Settings window. If you would like " "to access and modify project settings via code, see :ref:`ProjectSettings " "`." msgstr "" #: ../../docs/tutorials/editor/project_settings.rst:10 msgid "" "Godot stores the project settings in a project.godot file, a plain text file " "in INI format. There are dozens of settings you can change to control a " "project's execution. To simplify this process, Godot provides a project " "settings dialog, which acts as a front-end to editing a project.godot file." msgstr "" #: ../../docs/tutorials/editor/project_settings.rst:12 #, fuzzy msgid "To access that dialog, select Project -> Project Settings." msgstr "" "Para acessar esse diálogo, selecione Projeto -> Configurações do Projeto. " "Experimente isso agora." #: ../../docs/tutorials/editor/project_settings.rst:14 msgid "" "Once the window opens, let's select a main scene. Locate the `Application/" "Run/Main Scene` property and click on it to select 'hello.tscn'." msgstr "" #: ../../docs/tutorials/editor/project_settings.rst:16 msgid "" "The project settings dialog provides a lot of options that can be saved to a " "project.godot file and shows their default values. If you change a value, a " "tick appears to the left of its name. This means that the property will be " "saved in the project.godot file and remembered." msgstr "" #: ../../docs/tutorials/editor/default_key_mapping.rst:3 msgid "cheatsheet, cheat sheet, shortcut" msgstr "folha de dicas, cheat sheet, atalho" #: ../../docs/tutorials/editor/default_key_mapping.rst:9 msgid "Default editor shortcuts" msgstr "Atalhos padrão do editor" #: ../../docs/tutorials/editor/default_key_mapping.rst:10 msgid "" "Many of Godot Editor functions can be executed with keyboard shortcuts. This " "page lists functions which have associated shortcuts by default, but many " "others are available for customization in editor settings as well. To change " "keys associated with these and other actions navigate to ``Editor -> Editor " "Settings -> Shortcuts``." msgstr "" "Muitas das funções do Godot Editor podem ser executadas com atalhos de " "teclado. Esta página lista funções que possuem atalhos associados por " "padrão, mas muitas outras estão disponíveis para personalização nas " "configurações do editor também. Para mudar teclas associadas com estas e " "outras ações navegue para ``Editor -> Configurações do Editor -> Atalhos``." #: ../../docs/tutorials/editor/default_key_mapping.rst:15 msgid "" "While some actions are universal, a lot of shortcuts are specific to " "individual tools. For this reason it is possible for some key combinations " "to be assigned to more than one function. The correct action will be " "performed depending on the context." msgstr "" "Enquanto algumas ações são universais, muitos atalhos são específicos a " "ferramentas individuais. Por essa razão é possível que algumas combinações-" "chave sejam atribuídas a mais de uma função. A ação correta será realizada " "dependendo do contexto." #: ../../docs/tutorials/editor/default_key_mapping.rst:20 msgid "" "While Windows and Linux builds of the editor share most of the default " "settings, some shortcuts may differ for macOS version. This is done for " "better integration of the editor into macOS ecosystem. Users fluent with " "standard shortcuts on that OS should find Godot Editor's default key mapping " "intuitive." msgstr "" "Enquanto as compilações Windows e Linux do editor compartilham a maior parte " "das configurações padrão, alguns atalhos podem diferir na versão macOS. Isto " "é feito para melhor integração do editor no ecossistema do macOS. " "Utilizadores com atalhos padrão nesse Sistema devem achar o mapeamento de " "teclas padrão do Godot Editor intuitivo." #: ../../docs/tutorials/editor/default_key_mapping.rst:26 msgid "General Editor Actions" msgstr "Ações Gerais do Editor" #: ../../docs/tutorials/editor/default_key_mapping.rst:29 #: ../../docs/tutorials/editor/default_key_mapping.rst:94 #: ../../docs/tutorials/editor/default_key_mapping.rst:147 #: ../../docs/tutorials/editor/default_key_mapping.rst:222 #: ../../docs/tutorials/editor/default_key_mapping.rst:303 #: ../../docs/tutorials/editor/default_key_mapping.rst:350 #: ../../docs/tutorials/editor/default_key_mapping.rst:361 #: ../../docs/tutorials/editor/default_key_mapping.rst:374 #: ../../docs/tutorials/editor/default_key_mapping.rst:405 #: ../../docs/tutorials/editor/default_key_mapping.rst:418 #: ../../docs/tutorials/editor/default_key_mapping.rst:441 #: ../../docs/tutorials/editor/default_key_mapping.rst:458 #: ../../docs/tutorials/editor/default_key_mapping.rst:493 msgid "Action name" msgstr "Nome da ação" #: ../../docs/tutorials/editor/default_key_mapping.rst:29 #: ../../docs/tutorials/editor/default_key_mapping.rst:94 #: ../../docs/tutorials/editor/default_key_mapping.rst:147 #: ../../docs/tutorials/editor/default_key_mapping.rst:222 #: ../../docs/tutorials/editor/default_key_mapping.rst:303 #: ../../docs/tutorials/editor/default_key_mapping.rst:350 #: ../../docs/tutorials/editor/default_key_mapping.rst:361 #: ../../docs/tutorials/editor/default_key_mapping.rst:374 #: ../../docs/tutorials/editor/default_key_mapping.rst:405 #: ../../docs/tutorials/editor/default_key_mapping.rst:418 #: ../../docs/tutorials/editor/default_key_mapping.rst:441 #: ../../docs/tutorials/editor/default_key_mapping.rst:458 #: ../../docs/tutorials/editor/default_key_mapping.rst:493 msgid "Windows, Linux" msgstr "Windows, Linux" #: ../../docs/tutorials/editor/default_key_mapping.rst:29 #: ../../docs/tutorials/editor/default_key_mapping.rst:94 #: ../../docs/tutorials/editor/default_key_mapping.rst:147 #: ../../docs/tutorials/editor/default_key_mapping.rst:222 #: ../../docs/tutorials/editor/default_key_mapping.rst:303 #: ../../docs/tutorials/editor/default_key_mapping.rst:350 #: ../../docs/tutorials/editor/default_key_mapping.rst:361 #: ../../docs/tutorials/editor/default_key_mapping.rst:374 #: ../../docs/tutorials/editor/default_key_mapping.rst:405 #: ../../docs/tutorials/editor/default_key_mapping.rst:418 #: ../../docs/tutorials/editor/default_key_mapping.rst:441 #: ../../docs/tutorials/editor/default_key_mapping.rst:458 #: ../../docs/tutorials/editor/default_key_mapping.rst:493 msgid "Editor setting" msgstr "Opção do editor" #: ../../docs/tutorials/editor/default_key_mapping.rst:31 msgid "Open 2D Editor" msgstr "Abrir Editor 2D" #: ../../docs/tutorials/editor/default_key_mapping.rst:31 msgid ":kbd:`Ctrl + F1`" msgstr ":kbd:`Ctrl + F1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:31 msgid ":kbd:`Alt + 1`" msgstr ":kbd:`Alt + 1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:31 msgid "``editor/editor_2d``" msgstr "``editor/editor_2d``" #: ../../docs/tutorials/editor/default_key_mapping.rst:33 msgid "Open 3D Editor" msgstr "Abrir Editor 3D" #: ../../docs/tutorials/editor/default_key_mapping.rst:33 #: ../../docs/tutorials/editor/default_key_mapping.rst:422 msgid ":kbd:`Ctrl + F2`" msgstr ":kbd:`Ctrl + F2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:33 msgid ":kbd:`Alt + 2`" msgstr ":kbd:`Alt + 2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:33 msgid "``editor/editor_3d``" msgstr "``editor/editor_3d``" #: ../../docs/tutorials/editor/default_key_mapping.rst:35 msgid "Open Script Editor" msgstr "Abrir Editor de Script" #: ../../docs/tutorials/editor/default_key_mapping.rst:35 msgid ":kbd:`Ctrl + F3`" msgstr ":kbd:`Ctrl + F3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:35 msgid ":kbd:`Alt + 3`" msgstr ":kbd:`Alt + 3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:35 msgid "``editor/editor_script``" msgstr "``editor/editor_script``" #: ../../docs/tutorials/editor/default_key_mapping.rst:37 msgid "Search Help" msgstr "Procurar em Ajuda" #: ../../docs/tutorials/editor/default_key_mapping.rst:37 msgid ":kbd:`F1`" msgstr ":kbd:`F1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:37 msgid ":kbd:`Alt + Space`" msgstr ":kbd:`Alt + Space`" #: ../../docs/tutorials/editor/default_key_mapping.rst:37 msgid "``editor/editor_help``" msgstr "``editor/editor_help``" #: ../../docs/tutorials/editor/default_key_mapping.rst:39 msgid "Distraction Free Mode" msgstr "Modo Livre de Distrações" #: ../../docs/tutorials/editor/default_key_mapping.rst:39 msgid ":kbd:`Ctrl + Shift + F11`" msgstr ":kbd:`Ctrl + Shift + F11`" #: ../../docs/tutorials/editor/default_key_mapping.rst:39 msgid ":kbd:`Cmd + Ctrl + D`" msgstr ":kbd:`Cmd + Ctrl + D`" #: ../../docs/tutorials/editor/default_key_mapping.rst:39 msgid "``editor/distraction_free_mode``" msgstr "``editor/distraction_free_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:41 msgid "Next tab" msgstr "Próxima guia" #: ../../docs/tutorials/editor/default_key_mapping.rst:41 msgid ":kbd:`Ctrl + Tab`" msgstr ":kbd:`Ctrl + Tab`" #: ../../docs/tutorials/editor/default_key_mapping.rst:41 msgid ":kbd:`Cmd + Tab`" msgstr ":kbd:`Cmd + Tab`" #: ../../docs/tutorials/editor/default_key_mapping.rst:41 msgid "``editor/next_tab``" msgstr "``editor/next_tab``" #: ../../docs/tutorials/editor/default_key_mapping.rst:43 msgid "Previous tab" msgstr "Guia anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:43 msgid ":kbd:`Ctrl + Shift + Tab`" msgstr ":kbd:`Ctrl + Shift + Tab`" #: ../../docs/tutorials/editor/default_key_mapping.rst:43 msgid ":kbd:`Cmd + Shift + Tab`" msgstr ":kbd:`Cmd + Shift + Tab`" #: ../../docs/tutorials/editor/default_key_mapping.rst:43 msgid "``editor/prev_tab``" msgstr "``editor/prev_tab``" #: ../../docs/tutorials/editor/default_key_mapping.rst:45 msgid "Filter Files" msgstr "Filtrar ficheiros" #: ../../docs/tutorials/editor/default_key_mapping.rst:45 msgid ":kbd:`Ctrl + Alt + P`" msgstr ":kbd:`Ctrl + Alt + P`" #: ../../docs/tutorials/editor/default_key_mapping.rst:45 msgid ":kbd:`Cmd + Alt + P`" msgstr ":kbd:`Cmd + Alt + P`" #: ../../docs/tutorials/editor/default_key_mapping.rst:45 msgid "``editor/filter_files``" msgstr "``editor/filter_files``" #: ../../docs/tutorials/editor/default_key_mapping.rst:47 msgid "Open Scene" msgstr "Abrir Cena" #: ../../docs/tutorials/editor/default_key_mapping.rst:47 msgid ":kbd:`Ctrl + O`" msgstr ":kbd:`Ctrl + O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:47 msgid ":kbd:`Cmd + O`" msgstr ":kbd:`Cmd + O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:47 msgid "``editor/open_scene``" msgstr "``editor/open_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:49 msgid "Close Scene" msgstr "Fechar Cena" #: ../../docs/tutorials/editor/default_key_mapping.rst:49 msgid ":kbd:`Ctrl + Shift + W`" msgstr ":kbd:`Ctrl + Shift + W`" #: ../../docs/tutorials/editor/default_key_mapping.rst:49 msgid ":kbd:`Cmd + Shift + W`" msgstr ":kbd:`Cmd + Shift + W`" #: ../../docs/tutorials/editor/default_key_mapping.rst:49 msgid "``editor/close_scene``" msgstr "``editor/close_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:51 msgid "Reopen Closed Scene" msgstr "Reabrir Cena Fechada" #: ../../docs/tutorials/editor/default_key_mapping.rst:51 #: ../../docs/tutorials/editor/default_key_mapping.rst:321 msgid ":kbd:`Ctrl + Shift + T`" msgstr ":kbd:`Ctrl + Shift + T`" #: ../../docs/tutorials/editor/default_key_mapping.rst:51 #: ../../docs/tutorials/editor/default_key_mapping.rst:321 msgid ":kbd:`Cmd + Shift + T`" msgstr ":kbd:`Cmd + Shift + T`" #: ../../docs/tutorials/editor/default_key_mapping.rst:51 msgid "``editor/reopen_closed_scene``" msgstr "``editor/reopen_closed_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:53 msgid "Save Scene" msgstr "Guardar Cena" #: ../../docs/tutorials/editor/default_key_mapping.rst:53 msgid ":kbd:`Ctrl + S`" msgstr ":kbd:`Ctrl + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:53 msgid ":kbd:`Cmd + S`" msgstr ":kbd:`Cmd + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:53 msgid "``editor/save_scene``" msgstr "``editor/save_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:55 msgid "Save Scene As" msgstr "Gravar Cena Como" #: ../../docs/tutorials/editor/default_key_mapping.rst:55 msgid ":kbd:`Ctrl + Shift + S`" msgstr ":kbd:`Ctrl + Shift + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:55 msgid ":kbd:`Cmd + Shift + S`" msgstr ":kbd:`Cmd + Shift + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:55 msgid "``editor/save_scene_as``" msgstr "``editor/save_scene_as``" #: ../../docs/tutorials/editor/default_key_mapping.rst:57 msgid "Save All Scenes" msgstr "Guardar todas as Cenas" #: ../../docs/tutorials/editor/default_key_mapping.rst:57 #: ../../docs/tutorials/editor/default_key_mapping.rst:325 msgid ":kbd:`Ctrl + Shift + Alt + S`" msgstr ":kbd:`Ctrl + Shift + Alt + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:57 #: ../../docs/tutorials/editor/default_key_mapping.rst:325 msgid ":kbd:`Cmd + Shift + Alt + S`" msgstr ":kbd:`Cmd + Shift + Alt + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:57 msgid "``editor/save_all_scenes``" msgstr "``editor/save_all_scenes``" #: ../../docs/tutorials/editor/default_key_mapping.rst:59 msgid "Quick Open" msgstr "Abrir Rapidamente" #: ../../docs/tutorials/editor/default_key_mapping.rst:59 msgid ":kbd:`Shift + Alt + O`" msgstr ":kbd:`Shift + Alt + O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:59 msgid "``editor/quick_open``" msgstr "``editor/quick_open``" #: ../../docs/tutorials/editor/default_key_mapping.rst:61 msgid "Quick Open Scene" msgstr "Abrir Cena Rapidamente" #: ../../docs/tutorials/editor/default_key_mapping.rst:61 msgid ":kbd:`Ctrl + Shift + O`" msgstr ":kbd:`Ctrl + Shift + O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:61 msgid ":kbd:`Cmd + Shift + O`" msgstr ":kbd:`Cmd + Shift + O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:61 msgid "``editor/quick_open_scene``" msgstr "``editor/quick_open_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:63 msgid "Quick Open Script" msgstr "Abrir Script Rapidamente" #: ../../docs/tutorials/editor/default_key_mapping.rst:63 msgid ":kbd:`Ctrl + Alt + O`" msgstr ":kbd:`Ctrl + Alt + O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:63 msgid ":kbd:`Cmd + Alt + O`" msgstr ":kbd:`Cmd + Alt + O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:63 msgid "``editor/quick_open_script``" msgstr "``editor/quick_open_script``" #: ../../docs/tutorials/editor/default_key_mapping.rst:65 #: ../../docs/tutorials/editor/default_key_mapping.rst:244 msgid "Undo" msgstr "Desfazer" #: ../../docs/tutorials/editor/default_key_mapping.rst:65 #: ../../docs/tutorials/editor/default_key_mapping.rst:244 msgid ":kbd:`Ctrl + Z`" msgstr ":kbd:`Ctrl + Z`" #: ../../docs/tutorials/editor/default_key_mapping.rst:65 #: ../../docs/tutorials/editor/default_key_mapping.rst:244 msgid ":kbd:`Cmd + Z`" msgstr ":kbd:`Cmd + Z`" #: ../../docs/tutorials/editor/default_key_mapping.rst:65 msgid "``editor/undo``" msgstr "``editor/undo``" #: ../../docs/tutorials/editor/default_key_mapping.rst:67 #: ../../docs/tutorials/editor/default_key_mapping.rst:246 msgid "Redo" msgstr "Refazer" #: ../../docs/tutorials/editor/default_key_mapping.rst:67 msgid ":kbd:`Ctrl + Shift + Z`" msgstr ":kbd:`Ctrl + Shift + Z`" #: ../../docs/tutorials/editor/default_key_mapping.rst:67 msgid ":kbd:`Cmd + Shift + Z`" msgstr ":kbd:`Cmd + Shift + Z`" #: ../../docs/tutorials/editor/default_key_mapping.rst:67 msgid "``editor/redo``" msgstr "``editor/redo``" #: ../../docs/tutorials/editor/default_key_mapping.rst:69 msgid "Quit" msgstr "Sair" #: ../../docs/tutorials/editor/default_key_mapping.rst:69 msgid ":kbd:`Ctrl + Q`" msgstr ":kbd:`Ctrl + Q`" #: ../../docs/tutorials/editor/default_key_mapping.rst:69 msgid ":kbd:`Cmd + Q`" msgstr ":kbd:`Cmd + Q`" #: ../../docs/tutorials/editor/default_key_mapping.rst:69 msgid "``editor/file_quit``" msgstr "``editor/file_quit``" #: ../../docs/tutorials/editor/default_key_mapping.rst:71 msgid "Quit to Project List" msgstr "Sair para a Lista de Projetos" #: ../../docs/tutorials/editor/default_key_mapping.rst:71 msgid ":kbd:`Ctrl + Shift + Q`" msgstr ":kbd:`Ctrl + Shift + Q`" #: ../../docs/tutorials/editor/default_key_mapping.rst:71 msgid ":kbd:`Shift + Alt + Q`" msgstr ":kbd:`Shift + Alt + Q`" #: ../../docs/tutorials/editor/default_key_mapping.rst:71 msgid "``editor/quit_to_project_list``" msgstr "``editor/quit_to_project_list``" #: ../../docs/tutorials/editor/default_key_mapping.rst:73 msgid "Take Screenshot" msgstr "Captura do Ecrã" #: ../../docs/tutorials/editor/default_key_mapping.rst:73 msgid ":kbd:`Ctrl + F12`" msgstr ":kbd:`Ctrl + F12`" #: ../../docs/tutorials/editor/default_key_mapping.rst:73 msgid ":kbd:`Cmd + F12`" msgstr ":kbd:`Cmd + F12`" #: ../../docs/tutorials/editor/default_key_mapping.rst:73 msgid "``editor/take_screenshot``" msgstr "``editor/take_screenshot``" #: ../../docs/tutorials/editor/default_key_mapping.rst:75 msgid "Toggle Fullscreen" msgstr "Alternar Ecrã completo" #: ../../docs/tutorials/editor/default_key_mapping.rst:75 msgid ":kbd:`Shift + F11`" msgstr ":kbd:`Shift + F11`" #: ../../docs/tutorials/editor/default_key_mapping.rst:75 msgid ":kbd:`Cmd + Ctrl + F`" msgstr ":kbd:`Cmd + Ctrl + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:75 msgid "``editor/fullscreen_mode``" msgstr "``editor/fullscreen_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:77 msgid "Play" msgstr "Executar" #: ../../docs/tutorials/editor/default_key_mapping.rst:77 #: ../../docs/tutorials/editor/default_key_mapping.rst:382 msgid ":kbd:`F5`" msgstr ":kbd:`F5`" #: ../../docs/tutorials/editor/default_key_mapping.rst:77 #: ../../docs/tutorials/editor/default_key_mapping.rst:280 msgid ":kbd:`Cmd + B`" msgstr ":kbd:`Cmd + B`" #: ../../docs/tutorials/editor/default_key_mapping.rst:77 msgid "``editor/play``" msgstr "``editor/play``" #: ../../docs/tutorials/editor/default_key_mapping.rst:79 msgid "Pause Scene" msgstr "Pausar Cena" #: ../../docs/tutorials/editor/default_key_mapping.rst:79 msgid ":kbd:`F7`" msgstr ":kbd:`F7`" #: ../../docs/tutorials/editor/default_key_mapping.rst:79 msgid ":kbd:`Cmd + Ctrl + Y`" msgstr ":kbd:`Cmd + Ctrl + Y`" #: ../../docs/tutorials/editor/default_key_mapping.rst:79 msgid "``editor/pause_scene``" msgstr "``editor/pause_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:81 msgid "Stop" msgstr "Parar" #: ../../docs/tutorials/editor/default_key_mapping.rst:81 msgid ":kbd:`F8`" msgstr ":kbd:`F8`" #: ../../docs/tutorials/editor/default_key_mapping.rst:81 #: ../../docs/tutorials/editor/default_key_mapping.rst:292 msgid ":kbd:`Cmd + .`" msgstr ":kbd:`Cmd + .`" #: ../../docs/tutorials/editor/default_key_mapping.rst:81 msgid "``editor/stop``" msgstr "``editor/stop``" #: ../../docs/tutorials/editor/default_key_mapping.rst:83 msgid "Play Scene" msgstr "Executar Cena" #: ../../docs/tutorials/editor/default_key_mapping.rst:83 msgid ":kbd:`F6`" msgstr ":kbd:`F6`" #: ../../docs/tutorials/editor/default_key_mapping.rst:83 msgid ":kbd:`Cmd + R`" msgstr ":kbd:`Cmd + R`" #: ../../docs/tutorials/editor/default_key_mapping.rst:83 msgid "``editor/play_scene``" msgstr "``editor/play_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:85 msgid "Play Custom Scene" msgstr "Executar Cena Personalizada" #: ../../docs/tutorials/editor/default_key_mapping.rst:85 msgid ":kbd:`Ctrl + Shift + F5`" msgstr ":kbd:`Ctrl + Shift + F5`" #: ../../docs/tutorials/editor/default_key_mapping.rst:85 #: ../../docs/tutorials/editor/default_key_mapping.rst:242 #: ../../docs/tutorials/editor/default_key_mapping.rst:327 msgid ":kbd:`Cmd + Shift + R`" msgstr ":kbd:`Cmd + Shift + R`" #: ../../docs/tutorials/editor/default_key_mapping.rst:85 msgid "``editor/play_custom_scene``" msgstr "``editor/play_custom_scene``" #: ../../docs/tutorials/editor/default_key_mapping.rst:87 msgid "Expand Bottom Panel" msgstr "Expandir Painel do Fundo" #: ../../docs/tutorials/editor/default_key_mapping.rst:87 msgid ":kbd:`Shift + F12`" msgstr ":kbd:`Shift + F12`" #: ../../docs/tutorials/editor/default_key_mapping.rst:87 msgid "``editor/bottom_panel_expand``" msgstr "``editor/bottom_panel_expand``" #: ../../docs/tutorials/editor/default_key_mapping.rst:91 msgid "2D / Canvas Item Editor" msgstr "2D / Editor de Canvas Item" #: ../../docs/tutorials/editor/default_key_mapping.rst:96 #: ../../docs/tutorials/editor/default_key_mapping.rst:339 msgid "Zoom In" msgstr "Aumentar Zoom" #: ../../docs/tutorials/editor/default_key_mapping.rst:96 #: ../../docs/tutorials/editor/default_key_mapping.rst:339 msgid ":kbd:`Ctrl + =`" msgstr ":kbd:`Ctrl + =`" #: ../../docs/tutorials/editor/default_key_mapping.rst:96 #: ../../docs/tutorials/editor/default_key_mapping.rst:339 msgid ":kbd:`Cmd + =`" msgstr ":kbd:`Cmd + =`" #: ../../docs/tutorials/editor/default_key_mapping.rst:96 msgid "``canvas_item_editor/zoom_plus``" msgstr "``canvas_item_editor/zoom_plus``" #: ../../docs/tutorials/editor/default_key_mapping.rst:98 #: ../../docs/tutorials/editor/default_key_mapping.rst:341 msgid "Zoom Out" msgstr "Diminuir Zoom" #: ../../docs/tutorials/editor/default_key_mapping.rst:98 #: ../../docs/tutorials/editor/default_key_mapping.rst:341 msgid ":kbd:`Ctrl + -`" msgstr ":kbd:`Ctrl + -`" #: ../../docs/tutorials/editor/default_key_mapping.rst:98 #: ../../docs/tutorials/editor/default_key_mapping.rst:341 msgid ":kbd:`Cmd + -`" msgstr ":kbd:`Cmd + -`" #: ../../docs/tutorials/editor/default_key_mapping.rst:98 msgid "``canvas_item_editor/zoom_minus``" msgstr "``canvas_item_editor/zoom_minus``" #: ../../docs/tutorials/editor/default_key_mapping.rst:100 msgid "Zoom Reset" msgstr "Reposição do Zoom" #: ../../docs/tutorials/editor/default_key_mapping.rst:100 #: ../../docs/tutorials/editor/default_key_mapping.rst:343 msgid ":kbd:`Ctrl + 0`" msgstr ":kbd:`Ctrl + 0`" #: ../../docs/tutorials/editor/default_key_mapping.rst:100 #: ../../docs/tutorials/editor/default_key_mapping.rst:343 msgid ":kbd:`Cmd + 0`" msgstr ":kbd:`Cmd + 0`" #: ../../docs/tutorials/editor/default_key_mapping.rst:100 msgid "``canvas_item_editor/zoom_reset``" msgstr "``canvas_item_editor/zoom_reset``" #: ../../docs/tutorials/editor/default_key_mapping.rst:102 msgid "Pan View" msgstr "Vista Pan" #: ../../docs/tutorials/editor/default_key_mapping.rst:102 msgid ":kbd:`Space`" msgstr ":kbd:`Space`" #: ../../docs/tutorials/editor/default_key_mapping.rst:102 msgid "``canvas_item_editor/pan_view``" msgstr "``canvas_item_editor/pan_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:104 #: ../../docs/tutorials/editor/default_key_mapping.rst:167 msgid "Select Mode" msgstr "Modo Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:104 #: ../../docs/tutorials/editor/default_key_mapping.rst:161 #: ../../docs/tutorials/editor/default_key_mapping.rst:167 msgid ":kbd:`Q`" msgstr ":kbd:`Q`" #: ../../docs/tutorials/editor/default_key_mapping.rst:104 msgid "``canvas_item_editor/select_mode``" msgstr "``canvas_item_editor/select_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:106 #: ../../docs/tutorials/editor/default_key_mapping.rst:169 msgid "Move Mode" msgstr "Modo Mover" #: ../../docs/tutorials/editor/default_key_mapping.rst:106 #: ../../docs/tutorials/editor/default_key_mapping.rst:155 #: ../../docs/tutorials/editor/default_key_mapping.rst:169 #: ../../docs/tutorials/editor/default_key_mapping.rst:478 msgid ":kbd:`W`" msgstr ":kbd:`W`" #: ../../docs/tutorials/editor/default_key_mapping.rst:106 msgid "``canvas_item_editor/move_mode``" msgstr "``canvas_item_editor/move_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:108 #: ../../docs/tutorials/editor/default_key_mapping.rst:171 msgid "Rotate Mode" msgstr "Modo Rodar" #: ../../docs/tutorials/editor/default_key_mapping.rst:108 #: ../../docs/tutorials/editor/default_key_mapping.rst:159 #: ../../docs/tutorials/editor/default_key_mapping.rst:171 msgid ":kbd:`E`" msgstr ":kbd:`E`" #: ../../docs/tutorials/editor/default_key_mapping.rst:108 msgid "``canvas_item_editor/rotate_mode``" msgstr "``canvas_item_editor/rotate_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:110 #: ../../docs/tutorials/editor/default_key_mapping.rst:173 msgid "Scale Mode" msgstr "Modo Escalar" #: ../../docs/tutorials/editor/default_key_mapping.rst:110 #: ../../docs/tutorials/editor/default_key_mapping.rst:157 #: ../../docs/tutorials/editor/default_key_mapping.rst:476 msgid ":kbd:`S`" msgstr ":kbd:`S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:110 msgid "``canvas_item_editor/scale_mode``" msgstr "``canvas_item_editor/scale_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:112 msgid "Ruler Mode" msgstr "Modo Régua" #: ../../docs/tutorials/editor/default_key_mapping.rst:112 #: ../../docs/tutorials/editor/default_key_mapping.rst:173 msgid ":kbd:`R`" msgstr ":kbd:`R`" #: ../../docs/tutorials/editor/default_key_mapping.rst:112 msgid "``canvas_item_editor/ruler_mode``" msgstr "``canvas_item_editor/ruler_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:114 msgid "Use Smart Snap" msgstr "Usar Ajuste Inteligente" #: ../../docs/tutorials/editor/default_key_mapping.rst:114 msgid ":kbd:`Shift + S`" msgstr ":kbd:`Shift + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:114 msgid "``canvas_item_editor/use_smart_snap``" msgstr "``canvas_item_editor/use_smart_snap``" #: ../../docs/tutorials/editor/default_key_mapping.rst:116 msgid "Use Grid Snap" msgstr "Usar Ajuste de Grelha" #: ../../docs/tutorials/editor/default_key_mapping.rst:116 msgid ":kbd:`Shift + G`" msgstr ":kbd:`Shift + G`" #: ../../docs/tutorials/editor/default_key_mapping.rst:116 msgid "``canvas_item_editor/use_grid_snap``" msgstr "``canvas_item_editor/use_grid_snap``" #: ../../docs/tutorials/editor/default_key_mapping.rst:118 msgid "Multiply grid step by 2" msgstr "Multiplicar passo da grelha por 2" #: ../../docs/tutorials/editor/default_key_mapping.rst:118 msgid ":kbd:`Num *`" msgstr ":kbd:`Num *`" #: ../../docs/tutorials/editor/default_key_mapping.rst:118 msgid "``canvas_item_editor/multiply_grid_step``" msgstr "``canvas_item_editor/multiply_grid_step``" #: ../../docs/tutorials/editor/default_key_mapping.rst:120 msgid "Divide grid step by 2" msgstr "Dividir passo da grelha por 2" #: ../../docs/tutorials/editor/default_key_mapping.rst:120 msgid ":kbd:`Num /`" msgstr ":kbd:`Num /`" #: ../../docs/tutorials/editor/default_key_mapping.rst:120 msgid "``canvas_item_editor/divide_grid_step``" msgstr "``canvas_item_editor/divide_grid_step``" #: ../../docs/tutorials/editor/default_key_mapping.rst:122 msgid "Always Show Grid" msgstr "Mostrar Grelha Sempre" #: ../../docs/tutorials/editor/default_key_mapping.rst:122 #: ../../docs/tutorials/editor/default_key_mapping.rst:466 msgid ":kbd:`G`" msgstr ":kbd:`G`" #: ../../docs/tutorials/editor/default_key_mapping.rst:122 msgid "``canvas_item_editor/show_grid``" msgstr "``canvas_item_editor/show_grid``" #: ../../docs/tutorials/editor/default_key_mapping.rst:124 msgid "Show Helpers" msgstr "Mostrar Ajudantes" #: ../../docs/tutorials/editor/default_key_mapping.rst:124 msgid ":kbd:`H`" msgstr ":kbd:`H`" #: ../../docs/tutorials/editor/default_key_mapping.rst:124 msgid "``canvas_item_editor/show_helpers``" msgstr "``canvas_item_editor/show_helpers``" #: ../../docs/tutorials/editor/default_key_mapping.rst:126 msgid "Show Guides" msgstr "Mostrar Guias" #: ../../docs/tutorials/editor/default_key_mapping.rst:126 #: ../../docs/tutorials/editor/default_key_mapping.rst:177 msgid ":kbd:`Y`" msgstr ":kbd:`Y`" #: ../../docs/tutorials/editor/default_key_mapping.rst:126 msgid "``canvas_item_editor/show_guides``" msgstr "``canvas_item_editor/show_guides``" #: ../../docs/tutorials/editor/default_key_mapping.rst:128 msgid "Center Selection" msgstr "Centrar Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:128 #: ../../docs/tutorials/editor/default_key_mapping.rst:199 msgid ":kbd:`F`" msgstr ":kbd:`F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:128 msgid "``canvas_item_editor/center_selection``" msgstr "``canvas_item_editor/center_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:130 msgid "Frame Selection" msgstr "Seleção de Frame" #: ../../docs/tutorials/editor/default_key_mapping.rst:130 #: ../../docs/tutorials/editor/default_key_mapping.rst:149 msgid ":kbd:`Shift + F`" msgstr ":kbd:`Shift + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:130 msgid "``canvas_item_editor/frame_selection``" msgstr "``canvas_item_editor/frame_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:132 msgid "Preview Canvas Scale" msgstr "Pré-visualizar Escala do Canvas" #: ../../docs/tutorials/editor/default_key_mapping.rst:132 msgid ":kbd:`Ctrl + Shift + P`" msgstr ":kbd:`Ctrl + Shift + P`" #: ../../docs/tutorials/editor/default_key_mapping.rst:132 msgid ":kbd:`Cmd + Shift + P`" msgstr ":kbd:`Cmd + Shift + P`" #: ../../docs/tutorials/editor/default_key_mapping.rst:132 msgid "``canvas_item_editor/preview_canvas_scale``" msgstr "``canvas_item_editor/preview_canvas_scale``" #: ../../docs/tutorials/editor/default_key_mapping.rst:134 msgid "Insert Key" msgstr "Inserir Chave" #: ../../docs/tutorials/editor/default_key_mapping.rst:134 msgid ":kbd:`Ins`" msgstr ":kbd:`Ins`" #: ../../docs/tutorials/editor/default_key_mapping.rst:134 msgid "``canvas_item_editor/anim_insert_key``" msgstr "``canvas_item_editor/anim_insert_key``" #: ../../docs/tutorials/editor/default_key_mapping.rst:136 msgid "Insert Key (Existing Tracks)" msgstr "Inserir Chave (Pistas existentes)" #: ../../docs/tutorials/editor/default_key_mapping.rst:136 msgid ":kbd:`Ctrl + Ins`" msgstr ":kbd:`Ctrl + Ins`" #: ../../docs/tutorials/editor/default_key_mapping.rst:136 msgid ":kbd:`Cmd + Ins`" msgstr ":kbd:`Cmd + Ins`" #: ../../docs/tutorials/editor/default_key_mapping.rst:136 msgid "``canvas_item_editor/anim_insert_key_existing_tracks``" msgstr "``canvas_item_editor/anim_insert_key_existing_tracks``" #: ../../docs/tutorials/editor/default_key_mapping.rst:138 msgid "Make Custom Bones from Nodes" msgstr "Criar Esqueletos Personalizados a partir de Nós" #: ../../docs/tutorials/editor/default_key_mapping.rst:138 #: ../../docs/tutorials/editor/default_key_mapping.rst:282 msgid ":kbd:`Ctrl + Shift + B`" msgstr ":kbd:`Ctrl + Shift + B`" #: ../../docs/tutorials/editor/default_key_mapping.rst:138 #: ../../docs/tutorials/editor/default_key_mapping.rst:282 #: ../../docs/tutorials/editor/default_key_mapping.rst:288 msgid ":kbd:`Cmd + Shift + B`" msgstr ":kbd:`Cmd + Shift + B`" #: ../../docs/tutorials/editor/default_key_mapping.rst:138 msgid "``canvas_item_editor/skeleton_make_bones``" msgstr "``canvas_item_editor/skeleton_make_bones``" #: ../../docs/tutorials/editor/default_key_mapping.rst:140 msgid "Clear Pose" msgstr "Limpar Pose" #: ../../docs/tutorials/editor/default_key_mapping.rst:140 msgid ":kbd:`Shift + K`" msgstr ":kbd:`Shift + K`" #: ../../docs/tutorials/editor/default_key_mapping.rst:140 msgid "``canvas_item_editor/anim_clear_pose``" msgstr "``canvas_item_editor/anim_clear_pose``" #: ../../docs/tutorials/editor/default_key_mapping.rst:144 msgid "3D / Spatial Editor" msgstr "Editor 3D / Espacial" #: ../../docs/tutorials/editor/default_key_mapping.rst:149 msgid "Toggle Freelook" msgstr "Alternar Freelook" #: ../../docs/tutorials/editor/default_key_mapping.rst:149 msgid "``spatial_editor/freelook_toggle``" msgstr "``spatial_editor/freelook_toggle``" #: ../../docs/tutorials/editor/default_key_mapping.rst:151 msgid "Freelook Left" msgstr "Freelook Esquerda" #: ../../docs/tutorials/editor/default_key_mapping.rst:151 #: ../../docs/tutorials/editor/default_key_mapping.rst:474 msgid ":kbd:`A`" msgstr ":kbd:`A`" #: ../../docs/tutorials/editor/default_key_mapping.rst:151 msgid "``spatial_editor/freelook_left``" msgstr "``spatial_editor/freelook_left``" #: ../../docs/tutorials/editor/default_key_mapping.rst:153 msgid "Freelook Right" msgstr "Freelook Direita" #: ../../docs/tutorials/editor/default_key_mapping.rst:153 msgid ":kbd:`D`" msgstr ":kbd:`D`" #: ../../docs/tutorials/editor/default_key_mapping.rst:153 msgid "``spatial_editor/freelook_right``" msgstr "``spatial_editor/freelook_right``" #: ../../docs/tutorials/editor/default_key_mapping.rst:155 msgid "Freelook Forward" msgstr "Freelook Frente" #: ../../docs/tutorials/editor/default_key_mapping.rst:155 msgid "``spatial_editor/freelook_forward``" msgstr "``spatial_editor/freelook_forward``" #: ../../docs/tutorials/editor/default_key_mapping.rst:157 msgid "Freelook Backwards" msgstr "Freelook Trás" #: ../../docs/tutorials/editor/default_key_mapping.rst:157 msgid "``spatial_editor/freelook_backwards``" msgstr "``spatial_editor/freelook_backwards``" #: ../../docs/tutorials/editor/default_key_mapping.rst:159 msgid "Freelook Up" msgstr "Freelook Cima" #: ../../docs/tutorials/editor/default_key_mapping.rst:159 msgid "``spatial_editor/freelook_up``" msgstr "``spatial_editor/freelook_up``" #: ../../docs/tutorials/editor/default_key_mapping.rst:161 msgid "Freelook Down" msgstr "Freelook Baixo" #: ../../docs/tutorials/editor/default_key_mapping.rst:161 msgid "``spatial_editor/freelook_down``" msgstr "``spatial_editor/freelook_down``" #: ../../docs/tutorials/editor/default_key_mapping.rst:163 msgid "Freelook Speed Modifier" msgstr "Freelook Modificador de Velocidade" #: ../../docs/tutorials/editor/default_key_mapping.rst:163 msgid ":kbd:`Shift`" msgstr ":kbd:`Shift`" #: ../../docs/tutorials/editor/default_key_mapping.rst:163 msgid "``spatial_editor/freelook_speed_modifier``" msgstr "``spatial_editor/freelook_speed_modifier``" #: ../../docs/tutorials/editor/default_key_mapping.rst:165 msgid "Freelook Slow Modifier" msgstr "Freelook Modificador de Lentidão" #: ../../docs/tutorials/editor/default_key_mapping.rst:165 msgid ":kbd:`Alt`" msgstr ":kbd:`Alt`" #: ../../docs/tutorials/editor/default_key_mapping.rst:165 msgid "``spatial_editor/freelook_slow_modifier``" msgstr "``spatial_editor/freelook_slow_modifier``" #: ../../docs/tutorials/editor/default_key_mapping.rst:167 msgid "``spatial_editor/tool_select``" msgstr "``spatial_editor/tool_select``" #: ../../docs/tutorials/editor/default_key_mapping.rst:169 msgid "``spatial_editor/tool_move``" msgstr "``spatial_editor/tool_move``" #: ../../docs/tutorials/editor/default_key_mapping.rst:171 msgid "``spatial_editor/tool_rotate``" msgstr "``spatial_editor/tool_rotate``" #: ../../docs/tutorials/editor/default_key_mapping.rst:173 msgid "``spatial_editor/tool_scale``" msgstr "``spatial_editor/tool_scale``" #: ../../docs/tutorials/editor/default_key_mapping.rst:175 msgid "Use Local Space" msgstr "Usar Espaço Local" #: ../../docs/tutorials/editor/default_key_mapping.rst:175 #: ../../docs/tutorials/editor/default_key_mapping.rst:468 msgid ":kbd:`T`" msgstr ":kbd:`T`" #: ../../docs/tutorials/editor/default_key_mapping.rst:175 msgid "``spatial_editor/local_coords``" msgstr "``spatial_editor/local_coords``" #: ../../docs/tutorials/editor/default_key_mapping.rst:177 msgid "Use Snap" msgstr "Usar Ajuste" #: ../../docs/tutorials/editor/default_key_mapping.rst:177 msgid "``spatial_editor/snap``" msgstr "``spatial_editor/snap``" #: ../../docs/tutorials/editor/default_key_mapping.rst:179 msgid "Snap Object to Floor" msgstr "Ajustar Objetos ao Chão" #: ../../docs/tutorials/editor/default_key_mapping.rst:179 #: ../../docs/tutorials/editor/default_key_mapping.rst:495 msgid ":kbd:`PgDown`" msgstr ":kbd:`PgDown`" #: ../../docs/tutorials/editor/default_key_mapping.rst:179 msgid "``spatial_editor/snap_to_floor``" msgstr "``spatial_editor/snap_to_floor``" #: ../../docs/tutorials/editor/default_key_mapping.rst:181 msgid "Top View" msgstr "Vista de Topo" #: ../../docs/tutorials/editor/default_key_mapping.rst:181 msgid ":kbd:`Num 7`" msgstr ":kbd:`Num 7`" #: ../../docs/tutorials/editor/default_key_mapping.rst:181 msgid "``spatial_editor/top_view``" msgstr "``spatial_editor/top_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:183 msgid "Bottom View" msgstr "Vista de Fundo" #: ../../docs/tutorials/editor/default_key_mapping.rst:183 msgid ":kbd:`Alt + Num 7`" msgstr ":kbd:`Alt + Num 7`" #: ../../docs/tutorials/editor/default_key_mapping.rst:183 msgid "``spatial_editor/bottom_view``" msgstr "``spatial_editor/bottom_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:185 msgid "Front View" msgstr "Vista de Frente" #: ../../docs/tutorials/editor/default_key_mapping.rst:185 msgid ":kbd:`Num 1`" msgstr ":kbd:`Num 1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:185 msgid "``spatial_editor/front_view``" msgstr "``spatial_editor/front_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:187 msgid "Rear View" msgstr "Vista de Trás" #: ../../docs/tutorials/editor/default_key_mapping.rst:187 msgid ":kbd:`Alt + Num 1`" msgstr ":kbd:`Alt + Num 1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:187 msgid "``spatial_editor/rear_view``" msgstr "``spatial_editor/rear_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:189 msgid "Right View" msgstr "Vista Direita" #: ../../docs/tutorials/editor/default_key_mapping.rst:189 msgid ":kbd:`Num 3`" msgstr ":kbd:`Num 3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:189 msgid "``spatial_editor/right_view``" msgstr "``spatial_editor/right_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:191 msgid "Left View" msgstr "Vista Esquerda" #: ../../docs/tutorials/editor/default_key_mapping.rst:191 msgid ":kbd:`Alt + Num 3`" msgstr ":kbd:`Alt + Num 3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:191 msgid "``spatial_editor/left_view``" msgstr "``spatial_editor/left_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:193 msgid "Switch Perspective/Orthogonal View" msgstr "Alternar Vista Perspetiva/Ortogonal" #: ../../docs/tutorials/editor/default_key_mapping.rst:193 msgid ":kbd:`Num 5`" msgstr ":kbd:`Num 5`" #: ../../docs/tutorials/editor/default_key_mapping.rst:193 msgid "``spatial_editor/switch_perspective_orthogonal``" msgstr "``spatial_editor/switch_perspective_orthogonal``" #: ../../docs/tutorials/editor/default_key_mapping.rst:195 msgid "Insert Animation Key" msgstr "Inserir Chave de Animação" #: ../../docs/tutorials/editor/default_key_mapping.rst:195 msgid ":kbd:`K`" msgstr ":kbd:`K`" #: ../../docs/tutorials/editor/default_key_mapping.rst:195 msgid "``spatial_editor/insert_anim_key``" msgstr "``spatial_editor/insert_anim_key``" #: ../../docs/tutorials/editor/default_key_mapping.rst:197 msgid "Focus Origin" msgstr "Focar na Origem" #: ../../docs/tutorials/editor/default_key_mapping.rst:197 msgid ":kbd:`O`" msgstr ":kbd:`O`" #: ../../docs/tutorials/editor/default_key_mapping.rst:197 msgid "``spatial_editor/focus_origin``" msgstr "``spatial_editor/focus_origin``" #: ../../docs/tutorials/editor/default_key_mapping.rst:199 msgid "Focus Selection" msgstr "Focar na Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:199 msgid "``spatial_editor/focus_selection``" msgstr "``spatial_editor/focus_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:201 msgid "Align Transform with View" msgstr "Alinhar Transformação com Vista" #: ../../docs/tutorials/editor/default_key_mapping.rst:201 msgid ":kbd:`Ctrl + Alt + M`" msgstr ":kbd:`Ctrl + Alt + M`" #: ../../docs/tutorials/editor/default_key_mapping.rst:201 msgid ":kbd:`Cmd + Alt + M`" msgstr ":kbd:`Cmd + Alt + M`" #: ../../docs/tutorials/editor/default_key_mapping.rst:201 msgid "``spatial_editor/align_transform_with_view``" msgstr "``spatial_editor/align_transform_with_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:203 msgid "Align Rotation with View" msgstr "Alinhar Rotação com Vista" #: ../../docs/tutorials/editor/default_key_mapping.rst:203 #: ../../docs/tutorials/editor/default_key_mapping.rst:284 msgid ":kbd:`Ctrl + Alt + F`" msgstr ":kbd:`Ctrl + Alt + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:203 msgid ":kbd:`Cmd + Alt + F`" msgstr ":kbd:`Cmd + Alt + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:203 msgid "``spatial_editor/align_rotation_with_view``" msgstr "``spatial_editor/align_rotation_with_view``" #: ../../docs/tutorials/editor/default_key_mapping.rst:205 msgid "1 Viewport" msgstr "1 Viewport" #: ../../docs/tutorials/editor/default_key_mapping.rst:205 msgid ":kbd:`Ctrl + 1`" msgstr ":kbd:`Ctrl + 1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:205 msgid ":kbd:`Cmd + 1`" msgstr ":kbd:`Cmd + 1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:205 msgid "``spatial_editor/1_viewport``" msgstr "``spatial_editor/1_viewport``" #: ../../docs/tutorials/editor/default_key_mapping.rst:207 msgid "2 Viewports" msgstr "2 Viewports" #: ../../docs/tutorials/editor/default_key_mapping.rst:207 msgid ":kbd:`Ctrl + 2`" msgstr ":kbd:`Ctrl + 2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:207 msgid ":kbd:`Cmd + 2`" msgstr ":kbd:`Cmd + 2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:207 msgid "``spatial_editor/2_viewports``" msgstr "``spatial_editor/2_viewports``" #: ../../docs/tutorials/editor/default_key_mapping.rst:209 msgid "2 Viewports (Alt)" msgstr "2 Viewports (Alt)" #: ../../docs/tutorials/editor/default_key_mapping.rst:209 msgid ":kbd:`Ctrl + Alt + 2`" msgstr ":kbd:`Ctrl + Alt + 2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:209 msgid ":kbd:`Cmd + Alt + 2`" msgstr ":kbd:`Cmd + Alt + 2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:209 msgid "``spatial_editor/2_viewports_alt``" msgstr "``spatial_editor/2_viewports_alt``" #: ../../docs/tutorials/editor/default_key_mapping.rst:211 msgid "3 Viewports" msgstr "3 Viewports" #: ../../docs/tutorials/editor/default_key_mapping.rst:211 msgid ":kbd:`Ctrl + 3`" msgstr ":kbd:`Ctrl + 3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:211 msgid ":kbd:`Cmd + 3`" msgstr ":kbd:`Cmd + 3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:211 msgid "``spatial_editor/3_viewports``" msgstr "``spatial_editor/3_viewports``" #: ../../docs/tutorials/editor/default_key_mapping.rst:213 msgid "3 Viewports (Alt)" msgstr "3 Viewports (Alt)" #: ../../docs/tutorials/editor/default_key_mapping.rst:213 msgid ":kbd:`Ctrl + Alt + 3`" msgstr ":kbd:`Ctrl + Alt + 3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:213 msgid ":kbd:`Cmd + Alt + 3`" msgstr ":kbd:`Cmd + Alt + 3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:213 msgid "``spatial_editor/3_viewports_alt``" msgstr "``spatial_editor/3_viewports_alt``" #: ../../docs/tutorials/editor/default_key_mapping.rst:215 msgid "4 Viewports" msgstr "4 Viewports" #: ../../docs/tutorials/editor/default_key_mapping.rst:215 msgid ":kbd:`Ctrl + 4`" msgstr ":kbd:`Ctrl + 4`" #: ../../docs/tutorials/editor/default_key_mapping.rst:215 msgid ":kbd:`Cmd + 4`" msgstr ":kbd:`Cmd + 4`" #: ../../docs/tutorials/editor/default_key_mapping.rst:215 msgid "``spatial_editor/4_viewports``" msgstr "``spatial_editor/4_viewports``" #: ../../docs/tutorials/editor/default_key_mapping.rst:219 msgid "Text Editor" msgstr "Editor de texto" #: ../../docs/tutorials/editor/default_key_mapping.rst:224 msgid "Cut" msgstr "Cortar" #: ../../docs/tutorials/editor/default_key_mapping.rst:224 #: ../../docs/tutorials/editor/default_key_mapping.rst:482 msgid ":kbd:`Ctrl + X`" msgstr ":kbd:`Ctrl + X`" #: ../../docs/tutorials/editor/default_key_mapping.rst:224 #: ../../docs/tutorials/editor/default_key_mapping.rst:482 msgid ":kbd:`Cmd + X`" msgstr ":kbd:`Cmd + X`" #: ../../docs/tutorials/editor/default_key_mapping.rst:224 msgid "``script_text_editor/cut``" msgstr "``script_text_editor/cut``" #: ../../docs/tutorials/editor/default_key_mapping.rst:226 msgid "Copy" msgstr "Copiar" #: ../../docs/tutorials/editor/default_key_mapping.rst:226 #: ../../docs/tutorials/editor/default_key_mapping.rst:352 #: ../../docs/tutorials/editor/default_key_mapping.rst:407 #: ../../docs/tutorials/editor/default_key_mapping.rst:484 msgid ":kbd:`Ctrl + C`" msgstr ":kbd:`Ctrl + C`" #: ../../docs/tutorials/editor/default_key_mapping.rst:226 #: ../../docs/tutorials/editor/default_key_mapping.rst:352 #: ../../docs/tutorials/editor/default_key_mapping.rst:407 #: ../../docs/tutorials/editor/default_key_mapping.rst:484 msgid ":kbd:`Cmd + C`" msgstr ":kbd:`Cmd + C`" #: ../../docs/tutorials/editor/default_key_mapping.rst:226 msgid "``script_text_editor/copy``" msgstr "``script_text_editor/copy``" #: ../../docs/tutorials/editor/default_key_mapping.rst:228 msgid "Paste" msgstr "Colar" #: ../../docs/tutorials/editor/default_key_mapping.rst:228 msgid ":kbd:`Ctrl + V`" msgstr ":kbd:`Ctrl + V`" #: ../../docs/tutorials/editor/default_key_mapping.rst:228 msgid ":kbd:`Cmd + V`" msgstr ":kbd:`Cmd + V`" #: ../../docs/tutorials/editor/default_key_mapping.rst:228 msgid "``script_text_editor/paste``" msgstr "``script_text_editor/paste``" #: ../../docs/tutorials/editor/default_key_mapping.rst:230 msgid "Select All" msgstr "Selecionar Tudo" #: ../../docs/tutorials/editor/default_key_mapping.rst:230 #: ../../docs/tutorials/editor/default_key_mapping.rst:420 msgid ":kbd:`Ctrl + A`" msgstr ":kbd:`Ctrl + A`" #: ../../docs/tutorials/editor/default_key_mapping.rst:230 #: ../../docs/tutorials/editor/default_key_mapping.rst:420 msgid ":kbd:`Cmd + A`" msgstr ":kbd:`Cmd + A`" #: ../../docs/tutorials/editor/default_key_mapping.rst:230 msgid "``script_text_editor/select_all``" msgstr "``script_text_editor/select_all``" #: ../../docs/tutorials/editor/default_key_mapping.rst:232 #: ../../docs/tutorials/editor/default_key_mapping.rst:305 msgid "Find" msgstr "Localizar" #: ../../docs/tutorials/editor/default_key_mapping.rst:232 #: ../../docs/tutorials/editor/default_key_mapping.rst:305 #: ../../docs/tutorials/editor/default_key_mapping.rst:460 msgid ":kbd:`Ctrl + F`" msgstr ":kbd:`Ctrl + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:232 #: ../../docs/tutorials/editor/default_key_mapping.rst:305 #: ../../docs/tutorials/editor/default_key_mapping.rst:460 msgid ":kbd:`Cmd + F`" msgstr ":kbd:`Cmd + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:232 msgid "``script_text_editor/find``" msgstr "``script_text_editor/find``" #: ../../docs/tutorials/editor/default_key_mapping.rst:234 #: ../../docs/tutorials/editor/default_key_mapping.rst:307 msgid "Find Next" msgstr "Localizar Seguinte" #: ../../docs/tutorials/editor/default_key_mapping.rst:234 #: ../../docs/tutorials/editor/default_key_mapping.rst:307 msgid ":kbd:`F3`" msgstr ":kbd:`F3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:234 msgid ":kbd:`Cmd + G`" msgstr ":kbd:`Cmd + G`" #: ../../docs/tutorials/editor/default_key_mapping.rst:234 msgid "``script_text_editor/find_next``" msgstr "``script_text_editor/find_next``" #: ../../docs/tutorials/editor/default_key_mapping.rst:236 #: ../../docs/tutorials/editor/default_key_mapping.rst:309 msgid "Find Previous" msgstr "Localizar Anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:236 #: ../../docs/tutorials/editor/default_key_mapping.rst:309 msgid ":kbd:`Shift + F3`" msgstr ":kbd:`Shift + F3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:236 msgid ":kbd:`Cmd + Shift + G`" msgstr ":kbd:`Cmd + Shift + G`" #: ../../docs/tutorials/editor/default_key_mapping.rst:236 msgid "``script_text_editor/find_previous``" msgstr "``script_text_editor/find_previous``" #: ../../docs/tutorials/editor/default_key_mapping.rst:238 #: ../../docs/tutorials/editor/default_key_mapping.rst:311 msgid "Find in Files" msgstr "Localizar em Ficheiros" #: ../../docs/tutorials/editor/default_key_mapping.rst:238 #: ../../docs/tutorials/editor/default_key_mapping.rst:311 msgid ":kbd:`Ctrl + Shift + F`" msgstr ":kbd:`Ctrl + Shift + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:238 #: ../../docs/tutorials/editor/default_key_mapping.rst:311 msgid ":kbd:`Cmd + Shift + F`" msgstr ":kbd:`Cmd + Shift + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:238 msgid "``script_text_editor/find_in_files``" msgstr "``script_text_editor/find_in_files``" #: ../../docs/tutorials/editor/default_key_mapping.rst:240 msgid "Replace" msgstr "Substituir" #: ../../docs/tutorials/editor/default_key_mapping.rst:240 msgid ":kbd:`Ctrl + R`" msgstr ":kbd:`Ctrl + R`" #: ../../docs/tutorials/editor/default_key_mapping.rst:240 msgid ":kbd:`Alt + Cmd + F`" msgstr ":kbd:`Alt + Cmd + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:240 msgid "``script_text_editor/replace``" msgstr "``script_text_editor/replace``" #: ../../docs/tutorials/editor/default_key_mapping.rst:242 msgid "Replace in Files" msgstr "Substituir em ficheiros" #: ../../docs/tutorials/editor/default_key_mapping.rst:242 #: ../../docs/tutorials/editor/default_key_mapping.rst:327 msgid ":kbd:`Ctrl + Shift + R`" msgstr ":kbd:`Ctrl + Shift + R`" #: ../../docs/tutorials/editor/default_key_mapping.rst:242 msgid "``script_text_editor/replace_in_files``" msgstr "``script_text_editor/replace_in_files``" #: ../../docs/tutorials/editor/default_key_mapping.rst:244 msgid "``script_text_editor/undo``" msgstr "``script_text_editor/undo``" #: ../../docs/tutorials/editor/default_key_mapping.rst:246 msgid ":kbd:`Ctrl + Y`" msgstr ":kbd:`Ctrl + Y`" #: ../../docs/tutorials/editor/default_key_mapping.rst:246 msgid ":kbd:`Cmd + Y`" msgstr ":kbd:`Cmd + Y`" #: ../../docs/tutorials/editor/default_key_mapping.rst:246 msgid "``script_text_editor/redo``" msgstr "``script_text_editor/redo``" #: ../../docs/tutorials/editor/default_key_mapping.rst:248 #: ../../docs/tutorials/editor/default_key_mapping.rst:313 #: ../../docs/tutorials/editor/default_key_mapping.rst:432 msgid "Move Up" msgstr "Mover para cima" #: ../../docs/tutorials/editor/default_key_mapping.rst:248 #: ../../docs/tutorials/editor/default_key_mapping.rst:380 msgid ":kbd:`Alt + Up Arrow`" msgstr ":kbd:`Alt + Seta para Cima`" #: ../../docs/tutorials/editor/default_key_mapping.rst:248 msgid "``script_text_editor/move_up``" msgstr "``script_text_editor/move_up``" #: ../../docs/tutorials/editor/default_key_mapping.rst:250 #: ../../docs/tutorials/editor/default_key_mapping.rst:315 #: ../../docs/tutorials/editor/default_key_mapping.rst:434 msgid "Move Down" msgstr "Mover para baixo" #: ../../docs/tutorials/editor/default_key_mapping.rst:250 msgid ":kbd:`Alt + Down Arrow`" msgstr ":kbd:`Alt + Seta para Baixo`" #: ../../docs/tutorials/editor/default_key_mapping.rst:250 msgid "``script_text_editor/move_down``" msgstr "``script_text_editor/move_down``" #: ../../docs/tutorials/editor/default_key_mapping.rst:252 msgid "Delete Line" msgstr "Apagar Linha" #: ../../docs/tutorials/editor/default_key_mapping.rst:252 #: ../../docs/tutorials/editor/default_key_mapping.rst:354 msgid ":kbd:`Ctrl + Shift + K`" msgstr ":kbd:`Ctrl + Shift + K`" #: ../../docs/tutorials/editor/default_key_mapping.rst:252 #: ../../docs/tutorials/editor/default_key_mapping.rst:354 msgid ":kbd:`Cmd + Shift + K`" msgstr ":kbd:`Cmd + Shift + K`" #: ../../docs/tutorials/editor/default_key_mapping.rst:252 msgid "``script_text_editor/delete_line``" msgstr "``script_text_editor/delete_line``" #: ../../docs/tutorials/editor/default_key_mapping.rst:254 msgid "Toggle Comment" msgstr "Alternar Comentário" #: ../../docs/tutorials/editor/default_key_mapping.rst:254 msgid ":kbd:`Ctrl + K`" msgstr ":kbd:`Ctrl + K`" #: ../../docs/tutorials/editor/default_key_mapping.rst:254 msgid ":kbd:`Cmd + K`" msgstr ":kbd:`Cmd + K`" #: ../../docs/tutorials/editor/default_key_mapping.rst:254 msgid "``script_text_editor/toggle_comment``" msgstr "``script_text_editor/toggle_comment``" #: ../../docs/tutorials/editor/default_key_mapping.rst:256 msgid "Fold/Unfold Line" msgstr "Fechar/Abrir Linha" #: ../../docs/tutorials/editor/default_key_mapping.rst:256 #: ../../docs/tutorials/editor/default_key_mapping.rst:386 msgid ":kbd:`Alt + F`" msgstr ":kbd:`Alt + F`" #: ../../docs/tutorials/editor/default_key_mapping.rst:256 #, fuzzy msgid ":kbd:`Ctrl + Cmd + F`" msgstr ":kbd:`Ctrl + Cmd + J`" #: ../../docs/tutorials/editor/default_key_mapping.rst:256 msgid "``script_text_editor/toggle_fold_line``" msgstr "``script_text_editor/toggle_fold_line``" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 #: ../../docs/tutorials/editor/default_key_mapping.rst:443 msgid "Duplicate Selection" msgstr "Duplicar Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 #: ../../docs/tutorials/editor/default_key_mapping.rst:445 msgid ":kbd:`Ctrl + Shift + D`" msgstr ":kbd:`Ctrl + Shift + D`" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 msgid ":kbd:`Cmd + Shift + C`" msgstr ":kbd:`Cmd + Shift + C`" #: ../../docs/tutorials/editor/default_key_mapping.rst:258 #, fuzzy msgid "``script_text_editor/duplicate_selection``" msgstr "``script_text_editor/evaluate_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:260 msgid "Complete Symbol" msgstr "Completar Símbolo" #: ../../docs/tutorials/editor/default_key_mapping.rst:260 msgid ":kbd:`Ctrl + Space`" msgstr ":kbd:`Ctrl + Espaço`" #: ../../docs/tutorials/editor/default_key_mapping.rst:260 msgid "``script_text_editor/complete_symbol``" msgstr "``script_text_editor/complete_symbol``" #: ../../docs/tutorials/editor/default_key_mapping.rst:262 msgid "Evaluate Selection" msgstr "Avaliar Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:262 msgid ":kbd:`Ctrl + Shift + E`" msgstr ":kbd:`Ctrl + Shift + E`" #: ../../docs/tutorials/editor/default_key_mapping.rst:262 msgid ":kbd:`Cmd + Shift + E`" msgstr ":kbd:`Cmd + Shift + E`" #: ../../docs/tutorials/editor/default_key_mapping.rst:262 msgid "``script_text_editor/evaluate_selection``" msgstr "``script_text_editor/evaluate_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:264 msgid "Trim Trailing Whitespace" msgstr "Apagar Espaços nos Limites" #: ../../docs/tutorials/editor/default_key_mapping.rst:264 msgid ":kbd:`Ctrl + Alt + T`" msgstr ":kbd:`Ctrl + Alt + T`" #: ../../docs/tutorials/editor/default_key_mapping.rst:264 msgid ":kbd:`Cmd + Alt + T`" msgstr ":kbd:`Cmd + Alt + T`" #: ../../docs/tutorials/editor/default_key_mapping.rst:264 msgid "``script_text_editor/trim_trailing_whitespace``" msgstr "``script_text_editor/trim_trailing_whitespace``" #: ../../docs/tutorials/editor/default_key_mapping.rst:266 msgid "Uppercase" msgstr "Maiúsculas" #: ../../docs/tutorials/editor/default_key_mapping.rst:266 msgid ":kbd:`Shift + F4`" msgstr ":kbd:`Shift + F4`" #: ../../docs/tutorials/editor/default_key_mapping.rst:266 msgid "``script_text_editor/convert_to_uppercase``" msgstr "``script_text_editor/convert_to_uppercase``" #: ../../docs/tutorials/editor/default_key_mapping.rst:268 msgid "Lowercase" msgstr "Minúsculas" #: ../../docs/tutorials/editor/default_key_mapping.rst:268 msgid ":kbd:`Shift + F5`" msgstr ":kbd:`Shift + F5`" #: ../../docs/tutorials/editor/default_key_mapping.rst:268 msgid "``script_text_editor/convert_to_lowercase``" msgstr "``script_text_editor/convert_to_uppercase``" #: ../../docs/tutorials/editor/default_key_mapping.rst:270 msgid "Capitalize" msgstr "Capitalizar" #: ../../docs/tutorials/editor/default_key_mapping.rst:270 msgid ":kbd:`Shift + F6`" msgstr ":kbd:`Shift + F6`" #: ../../docs/tutorials/editor/default_key_mapping.rst:270 msgid "``script_text_editor/capitalize``" msgstr "``script_text_editor/capitalize``" #: ../../docs/tutorials/editor/default_key_mapping.rst:272 msgid "Convert Indent to Spaces" msgstr "Converter Indentação em Espaços" #: ../../docs/tutorials/editor/default_key_mapping.rst:272 msgid ":kbd:`Ctrl + Shift + Y`" msgstr ":kbd:`Ctrl + Shift + Y`" #: ../../docs/tutorials/editor/default_key_mapping.rst:272 msgid ":kbd:`Cmd + Shift + Y`" msgstr ":kbd:`Cmd + Shift + Y`" #: ../../docs/tutorials/editor/default_key_mapping.rst:272 msgid "``script_text_editor/convert_indent_to_spaces``" msgstr "``script_text_editor/convert_indent_to_spaces``" #: ../../docs/tutorials/editor/default_key_mapping.rst:274 msgid "Convert Indent to Tabs" msgstr "Converter Indentação em Tabulação" #: ../../docs/tutorials/editor/default_key_mapping.rst:274 msgid ":kbd:`Ctrl + Shift + I`" msgstr ":kbd:`Ctrl + Shift + I`" #: ../../docs/tutorials/editor/default_key_mapping.rst:274 msgid ":kbd:`Cmd + Shift + I`" msgstr ":kbd:`Cmd + Shift + I`" #: ../../docs/tutorials/editor/default_key_mapping.rst:274 msgid "``script_text_editor/convert_indent_to_tabs``" msgstr "``script_text_editor/convert_indent_to_tabs``" #: ../../docs/tutorials/editor/default_key_mapping.rst:276 msgid "Auto Indent" msgstr "Indentação Automática" #: ../../docs/tutorials/editor/default_key_mapping.rst:276 msgid ":kbd:`Ctrl + I`" msgstr ":kbd:`Ctrl + I`" #: ../../docs/tutorials/editor/default_key_mapping.rst:276 msgid ":kbd:`Cmd + I`" msgstr ":kbd:`Cmd + I`" #: ../../docs/tutorials/editor/default_key_mapping.rst:276 msgid "``script_text_editor/auto_indent``" msgstr "``script_text_editor/auto_indent``" #: ../../docs/tutorials/editor/default_key_mapping.rst:278 msgid "Toggle Bookmark" msgstr "Alternar Marcador" #: ../../docs/tutorials/editor/default_key_mapping.rst:278 msgid ":kbd:`Ctrl + Alt + B`" msgstr ":kbd:`Ctrl + Alt + B`" #: ../../docs/tutorials/editor/default_key_mapping.rst:278 msgid ":kbd:`Cmd + Alt + B`" msgstr ":kbd:`Cmd + Alt + B`" #: ../../docs/tutorials/editor/default_key_mapping.rst:278 msgid "``script_text_editor/toggle_bookmark``" msgstr "``script_text_editor/toggle_bookmark``" #: ../../docs/tutorials/editor/default_key_mapping.rst:280 msgid "Go to Next Bookmark" msgstr "Ir para Próximo Marcador" #: ../../docs/tutorials/editor/default_key_mapping.rst:280 msgid ":kbd:`Ctrl + B`" msgstr ":kbd:`Ctrl + B`" #: ../../docs/tutorials/editor/default_key_mapping.rst:280 msgid "``script_text_editor/goto_next_bookmark``" msgstr "``script_text_editor/goto_next_bookmark``" #: ../../docs/tutorials/editor/default_key_mapping.rst:282 msgid "Go to Previous Bookmark" msgstr "Ir para Marcador Anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:282 msgid "``script_text_editor/goto_previous_bookmark``" msgstr "``script_text_editor/goto_previous_bookmark``" #: ../../docs/tutorials/editor/default_key_mapping.rst:284 msgid "Go to Function" msgstr "Ir para Função" #: ../../docs/tutorials/editor/default_key_mapping.rst:284 msgid ":kbd:`Ctrl + Cmd + J`" msgstr ":kbd:`Ctrl + Cmd + J`" #: ../../docs/tutorials/editor/default_key_mapping.rst:284 msgid "``script_text_editor/goto_function``" msgstr "``script_text_editor/goto_function``" #: ../../docs/tutorials/editor/default_key_mapping.rst:286 msgid "Go to Line" msgstr "Vai para Linha" #: ../../docs/tutorials/editor/default_key_mapping.rst:286 msgid ":kbd:`Ctrl + L`" msgstr ":kbd:`Ctrl + L`" #: ../../docs/tutorials/editor/default_key_mapping.rst:286 msgid ":kbd:`Cmd + L`" msgstr ":kbd:`Cmd + L`" #: ../../docs/tutorials/editor/default_key_mapping.rst:286 msgid "``script_text_editor/goto_line``" msgstr "``script_text_editor/goto_line``" #: ../../docs/tutorials/editor/default_key_mapping.rst:288 msgid "Toggle Breakpoint" msgstr "Alternar Breakpoint" #: ../../docs/tutorials/editor/default_key_mapping.rst:288 msgid ":kbd:`F9`" msgstr ":kbd:`F9`" #: ../../docs/tutorials/editor/default_key_mapping.rst:288 msgid "``script_text_editor/toggle_breakpoint``" msgstr "``script_text_editor/toggle_breakpoint``" #: ../../docs/tutorials/editor/default_key_mapping.rst:290 msgid "Remove All Breakpoints" msgstr "Remover Todos os Breakpoints" #: ../../docs/tutorials/editor/default_key_mapping.rst:290 msgid ":kbd:`Ctrl + Shift + F9`" msgstr ":kbd:`Ctrl + Shift + F9`" #: ../../docs/tutorials/editor/default_key_mapping.rst:290 msgid ":kbd:`Cmd + Shift + F9`" msgstr ":kbd:`Cmd + Shift + F9`" #: ../../docs/tutorials/editor/default_key_mapping.rst:290 msgid "``script_text_editor/remove_all_breakpoints``" msgstr "``script_text_editor/remove_all_breakpoints``" #: ../../docs/tutorials/editor/default_key_mapping.rst:292 msgid "Go to Next Breakpoint" msgstr "Ir para Próximo Breakpoint" #: ../../docs/tutorials/editor/default_key_mapping.rst:292 msgid ":kbd:`Ctrl + .`" msgstr ":kbd:`Ctrl + .`" #: ../../docs/tutorials/editor/default_key_mapping.rst:292 msgid "``script_text_editor/goto_next_breakpoint``" msgstr "``script_text_editor/goto_next_breakpoint``" #: ../../docs/tutorials/editor/default_key_mapping.rst:294 msgid "Go to Previous Breakpoint" msgstr "Ir para Breakpoint Anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:294 msgid ":kbd:`Ctrl + ,`" msgstr ":kbd:`Ctrl + ,`" #: ../../docs/tutorials/editor/default_key_mapping.rst:294 msgid ":kbd:`Cmd + ,`" msgstr ":kbd:`Cmd + ,`" #: ../../docs/tutorials/editor/default_key_mapping.rst:294 msgid "``script_text_editor/goto_previous_breakpoint``" msgstr "``script_text_editor/goto_previous_breakpoint``" #: ../../docs/tutorials/editor/default_key_mapping.rst:296 msgid "Contextual Help" msgstr "Ajuda Contextual" #: ../../docs/tutorials/editor/default_key_mapping.rst:296 msgid ":kbd:`Alt + F1`" msgstr ":kbd:`Alt + F1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:296 msgid ":kbd:`Alt + Shift + Space`" msgstr ":kbd:`Alt + Shift + Espaço`" #: ../../docs/tutorials/editor/default_key_mapping.rst:296 msgid "``script_text_editor/contextual_help``" msgstr "``script_text_editor/contextual_help``" #: ../../docs/tutorials/editor/default_key_mapping.rst:300 msgid "Script Editor" msgstr "Editor de Script" #: ../../docs/tutorials/editor/default_key_mapping.rst:305 msgid "``script_editor/find``" msgstr "``script_editor/find``" #: ../../docs/tutorials/editor/default_key_mapping.rst:307 msgid "``script_editor/find_next``" msgstr "``script_editor/find_next``" #: ../../docs/tutorials/editor/default_key_mapping.rst:309 msgid "``script_editor/find_previous``" msgstr "``script_editor/find_previous``" #: ../../docs/tutorials/editor/default_key_mapping.rst:311 msgid "``script_editor/find_in_files``" msgstr "``script_editor/find_in_files``" #: ../../docs/tutorials/editor/default_key_mapping.rst:313 msgid ":kbd:`Shift + Alt + Up Arrow`" msgstr ":kbd:`Shift + Alt + Seta para Cima`" #: ../../docs/tutorials/editor/default_key_mapping.rst:313 msgid "``script_editor/window_move_up``" msgstr "``script_editor/window_move_up``" #: ../../docs/tutorials/editor/default_key_mapping.rst:315 msgid ":kbd:`Shift + Alt + Down Arrow`" msgstr ":kbd:`Shift + Alt + Seta para Baixo`" #: ../../docs/tutorials/editor/default_key_mapping.rst:315 msgid "``script_editor/window_move_down``" msgstr "``script_editor/window_move_down``" #: ../../docs/tutorials/editor/default_key_mapping.rst:317 msgid "Next Script" msgstr "Próximo Script" #: ../../docs/tutorials/editor/default_key_mapping.rst:317 msgid ":kbd:`Ctrl + Shift + .`" msgstr ":kbd:`Ctrl + Shift + .`" #: ../../docs/tutorials/editor/default_key_mapping.rst:317 msgid ":kbd:`Cmd + Shift + .`" msgstr ":kbd:`Cmd + Shift + .`" #: ../../docs/tutorials/editor/default_key_mapping.rst:317 msgid "``script_editor/next_script``" msgstr "``script_editor/next_script``" #: ../../docs/tutorials/editor/default_key_mapping.rst:319 msgid "Previous Script" msgstr "Script anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:319 msgid ":kbd:`Ctrl + Shift + ,`" msgstr ":kbd:`Ctrl + Shift + ,`" #: ../../docs/tutorials/editor/default_key_mapping.rst:319 msgid ":kbd:`Cmd + Shift + ,`" msgstr ":kbd:`Cmd + Shift + ,`" #: ../../docs/tutorials/editor/default_key_mapping.rst:319 msgid "``script_editor/prev_script``" msgstr "``script_editor/prev_script``" #: ../../docs/tutorials/editor/default_key_mapping.rst:321 msgid "Reopen Closed Script" msgstr "Reabrir Script Fechado" #: ../../docs/tutorials/editor/default_key_mapping.rst:321 msgid "``script_editor/reopen_closed_script``" msgstr "``script_editor/reopen_closed_script``" #: ../../docs/tutorials/editor/default_key_mapping.rst:323 msgid "Save" msgstr "Guardar" #: ../../docs/tutorials/editor/default_key_mapping.rst:323 msgid ":kbd:`Ctrl + Alt + S`" msgstr ":kbd:`Ctrl + Alt + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:323 msgid ":kbd:`Cmd + Alt + S`" msgstr ":kbd:`Cmd + Alt + S`" #: ../../docs/tutorials/editor/default_key_mapping.rst:323 msgid "``script_editor/save``" msgstr "``script_editor/save``" #: ../../docs/tutorials/editor/default_key_mapping.rst:325 msgid "Save All" msgstr "Guardar Tudo" #: ../../docs/tutorials/editor/default_key_mapping.rst:325 msgid "``script_editor/save_all``" msgstr "``script_editor/save_all``" #: ../../docs/tutorials/editor/default_key_mapping.rst:327 msgid "Soft Reload Script" msgstr "Script de Recarregamento" #: ../../docs/tutorials/editor/default_key_mapping.rst:327 msgid "``script_editor/reload_script_soft``" msgstr "``script_editor/reload_script_soft``" #: ../../docs/tutorials/editor/default_key_mapping.rst:329 msgid "History Previous" msgstr "Histórico Anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:329 #: ../../docs/tutorials/editor/default_key_mapping.rst:376 msgid ":kbd:`Alt + Left Arrow`" msgstr ":kbd:`Alt + Seta para a Esquerda`" #: ../../docs/tutorials/editor/default_key_mapping.rst:329 msgid "``script_editor/history_previous``" msgstr "``script_editor/history_previous``" #: ../../docs/tutorials/editor/default_key_mapping.rst:331 msgid "History Next" msgstr "Histórico Seguinte" #: ../../docs/tutorials/editor/default_key_mapping.rst:331 #: ../../docs/tutorials/editor/default_key_mapping.rst:378 msgid ":kbd:`Alt + Right Arrow`" msgstr ":kbd:`Alt + Seta para a Direita`" #: ../../docs/tutorials/editor/default_key_mapping.rst:331 msgid "``script_editor/history_next``" msgstr "``script_editor/history_next``" #: ../../docs/tutorials/editor/default_key_mapping.rst:333 msgid "Close" msgstr "Fechar" #: ../../docs/tutorials/editor/default_key_mapping.rst:333 msgid ":kbd:`Ctrl + W`" msgstr ":kbd:`Ctrl + W`" #: ../../docs/tutorials/editor/default_key_mapping.rst:333 msgid ":kbd:`Cmd + W`" msgstr ":kbd:`Cmd + W`" #: ../../docs/tutorials/editor/default_key_mapping.rst:333 msgid "``script_editor/close_file``" msgstr "``script_editor/close_file``" #: ../../docs/tutorials/editor/default_key_mapping.rst:335 #: ../../docs/contributing/development/compiling/compiling_for_ios.rst:91 msgid "Run" msgstr "Executar" #: ../../docs/tutorials/editor/default_key_mapping.rst:335 msgid ":kbd:`Ctrl + Shift + X`" msgstr ":kbd:`Ctrl + Shift + X`" #: ../../docs/tutorials/editor/default_key_mapping.rst:335 msgid ":kbd:`Cmd + Shift + X`" msgstr ":kbd:`Cmd + Shift + X`" #: ../../docs/tutorials/editor/default_key_mapping.rst:335 msgid "``script_editor/run_file``" msgstr "``script_editor/run_file``" #: ../../docs/tutorials/editor/default_key_mapping.rst:337 msgid "Toggle Scripts Panel" msgstr "Alternar Painel de Scripts" #: ../../docs/tutorials/editor/default_key_mapping.rst:337 msgid ":kbd:`Ctrl + \\\\`" msgstr ":kbd:`Ctrl + \\\\`" #: ../../docs/tutorials/editor/default_key_mapping.rst:337 msgid ":kbd:`Cmd + \\\\`" msgstr ":kbd:`Cmd + \\\\`" #: ../../docs/tutorials/editor/default_key_mapping.rst:337 msgid "``script_editor/toggle_scripts_panel``" msgstr "``script_editor/toggle_scripts_panel``" #: ../../docs/tutorials/editor/default_key_mapping.rst:339 msgid "``script_editor/zoom_in``" msgstr "``script_editor/zoom_in``" #: ../../docs/tutorials/editor/default_key_mapping.rst:341 msgid "``script_editor/zoom_out``" msgstr "``script_editor/zoom_out``" #: ../../docs/tutorials/editor/default_key_mapping.rst:343 msgid "Reset Zoom" msgstr "Repor Zoom" #: ../../docs/tutorials/editor/default_key_mapping.rst:343 msgid "``script_editor/reset_zoom``" msgstr "``script_editor/reset_zoom``" #: ../../docs/tutorials/editor/default_key_mapping.rst:347 msgid "Editor Output" msgstr "Saída do Editor" #: ../../docs/tutorials/editor/default_key_mapping.rst:352 #: ../../docs/tutorials/editor/default_key_mapping.rst:484 msgid "Copy Selection" msgstr "Copiar Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:352 msgid "``editor/copy_output``" msgstr "``editor/copy_output``" #: ../../docs/tutorials/editor/default_key_mapping.rst:354 msgid "Clear Output" msgstr "Limpar Saída" #: ../../docs/tutorials/editor/default_key_mapping.rst:354 msgid "``editor/clear_output``" msgstr "``editor/clear_output``" #: ../../docs/tutorials/editor/default_key_mapping.rst:358 #: ../../docs/tutorials/scripting/debug/debugger_panel.rst:14 msgid "Debugger" msgstr "Depurador" #: ../../docs/tutorials/editor/default_key_mapping.rst:363 msgid "Step Into" msgstr "Passar Dentro" #: ../../docs/tutorials/editor/default_key_mapping.rst:363 msgid ":kbd:`F11`" msgstr ":kbd:`F11`" #: ../../docs/tutorials/editor/default_key_mapping.rst:363 msgid "``debugger/step_into``" msgstr "``debugger/step_into``" #: ../../docs/tutorials/editor/default_key_mapping.rst:365 msgid "Step Over" msgstr "Passar Sobre" #: ../../docs/tutorials/editor/default_key_mapping.rst:365 msgid ":kbd:`F10`" msgstr ":kbd:`F10`" #: ../../docs/tutorials/editor/default_key_mapping.rst:365 msgid "``debugger/step_over``" msgstr "``debugger/step_over``" #: ../../docs/tutorials/editor/default_key_mapping.rst:367 msgid "Continue" msgstr "Continuar" #: ../../docs/tutorials/editor/default_key_mapping.rst:367 msgid ":kbd:`F12`" msgstr ":kbd:`F12`" #: ../../docs/tutorials/editor/default_key_mapping.rst:367 msgid "``debugger/continue``" msgstr "``debugger/continue``" #: ../../docs/tutorials/editor/default_key_mapping.rst:371 msgid "File Dialog" msgstr "Caixa de diálogo de ficheiros" #: ../../docs/tutorials/editor/default_key_mapping.rst:376 msgid "Go Back" msgstr "Voltar" #: ../../docs/tutorials/editor/default_key_mapping.rst:376 msgid "``file_dialog/go_back``" msgstr "``file_dialog/go_back``" #: ../../docs/tutorials/editor/default_key_mapping.rst:378 msgid "Go Forward" msgstr "Avançar" #: ../../docs/tutorials/editor/default_key_mapping.rst:378 msgid "``file_dialog/go_forward``" msgstr "``file_dialog/go_forward``" #: ../../docs/tutorials/editor/default_key_mapping.rst:380 msgid "Go Up" msgstr "Subir" #: ../../docs/tutorials/editor/default_key_mapping.rst:380 msgid "``file_dialog/go_up``" msgstr "``file_dialog/go_up``" #: ../../docs/tutorials/editor/default_key_mapping.rst:382 msgid "Refresh" msgstr "Atualizar" #: ../../docs/tutorials/editor/default_key_mapping.rst:382 msgid "``file_dialog/refresh``" msgstr "``file_dialog/refresh``" #: ../../docs/tutorials/editor/default_key_mapping.rst:384 msgid "Toggle Hidden Files" msgstr "Alternar Ficheiros Escondidos" #: ../../docs/tutorials/editor/default_key_mapping.rst:384 msgid ":kbd:`Ctrl + H`" msgstr ":kbd:`Ctrl + H`" #: ../../docs/tutorials/editor/default_key_mapping.rst:384 msgid ":kbd:`Cmd + H`" msgstr ":kbd:`Cmd + H`" #: ../../docs/tutorials/editor/default_key_mapping.rst:384 msgid "``file_dialog/toggle_hidden_files``" msgstr "``file_dialog/toggle_hidden_files``" #: ../../docs/tutorials/editor/default_key_mapping.rst:386 msgid "Toggle Favorite" msgstr "Alternar Favorito" #: ../../docs/tutorials/editor/default_key_mapping.rst:386 msgid "``file_dialog/toggle_favorite``" msgstr "``file_dialog/toggle_favorite``" #: ../../docs/tutorials/editor/default_key_mapping.rst:388 msgid "Toggle Mode" msgstr "Alternar Modo" #: ../../docs/tutorials/editor/default_key_mapping.rst:388 msgid ":kbd:`Alt + V`" msgstr ":kbd:`Alt + V`" #: ../../docs/tutorials/editor/default_key_mapping.rst:388 msgid "``file_dialog/toggle_mode``" msgstr "``file_dialog/toggle_mode``" #: ../../docs/tutorials/editor/default_key_mapping.rst:390 msgid "Create Folder" msgstr "Criar Pasta" #: ../../docs/tutorials/editor/default_key_mapping.rst:390 msgid ":kbd:`Ctrl + N`" msgstr ":kbd:`Ctrl + N`" #: ../../docs/tutorials/editor/default_key_mapping.rst:390 msgid ":kbd:`Cmd + N`" msgstr ":kbd:`Cmd + N`" #: ../../docs/tutorials/editor/default_key_mapping.rst:390 msgid "``file_dialog/create_folder``" msgstr "``file_dialog/create_folder``" #: ../../docs/tutorials/editor/default_key_mapping.rst:392 #: ../../docs/tutorials/editor/default_key_mapping.rst:411 #: ../../docs/tutorials/editor/default_key_mapping.rst:426 msgid "Delete" msgstr "Apagar" #: ../../docs/tutorials/editor/default_key_mapping.rst:392 #: ../../docs/tutorials/editor/default_key_mapping.rst:411 #: ../../docs/tutorials/editor/default_key_mapping.rst:426 #: ../../docs/tutorials/editor/default_key_mapping.rst:447 #: ../../docs/tutorials/editor/default_key_mapping.rst:486 msgid ":kbd:`Del`" msgstr ":kbd:`Del`" #: ../../docs/tutorials/editor/default_key_mapping.rst:392 #: ../../docs/tutorials/editor/default_key_mapping.rst:411 #: ../../docs/tutorials/editor/default_key_mapping.rst:426 #: ../../docs/tutorials/editor/default_key_mapping.rst:447 #: ../../docs/tutorials/editor/default_key_mapping.rst:486 msgid ":kbd:`Cmd + BkSp`" msgstr ":kbd:`Cmd + BkSp`" #: ../../docs/tutorials/editor/default_key_mapping.rst:392 msgid "``file_dialog/delete``" msgstr "``file_dialog/delete``" #: ../../docs/tutorials/editor/default_key_mapping.rst:394 msgid "Focus Path" msgstr "Caminho de Foco" #: ../../docs/tutorials/editor/default_key_mapping.rst:394 #: ../../docs/tutorials/editor/default_key_mapping.rst:409 #: ../../docs/tutorials/editor/default_key_mapping.rst:430 #: ../../docs/tutorials/editor/default_key_mapping.rst:443 msgid ":kbd:`Ctrl + D`" msgstr ":kbd:`Ctrl + D`" #: ../../docs/tutorials/editor/default_key_mapping.rst:394 #: ../../docs/tutorials/editor/default_key_mapping.rst:409 #: ../../docs/tutorials/editor/default_key_mapping.rst:430 #: ../../docs/tutorials/editor/default_key_mapping.rst:443 msgid ":kbd:`Cmd + D`" msgstr ":kbd:`Cmd + D`" #: ../../docs/tutorials/editor/default_key_mapping.rst:394 msgid "``file_dialog/focus_path``" msgstr "``file_dialog/focus_path``" #: ../../docs/tutorials/editor/default_key_mapping.rst:396 msgid "Move Favorite Up" msgstr "Mover Favorito para Cima" #: ../../docs/tutorials/editor/default_key_mapping.rst:396 #: ../../docs/tutorials/editor/default_key_mapping.rst:432 msgid ":kbd:`Ctrl + Up Arrow`" msgstr ":kbd:`Ctrl + Up Arrow`" #: ../../docs/tutorials/editor/default_key_mapping.rst:396 #: ../../docs/tutorials/editor/default_key_mapping.rst:432 msgid ":kbd:`Cmd + Up Arrow`" msgstr ":kbd:`Cmd + Up Arrow`" #: ../../docs/tutorials/editor/default_key_mapping.rst:396 msgid "``file_dialog/move_favorite_up``" msgstr "``file_dialog/move_favorite_up``" #: ../../docs/tutorials/editor/default_key_mapping.rst:398 msgid "Move Favorite Down" msgstr "Mover Favorito para Baixo" #: ../../docs/tutorials/editor/default_key_mapping.rst:398 #: ../../docs/tutorials/editor/default_key_mapping.rst:434 msgid ":kbd:`Ctrl + Down Arrow`" msgstr ":kbd:`Ctrl + Down Arrow`" #: ../../docs/tutorials/editor/default_key_mapping.rst:398 #: ../../docs/tutorials/editor/default_key_mapping.rst:434 msgid ":kbd:`Cmd + Down Arrow`" msgstr ":kbd:`Cmd + Down Arrow`" #: ../../docs/tutorials/editor/default_key_mapping.rst:398 msgid "``file_dialog/move_favorite_down``" msgstr "``file_dialog/move_favorite_down``" #: ../../docs/tutorials/editor/default_key_mapping.rst:402 msgid "FileSystem Dock" msgstr "Doca de Sistema de Ficheiros" #: ../../docs/tutorials/editor/default_key_mapping.rst:407 msgid "Copy Path" msgstr "Copiar Caminho" #: ../../docs/tutorials/editor/default_key_mapping.rst:407 msgid "``filesystem_dock/copy_path``" msgstr "``filesystem_dock/copy_path``" #: ../../docs/tutorials/editor/default_key_mapping.rst:409 #: ../../docs/tutorials/editor/default_key_mapping.rst:430 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:130 #: ../../docs/tutorials/scripting/c_sharp/c_sharp_collections.rst:219 msgid "Duplicate" msgstr "Duplicar" #: ../../docs/tutorials/editor/default_key_mapping.rst:409 msgid "``filesystem_dock/duplicate``" msgstr "``filesystem_dock/duplicate``" #: ../../docs/tutorials/editor/default_key_mapping.rst:411 msgid "``filesystem_dock/delete``" msgstr "``filesystem_dock/delete``" #: ../../docs/tutorials/editor/default_key_mapping.rst:415 msgid "Scene Tree Dock" msgstr "Dock da Árvore de Cenas" #: ../../docs/tutorials/editor/default_key_mapping.rst:420 msgid "Add Child Node" msgstr "Adicionar Nó Filho" #: ../../docs/tutorials/editor/default_key_mapping.rst:420 msgid "``scene_tree/add_child_node``" msgstr "``scene_tree/add_child_node``" #: ../../docs/tutorials/editor/default_key_mapping.rst:422 msgid "Batch Rename" msgstr "Renomear em Massa" #: ../../docs/tutorials/editor/default_key_mapping.rst:422 msgid ":kbd:`Cmd + F2`" msgstr ":kbd:`Cmd + F2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:422 msgid "``scene_tree/batch_rename``" msgstr "``scene_tree/batch_rename``" #: ../../docs/tutorials/editor/default_key_mapping.rst:424 msgid "Copy Node Path" msgstr "Copiar Caminho do Nó" #: ../../docs/tutorials/editor/default_key_mapping.rst:424 #, fuzzy msgid ":kbd:`Ctrl + Shift + C`" msgstr ":kbd:`Ctrl + Shift + W`" #: ../../docs/tutorials/editor/default_key_mapping.rst:424 #, fuzzy msgid ":kbd:`Cmd + Shift + C`" msgstr ":kbd:`Cmd + Shift + C`" #: ../../docs/tutorials/editor/default_key_mapping.rst:424 msgid "``scene_tree/copy_node_path``" msgstr "``scene_tree/copy_node_path``" #: ../../docs/tutorials/editor/default_key_mapping.rst:426 msgid "``scene_tree/delete``" msgstr "``scene_tree/delete``" #: ../../docs/tutorials/editor/default_key_mapping.rst:428 msgid "Force Delete" msgstr "Forçar exclusão" #: ../../docs/tutorials/editor/default_key_mapping.rst:428 msgid ":kbd:`Shift + Del`" msgstr ":kbd:`Shift + Del`" #: ../../docs/tutorials/editor/default_key_mapping.rst:428 msgid "``scene_tree/delete_no_confirm``" msgstr "``scene_tree/delete_no_confirm``" #: ../../docs/tutorials/editor/default_key_mapping.rst:430 msgid "``scene_tree/duplicate``" msgstr "``scene_tree/duplicate``" #: ../../docs/tutorials/editor/default_key_mapping.rst:432 msgid "``scene_tree/move_up``" msgstr "``scene_tree/move_up``" #: ../../docs/tutorials/editor/default_key_mapping.rst:434 msgid "``scene_tree/move_down``" msgstr "``scene_tree/move_down``" #: ../../docs/tutorials/editor/default_key_mapping.rst:438 msgid "Animation Track Editor" msgstr "Editor de Trilha de Animação" #: ../../docs/tutorials/editor/default_key_mapping.rst:443 msgid "``animation_editor/duplicate_selection``" msgstr "``animation_editor/duplicate_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:445 msgid "Duplicate Transposed" msgstr "Duplicar Transposto" #: ../../docs/tutorials/editor/default_key_mapping.rst:445 msgid ":kbd:`Cmd + Shift + D`" msgstr ":kbd:`Cmd + Shift + D`" #: ../../docs/tutorials/editor/default_key_mapping.rst:445 msgid "``animation_editor/duplicate_selection_transposed``" msgstr "``animation_editor/duplicate_selection_transposed``" #: ../../docs/tutorials/editor/default_key_mapping.rst:447 msgid "Delete Selection" msgstr "Apagar Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:447 msgid "``animation_editor/delete_selection``" msgstr "``animation_editor/delete_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:449 msgid "Go to Next Step" msgstr "Ir para Próximo Passo" #: ../../docs/tutorials/editor/default_key_mapping.rst:449 msgid ":kbd:`Ctrl + Right Arrow`" msgstr ":kbd:`Ctrl + Seta para a Direita`" #: ../../docs/tutorials/editor/default_key_mapping.rst:449 msgid ":kbd:`Cmd + Right Arrow`" msgstr ":kbd:`Cmd + Seta para a Direita`" #: ../../docs/tutorials/editor/default_key_mapping.rst:449 msgid "``animation_editor/goto_next_step``" msgstr "``animation_editor/goto_next_step``" #: ../../docs/tutorials/editor/default_key_mapping.rst:451 msgid "Go to Previous Step" msgstr "Ir para Passo Anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:451 msgid ":kbd:`Ctrl + Left Arrow`" msgstr ":kbd:`Ctrl + Left Arrow`" #: ../../docs/tutorials/editor/default_key_mapping.rst:451 msgid ":kbd:`Cmd + Left Arrow`" msgstr ":kbd:`Cmd + Left Arrow`" #: ../../docs/tutorials/editor/default_key_mapping.rst:451 msgid "``animation_editor/goto_prev_step``" msgstr "``animation_editor/goto_prev_step``" #: ../../docs/tutorials/editor/default_key_mapping.rst:455 msgid "Tile Map Editor" msgstr "Editor de Tile Map" #: ../../docs/tutorials/editor/default_key_mapping.rst:460 msgid "Find Tile" msgstr "Localizar Tile" #: ../../docs/tutorials/editor/default_key_mapping.rst:460 msgid "``tile_map_editor/find_tile``" msgstr "``tile_map_editor/find_tile``" #: ../../docs/tutorials/editor/default_key_mapping.rst:462 msgid "Pick Tile" msgstr "Escolher Tile" #: ../../docs/tutorials/editor/default_key_mapping.rst:462 msgid ":kbd:`I`" msgstr ":kbd:`I`" #: ../../docs/tutorials/editor/default_key_mapping.rst:462 msgid "``tile_map_editor/pick_tile``" msgstr "``tile_map_editor/pick_tile``" #: ../../docs/tutorials/editor/default_key_mapping.rst:464 msgid "Paint Tile" msgstr "Pintar Tile" #: ../../docs/tutorials/editor/default_key_mapping.rst:464 msgid ":kbd:`P`" msgstr ":kbd:`P`" #: ../../docs/tutorials/editor/default_key_mapping.rst:464 msgid "``tile_map_editor/paint_tile``" msgstr "``tile_map_editor/paint_tile``" #: ../../docs/tutorials/editor/default_key_mapping.rst:466 #: ../../docs/tutorials/2d/using_tilemaps.rst:273 msgid "Bucket Fill" msgstr "Balde de Enchimento" #: ../../docs/tutorials/editor/default_key_mapping.rst:466 msgid "``tile_map_editor/bucket_fill``" msgstr "``tile_map_editor/bucket_fill``" #: ../../docs/tutorials/editor/default_key_mapping.rst:468 msgid "Transpose" msgstr "Transpor" #: ../../docs/tutorials/editor/default_key_mapping.rst:468 msgid "``tile_map_editor/transpose``" msgstr "``tile_map_editor/transpose``" #: ../../docs/tutorials/editor/default_key_mapping.rst:470 msgid "Flip Horizontally" msgstr "Inverter na Horizontal" #: ../../docs/tutorials/editor/default_key_mapping.rst:470 msgid ":kbd:`X`" msgstr ":kbd:`X`" #: ../../docs/tutorials/editor/default_key_mapping.rst:470 msgid "``tile_map_editor/flip_horizontal``" msgstr "``tile_map_editor/flip_horizontal``" #: ../../docs/tutorials/editor/default_key_mapping.rst:472 msgid "Flip Vertically" msgstr "Inverter na Vertical" #: ../../docs/tutorials/editor/default_key_mapping.rst:472 msgid ":kbd:`Z`" msgstr ":kbd:`Z`" #: ../../docs/tutorials/editor/default_key_mapping.rst:472 msgid "``tile_map_editor/flip_vertical``" msgstr "``tile_map_editor/flip_vertical``" #: ../../docs/tutorials/editor/default_key_mapping.rst:474 msgid "Rotate Left" msgstr "Rodar Esquerda" #: ../../docs/tutorials/editor/default_key_mapping.rst:474 msgid "``tile_map_editor/rotate_left``" msgstr "``tile_map_editor/rotate_left``" #: ../../docs/tutorials/editor/default_key_mapping.rst:476 msgid "Rotate Right" msgstr "Rodar Direita" #: ../../docs/tutorials/editor/default_key_mapping.rst:476 msgid "``tile_map_editor/rotate_right``" msgstr "``tile_map_editor/rotate_right``" #: ../../docs/tutorials/editor/default_key_mapping.rst:478 msgid "Clear Transform" msgstr "Limpar Transformação" #: ../../docs/tutorials/editor/default_key_mapping.rst:478 msgid "``tile_map_editor/clear_transform``" msgstr "``tile_map_editor/clear_transform``" #: ../../docs/tutorials/editor/default_key_mapping.rst:480 msgid "Select" msgstr "Selecionar" #: ../../docs/tutorials/editor/default_key_mapping.rst:480 msgid ":kbd:`M`" msgstr ":kbd:`M`" #: ../../docs/tutorials/editor/default_key_mapping.rst:480 msgid "``tile_map_editor/select``" msgstr "``tile_map_editor/select``" #: ../../docs/tutorials/editor/default_key_mapping.rst:482 msgid "Cut Selection" msgstr "Cortar Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:482 msgid "``tile_map_editor/cut_selection``" msgstr "``tile_map_editor/cut_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:484 msgid "``tile_map_editor/copy_selection``" msgstr "``tile_map_editor/copy_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:486 msgid "Erase Selection" msgstr "Apagar Seleção" #: ../../docs/tutorials/editor/default_key_mapping.rst:486 msgid "``tile_map_editor/erase_selection``" msgstr "``tile_map_editor/erase_selection``" #: ../../docs/tutorials/editor/default_key_mapping.rst:490 msgid "Tileset Editor" msgstr "Editor de Tileset" #: ../../docs/tutorials/editor/default_key_mapping.rst:495 msgid "Next Coordinate" msgstr "Próxima Coordenada" #: ../../docs/tutorials/editor/default_key_mapping.rst:495 msgid "``tileset_editor/next_shape``" msgstr "``tileset_editor/next_shape``" #: ../../docs/tutorials/editor/default_key_mapping.rst:497 msgid "Previous Coordinate" msgstr "Coordenada Anterior" #: ../../docs/tutorials/editor/default_key_mapping.rst:497 msgid ":kbd:`PgUp`" msgstr ":kbd:`PgUp`" #: ../../docs/tutorials/editor/default_key_mapping.rst:497 msgid "``tileset_editor/previous_shape``" msgstr "``tileset_editor/previous_shape``" #: ../../docs/tutorials/editor/default_key_mapping.rst:499 msgid "Region Mode" msgstr "Modo Região" #: ../../docs/tutorials/editor/default_key_mapping.rst:499 msgid ":kbd:`1`" msgstr ":kbd:`1`" #: ../../docs/tutorials/editor/default_key_mapping.rst:499 msgid "``tileset_editor/editmode_region``" msgstr "``tileset_editor/editmode_region``" #: ../../docs/tutorials/editor/default_key_mapping.rst:501 msgid "Collision Mode" msgstr "Modo Colisão" #: ../../docs/tutorials/editor/default_key_mapping.rst:501 msgid ":kbd:`2`" msgstr ":kbd:`2`" #: ../../docs/tutorials/editor/default_key_mapping.rst:501 msgid "``tileset_editor/editmode_collision``" msgstr "``tileset_editor/editmode_collision``" #: ../../docs/tutorials/editor/default_key_mapping.rst:503 msgid "Occlusion Mode" msgstr "Modo Oclusão" #: ../../docs/tutorials/editor/default_key_mapping.rst:503 msgid ":kbd:`3`" msgstr ":kbd:`3`" #: ../../docs/tutorials/editor/default_key_mapping.rst:503 msgid "``tileset_editor/editmode_occlusion``" msgstr "``tileset_editor/editmode_occlusion``" #: ../../docs/tutorials/editor/default_key_mapping.rst:505 msgid "Navigation Mode" msgstr "Modo Navegação" #: ../../docs/tutorials/editor/default_key_mapping.rst:505 msgid ":kbd:`4`" msgstr ":kbd:`4`" #: ../../docs/tutorials/editor/default_key_mapping.rst:505 msgid "``tileset_editor/editmode_navigation``" msgstr "``tileset_editor/editmode_navigation``" #: ../../docs/tutorials/editor/default_key_mapping.rst:507 msgid "Bitmask Mode" msgstr "Modo Bitmask" #: ../../docs/tutorials/editor/default_key_mapping.rst:507 msgid ":kbd:`5`" msgstr ":kbd:`5`" #: ../../docs/tutorials/editor/default_key_mapping.rst:507 msgid "``tileset_editor/editmode_bitmask``" msgstr "``tileset_editor/editmode_bitmask``" #: ../../docs/tutorials/editor/default_key_mapping.rst:509 msgid "Priority Mode" msgstr "Modo Prioridade" #: ../../docs/tutorials/editor/default_key_mapping.rst:509 msgid ":kbd:`6`" msgstr ":kbd:`6`" #: ../../docs/tutorials/editor/default_key_mapping.rst:509 msgid "``tileset_editor/editmode_priority``" msgstr "``tileset_editor/editmode_priority``" #: ../../docs/tutorials/editor/default_key_mapping.rst:511 msgid "Icon Mode" msgstr "Modo Ícone" #: ../../docs/tutorials/editor/default_key_mapping.rst:511 msgid ":kbd:`7`" msgstr ":kbd:`7`" #: ../../docs/tutorials/editor/default_key_mapping.rst:511 msgid "``tileset_editor/editmode_icon``" msgstr "``tileset_editor/editmode_icon``" #: ../../docs/tutorials/editor/default_key_mapping.rst:513 msgid "Z Index Mode" msgstr "Modo Índice Z" #: ../../docs/tutorials/editor/default_key_mapping.rst:513 msgid ":kbd:`8`" msgstr ":kbd:`8`" #: ../../docs/tutorials/editor/default_key_mapping.rst:513 msgid "``tileset_editor/editmode_z_index``" msgstr "``tileset_editor/editmode_z_index``" #: ../../docs/tutorials/editor/customizing_editor.rst:4 #, fuzzy msgid "Customizing the interface" msgstr "Personalizando a compilação" #: ../../docs/tutorials/editor/customizing_editor.rst:6 msgid "" "Godot's interface lives in a single window by default. Since Godot 4.0, you " "can split several elements to separate windows to better make use of multi-" "monitor setups." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:11 #, fuzzy msgid "Moving and resizing docks" msgstr "Gravar e ler dados" #: ../../docs/tutorials/editor/customizing_editor.rst:13 msgid "" "Click and drag on the edge of any dock or panel to resize it horizontally or " "vertically:" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:20 #, fuzzy msgid "Resizing a dock in the editor" msgstr "Executando o código no editor" #: ../../docs/tutorials/editor/customizing_editor.rst:22 msgid "" "Click the \"3 vertical dots\" icon at the top of any dock to change its " "location, or split it to a separate window by choosing **Make Floating** in " "the submenu that appears:" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:29 #, fuzzy msgid "Moving a dock in the editor" msgstr "Executando o código no editor" #: ../../docs/tutorials/editor/customizing_editor.rst:31 msgid "" "To move a floating dock back to the editor window, close the dock window " "using the **×** button in the top-right corner of the window (or in the top-" "left corner on macOS). Alternatively, you can press :kbd:`Alt + F4` while " "the split window is focused." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:43 msgid "Splitting the script or shader editor to its own window" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:47 msgid "" "This feature is only available on platforms that support spawning multiple " "windows: Windows, macOS and Linux." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:50 msgid "" "This feature is also not available if **Single Window Mode** is enabled in " "the Editor Settings." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:53 msgid "" "Since Godot 4.1, you can split the script or shader editor to its own window." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:55 msgid "" "To split the script editor to its own window, click the corresponding button " "in the top-right corner of the script editor:" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:62 msgid "Splitting the script editor to its own window" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:64 msgid "" "To split the shader editor to its own window, click the corresponding button " "in the top-right corner of the script editor:" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:71 msgid "Splitting the shader editor to its own window" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:73 msgid "" "To go back to the previous state (with the script/shader editor embedded in " "the editor window), close the split window using the **×** button in the top-" "right corner of the window (or in the top-left corner on macOS). " "Alternatively, you can press :kbd:`Alt + F4` while the split window is " "focused." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:79 #, fuzzy msgid "Customizing editor layouts" msgstr "Personalizar o comportamento" #: ../../docs/tutorials/editor/customizing_editor.rst:81 msgid "" "You may want to save and load a dock configuration depending on the kind of " "task you're working on. For instance, when working on animating a character, " "it may be more convenient to have docks laid out in a different fashion " "compared to when you're designing a level." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:86 msgid "" "For this purpose, Godot provides a way to save and restore editor layouts. " "Before saving a layout, make changes to the docks you'd like to save. The " "following changes are persisted to the saved layout:" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:90 #, fuzzy msgid "Moving a dock." msgstr "Adicionando movimento" #: ../../docs/tutorials/editor/customizing_editor.rst:91 #, fuzzy msgid "Resizing a dock." msgstr "Redimensionar" #: ../../docs/tutorials/editor/customizing_editor.rst:92 #, fuzzy msgid "Making a dock floating." msgstr "Fazendo um oceano" #: ../../docs/tutorials/editor/customizing_editor.rst:93 msgid "Changing a floating dock's position or size." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:94 msgid "" "FileSystem dock properties: split mode, display mode, sorting order, file " "list display mode, selected paths and unfolded paths." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:99 msgid "" "Splitting the script or shader editor to its own window is *not* persisted " "as part of a layout." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:102 msgid "" "After making changes, open the **Editor** menu at the top of the editor then " "choose **Editor Layouts > Save**. Enter a name for the layout, then click " "**Save**. If you've already saved an editor layout, you can choose to " "override an existing layout using the list." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:107 msgid "" "After making changes, open the **Editor** menu at the top of the editor then " "choose **Editor Layouts**. In the dropdown list, you will see a list of " "saved editor layouts, plus **Default** which is a hardcoded editor layout " "that can't be removed. The default layout matches a fresh Godot installation " "with no changes made to the docks' position and size, and no floating docks." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:113 msgid "" "You can remove a layout using the **Delete** option in the **Editor " "Layouts** dropdown." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:118 msgid "" "If you name the saved layout ``Default`` (case-sensitive), the default " "editor layout will be overwritten. Note that the ``Default`` does not appear " "in the list of layouts to overwrite until you overwrite it once, but you can " "still write its name manually." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:123 msgid "" "You can go back to the standard default layout by removing the ``Default`` " "layout after overriding it. (This option does not appear if you haven't " "overridden the default layout yet.)" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:127 msgid "" "Editor layouts are saved to a file named ``editor_layouts.cfg`` in the " "configuration path of the :ref:`doc_data_paths_editor_data_paths`." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:131 #, fuzzy msgid "Customizing editor settings" msgstr "Personalizar a apresentação" #: ../../docs/tutorials/editor/customizing_editor.rst:133 msgid "" "In the **Editor** menu at the top of the editor, you can find an **Editor " "Settings** option. This opens a window similar to the Project Settings, but " "with settings used by the editor. These settings are shared across all " "projects and are not saved in the project files." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:142 #, fuzzy msgid "The Editor Settings window" msgstr "Opção do editor" #: ../../docs/tutorials/editor/customizing_editor.rst:144 msgid "Some commonly changed settings are:" msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:146 msgid "" "**Interface > Editor > Editor Language:** Controls the language the editor " "displays in. To make English tutorials easier to follow, you may want to " "change this to English so that menu names are identical to names referred to " "by tutorials. The language can also be changed in the top-right corner of " "the project manager." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:151 msgid "" "**Interface > Editor > Display Scale:** Controls how large UI elements " "display on screen. The default **Auto** setting finds a suitable value based " "on your display's DPI and resolution. Due to engine limitations, it only " "takes the display-provided scaling factor on macOS, not on Windows or Linux." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:155 msgid "" "**Interface > Editor > Single Window Mode:** If enabled, this forces the " "editor to use a single window. This disables certain features such as " "splitting the script/shaders editor to their own window. Single-window mode " "can be more stable, especially on Linux when using Wayland." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:159 msgid "" "**Interface > Theme > Preset:** The editor theme preset to use. The " "**Light** theme preset may be easier to read if you're outdoors or in a room " "with sunlight. The **Black (OLED)** preset can reduce power consumption on " "OLED displays, which are increasingly common in laptops and phones/tablets." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:163 msgid "" "**FileSystem > Directories > Autoscan Project Path:** This can be set to a " "folder path that will be automatically scanned for projects in the project " "manager every time it starts." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:166 msgid "" "**FileSystem > Directories > Default Project Path:** Controls the default " "location where new projects are created in the project manager." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:168 msgid "" "**Editors > 3D > Emulate Numpad:** This allows using the top row 0-9 keys in " "the 3D editor as their equivalent numpad keys. It's recommended to enable " "this option if you don't have a number pad on your keyboard." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:171 msgid "" "**Editors > 3D > Emulate 3 Button Mouse:** This allows using the pan, zoom " "and orbit modifiers in the 3D editor even when not holding down any mouse " "button. It's recommended to enable this option if you're using a trackpad." msgstr "" #: ../../docs/tutorials/editor/customizing_editor.rst:175 msgid "" "See the :ref:`class_EditorSettings` class reference for a complete " "description of most editor settings. You can also hover an editor setting's " "name with the mouse in the Editor Settings to show its description." msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:4 #, fuzzy msgid "Using the Android editor" msgstr "Utilizando o editor Web" #: ../../docs/tutorials/editor/using_the_android_editor.rst:6 msgid "" "In 2023, `we added `__ a `Android port of the " "editor `__ that can be used to " "work on new or existing projects on Android devices." msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:12 #, fuzzy msgid "" "The Android editor is in beta testing stage, while we continue to refine the " "experience, and bring it up to parity with the Desktop version of the " "editor. See :ref:`doc_using_the_android_editor_limitations` below." msgstr "" "O editor web está numa fase preliminar. Embora o conjunto de recursos " "delepossa ser suficiente para fins educacionais, atualmente **não é " "recomendado para trabalho de produção**. Veja :ref:" "`doc_using_the_web_editor_limitations` abaixo." #: ../../docs/tutorials/editor/using_the_android_editor.rst:16 msgid "Android devices support" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:18 msgid "" "The Android editor requires devices running Android 5 Lollipop or higher, " "with at least OpenGL 3 support. This includes (not exhaustive):" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:20 msgid "Android tablets, foldables and large phones" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:21 msgid "Android-powered netbooks" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:22 #, fuzzy msgid "Chromebooks supporting Android apps" msgstr "Criando plugins Android" #: ../../docs/tutorials/editor/using_the_android_editor.rst:27 #, fuzzy msgid "Required Permissions" msgstr "Requisitos" #: ../../docs/tutorials/editor/using_the_android_editor.rst:29 msgid "" "The Android editor requires the `All files access permission `__. The permission allows the editor to create / import / read " "project files from any file locations on the device. Without the permission, " "the editor is still functional, but has limited access to the device's files " "and directories." msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:34 #, fuzzy msgid "Limitations & known issues" msgstr "Limitações no Xbox One" #: ../../docs/tutorials/editor/using_the_android_editor.rst:36 msgid "Here are the known limitations and issues of the Android editor:" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:38 #, fuzzy msgid "No C#/Mono support" msgstr "Sem suporte a C#/Mono." #: ../../docs/tutorials/editor/using_the_android_editor.rst:39 #, fuzzy msgid "No support for external script editors" msgstr "Sem suporte para editores de script externos." #: ../../docs/tutorials/editor/using_the_android_editor.rst:40 msgid "" "While available, the *Vulkan Forward+* renderer is not recommended due to " "severe performance issues" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:41 msgid "" "No support for building and exporting an Android APK binary. As a " "workaround, you can generate and export a `Godot PCK or ZIP file `__" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:43 msgid "No support for building and exporting binaries for other platforms" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:44 msgid "" "Performance and stability issues when using the *Vulkan Mobile* renderer for " "a project" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:45 msgid "UX not optimized for Android phones form-factor" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:46 msgid "" "`Android Go devices `__ lacks the *All files access* permission required for device " "read/write access. As a workaround, when using a Android Go device, it's " "recommended to create new projects only in the Android *Documents* or " "*Downloads* directories." msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:49 msgid "" "The editor doesn't properly resume when *Don't keep activities* is enabled " "in the *Developer Options*" msgstr "" #: ../../docs/tutorials/editor/using_the_android_editor.rst:53 #, fuzzy msgid "" "See the `list of open issues on GitHub related to the Android editor " "`__ " "for a list of known bugs." msgstr "" "Veja a `lista de issues abertos no GitHub relacionados ao editor web " "`__ " "para uma lista de bugs conhecidos." #: ../../docs/tutorials/editor/using_the_web_editor.rst:6 msgid "Using the Web editor" msgstr "Utilizando o editor Web" #: ../../docs/tutorials/editor/using_the_web_editor.rst:8 msgid "" "Since Godot 3.3, there is a `Web editor `__ " "you can use to work on new or existing projects." msgstr "" "Desde o Godot 3.3, existe um `Web editor `__ que pode utilizar para trabalhar em projetos novos ou já existentes." #: ../../docs/tutorials/editor/using_the_web_editor.rst:13 msgid "" "The web editor is in a preliminary stage. While its feature set may be " "sufficient for educational purposes, it is currently **not recommended for " "production work**. See :ref:`doc_using_the_web_editor_limitations` below." msgstr "" "O editor web está numa fase preliminar. Embora o conjunto de recursos " "delepossa ser suficiente para fins educacionais, atualmente **não é " "recomendado para trabalho de produção**. Veja :ref:" "`doc_using_the_web_editor_limitations` abaixo." #: ../../docs/tutorials/editor/using_the_web_editor.rst:18 msgid "Browser support" msgstr "Suporte de navegador" #: ../../docs/tutorials/editor/using_the_web_editor.rst:20 msgid "" "The Web editor requires support for WebAssembly's SharedArrayBuffer. This is " "in turn required to support threading in the browser. The following desktop " "browsers support WebAssembly threading and can therefore run the web editor:" msgstr "" "O editor Web requer suporte para o SharedArrayBuffer do WebAssembly. Isto, " "por sua vez, é necessário para suportar threading no navegador. Os seguintes " "navegadores de desktop suportam o threading do WebAssembly e podem, " "portanto, executar o editor Web:" #: ../../docs/tutorials/editor/using_the_web_editor.rst:24 msgid "Chrome 68 or later" msgstr "Chrome 68 ou posterior" #: ../../docs/tutorials/editor/using_the_web_editor.rst:25 msgid "Firefox 79 or later" msgstr "Firefox 79 ou posterior" #: ../../docs/tutorials/editor/using_the_web_editor.rst:26 msgid "Edge 79 or later" msgstr "Edge 79 ou posterior" #: ../../docs/tutorials/editor/using_the_web_editor.rst:28 msgid "" "Opera and Safari are not supported yet. Safari may work in the future once " "proper threading support is added." msgstr "" "Opera e Safari ainda não são suportados. O Safari pode funcionar no futuro " "assim que o suporte adequado para threading for adicionado." #: ../../docs/tutorials/editor/using_the_web_editor.rst:31 msgid "**Mobile browsers are currently not supported.**" msgstr "**Navegadores móveis não são compatíveis no momento.**" #: ../../docs/tutorials/editor/using_the_web_editor.rst:33 msgid "" "The web editor only supports the Compatibility rendering method, as there is " "no stable way to run Vulkan applications on the web yet." msgstr "" #: ../../docs/tutorials/editor/using_the_web_editor.rst:38 msgid "" "If you use Linux, due to `poor Firefox WebGL performance `__, it's recommended to use a Chromium-" "based browser instead of Firefox." msgstr "" "Se utiliza Linux, devido ao `fraco desempenho do Firefox WebGL `__, é recomendado usar um " "navegador baseado em Chromium em vez do Firefox." #: ../../docs/tutorials/editor/using_the_web_editor.rst:45 #: ../../docs/tutorials/3d/3d_text.rst:55 #: ../../docs/tutorials/3d/3d_text.rst:102 #: ../../docs/tutorials/3d/3d_text.rst:139 #: ../../docs/tutorials/3d/using_decals.rst:222 #: ../../docs/tutorials/3d/global_illumination/reflection_probes.rst:183 #: ../../docs/tutorials/assets_pipeline/exporting_3d_scenes.rst:24 #: ../../docs/tutorials/export/exporting_for_web.rst:80 #: ../../docs/tutorials/performance/general_optimization.rst:75 #: ../../docs/tutorials/physics/large_world_coordinates.rst:222 msgid "Limitations" msgstr "Limitações" #: ../../docs/tutorials/editor/using_the_web_editor.rst:47 msgid "" "Due to limitations on the Godot or Web platform side, the following features " "are currently missing:" msgstr "" "Devido a limitações no lado do Godot ou da plataforma Web, os seguintes " "recursos estão faltando no momento:" #: ../../docs/tutorials/editor/using_the_web_editor.rst:50 msgid "No C#/Mono support." msgstr "Sem suporte a C#/Mono." #: ../../docs/tutorials/editor/using_the_web_editor.rst:51 #, fuzzy msgid "No GDExtension support." msgstr "Sem suporte a GDNative." #: ../../docs/tutorials/editor/using_the_web_editor.rst:52 msgid "" "No debugging support. This means GDScript debugging/profiling, live scene " "editing, the Remote Scene tree dock and other features that rely on the " "debugger protocol will not work." msgstr "" "Sem suporte para depuração. Isso significa que depuração/criação de perfil " "do GDScript, edição de cenas ao vivo, o painel da árvore da Remote Scene e " "outros recursos que dependem do protocolo do depurador não funcionarão." #: ../../docs/tutorials/editor/using_the_web_editor.rst:55 msgid "" "No project exporting. As a workaround, you can download the project source " "using **Project > Tools > Download Project Source** and export it using a " "`native version of the Godot editor `__." msgstr "" "Sem exportação de projetos. Como alternativa, pode descarregar a fonte do " "projeto utilizando **Projeto > Ferramentas > Descarregar Fonte do Projeto** " "e exportá-lo utilizando uma `versão nativa do editor do Godot `__." #: ../../docs/tutorials/editor/using_the_web_editor.rst:58 msgid "The editor won't warn you when closing the tab with unsaved changes." msgstr "O editor não vai avisá-lo ao fechar a guia com alterações não salvas." #: ../../docs/tutorials/editor/using_the_web_editor.rst:59 msgid "" "No lightmap baking support. You can still use existing lightmaps if they " "were baked with a native version of the Godot editor (e.g. by importing an " "existing project)." msgstr "" "Sem suporte para gerar e gravar lightmap. Ainda pode usar lightmaps se eles " "foram gerados e gravados com uma versão nativa do editor do Godot (por " "exemplo, importando um projeto existente)." #: ../../docs/tutorials/editor/using_the_web_editor.rst:63 msgid "" "The following features are unlikely to be supported due to inherent " "limitations of the Web platform:" msgstr "" "Os seguintes recursos são improváveis de serem suportados devido a " "limitações inerentes da plataforma Web:" #: ../../docs/tutorials/editor/using_the_web_editor.rst:66 msgid "No support for external script editors." msgstr "Sem suporte para editores de script externos." #: ../../docs/tutorials/editor/using_the_web_editor.rst:67 msgid "No support for Android one-click deploy." msgstr "Sem suporte para implantação de um clique do Android." #: ../../docs/tutorials/editor/using_the_web_editor.rst:71 msgid "" "See the `list of open issues on GitHub related to the web editor `__ " "for a list of known bugs." msgstr "" "Veja a `lista de issues abertos no GitHub relacionados ao editor web " "`__ " "para uma lista de bugs conhecidos." #: ../../docs/tutorials/editor/using_the_web_editor.rst:75 msgid "Importing a project" msgstr "Importando um projeto" #: ../../docs/tutorials/editor/using_the_web_editor.rst:77 msgid "To import an existing project, the current process is as follows:" msgstr "Para importar um projeto existente, o processo atual é o seguinte:" #: ../../docs/tutorials/editor/using_the_web_editor.rst:79 msgid "" "Specify a ZIP file to preload on the HTML5 filesystem using the **Preload " "project ZIP** input." msgstr "" "Especifique um ficheiro ZIP para pré-carregar no sistema de ficheiro do " "HTML5 usando a entrada **Pré-carregar ZIP do projeto**." #: ../../docs/tutorials/editor/using_the_web_editor.rst:81 #, fuzzy msgid "" "Run the editor by clicking **Start Godot editor**. The Godot Project Manager " "should appear after 10-20 seconds. On slower machines or connections, " "loading may take up to a minute." msgstr "" "Execute o editor clicando em **Iniciar editor do Godot**. O gestor de " "projetos do Godot deve aparecer após 10-20 segundos. Em máquinas ou conexões " "mais lentas, o carregamento pode levar até um minuto." #: ../../docs/tutorials/editor/using_the_web_editor.rst:84 msgid "" "In the dialog that appears at the middle of the window, specify a name for " "the folder to create then click the **Create Folder** button (it doesn't " "have to match the ZIP archive's name)." msgstr "" "Na caixa de diálogo que aparece no meio da janela, especifique um nome para " "a pasta a ser criada e clique no botão **Criar Pasta** (não precisa " "corresponder ao nome do ficheiro ZIP)." #: ../../docs/tutorials/editor/using_the_web_editor.rst:87 msgid "Click **Install & Edit** and the project will open in the editor." msgstr "Clique em **Instalar e Editar** e o projeto será aberto no editor." #: ../../docs/tutorials/editor/using_the_web_editor.rst:91 msgid "" "It's important to place the project folder somewhere in ``/home/web_user/``. " "If your project folder is placed outside ``/home/web_user/``, you will lose " "your project when closing the editor!" msgstr "" "É importante pôr a pasta do projeto em algum lugar em ``/home/utilizador_web/" "``. Se a pasta do seu projeto for posta fora de ``/home/utilizador_web/``, " "perderá o seu projeto ao fechar o editor!" #: ../../docs/tutorials/editor/using_the_web_editor.rst:95 msgid "" "When you follow the steps described above, the project folder will always be " "located in ``/home/web_user/projects``, keeping it safe." msgstr "" "Ao seguir os passos descritos acima, a pasta do projeto estará sempre " "localizada em ``/home/usuario_web/projetos``, mantendo-a segura." #: ../../docs/tutorials/editor/using_the_web_editor.rst:99 msgid "Editing and running a project" msgstr "Editando e executando um projeto" #: ../../docs/tutorials/editor/using_the_web_editor.rst:101 msgid "" "Unlike the native version of Godot, the web editor is constrained to a " "single window. Therefore, it cannot open a new window when running the " "project. Instead, when you run the project by clicking the Run button or " "pressing :kbd:`F5`, it will appear to \"replace\" the editor window." msgstr "" "Ao contrário da versão nativa do Godot, o editor web é restrito a uma única " "janela. Portanto, não é possível abrir uma nova janela ao executar o " "projeto. Em vez disso, quando executar o projeto clicando no botão Executar " "ou pressionando :kbd:`F5`, ele aparecerá para \"substituir\" a janela do " "editor." #: ../../docs/tutorials/editor/using_the_web_editor.rst:106 msgid "" "The web editor offers an alternative way to deal with the editor and game " "windows (which are now \"tabs\"). You can switch between the **Editor** and " "**Game** tabs using the buttons on the top. You can also close the running " "game or editor by clicking the **×** button next to those tabs." msgstr "" "O editor web oferece uma forma alternativa de lidar com as janelas do editor " "e do jogo (que agora são \"abas\"). Pode alternar entre as abas **Editor** e " "**Jogo** usando os botões no topo. Também pode fechar o jogo em execução ou " "o editor clicando no botão **×** ao lado dessas abas." #: ../../docs/tutorials/editor/using_the_web_editor.rst:112 msgid "Where are my project files?" msgstr "Onde estão os meus ficheiros de projeto?" #: ../../docs/tutorials/editor/using_the_web_editor.rst:114 msgid "" "Due to browser security limitations, the editor will save the project files " "to the browser's IndexedDB storage. This storage isn't accessible as a " "regular folder on your machine, but is abstracted away in a database." msgstr "" "Devido às limitações de segurança do navegador, o editor gravará os " "ficheiros do projeto no armazenamento IndexedDB do navegador. Este " "armazenamento não é acessível como uma pasta normal na sua máquina, mas é " "abstraido num banco de dados." #: ../../docs/tutorials/editor/using_the_web_editor.rst:118 msgid "" "You can download the project files as a ZIP archive by using **Project > " "Tools > Download Project Source**. This can be used to export the project " "using a `native Godot editor `__, since " "exporting from the web editor isn't supported yet." msgstr "" "Pode descarregar os ficheiros do projeto como um ficheiros ZIP usando " "**Projeto > Ferramentas > Descarregar Fonte do Projeto**. Isto pode ser " "utilizado para exportar o projeto usando um `editor do Godot nativo `__, já que a exportação do editor web ainda não é " "suportada." #: ../../docs/tutorials/editor/using_the_web_editor.rst:123 msgid "" "In the future, it may be possible to use the `HTML5 FileSystem API `__ to store the project " "files on the user's filesystem as the native editor would do. However, this " "isn't implemented yet." msgstr "" "No futuro, pode ser possível utilizar a `API FileSystem do HTML5 `__ para armazenar os " "ficheiros do projeto no sistema de ficheiros do utilizador como o editor " "nativo faria. No entanto, isto ainda não foi implementado." #: ../../docs/tutorials/editor/command_line_tutorial.rst:4 msgid "Command line tutorial" msgstr "Tutorial de linha de comando" #: ../../docs/tutorials/editor/command_line_tutorial.rst:8 msgid "" "Some developers like using the command line extensively. Godot is designed " "to be friendly to them, so here are the steps for working entirely from the " "command line. Given the engine relies on almost no external libraries, " "initialization times are pretty fast, making it suitable for this workflow." msgstr "" "Alguns programadores gostam de usar a linha de comando extensivamente. Godot " "é projetado para funcionar com elas, então aqui estão os passos para " "trabalhar inteiramente a partir da linha de comando. Como a engine depende " "de quase nenhuma biblioteca externa, os tempos de inicialização são muito " "rápidos, o que o torna adequado para esse fluxo de trabalho." #: ../../docs/tutorials/editor/command_line_tutorial.rst:16 msgid "" "On Windows and Linux, you can run a Godot binary in a terminal by specifying " "its relative or absolute path." msgstr "" "No Windows e Linux, pode executat um binário do Godot num terminal a " "especificar o caminho absoluto ou relativo dele." #: ../../docs/tutorials/editor/command_line_tutorial.rst:19 msgid "" "On macOS, the process is different due to Godot being contained within an ``." "app`` bundle (which is a *folder*, not a file). To run a Godot binary from a " "terminal on macOS, you have to ``cd`` to the folder where the Godot " "application bundle is located, then run ``Godot.app/Contents/MacOS/Godot`` " "followed by any command line arguments. If you've renamed the application " "bundle from ``Godot`` to another name, make sure to edit this command line " "accordingly." msgstr "" "No macOS, o processo é diferente porque a Godot está contida num pacote ``." "app`` (que é uma *pasta*, não um ficheiro). Para executar um executável da " "Godot de um terminal no macOS, deve executar um ``cd`` à pasta onde o pacote " "da aplicação Godot está localizado, em seguida, execute ``Godot.app / " "Contents / MacOS / Godot`` seguido por quaisquer argumentos de linha de " "comando. Se renomeou o pacote da aplicação da ``Godot`` a outro nome, " "certifique-se de editar a linha de comando de acordo." #: ../../docs/tutorials/editor/command_line_tutorial.rst:28 msgid "Command line reference" msgstr "Referência para linha de comando" #: ../../docs/tutorials/editor/command_line_tutorial.rst:30 #, fuzzy msgid "release" msgstr "**release**" #: ../../docs/tutorials/editor/command_line_tutorial.rst:31 #, fuzzy msgid "debug" msgstr "Depurar" #: ../../docs/tutorials/editor/command_line_tutorial.rst:32 #, fuzzy msgid "editor" msgstr "Editor" #: ../../docs/tutorials/editor/command_line_tutorial.rst:34 msgid "**Legend**" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:36 msgid "" "|release| Available in editor builds, debug export templates and release " "export templates." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:37 msgid "|debug| Available in editor builds and debug export templates only." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:38 msgid "|editor| Only available in editor builds." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:40 msgid "" "Note that unknown command line arguments have no effect whatsoever. The " "engine will **not** warn you when using a command line argument that doesn't " "exist with a given build type." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:44 msgid "**General options**" msgstr "**Opções gerais**" #: ../../docs/tutorials/editor/command_line_tutorial.rst:47 #: ../../docs/tutorials/editor/command_line_tutorial.rst:61 #: ../../docs/tutorials/editor/command_line_tutorial.rst:116 #: ../../docs/tutorials/editor/command_line_tutorial.rst:140 #: ../../docs/tutorials/editor/command_line_tutorial.rst:189 #: ../../docs/contributing/development/configuring_an_ide/qt_creator.rst:59 msgid "Command" msgstr "Comando" #: ../../docs/tutorials/editor/command_line_tutorial.rst:47 #: ../../docs/tutorials/editor/command_line_tutorial.rst:61 #: ../../docs/tutorials/editor/command_line_tutorial.rst:116 #: ../../docs/tutorials/editor/command_line_tutorial.rst:140 #: ../../docs/tutorials/editor/command_line_tutorial.rst:189 #: ../../docs/tutorials/export/exporting_for_macos.rst:90 #: ../../docs/tutorials/export/exporting_for_macos.rst:110 #: ../../docs/tutorials/export/exporting_for_macos.rst:143 #: ../../docs/tutorials/export/exporting_for_macos.rst:186 #: ../../docs/tutorials/io/binary_serialization_api.rst:120 #: ../../docs/tutorials/io/binary_serialization_api.rst:131 #: ../../docs/tutorials/io/binary_serialization_api.rst:140 #: ../../docs/tutorials/io/binary_serialization_api.rst:151 #: ../../docs/tutorials/io/binary_serialization_api.rst:160 #: ../../docs/tutorials/io/binary_serialization_api.rst:169 #: ../../docs/tutorials/io/binary_serialization_api.rst:182 #: ../../docs/tutorials/io/binary_serialization_api.rst:193 #: ../../docs/tutorials/io/binary_serialization_api.rst:208 #: ../../docs/tutorials/io/binary_serialization_api.rst:221 #: ../../docs/tutorials/io/binary_serialization_api.rst:240 #: ../../docs/tutorials/io/binary_serialization_api.rst:255 #: ../../docs/tutorials/io/binary_serialization_api.rst:270 #: ../../docs/tutorials/io/binary_serialization_api.rst:289 #: ../../docs/tutorials/io/binary_serialization_api.rst:314 #: ../../docs/tutorials/io/binary_serialization_api.rst:345 #: ../../docs/tutorials/io/binary_serialization_api.rst:360 #: ../../docs/tutorials/io/binary_serialization_api.rst:369 #: ../../docs/tutorials/io/binary_serialization_api.rst:380 #: ../../docs/tutorials/io/binary_serialization_api.rst:390 #: ../../docs/tutorials/io/binary_serialization_api.rst:412 #: ../../docs/tutorials/io/binary_serialization_api.rst:421 #: ../../docs/tutorials/io/binary_serialization_api.rst:430 #: ../../docs/tutorials/io/binary_serialization_api.rst:442 #: ../../docs/tutorials/io/binary_serialization_api.rst:466 #: ../../docs/tutorials/io/binary_serialization_api.rst:478 #: ../../docs/tutorials/io/binary_serialization_api.rst:490 #: ../../docs/tutorials/io/binary_serialization_api.rst:503 #: ../../docs/tutorials/io/binary_serialization_api.rst:514 #: ../../docs/tutorials/io/binary_serialization_api.rst:525 #: ../../docs/tutorials/io/binary_serialization_api.rst:536 #: ../../docs/tutorials/io/binary_serialization_api.rst:547 #: ../../docs/tutorials/io/binary_serialization_api.rst:555 #: ../../docs/tutorials/io/binary_serialization_api.rst:568 #: ../../docs/tutorials/io/binary_serialization_api.rst:581 #: ../../docs/tutorials/io/binary_serialization_api.rst:596 #: ../../docs/tutorials/inputs/inputevent.rst:156 #: ../../docs/tutorials/plugins/editor/import_plugins.rst:248 #: ../../docs/tutorials/scripting/gdscript/gdscript_basics.rst:154 #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:35 #: ../../docs/tutorials/scripting/gdscript/gdscript_documentation_comments.rst:90 #: ../../docs/tutorials/scripting/how_to_read_the_godot_api.rst:34 #: ../../docs/tutorials/scripting/creating_script_templates.rst:200 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:23 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:713 #: ../../docs/tutorials/shaders/shader_reference/shading_language.rst:779 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:15 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:100 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:153 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:247 #: ../../docs/tutorials/shaders/shader_reference/spatial_shader.rst:413 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:17 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:52 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:99 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:156 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:227 #: ../../docs/tutorials/shaders/shader_reference/canvas_item_shader.rst:284 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:34 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:57 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:74 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:108 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:127 #: ../../docs/tutorials/shaders/shader_reference/particle_shader.rst:157 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:130 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:155 #: ../../docs/tutorials/shaders/shader_reference/sky_shader.rst:193 #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:36 #: ../../docs/tutorials/shaders/shader_reference/fog_shader.rst:58 #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:90 #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:163 #: ../../docs/tutorials/shaders/converting_glsl_to_godot_shaders.rst:228 #: ../../docs/tutorials/xr/xr_action_map.rst:115 #: ../../docs/tutorials/xr/xr_action_map.rst:187 msgid "Description" msgstr "Descrição" #: ../../docs/tutorials/editor/command_line_tutorial.rst:49 #, fuzzy msgid "``-h``, ``--help``" msgstr "``-h``, ``--help``, ``/?``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:49 #, fuzzy msgid "|release| Display the list of command line options." msgstr "Exiba a lista de opções para linha de comando." #: ../../docs/tutorials/editor/command_line_tutorial.rst:51 msgid "``--version``" msgstr "``--version``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:51 #, fuzzy msgid "|release| Display the version string." msgstr "Exibe a cadeia da versão." #: ../../docs/tutorials/editor/command_line_tutorial.rst:53 msgid "``-v``, ``--verbose``" msgstr "``-v``, ``--verbose``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:53 #, fuzzy msgid "|release| Use verbose stdout mode." msgstr "Usar modo de saída verbose." #: ../../docs/tutorials/editor/command_line_tutorial.rst:55 #, fuzzy msgid "``-q``, ``--quiet``" msgstr "``-q``, ``--quit``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:55 #, fuzzy msgid "" "|release| Quiet mode, silences stdout messages. Errors are still displayed." msgstr "" "Modo silencioso, silencia mensagens stdout. Os erros ainda são exibidos." #: ../../docs/tutorials/editor/command_line_tutorial.rst:58 msgid "**Run options**" msgstr "**Opções de execução**" #: ../../docs/tutorials/editor/command_line_tutorial.rst:63 #, fuzzy msgid "``--``, ``++``" msgstr "``-q``, ``--quit``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:63 msgid "" "|release| Separator for user-provided arguments. Following arguments are not " "used by the engine, but can be read from ``OS.get_cmdline_user_args()``." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:65 msgid "``-e``, ``--editor``" msgstr "``-e``, ``--editor``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:65 msgid "|editor| Start the editor instead of running the scene." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:67 msgid "``-p``, ``--project-manager``" msgstr "``-p``, ``--project-manager``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:67 msgid "|editor| Start the Project Manager, even if a project is auto-detected." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:69 #, fuzzy msgid "``--debug-server ``" msgstr "``--video-driver ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:69 msgid "" "|editor| Start the editor debug server (``://[:]``, " "e.g. ``tcp://127.0.0.1:6007``)" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:71 #, fuzzy msgid "``--quit``" msgstr "``--quiet``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:71 #, fuzzy msgid "|release| Quit after the first iteration." msgstr "Sair depois da primeira iteração." #: ../../docs/tutorials/editor/command_line_tutorial.rst:73 #, fuzzy msgid "``--quit-after``" msgstr "``--quiet``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:73 msgid "" "|release| Quit after the given number of iterations. Set to 0 to disable." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:75 #, fuzzy msgid "``-l``, ``--language ``" msgstr "``-l ``, ``--language ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:75 msgid "" "|release| Use a specific locale. ```` follows the format " "``language_Script_COUNTRY_VARIANT`` where language is a 2 or 3-letter " "language code in lowercase and the rest is optional. See :ref:`doc_locales` " "for more details." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:78 msgid "``--path ``" msgstr "``--path ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:78 #, fuzzy msgid "" "|release| Path to a project (```` must contain a 'project.godot' " "file)." msgstr "" "Caminho para um projeto ( deve conter um ficheiro 'project." "godot')." #: ../../docs/tutorials/editor/command_line_tutorial.rst:80 msgid "``-u``, ``--upwards``" msgstr "``-u``, ``--upwards``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:80 #, fuzzy msgid "|release| Scan folders upwards for 'project.godot' file." msgstr "Escanear pastas acima por ficheiro 'project.godot'." #: ../../docs/tutorials/editor/command_line_tutorial.rst:82 msgid "``--main-pack ``" msgstr "``--main-pack ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:82 #, fuzzy msgid "|release| Path to a pack (.pck) file to load." msgstr "Caminho para um ficheiro de pacote (.pck) a ser carregado." #: ../../docs/tutorials/editor/command_line_tutorial.rst:84 msgid "``--render-thread ``" msgstr "``--render-thread ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:84 #, fuzzy msgid "" "|release| Render thread mode ('unsafe', 'safe', 'separate'). See :ref:" "`Thread Model ` for more details." msgstr "" "Modo de thread de renderização ('unsafe', 'safe', 'separate'). Veja :ref:" "`Modelo de Thread ` para mais detalhes." #: ../../docs/tutorials/editor/command_line_tutorial.rst:87 msgid "``--remote-fs
``" msgstr "``--remote-fs ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:87 #, fuzzy msgid "|release| Remote filesystem (``[:]`` address)." msgstr "Sistema de ficheiros remoto (endereço ``[:]``)." #: ../../docs/tutorials/editor/command_line_tutorial.rst:89 #, fuzzy msgid "``--remote-fs-password ``" msgstr "``--remote-fs ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:89 msgid "|release| Password for remote filesystem." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:91 msgid "``--audio-driver ``" msgstr "``--audio-driver ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:91 #, fuzzy msgid "" "|release| Audio driver. Use ``--help`` first to display the list of " "available drivers." msgstr "" "Driver de áudio. Use ``--help`` primeiro para exibir a lista de drivers " "disponíveis." #: ../../docs/tutorials/editor/command_line_tutorial.rst:93 #, fuzzy msgid "``--display-driver ``" msgstr "``--audio-driver ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:93 #, fuzzy msgid "" "|release| Display driver (and rendering driver). Use ``--help`` first to " "display the list of available drivers." msgstr "" "Driver de vídeo. Use ``--help`` primeiro para exibir a lista de drivers " "disponíveis." #: ../../docs/tutorials/editor/command_line_tutorial.rst:95 #, fuzzy msgid "``--rendering-method ``" msgstr "``--render-thread ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:95 msgid "|release| Renderer name. Requires driver support." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:97 #, fuzzy msgid "``--rendering-driver ``" msgstr "``--audio-driver ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:97 #, fuzzy msgid "" "|release| Rendering driver (depends on display driver). Use ``--help`` first " "to display the list of available drivers." msgstr "" "Driver de vídeo. Use ``--help`` primeiro para exibir a lista de drivers " "disponíveis." #: ../../docs/tutorials/editor/command_line_tutorial.rst:99 msgid "``--gpu-index ``" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:99 msgid "" "|release| Use a specific GPU (run with ``--verbose`` to get available device " "list)." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:101 #, fuzzy msgid "``--text-driver ``" msgstr "``--video-driver ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:101 msgid "|release| Text driver (Fonts, BiDi, shaping)." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:103 #, fuzzy msgid "``--tablet-driver ``" msgstr "``--audio-driver ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:103 msgid "|release| Pen tablet input driver." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:105 #, fuzzy msgid "``--headless``" msgstr "``--remote-fs ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:105 msgid "" "|release| Enable headless mode (``--display-driver headless --audio-driver " "Dummy``). Useful for servers and with ``--script``." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:107 #, fuzzy msgid "``--write-movie ``" msgstr "``--main-pack ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:107 msgid "" "|release| Run the engine in a way that a movie is written (usually with .avi " "or .png extension). ``--fixed-fps`` is forced when enabled, but can be used " "to change movie FPS. ``--disable-vsync`` can speed up movie writing but " "makes interaction more difficult. ``--quit-after`` can be used to specify " "the number of frames to write." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:113 msgid "**Display options**" msgstr "**Opções de exibição**" #: ../../docs/tutorials/editor/command_line_tutorial.rst:118 msgid "``-f``, ``--fullscreen``" msgstr "``-f``, ``--fullscreen``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:118 #, fuzzy msgid "|release| Request fullscreen mode." msgstr "Solicitar o modo ecrã cheio." #: ../../docs/tutorials/editor/command_line_tutorial.rst:120 msgid "``-m``, ``--maximized``" msgstr "``-m``, ``--maximized``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:120 #, fuzzy msgid "|release| Request a maximized window." msgstr "Solicitar uma janela maximizada." #: ../../docs/tutorials/editor/command_line_tutorial.rst:122 msgid "``-w``, ``--windowed``" msgstr "``-w``, ``--windowed``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:122 #, fuzzy msgid "|release| Request windowed mode." msgstr "Solicitar o Modo Janela." #: ../../docs/tutorials/editor/command_line_tutorial.rst:124 msgid "``-t``, ``--always-on-top``" msgstr "``-t``, ``--always-on-top``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:124 #, fuzzy msgid "|release| Request an always-on-top window." msgstr "Solicitar uma Janela Sempre Visível." #: ../../docs/tutorials/editor/command_line_tutorial.rst:126 msgid "``--resolution x``" msgstr "``--resolution x``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:126 #, fuzzy msgid "|release| Request window resolution." msgstr "Solicitar a Resolução de Janela." #: ../../docs/tutorials/editor/command_line_tutorial.rst:128 msgid "``--position ,``" msgstr "``--position ,``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:128 #, fuzzy msgid "|release| Request window position." msgstr "Solicitar a Posição da Janela." #: ../../docs/tutorials/editor/command_line_tutorial.rst:130 #, fuzzy msgid "``--screen ``" msgstr "``--frame-delay ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:130 #, fuzzy msgid "|release| Request window screen." msgstr "Solicitar a Resolução de Janela." #: ../../docs/tutorials/editor/command_line_tutorial.rst:132 #, fuzzy msgid "``--single-window``" msgstr "``--no-window``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:132 msgid "|release| Use a single window (no separate subwindows)." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:134 #, fuzzy msgid "``--xr-mode ``" msgstr "``--render-thread ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:134 msgid "|release| Select XR mode ('default', 'off', 'on')." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:137 msgid "**Debug options**" msgstr "**Opções de Depuração**" #: ../../docs/tutorials/editor/command_line_tutorial.rst:142 msgid "``-d``, ``--debug``" msgstr "``-d``, ``--debug``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:142 #, fuzzy msgid "|release| Debug (local stdout debugger)." msgstr "Depurar (Depuração stdout local)." #: ../../docs/tutorials/editor/command_line_tutorial.rst:144 msgid "``-b``, ``--breakpoints``" msgstr "``-b``, ``--breakpoints``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:144 #, fuzzy msgid "" "|release| Breakpoint list as source::line comma-separated pairs, no spaces " "(use ``%20`` instead)." msgstr "" "Lista de pontos de interrupção com pares de fonte::linha separados por " "vírgulas, sem espaços (use %%20 no lugar)." #: ../../docs/tutorials/editor/command_line_tutorial.rst:146 msgid "``--profiling``" msgstr "``--profiling``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:146 #, fuzzy msgid "|release| Enable profiling in the script debugger." msgstr "Ativa a criação de perfil no depurador de scripts." #: ../../docs/tutorials/editor/command_line_tutorial.rst:148 #, fuzzy msgid "``--gpu-profile``" msgstr "``--profiling``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:148 msgid "" "|release| Show a GPU profile of the tasks that took the most time during " "frame rendering." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:150 #, fuzzy msgid "``--gpu-validation``" msgstr "``--debug-navigation``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:150 msgid "" "|release| Enable graphics API :ref:`validation layers " "` for debugging." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:152 #, fuzzy msgid "``--gpu-abort``" msgstr "``--quiet``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:152 msgid "" "|debug| Abort on GPU errors (usually validation layer errors), may help see " "the problem if your system freezes." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:154 #, fuzzy msgid "``--remote-debug ``" msgstr "``--remote-debug ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:154 msgid "" "|release| Remote debug (``://[:]``, e.g. " "``tcp://127.0.0.1:6007``)." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:156 #, fuzzy msgid "``--single-threaded-scene``" msgstr "``--render-thread ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:156 msgid "" "|release| Scene tree runs in single-threaded mode. Sub-thread groups are " "disabled and run on the main thread." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:158 msgid "``--debug-collisions``" msgstr "``--debug-collisions``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:158 #, fuzzy msgid "|debug| Show collision shapes when running the scene." msgstr "Mostrar formas de colisão ao executar a cena." #: ../../docs/tutorials/editor/command_line_tutorial.rst:160 #, fuzzy msgid "``--debug-paths``" msgstr "``--debug-navigation``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:160 #, fuzzy msgid "|debug| Show path lines when running the scene." msgstr "Mostrar formas de colisão ao executar a cena." #: ../../docs/tutorials/editor/command_line_tutorial.rst:162 msgid "``--debug-navigation``" msgstr "``--debug-navigation``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:162 #, fuzzy msgid "|debug| Show navigation polygons when running the scene." msgstr "Mostrar polígonos de navegação ao executar a cena." #: ../../docs/tutorials/editor/command_line_tutorial.rst:164 #, fuzzy msgid "``--debug-avoidance``" msgstr "``--debug-navigation``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:164 #, fuzzy msgid "|debug| Show navigation avoidance debug visuals when running the scene." msgstr "Mostrar polígonos de navegação ao executar a cena." #: ../../docs/tutorials/editor/command_line_tutorial.rst:166 #, fuzzy msgid "``--debug-stringnames``" msgstr "``--debug-collisions``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:166 msgid "" "|debug| Print all StringName allocations to stdout when the engine quits." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:168 msgid "``--frame-delay ``" msgstr "``--frame-delay ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:168 #, fuzzy msgid "" "|release| Simulate high CPU load (delay each frame by milliseconds)." msgstr "Simular alta carga de CPU (atrase cada quadro em milissegundos)." #: ../../docs/tutorials/editor/command_line_tutorial.rst:170 msgid "``--time-scale ``" msgstr "``--time-scale ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:170 #, fuzzy msgid "" "|release| Force time scale (higher values are faster, 1.0 is normal speed)." msgstr "" "Forçar escala de tempo (valores mais altos são mais rápidos, 1,0 é " "velocidade normal)." #: ../../docs/tutorials/editor/command_line_tutorial.rst:172 #, fuzzy msgid "``--disable-vsync``" msgstr "``--disable-crash-handler``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:172 msgid "" "|release| Forces disabling of vertical synchronization, even if enabled in " "the project settings. Does not override driver-level V-Sync enforcement." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:175 msgid "``--disable-render-loop``" msgstr "``--disable-render-loop``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:175 #, fuzzy msgid "" "|release| Disable render loop so rendering only occurs when called " "explicitly from script." msgstr "" "Desativar o loop de renderização de modo que a renderização só ocorra quando " "for explicitamente chamado pelo script." #: ../../docs/tutorials/editor/command_line_tutorial.rst:177 msgid "``--disable-crash-handler``" msgstr "``--disable-crash-handler``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:177 #, fuzzy msgid "|release| Disable crash handler when supported by the platform code." msgstr "" "Desativar o manipulador de falhas quando suportado pelo código da plataforma." #: ../../docs/tutorials/editor/command_line_tutorial.rst:179 msgid "``--fixed-fps ``" msgstr "``--fixed-fps ``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:179 #, fuzzy msgid "" "|release| Force a fixed number of frames per second. This setting disables " "real-time synchronization." msgstr "" "Força uma quantidade fixa de quadros por segundo. Essa configuração desativa " "a sincronização em tempo real." #: ../../docs/tutorials/editor/command_line_tutorial.rst:181 msgid "``--delta-smoothing ``" msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:181 msgid "" "|release| Enable or disable frame delta smoothing ('enable', 'disable')." msgstr "" #: ../../docs/tutorials/editor/command_line_tutorial.rst:183 msgid "``--print-fps``" msgstr "``--print-fps``" #: ../../docs/tutorials/editor/command_line_tutorial.rst:183 #, fuzzy msgid "|release| Print the frames per second to the stdout." msgstr "Imprime os quadros por segundo ao stdout." #: ../../docs/tutorials/editor/command_line_tutorial.rst:186 msgid "**Standalone tools**" msgstr "**Ferramentas independentes**" #: ../../docs/tutorials/editor/command_line_tutorial.rst:191 #, fuzzy msgid "``-s``, ``--script