# Chinese (Traditional Han script) translation of the Godot Engine class reference. # Copyright (c) 2014-present Godot Engine contributors. # Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. # This file is distributed under the same license as the Godot source code. # # binotaliu , 2020. # BinotaLIU , 2020, 2022. # Eric K , 2020. # Pierre Stempin , 2020. # Lihan Zhu , 2021. # jixun , 2021. # Nick Chu , 2021. # Number18 , 2022. # 曹恩逢 , 2022. # Otis Kao , 2022. # YuChiang Chang , 2022. # Hugel , 2022. # Chih Wei Chien , 2022. # Edison Lee , 2023. # 鄭惟中 , 2023. # Haoyu Qiu , 2023. # 快乐的老鼠宝宝 , 2023. # Bogay Chuang , 2023. # EJAMI , 2023. # Youuin Wang , 2023. # Skyter Lin , 2023. # longhjues , 2023. # 风青山 , 2023. # Chang-Chia Tseng , 2024. # hugoalh , 2024. # STENYIN lee , 2024, 2025. # 钟广申 , 2024. # XJQXJQ , 2025. # powder , 2025. # Myeongjin , 2025. # sashimi , 2025. # 源来是小白 , 2025. # RogerFang , 2025. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "PO-Revision-Date: 2025-12-08 20:00+0000\n" "Last-Translator: RogerFang \n" "Language-Team: Chinese (Traditional Han script) \n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.15-dev\n" #: doc/tools/make_rst.py msgid "All classes" msgstr "所有類別" #: doc/tools/make_rst.py msgid "Globals" msgstr "全域" #: doc/tools/make_rst.py msgid "Nodes" msgstr "節點" #: doc/tools/make_rst.py msgid "Resources" msgstr "資源" #: doc/tools/make_rst.py msgid "Editor-only" msgstr "僅限編輯器" #: doc/tools/make_rst.py msgid "Other objects" msgstr "其他物件" #: doc/tools/make_rst.py msgid "Variant types" msgstr "變體類型" #: doc/tools/make_rst.py msgid "Description" msgstr "說明" #: doc/tools/make_rst.py msgid "Tutorials" msgstr "教學" #: doc/tools/make_rst.py msgid "Properties" msgstr "屬性" #: doc/tools/make_rst.py msgid "Constructors" msgstr "建構子" #: doc/tools/make_rst.py msgid "Methods" msgstr "方法" #: doc/tools/make_rst.py msgid "Operators" msgstr "運算子" #: doc/tools/make_rst.py msgid "Theme Properties" msgstr "主題屬性" #: doc/tools/make_rst.py msgid "Signals" msgstr "訊號" #: doc/tools/make_rst.py msgid "Enumerations" msgstr "列舉" #: doc/tools/make_rst.py msgid "Constants" msgstr "常數" #: doc/tools/make_rst.py msgid "Annotations" msgstr "註解" #: doc/tools/make_rst.py msgid "Property Descriptions" msgstr "屬性說明" #: doc/tools/make_rst.py msgid "Constructor Descriptions" msgstr "建構子說明" #: doc/tools/make_rst.py msgid "Method Descriptions" msgstr "方法說明" #: doc/tools/make_rst.py msgid "Operator Descriptions" msgstr "運算子說明" #: doc/tools/make_rst.py msgid "Theme Property Descriptions" msgstr "主題屬性說明" #: doc/tools/make_rst.py msgid "Inherits:" msgstr "繼承:" #: doc/tools/make_rst.py msgid "Inherited By:" msgstr "被繼承:" #: doc/tools/make_rst.py msgid "(overrides %s)" msgstr "(覆寫 %s)" #: doc/tools/make_rst.py msgid "Default" msgstr "預設" #: doc/tools/make_rst.py msgid "Setter" msgstr "設值方法" #: doc/tools/make_rst.py msgid "value" msgstr "值" #: doc/tools/make_rst.py msgid "Getter" msgstr "取值方法" #: doc/tools/make_rst.py msgid "" "This method should typically be overridden by the user to have any effect." msgstr "本方法通常需要使用者覆寫才能生效。" #: doc/tools/make_rst.py msgid "" "This method has no side effects. It doesn't modify any of the instance's " "member variables." msgstr "本方法沒有副作用。不會修改該實例的任何成員變數。" #: doc/tools/make_rst.py msgid "" "This method accepts any number of arguments after the ones described here." msgstr "本方法除了這裡描述的參數外,還可以接受任意數量的參數。" #: doc/tools/make_rst.py msgid "This method is used to construct a type." msgstr "本方法用於建構一個型別。" #: doc/tools/make_rst.py msgid "" "This method doesn't need an instance to be called, so it can be called " "directly using the class name." msgstr "本方法無需實例即可呼叫,因此可以直接使用類別名稱呼叫。" #: doc/tools/make_rst.py msgid "" "This method describes a valid operator to use with this type as left-hand " "operand." msgstr "本方法描述將本型別作為左運算元時可用的有效運算子。" #: doc/tools/make_rst.py msgid "This value is an integer composed as a bitmask of the following flags." msgstr "此值是由下列旗標組成的位元遮罩整數。" #: doc/tools/make_rst.py msgid "No return value." msgstr "無回傳值。" #: doc/tools/make_rst.py msgid "" "There is currently no description for this class. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個類別的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this signal. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個訊號的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this enum. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個列舉的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this constant. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個常數的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this annotation. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個註解的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this property. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個屬性的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this constructor. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個建構子的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this method. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個方法的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this operator. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個運算子的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There is currently no description for this theme property. Please help us " "by :ref:`contributing one `!" msgstr "" "目前沒有這個主題屬性的說明。歡迎協助\\ :ref:`貢獻說明 " "`\\ !" #: doc/tools/make_rst.py msgid "" "There are notable differences when using this API with C#. " "See :ref:`doc_c_sharp_differences` for more information." msgstr "使用 C# 操作此 API 時有顯著差異,詳見 :ref:`doc_c_sharp_differences`。" #: doc/tools/make_rst.py msgid "Deprecated:" msgstr "已棄用:" #: doc/tools/make_rst.py msgid "Experimental:" msgstr "實驗性:" #: doc/tools/make_rst.py msgid "This signal may be changed or removed in future versions." msgstr "此訊號可能在未來版本中變更或移除。" #: doc/tools/make_rst.py msgid "This constant may be changed or removed in future versions." msgstr "此常數可能在未來版本中變更或移除。" #: doc/tools/make_rst.py msgid "This property may be changed or removed in future versions." msgstr "此屬性可能在未來版本中變更或移除。" #: doc/tools/make_rst.py msgid "This constructor may be changed or removed in future versions." msgstr "此建構子可能在未來版本中變更或移除。" #: doc/tools/make_rst.py msgid "This method may be changed or removed in future versions." msgstr "此方法可能在未來版本中變更或移除。" #: doc/tools/make_rst.py msgid "This operator may be changed or removed in future versions." msgstr "此運算子可能在未來版本中變更或移除。" #: doc/tools/make_rst.py msgid "This theme property may be changed or removed in future versions." msgstr "此主題屬性可能在未來版本中變更或移除。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "Built-in GDScript constants, functions, and annotations." msgstr "內建 GDScript 常數、函式、注解。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "A list of utility functions and annotations accessible from any script " "written in GDScript.\n" "For the list of global functions and constants that can be accessed in any " "scripting language, see [@GlobalScope]." msgstr "" "GDScript 中可在任何腳本存取的實用函式與註解清單。\n" "若需查詢可在任意腳本語言中存取的全域函式及常數,請參見 [@GlobalScope]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "GDScript exports" msgstr "GDScript 匯出" #: modules/gdscript/doc_classes/@GDScript.xml msgid "Use [method Color.from_rgba8] instead." msgstr "請改用 [method Color.from_rgba8]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns a [Color] constructed from red ([param r8]), green ([param g8]), " "blue ([param b8]), and optionally alpha ([param a8]) integer channels, each " "divided by [code]255.0[/code] for their final value. Using [method Color8] " "instead of the standard [Color] constructor is useful when you need to match " "exact color values in an [Image].\n" "[codeblock]\n" "var red = Color8(255, 0, 0) # Same as Color(1, 0, 0).\n" "var dark_blue = Color8(0, 0, 51) # Same as Color(0, 0, 0.2).\n" "var my_color = Color8(306, 255, 0, 102) # Same as Color(1.2, 1, 0, 0.4).\n" "[/codeblock]\n" "[b]Note:[/b] Due to the lower precision of [method Color8] compared to the " "standard [Color] constructor, a color created with [method Color8] will " "generally not be equal to the same color created with the standard [Color] " "constructor. Use [method Color.is_equal_approx] for comparisons to avoid " "issues with floating-point precision error." msgstr "" "返回一個由整數紅通道([param r8])、綠通道([param g8])、藍通道([param " "b8])和可選的 Alpha 通道([param a8])建構的 [Color],每個通道的最終值都會除" "以 [code]255.0[/code]。如果你需要精確配對 [Image] 中的顏色值,[method " "Color8] 比標準的 [Color] 建構子更有用。\n" "[codeblock]\n" "var red = Color8(255, 0, 0) # 與 Color(1, 0, 0) 相同\n" "var dark_blue = Color8(0, 0, 51) # 與 Color(0, 0, 0.2) 相同。\n" "var my_color = Color8(306, 255, 0, 102) # 與 Color(1.2, 1, 0, 0.4) 相同。\n" "[/codeblock]\n" "[b]注意:[/b]因為 [method Color8] 比標準 [Color] 建構子精度更低,所以使用 " "[method Color8] 建立的顏色通常與使用標準 [Color] 建構子建立的相同顏色不相等。" "請使用 [method Color.is_equal_approx] 進行比較,避免浮點數精度誤差。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Asserts that the [param condition] is [code]true[/code]. If the [param " "condition] is [code]false[/code], an error is generated. When running from " "the editor, the running project will also be paused until you resume it. " "This can be used as a stronger form of [method @GlobalScope.push_error] for " "reporting errors to project developers or add-on users.\n" "An optional [param message] can be shown in addition to the generic " "\"Assertion failed\" message. You can use this to provide additional details " "about why the assertion failed.\n" "[b]Warning:[/b] For performance reasons, the code inside [method assert] is " "only executed in debug builds or when running the project from the editor. " "Don't include code that has side effects in an [method assert] call. " "Otherwise, the project will behave differently when exported in release " "mode.\n" "[codeblock]\n" "# Imagine we always want speed to be between 0 and 20.\n" "var speed = -10\n" "assert(speed < 20) # True, the program will continue.\n" "assert(speed >= 0) # False, the program will stop.\n" "assert(speed >= 0 and speed < 20) # You can also combine the two conditional " "statements in one check.\n" "assert(speed < 20, \"the speed limit is 20\") # Show a message.\n" "[/codeblock]\n" "[b]Note:[/b] [method assert] is a keyword, not a function. So you cannot " "access it as a [Callable] or use it inside expressions." msgstr "" "斷言 [param condition] 為 [code]true[/code]。如果 [param condition] 為 " "[code]false[/code] ,會產生一個錯誤。從編輯器執行時,運行中的專案也會暫停,直" "到你繼續執行。這可以作為比 [method @GlobalScope.push_error] 更強的錯誤回報方" "式,用於專案開發者或外掛使用者。\n" "你可選擇性傳入 [param message] ,在通用的「Assertion failed」訊息之外顯示更多" "資訊,說明為什麼斷言失敗。\n" "[b]警告:[/b] 出於效能考量,[method assert] 包含的程式碼只會在除錯版本或從編" "輯器執行專案時執行。不要在 [method assert] 呼叫中加入有副作用的程式碼,否則專" "案於發行模式匯出時行為會出現差異。\n" "[codeblock]\n" "# 假設我們總希望 speed 介於 0 到 20 之間。\n" "var speed = -10\n" "assert(speed < 20) # True,程式會繼續執行。\n" "assert(speed >= 0) # False,程式將停止。\n" "assert(speed >= 0 and speed < 20) # 也可將兩個條件合併檢查。\n" "assert(speed < 20, \"限速為 20\") # 顯示訊息。\n" "[/codeblock]\n" "[b]注意:[/b] [method assert] 是關鍵字,不是函式,無法作為 [Callable] 呼叫," "也不能用於運算式中。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns a single character (as a [String] of length 1) of the given Unicode " "code point [param code].\n" "[codeblock]\n" "print(char(65)) # Prints \"A\"\n" "print(char(129302)) # Prints \"🤖\" (robot face emoji)\n" "[/codeblock]\n" "This is the inverse of [method ord]. See also [method String.chr] and " "[method String.unicode_at]." msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "Use [method @GlobalScope.type_convert] instead." msgstr "請改用 [method @GlobalScope.type_convert]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Converts [param what] to [param type] in the best way possible. The [param " "type] uses the [enum Variant.Type] values.\n" "[codeblock]\n" "var a = [4, 2.5, 1.2]\n" "print(a is Array) # Prints true\n" "\n" "var b = convert(a, TYPE_PACKED_BYTE_ARRAY)\n" "print(b) # Prints [4, 2, 1]\n" "print(b is Array) # Prints false\n" "[/codeblock]" msgstr "" "將 [param what] 儘可能轉換為 [param type]。 [param type] 使用 [enum " "Variant.Type] 列舉的值。\n" "[codeblock]\n" "var a = [4, 2.5, 1.2]\n" "print(a is Array) # 輸出 true\n" "\n" "var b = convert(a, TYPE_PACKED_BYTE_ARRAY)\n" "print(b) # 輸出 [4, 2, 1]\n" "print(b is Array) # 輸出 false\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Consider using [method JSON.to_native] or [method Object.get_property_list] " "instead." msgstr "" "建議改用 [method JSON.to_native] 或 [method Object.get_property_list]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Converts a [param dictionary] (created with [method inst_to_dict]) back to " "an Object instance. Can be useful for deserializing." msgstr "" "將用 [method inst_to_dict] 建立的 [param dictionary] 轉換回 Object 實例。這對" "反序列化很有用。" #: modules/gdscript/doc_classes/@GDScript.xml #, fuzzy msgid "" "Returns an array of dictionaries representing the current call stack.\n" "[codeblock]\n" "func _ready():\n" "\tfoo()\n" "\n" "func foo():\n" "\tbar()\n" "\n" "func bar():\n" "\tprint(get_stack())\n" "[/codeblock]\n" "Starting from [code]_ready()[/code], [code]bar()[/code] would print:\n" "[codeblock lang=text]\n" "[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, " "source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n" "[/codeblock]\n" "See also [method print_debug], [method print_stack], and [method " "Engine.capture_script_backtraces].\n" "[b]Note:[/b] By default, backtraces are only available in editor builds and " "debug builds. To enable them for release builds as well, you need to enable " "[member ProjectSettings.debug/settings/gdscript/always_track_call_stacks]." msgstr "" "回傳一個陣列,內容為描述當前呼叫堆疊的字典。另請參見 [method print_stack]。\n" "[codeblock]\n" "func _ready():\n" "\tfoo()\n" "\n" "func foo():\n" "\tbar()\n" "\n" "func bar():\n" "\tprint(get_stack())\n" "[/codeblock]\n" "從 [code]_ready()[/code] 開始,[code]bar()[/code] 會印出:\n" "[codeblock lang=text]\n" "[{function:bar, line:12, source:res://script.gd}, {function:foo, line:9, " "source:res://script.gd}, {function:_ready, line:6, source:res://script.gd}]\n" "[/codeblock]\n" "[b]注意:[/b]此函式僅於執行實例連接到除錯伺服器(即編輯器實例)時有效。若專案" "以發行模式匯出,或以除錯模式匯出但未連接除錯伺服器,則 [method get_stack] 無" "效。\n" "[b]注意:[/b]從 [Thread] 呼叫此函式不被支援,否則會回傳空陣列。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Consider using [method JSON.from_native] or [method " "Object.get_property_list] instead." msgstr "" "建議改用 [method JSON.from_native] 或 [method Object.get_property_list]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns the passed [param instance] converted to a [Dictionary]. Can be " "useful for serializing.\n" "[codeblock]\n" "var foo = \"bar\"\n" "func _ready():\n" "\tvar d = inst_to_dict(self)\n" "\tprint(d.keys())\n" "\tprint(d.values())\n" "[/codeblock]\n" "Prints out:\n" "[codeblock lang=text]\n" "[@subpath, @path, foo]\n" "[, res://test.gd, bar]\n" "[/codeblock]\n" "[b]Note:[/b] This function can only be used to serialize objects with an " "attached [GDScript] stored in a separate file. Objects without an attached " "script, with a script written in another language, or with a built-in script " "are not supported.\n" "[b]Note:[/b] This function is not recursive, which means that nested objects " "will not be represented as dictionaries. Also, properties passed by " "reference ([Object], [Dictionary], [Array], and packed arrays) are copied by " "reference, not duplicated." msgstr "" "將傳入的 [param instance] 轉換為 [Dictionary],可用於序列化。\n" "[codeblock]\n" "var foo = \"bar\"\n" "func _ready():\n" "\tvar d = inst_to_dict(self)\n" "\tprint(d.keys())\n" "\tprint(d.values())\n" "[/codeblock]\n" "輸出:\n" "[codeblock lang=text]\n" "[@subpath, @path, foo]\n" "[, res://test.gd, bar]\n" "[/codeblock]\n" "[b]注意:[/b]此函式僅能序列化掛載於獨立檔案之 [GDScript] 腳本的物件。不支援沒" "有掛載腳本、使用其他語言腳本或內建腳本的物件。\n" "[b]注意:[/b]此函式不具遞迴性,巢狀物件不會被轉成字典。同時,以參考傳遞的屬性" "([Object]、[Dictionary]、[Array] 與各種打包陣列)僅複製參考而非內容。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns [code]true[/code] if [param value] is an instance of [param type]. " "The [param type] value must be one of the following:\n" "- A constant from the [enum Variant.Type] enumeration, for example [constant " "TYPE_INT].\n" "- An [Object]-derived class which exists in [ClassDB], for example [Node].\n" "- A [Script] (you can use any class, including inner one).\n" "Unlike the right operand of the [code]is[/code] operator, [param type] can " "be a non-constant value. The [code]is[/code] operator supports more features " "(such as typed arrays). Use the operator instead of this method if you do " "not need to check the type dynamically.\n" "[b]Examples:[/b]\n" "[codeblock]\n" "print(is_instance_of(a, TYPE_INT))\n" "print(is_instance_of(a, Node))\n" "print(is_instance_of(a, MyClass))\n" "print(is_instance_of(a, MyClass.InnerClass))\n" "[/codeblock]\n" "[b]Note:[/b] If [param value] and/or [param type] are freed objects (see " "[method @GlobalScope.is_instance_valid]), or [param type] is not one of the " "above options, this method will raise a runtime error.\n" "See also [method @GlobalScope.typeof], [method type_exists], [method " "Array.is_same_typed] (and other [Array] methods)." msgstr "" "若 [param value] 為 [param type] 的實例,則回傳 [code]true[/code]。[param " "type] 必須符合以下其中一種:\n" "- [enum Variant.Type] 列舉常數,例如 [constant TYPE_INT]。\n" "- 登錄在 [ClassDB] 且繼承自 [Object] 的類別,例如 [Node]。\n" "- [Script](可使用任何類別,包含巢狀類)。\n" "與 [code]is[/code] 運算子的右元不同,[param type] 可為變數。[code]is[/code] " "支援更多功能(如型別化陣列),若不需動態檢查請優先使用該運算子。\n" "[b]範例:[/b]\n" "[codeblock]\n" "print(is_instance_of(a, TYPE_INT))\n" "print(is_instance_of(a, Node))\n" "print(is_instance_of(a, MyClass))\n" "print(is_instance_of(a, MyClass.InnerClass))\n" "[/codeblock]\n" "[b]注意:[/b]若 [param value] 或 [param type] 為已釋放物件(參見 [method " "@GlobalScope.is_instance_valid]),或 [param type] 不屬於上述項目,執行時將拋" "出錯誤。\n" "另見 [method @GlobalScope.typeof]、[method type_exists]、[method " "Array.is_same_typed](與其他 [Array] 方法)。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns the length of the given Variant [param var]. The length can be the " "character count of a [String] or [StringName], the element count of any " "array type, or the size of a [Dictionary]. For every other Variant type, a " "run-time error is generated and execution is stopped.\n" "[codeblock]\n" "var a = [1, 2, 3, 4]\n" "len(a) # Returns 4\n" "\n" "var b = \"Hello!\"\n" "len(b) # Returns 6\n" "[/codeblock]" msgstr "" "回傳指定 Variant [param var] 的長度。長度可為 [String] 或 [StringName] 的字元" "數、任意陣列型別的元素數,或 [Dictionary] 的大小。對其他型別會產生運作時錯誤" "並中止執行。\n" "[codeblock]\n" "var a = [1, 2, 3, 4]\n" "len(a) # 回傳 4\n" "\n" "var b = \"Hello!\"\n" "len(b) # 回傳 6\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns a [Resource] from the filesystem located at the absolute [param " "path]. Unless it's already referenced elsewhere (such as in another script " "or in the scene), the resource is loaded from disk on function call, which " "might cause a slight delay, especially when loading large scenes. To avoid " "unnecessary delays when loading something multiple times, either store the " "resource in a variable or use [method preload]. This method is equivalent of " "using [method ResourceLoader.load] with [constant " "ResourceLoader.CACHE_MODE_REUSE].\n" "[b]Note:[/b] Resource paths can be obtained by right-clicking on a resource " "in the FileSystem dock and choosing \"Copy Path\", or by dragging the file " "from the FileSystem dock into the current script.\n" "[codeblock]\n" "# Load a scene called \"main\" located in the root of the project directory " "and cache it in a variable.\n" "var main = load(\"res://main.tscn\") # main will contain a PackedScene " "resource.\n" "[/codeblock]\n" "[b]Important:[/b] Relative paths are [i]not[/i] relative to the script " "calling this method, instead it is prefixed with [code]\"res://\"[/code]. " "Loading from relative paths might not work as expected.\n" "This function is a simplified version of [method ResourceLoader.load], which " "can be used for more advanced scenarios.\n" "[b]Note:[/b] Files have to be imported into the engine first to load them " "using this function. If you want to load [Image]s at run-time, you may use " "[method Image.load]. If you want to import audio files, you can use the " "snippet described in [member AudioStreamMP3.data].\n" "[b]Note:[/b] If [member ProjectSettings.editor/export/" "convert_text_resources_to_binary] is [code]true[/code], [method " "@GDScript.load] will not be able to read converted files in an exported " "project. If you rely on run-time loading of files present within the PCK, " "set [member ProjectSettings.editor/export/convert_text_resources_to_binary] " "to [code]false[/code]." msgstr "" "從檔案系統的絕對 [param path] 載入 [Resource]。除非該資源已被其他地方(如其他" "腳本或場景)引用,否則會於呼叫函式時從磁碟載入,這可能會產生小幅延遲,特別是" "在載入大型場景時。若需多次載入同一資源,建議將其儲存於變數內或使用 [method " "preload] 預載入以避免不必要的延遲。本方法等同於以 [constant " "ResourceLoader.CACHE_MODE_REUSE] 模式呼叫 [method ResourceLoader.load]。\n" "[b]注意:[/b] 可於「檔案系統」面板右鍵點擊資源並選擇「複製路徑」,或將檔案拖" "拉至腳本取得資源路徑。\n" "[codeblock]\n" "# 載入專案根目錄下名為 \"main\" 的場景並快取於變數。\n" "var main = load(\"res://main.tscn\") # main 會包含 PackedScene 資源。\n" "[/codeblock]\n" "[b]重要:[/b] 相對路徑 [i]不是[/i] 以呼叫此方法的腳本所在目錄為準,而是會自動" "加上 [code]\"res://\"[/code] 前綴。從相對路徑載入有可能無法如預期運作。\n" "本函式為 [method ResourceLoader.load] 的簡化版,適用於更進階的使用情境。\n" "[b]注意:[/b] 檔案必須先匯入引擎後才能使用本方法載入。若需於執行時載入 " "[Image],可使用 [method Image.load];若需匯入音訊檔,請參考 [member " "AudioStreamMP3.data] 內說明的範例。\n" "[b]注意:[/b] 若 [member ProjectSettings.editor/export/" "convert_text_resources_to_binary] 設為 [code]true[/code],[method " "@GDScript.load] 將無法於匯出後專案讀取已轉換的檔案。如需在執行時載入 PCK 內的" "檔案,請將該設定設為 [code]false[/code]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns an integer representing the Unicode code point of the given " "character [param char], which should be a string of length 1.\n" "[codeblock]\n" "print(ord(\"A\")) # Prints 65\n" "print(ord(\"🤖\")) # Prints 129302\n" "[/codeblock]\n" "This is the inverse of [method char]. See also [method String.chr] and " "[method String.unicode_at]." msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns a [Resource] from the filesystem located at [param path]. During run-" "time, the resource is loaded when the script is being parsed. This function " "effectively acts as a reference to that resource. Note that this function " "requires [param path] to be a constant [String]. If you want to load a " "resource from a dynamic/variable path, use [method load].\n" "[b]Note:[/b] Resource paths can be obtained by right-clicking on a resource " "in the Assets Panel and choosing \"Copy Path\", or by dragging the file from " "the FileSystem dock into the current script.\n" "[codeblock]\n" "# Create instance of a scene.\n" "var diamond = preload(\"res://diamond.tscn\").instantiate()\n" "[/codeblock]\n" "[b]Note:[/b] [method preload] is a keyword, not a function. So you cannot " "access it as a [Callable]." msgstr "" "從檔案系統的 [param path] 載入 [Resource]。於執行時,該資源會在腳本解析時載" "入,此函式實際上是對該資源的引用。請注意,[param path] 必須為常數 [String]。" "若需從動態或變數路徑載入資源,請改用 [method load]。\n" "[b]注意:[/b] 可於「資產面板」右鍵點擊資源選「複製路徑」,或將檔案自「檔案系" "統」面板拖曳至腳本獲得路徑。\n" "[codeblock]\n" "# 建立場景實例。\n" "var diamond = preload(\"res://diamond.tscn\").instantiate()\n" "[/codeblock]\n" "[b]注意:[/b] [method preload] 是關鍵字,非函式,無法作為 [Callable] 使用。" #: modules/gdscript/doc_classes/@GDScript.xml #, fuzzy msgid "" "Like [method @GlobalScope.print], but includes the current stack frame when " "running with the debugger turned on.\n" "The output in the console may look like the following:\n" "[codeblock lang=text]\n" "Test print\n" "At: res://test.gd:15:_process()\n" "[/codeblock]\n" "See also [method print_stack], [method get_stack], and [method " "Engine.capture_script_backtraces].\n" "[b]Note:[/b] By default, backtraces are only available in editor builds and " "debug builds. To enable them for release builds as well, you need to enable " "[member ProjectSettings.debug/settings/gdscript/always_track_call_stacks]." msgstr "" "與 [method @GlobalScope.print] 類似,但在啟用除錯器時會附帶目前的堆疊框架。\n" "終端機輸出範例:\n" "[codeblock lang=text]\n" "Test print\n" "At: res://test.gd:15:_process()\n" "[/codeblock]\n" "[b]注意:[/b]不支援從 [Thread] 呼叫此函式,否則僅會列印執行緒 ID。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Prints a stack trace at the current code location.\n" "The output in the console may look like the following:\n" "[codeblock lang=text]\n" "Frame 0 - res://test.gd:16 in function '_process'\n" "[/codeblock]\n" "See also [method print_debug], [method get_stack], and [method " "Engine.capture_script_backtraces].\n" "[b]Note:[/b] By default, backtraces are only available in editor builds and " "debug builds. To enable them for release builds as well, you need to enable " "[member ProjectSettings.debug/settings/gdscript/always_track_call_stacks]." msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns an array with the given range. [method range] can be called in three " "ways:\n" "[code]range(n: int)[/code]: Starts from 0, increases by steps of 1, and " "stops [i]before[/i] [code]n[/code]. The argument [code]n[/code] is " "[b]exclusive[/b].\n" "[code]range(b: int, n: int)[/code]: Starts from [code]b[/code], increases by " "steps of 1, and stops [i]before[/i] [code]n[/code]. The arguments [code]b[/" "code] and [code]n[/code] are [b]inclusive[/b] and [b]exclusive[/b], " "respectively.\n" "[code]range(b: int, n: int, s: int)[/code]: Starts from [code]b[/code], " "increases/decreases by steps of [code]s[/code], and stops [i]before[/i] " "[code]n[/code]. The arguments [code]b[/code] and [code]n[/code] are " "[b]inclusive[/b] and [b]exclusive[/b], respectively. The argument [code]s[/" "code] [b]can[/b] be negative, but not [code]0[/code]. If [code]s[/code] is " "[code]0[/code], an error message is printed.\n" "[method range] converts all arguments to [int] before processing.\n" "[b]Note:[/b] Returns an empty array if no value meets the value constraint " "(e.g. [code]range(2, 5, -1)[/code] or [code]range(5, 5, 1)[/code]).\n" "[b]Examples:[/b]\n" "[codeblock]\n" "print(range(4)) # Prints [0, 1, 2, 3]\n" "print(range(2, 5)) # Prints [2, 3, 4]\n" "print(range(0, 6, 2)) # Prints [0, 2, 4]\n" "print(range(4, 1, -1)) # Prints [4, 3, 2]\n" "[/codeblock]\n" "To iterate over an [Array] backwards, use:\n" "[codeblock]\n" "var array = [3, 6, 9]\n" "for i in range(array.size() - 1, -1, -1):\n" "\tprint(array[i])\n" "[/codeblock]\n" "Output:\n" "[codeblock lang=text]\n" "9\n" "6\n" "3\n" "[/codeblock]\n" "To iterate over [float], convert them in the loop.\n" "[codeblock]\n" "for i in range (3, 0, -1):\n" "\tprint(i / 10.0)\n" "[/codeblock]\n" "Output:\n" "[codeblock lang=text]\n" "0.3\n" "0.2\n" "0.1\n" "[/codeblock]" msgstr "" "回傳包含指定範圍的陣列。[method range] 可以用三種方式呼叫:\n" "[code]range(n: int)[/code]:從 0 開始,每次加 1,並在 [i]到達前[/i] [code]n[/" "code] 停止。參數 [code]n[/code] 為 [b]不包含[/b]。\n" "[code]range(b: int, n: int)[/code]:從 [code]b[/code] 開始,每次加 1,在 [i]" "到達前[/i] [code]n[/code] 停止。參數 [code]b[/code] 為 [b]包含[/b],[code]n[/" "code] 為 [b]不包含[/b]。\n" "[code]range(b: int, n: int, s: int)[/code]:從 [code]b[/code] 開始,以 " "[code]s[/code] 為步長遞增或遞減,在 [i]到達前[/i] [code]n[/code] 停止。參數 " "[code]b[/code] 為 [b]包含[/b],[code]n[/code] 為 [b]不包含[/b]。[code]s[/" "code] [b]可以[/b]是負數,但不能為 [code]0[/code]。如果 [code]s[/code] 為 " "[code]0[/code],會顯示錯誤訊息。\n" "[method range] 會先將所有參數轉為 [int] 再處理。\n" "[b]注意:[/b] 如果沒有值滿足條件(例: [code]range(2, 5, -1)[/code] 或 " "[code]range(5, 5, 1)[/code]),則回傳空陣列。\n" "[b]範例:[/b]\n" "[codeblock]\n" "print(range(4)) # 輸出 [0, 1, 2, 3]\n" "print(range(2, 5)) # 輸出 [2, 3, 4]\n" "print(range(0, 6, 2)) # 輸出 [0, 2, 4]\n" "print(range(4, 1, -1)) # 輸出 [4, 3, 2]\n" "[/codeblock]\n" "若要反向走訪 [Array],請使用:\n" "[codeblock]\n" "var array = [3, 6, 9]\n" "for i in range(array.size() - 1, -1, -1):\n" "\tprint(array[i])\n" "[/codeblock]\n" "輸出:\n" "[codeblock lang=text]\n" "9\n" "6\n" "3\n" "[/codeblock]\n" "若要走訪 [float],請在迴圈中轉型:\n" "[codeblock]\n" "for i in range(3, 0, -1):\n" "\tprint(i / 10.0)\n" "[/codeblock]\n" "輸出:\n" "[codeblock lang=text]\n" "0.3\n" "0.2\n" "0.1\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Returns [code]true[/code] if the given [Object]-derived class exists in " "[ClassDB]. Note that [Variant] data types are not registered in [ClassDB].\n" "[codeblock]\n" "type_exists(\"Sprite2D\") # Returns true\n" "type_exists(\"NonExistentClass\") # Returns false\n" "[/codeblock]" msgstr "" "如果 [ClassDB] 中存在給定的 [Object] 衍生類,則返回 [code]true[/code]。請注" "意,[Variant] 資料型別未在 [ClassDB] 中註冊。\n" "[codeblock]\n" "type_exists(\"Sprite2D\") # 返回 true\n" "type_exists(\"NonExistentClass\") # 返回 false\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Constant that represents how many times the diameter of a circle fits around " "its perimeter. This is equivalent to [code]TAU / 2[/code], or 180 degrees in " "rotations." msgstr "" "常數,表示圓的周長是直徑的多少倍。相當於 [code]TAU / 2[/code],或以弧度表示的" "180度。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "The circle constant, the circumference of the unit circle in radians. This " "is equivalent to [code]PI * 2[/code], or 360 degrees in rotations." msgstr "" "圓常數,單位圓的周長,單位為弧度。相當於 [code]PI * 2[/code],即 360 度的弧度" "值。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Positive floating-point infinity. This is the result of floating-point " "division when the divisor is [code]0.0[/code]. For negative infinity, use " "[code]-INF[/code]. Dividing by [code]-0.0[/code] will result in negative " "infinity if the numerator is positive, so dividing by [code]0.0[/code] is " "not the same as dividing by [code]-0.0[/code] (despite [code]0.0 == -0.0[/" "code] returning [code]true[/code]).\n" "[b]Warning:[/b] Numeric infinity is only a concept with floating-point " "numbers, and has no equivalent for integers. Dividing an integer number by " "[code]0[/code] will not result in [constant INF] and will result in a run-" "time error instead." msgstr "" "正浮點無窮大。這是除數為 [code]0.0[/code] 時浮點除法的結果。對於負無窮大,使" "用 [code]-INF[/code]。如果分子為正,除以 [code]-0.0[/code] 將導致負無窮大,因" "此除以 [code]0.0[/code] 與除以 [code]-0.0[/code] 不同(儘管 [code]0.0 == " "-0.0[/code] 返回 [code]true[/code])。\n" "[b]警告:[/b]數值無窮大只是浮點數的一個概念,對於整數來說沒有對應的概念。將整" "數除以 [code]0[/code] 不會產生 [constant INF],而是會產生一個執行階段錯誤。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "\"Not a Number\", an invalid floating-point value. It is returned by some " "invalid operations, such as dividing floating-point [code]0.0[/code] by " "[code]0.0[/code].\n" "[constant NAN] has special properties, including that [code]!=[/code] always " "returns [code]true[/code], while other comparison operators always return " "[code]false[/code]. This is true even when comparing with itself ([code]NAN " "== NAN[/code] returns [code]false[/code] and [code]NAN != NAN[/code] returns " "[code]true[/code]). Due to this, you must use [method @GlobalScope.is_nan] " "to check whether a number is equal to [constant NAN].\n" "[b]Warning:[/b] \"Not a Number\" is only a concept with floating-point " "numbers, and has no equivalent for integers. Dividing an integer [code]0[/" "code] by [code]0[/code] will not result in [constant NAN] and will result in " "a run-time error instead." msgstr "" "「Not a Number」(非數),一種無效的浮點值;如將浮點數 [code]0.0[/code] 除以 " "[code]0.0[/code] 等非法運算會返回此值。\n" "[constant NAN] 具有特殊行為,例如使用 [code]!=[/code] 永遠回傳 [code]true[/" "code],其他比較運算子則永遠回傳 [code]false[/code]。即便與自身比較亦如此" "([code]NAN == NAN[/code] 為 [code]false[/code],而 [code]NAN != NAN[/code] " "為 [code]true[/code])。因此必須透過 [method @GlobalScope.is_nan] 來檢查某值" "是否為 [constant NAN]。\n" "[b]警告:[/b]「非數」僅存在於浮點數概念,整數沒有對應值。將整數 [code]0[/" "code] 除以 [code]0[/code] 不會得到 [constant NAN],而是直接觸發執行階段錯誤。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Marks a class or a method as abstract.\n" "An abstract class is a class that cannot be instantiated directly. Instead, " "it is meant to be inherited by other classes. Attempting to instantiate an " "abstract class will result in an error.\n" "An abstract method is a method that has no implementation. Therefore, a " "newline or a semicolon is expected after the function header. This defines a " "contract that inheriting classes must conform to, because the method " "signature must be compatible when overriding.\n" "Inheriting classes must either provide implementations for all abstract " "methods, or the inheriting class must be marked as abstract. If a class has " "at least one abstract method (either its own or an unimplemented inherited " "one), then it must also be marked as abstract. However, the reverse is not " "true: an abstract class is allowed to have no abstract methods.\n" "[codeblock]\n" "@abstract class Shape:\n" "\t@abstract func draw()\n" "\n" "class Circle extends Shape:\n" "\tfunc draw():\n" "\t\tprint(\"Drawing a circle.\")\n" "\n" "class Square extends Shape:\n" "\tfunc draw():\n" "\t\tprint(\"Drawing a square.\")\n" "[/codeblock]" msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Mark the following property as exported (editable in the Inspector dock and " "saved to disk). To control the type of the exported property, use the type " "hint notation.\n" "[codeblock]\n" "extends Node\n" "\n" "enum Direction {LEFT, RIGHT, UP, DOWN}\n" "\n" "# Built-in types.\n" "@export var string = \"\"\n" "@export var int_number = 5\n" "@export var float_number: float = 5\n" "\n" "# Enums.\n" "@export var type: Variant.Type\n" "@export var format: Image.Format\n" "@export var direction: Direction\n" "\n" "# Resources.\n" "@export var image: Image\n" "@export var custom_resource: CustomResource\n" "\n" "# Nodes.\n" "@export var node: Node\n" "@export var custom_node: CustomNode\n" "\n" "# Typed arrays.\n" "@export var int_array: Array[int]\n" "@export var direction_array: Array[Direction]\n" "@export var image_array: Array[Image]\n" "@export var node_array: Array[Node]\n" "[/codeblock]\n" "[b]Note:[/b] Custom resources and nodes should be registered as global " "classes using [code]class_name[/code], since the Inspector currently only " "supports global classes. Otherwise, a less specific type will be exported " "instead.\n" "[b]Note:[/b] Node export is only supported in [Node]-derived classes and has " "a number of other limitations." msgstr "" "將以下屬性標記為導出(可在檢查器中編輯並保存到磁碟)。要控制導出屬性的類型," "請使用類型提示符號。\n" "[codeblock]\n" "extends Node\n" "\n" "enum Direction {LEFT, RIGHT, UP, DOWN}\n" "\n" "# Built-in types.\n" "@export var string = \"\"\n" "@export var int_number = 5\n" "@export var float_number: float = 5\n" "\n" "# Enums.\n" "@export var type: Variant.Type\n" "@export var format: Image.Format\n" "@export var direction: Direction\n" "\n" "# Resources.\n" "@export var image: Image\n" "@export var custom_resource: CustomResource\n" "\n" "# Nodes.\n" "@export var node: Node\n" "@export var custom_node: CustomNode\n" "\n" "# Typed arrays.\n" "@export var int_array: Array[int]\n" "@export var direction_array: Array[Direction]\n" "@export var image_array: Array[Image]\n" "@export var node_array: Array[Node]\n" "[/codeblock]\n" "[b]注意:[/b] 自定義資源和節點應使用[code]class_name[/code]註冊為全局類,因為" "檢查器目前只支持全局類。否則,將會導出一個不太具體的類型。\n" "[b]注意:[/b] 節點導出僅在繼承自[Node]的類中支持,並且有一些其他限制。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Define a new category for the following exported properties. This helps to " "organize properties in the Inspector dock.\n" "See also [constant PROPERTY_USAGE_CATEGORY].\n" "[codeblock]\n" "@export_category(\"Statistics\")\n" "@export var hp = 30\n" "@export var speed = 1.25\n" "[/codeblock]\n" "[b]Note:[/b] Categories in the Inspector dock's list usually divide " "properties coming from different classes (Node, Node2D, Sprite, etc.). For " "better clarity, it's recommended to use [annotation @export_group] and " "[annotation @export_subgroup], instead." msgstr "" "定義用於以下匯出屬性的新分類。這有助於在「屬性檢視器」面板中整理屬性。\n" "另請參閱 [constant PROPERTY_USAGE_CATEGORY]。\n" "[codeblock]\n" "@export_category(\"Statistics\")\n" "@export var hp = 30\n" "@export var speed = 1.25\n" "[/codeblock]\n" "[b]注意:[/b]「屬性檢視器」面板清單中的分類通常會區分來自不同類別 (Node、" "Node2D、Sprite 等) 的屬性。為了更好的清晰度,建議改用 [annotation " "@export_group] 和 [annotation @export_subgroup]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a [Color], [Array][lb][Color][rb], or [PackedColorArray] property " "without allowing its transparency ([member Color.a]) to be edited.\n" "See also [constant PROPERTY_HINT_COLOR_NO_ALPHA].\n" "[codeblock]\n" "@export_color_no_alpha var dye_color: Color\n" "@export_color_no_alpha var dye_colors: Array[Color]\n" "[/codeblock]" msgstr "" "匯出 [Color]、[Array][lb][Color][rb] 或 [PackedColorArray] 屬性,且不允許編輯" "其透明度 ([member Color.a])。\n" "另請參閱 [constant PROPERTY_HINT_COLOR_NO_ALPHA]。\n" "[codeblock]\n" "@export_color_no_alpha var dye_color: Color\n" "@export_color_no_alpha var dye_colors: Array[Color]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Allows you to set a custom hint, hint string, and usage flags for the " "exported property. Note that there's no validation done in GDScript, it will " "just pass the parameters to the editor.\n" "[codeblock]\n" "@export_custom(PROPERTY_HINT_NONE, \"suffix:m\") var suffix: Vector3\n" "[/codeblock]\n" "[b]Note:[/b] Regardless of the [param usage] value, the [constant " "PROPERTY_USAGE_SCRIPT_VARIABLE] flag is always added, as with any explicitly " "declared script variable." msgstr "" "允許你為導出的屬性設置自定義提示、提示字符串和使用標誌。注意,在GDScript中不" "會進行驗證,它只是將參數傳遞給編輯器。\n" "[codeblock]\n" "@export_custom(PROPERTY_HINT_NONE, \"suffix:m\") var suffix: Vector3\n" "[/codeblock]\n" "[b]注意:[/b]無論 [param usage] 的值如何, [constant " "PROPERTY_USAGE_SCRIPT_VARIABLE] 標誌總是會被添加,就像任何顯式聲明的腳本變量" "一樣。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a [String], [Array][lb][String][rb], or [PackedStringArray] property " "as a path to a directory. The path will be limited to the project folder and " "its subfolders. See [annotation @export_global_dir] to allow picking from " "the entire filesystem.\n" "See also [constant PROPERTY_HINT_DIR].\n" "[codeblock]\n" "@export_dir var sprite_folder_path: String\n" "@export_dir var sprite_folder_paths: Array[String]\n" "[/codeblock]" msgstr "" "將 [String]、[Array][lb][String][rb] 或 [PackedStringArray] 屬性匯出為目錄路" "徑。路徑僅限於專案資料夾及其子資料夾。如需從整個檔案系統選擇,請參見 " "[annotation @export_global_dir]。\n" "另請參見 [constant PROPERTY_HINT_DIR]。\n" "[codeblock]\n" "@export_dir var sprite_folder_path: String\n" "@export_dir var sprite_folder_paths: Array[String]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an [int], [String], [Array][lb][int][rb], [Array][lb][String][rb], " "[PackedByteArray], [PackedInt32Array], [PackedInt64Array], or " "[PackedStringArray] property as an enumerated list of options (or an array " "of options). If the property is an [int], then the index of the value is " "stored, in the same order the values are provided. You can add explicit " "values using a colon. If the property is a [String], then the value is " "stored.\n" "See also [constant PROPERTY_HINT_ENUM].\n" "[codeblock]\n" "@export_enum(\"Warrior\", \"Magician\", \"Thief\") var character_class: int\n" "@export_enum(\"Slow:30\", \"Average:60\", \"Very Fast:200\") var " "character_speed: int\n" "@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n" "\n" "@export_enum(\"Sword\", \"Spear\", \"Mace\") var character_items: " "Array[int]\n" "@export_enum(\"double_jump\", \"climb\", \"dash\") var character_skills: " "Array[String]\n" "[/codeblock]\n" "If you want to set an initial value, you must specify it explicitly:\n" "[codeblock]\n" "@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String = " "\"Rebecca\"\n" "[/codeblock]\n" "If you want to use named GDScript enums, then use [annotation @export] " "instead:\n" "[codeblock]\n" "enum CharacterName {REBECCA, MARY, LEAH}\n" "@export var character_name: CharacterName\n" "\n" "enum CharacterItem {SWORD, SPEAR, MACE}\n" "@export var character_items: Array[CharacterItem]\n" "[/codeblock]" msgstr "" "將 [int]、[String]、[Array][lb][int][rb]、[Array][lb][String][rb]、" "[PackedByteArray]、[PackedInt32Array]、[PackedInt64Array] 或 " "[PackedStringArray] 屬性匯出為列舉選項列表(或選項陣列)。若屬性為 [int],則" "儲存值的索引,順序與提供值一致。你可用冒號指定明確值。若屬性為 [String],則直" "接儲存字串。\n" "另請參見 [constant PROPERTY_HINT_ENUM]。\n" "[codeblock]\n" "@export_enum(\"Warrior\", \"Magician\", \"Thief\") var character_class: int\n" "@export_enum(\"Slow:30\", \"Average:60\", \"Very Fast:200\") var " "character_speed: int\n" "@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String\n" "\n" "@export_enum(\"Sword\", \"Spear\", \"Mace\") var character_items: " "Array[int]\n" "@export_enum(\"double_jump\", \"climb\", \"dash\") var character_skills: " "Array[String]\n" "[/codeblock]\n" "若要設定初始值,必須明確指定:\n" "[codeblock]\n" "@export_enum(\"Rebecca\", \"Mary\", \"Leah\") var character_name: String = " "\"Rebecca\"\n" "[/codeblock]\n" "若需使用具名 GDScript 列舉,請改用 [annotation @export]:\n" "[codeblock]\n" "enum CharacterName {REBECCA, MARY, LEAH}\n" "@export var character_name: CharacterName\n" "\n" "enum CharacterItem {SWORD, SPEAR, MACE}\n" "@export var character_items: Array[CharacterItem]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a floating-point property with an easing editor widget. Additional " "hints can be provided to adjust the behavior of the widget. [code]" "\"attenuation\"[/code] flips the curve, which makes it more intuitive for " "editing attenuation properties. [code]\"positive_only\"[/code] limits values " "to only be greater than or equal to zero.\n" "See also [constant PROPERTY_HINT_EXP_EASING].\n" "[codeblock]\n" "@export_exp_easing var transition_speed\n" "@export_exp_easing(\"attenuation\") var fading_attenuation\n" "@export_exp_easing(\"positive_only\") var effect_power\n" "@export_exp_easing var speeds: Array[float]\n" "[/codeblock]" msgstr "" "以緩動編輯器小工具匯出浮點屬性。你可提供額外提示調整小工具行為。[code]" "\"attenuation\"[/code] 會翻轉曲線,使調整衰減屬性更直觀。[code]" "\"positive_only\"[/code] 則限制值必須大於或等於零。\n" "另請參考 [constant PROPERTY_HINT_EXP_EASING]。\n" "[codeblock]\n" "@export_exp_easing var transition_speed\n" "@export_exp_easing(\"attenuation\") var fading_attenuation\n" "@export_exp_easing(\"positive_only\") var effect_power\n" "@export_exp_easing var speeds: Array[float]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml #, fuzzy msgid "" "Export a [String], [Array][lb][String][rb], or [PackedStringArray] property " "as a path to a file. The path will be limited to the project folder and its " "subfolders. See [annotation @export_global_file] to allow picking from the " "entire filesystem.\n" "If [param filter] is provided, only matching files will be available for " "picking.\n" "See also [constant PROPERTY_HINT_FILE].\n" "[codeblock]\n" "@export_file var sound_effect_path: String\n" "@export_file(\"*.txt\") var notes_path: String\n" "@export_file var level_paths: Array[String]\n" "[/codeblock]\n" "[b]Note:[/b] The file will be stored and referenced as UID, if available. " "This ensures that the reference is valid even when the file is moved. You " "can use [ResourceUID] methods to convert it to path." msgstr "" "將 [String]、[Array][lb][String][rb] 或 [PackedStringArray] 屬性匯出為檔案路" "徑。此路徑僅限專案資料夾及其子資料夾選擇。如需從整個檔案系統選擇,請參見 " "[annotation @export_global_file]。\n" "若有指定 [param filter],僅可選擇相符檔案。\n" "另請參見 [constant PROPERTY_HINT_FILE]。\n" "[codeblock]\n" "@export_file var sound_effect_path: String\n" "@export_file(\"*.txt\") var notes_path: String\n" "@export_file var level_paths: Array[String]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Same as [annotation @export_file], except the file will be stored as a raw " "path. This means that it may become invalid when the file is moved. If you " "are exporting a [Resource] path, consider using [annotation @export_file] " "instead." msgstr "" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field. This allows to store several " "\"checked\" or [code]true[/code] values with one property, and comfortably " "select them from the Inspector dock.\n" "See also [constant PROPERTY_HINT_FLAGS].\n" "[codeblock]\n" "@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var spell_elements = " "0\n" "[/codeblock]\n" "You can add explicit values using a colon:\n" "[codeblock]\n" "@export_flags(\"Self:4\", \"Allies:8\", \"Foes:16\") var spell_targets = 0\n" "[/codeblock]\n" "You can also combine several flags:\n" "[codeblock]\n" "@export_flags(\"Self:4\", \"Allies:8\", \"Self and Allies:12\", " "\"Foes:16\")\n" "var spell_targets = 0\n" "[/codeblock]\n" "[b]Note:[/b] A flag value must be at least [code]1[/code] and at most " "[code]2 ** 32 - 1[/code].\n" "[b]Note:[/b] Unlike [annotation @export_enum], the previous explicit value " "is not taken into account. In the following example, A is 16, B is 2, C is " "4.\n" "[codeblock]\n" "@export_flags(\"A:16\", \"B\", \"C\") var x\n" "[/codeblock]\n" "You can also use the annotation on [Array][lb][int][rb], [PackedByteArray], " "[PackedInt32Array], and [PackedInt64Array]\n" "[codeblock]\n" "@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var phase_elements: " "Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為位元旗標欄位。這讓您可以用一個屬性儲存多個「已勾選」或 " "[code]true[/code] 的值,並能方便地從屬性檢視器面板中選取。\n" "另請參閱 [constant PROPERTY_HINT_FLAGS]。\n" "[codeblock]\n" "@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var spell_elements = " "0\n" "[/codeblock]\n" "您可以使用冒號來新增明確值:\n" "[codeblock]\n" "@export_flags(\"Self:4\", \"Allies:8\", \"Foes:16\") var spell_targets = 0\n" "[/codeblock]\n" "您也可以組合多個旗標:\n" "[codeblock]\n" "@export_flags(\"Self:4\", \"Allies:8\", \"Self and Allies:12\", " "\"Foes:16\")\n" "var spell_targets = 0\n" "[/codeblock]\n" "[b]注意:[/b] 旗標值必須至少為 [code]1[/code],且至多為 [code]2 ** 32 - 1[/" "code]。\n" "[b]注意:[/b] 與 [annotation @export_enum] 不同,它不會將前一個明確值考慮在" "內。在以下範例中,A 是 16,B 是 2,C 是 4。\n" "[codeblock]\n" "@export_flags(\"A:16\", \"B\", \"C\") var x\n" "[/codeblock]\n" "您也可以在 [Array][lb][int][rb]、[PackedByteArray]、[PackedInt32Array] 和 " "[PackedInt64Array] 型別的變數上使用此標記。\n" "[codeblock]\n" "@export_flags(\"Fire\", \"Water\", \"Earth\", \"Wind\") var phase_elements: " "Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field for 2D navigation layers. The " "widget in the Inspector dock will use the layer names defined in [member " "ProjectSettings.layer_names/2d_navigation/layer_1].\n" "See also [constant PROPERTY_HINT_LAYERS_2D_NAVIGATION].\n" "[codeblock]\n" "@export_flags_2d_navigation var navigation_layers: int\n" "@export_flags_2d_navigation var navigation_layers_array: Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為用於 2D 導航圖層的位元旗標欄位。屬性檢視器面板中的小工具會使" "用定義在 [member ProjectSettings.layer_names/2d_navigation/layer_1] 的圖層名" "稱。\n" "另請參閱 [constant PROPERTY_HINT_LAYERS_2D_NAVIGATION]。\n" "[codeblock]\n" "@export_flags_2d_navigation var navigation_layers: int\n" "@export_flags_2d_navigation var navigation_layers_array: Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field for 2D physics layers. The " "widget in the Inspector dock will use the layer names defined in [member " "ProjectSettings.layer_names/2d_physics/layer_1].\n" "See also [constant PROPERTY_HINT_LAYERS_2D_PHYSICS].\n" "[codeblock]\n" "@export_flags_2d_physics var physics_layers: int\n" "@export_flags_2d_physics var physics_layers_array: Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為用於 2D 物理圖層的位元旗標欄位。屬性檢視器面板中的小工具會使" "用定義在 [member ProjectSettings.layer_names/2d_physics/layer_1] 的圖層名" "稱。\n" "另請參閱 [constant PROPERTY_HINT_LAYERS_2D_PHYSICS]。\n" "[codeblock]\n" "@export_flags_2d_physics var physics_layers: int\n" "@export_flags_2d_physics var physics_layers_array: Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field for 2D render layers. The " "widget in the Inspector dock will use the layer names defined in [member " "ProjectSettings.layer_names/2d_render/layer_1].\n" "See also [constant PROPERTY_HINT_LAYERS_2D_RENDER].\n" "[codeblock]\n" "@export_flags_2d_render var render_layers: int\n" "@export_flags_2d_render var render_layers_array: Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為用於 2D 渲染圖層的位元旗標欄位。屬性檢視器面板中的小工具會使" "用定義在 [member ProjectSettings.layer_names/2d_render/layer_1] 的圖層名" "稱。\n" "另請參閱 [constant PROPERTY_HINT_LAYERS_2D_RENDER]。\n" "[codeblock]\n" "@export_flags_2d_render var render_layers: int\n" "@export_flags_2d_render var render_layers_array: Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field for 3D navigation layers. The " "widget in the Inspector dock will use the layer names defined in [member " "ProjectSettings.layer_names/3d_navigation/layer_1].\n" "See also [constant PROPERTY_HINT_LAYERS_3D_NAVIGATION].\n" "[codeblock]\n" "@export_flags_3d_navigation var navigation_layers: int\n" "@export_flags_3d_navigation var navigation_layers_array: Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為用於 3D 導航圖層的位元旗標欄位。屬性檢視器面板中的小工具會使" "用定義在 [member ProjectSettings.layer_names/3d_navigation/layer_1] 的圖層名" "稱。\n" "另請參閱 [constant PROPERTY_HINT_LAYERS_3D_NAVIGATION]。\n" "[codeblock]\n" "@export_flags_3d_navigation var navigation_layers: int\n" "@export_flags_3d_navigation var navigation_layers_array: Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field for 3D physics layers. The " "widget in the Inspector dock will use the layer names defined in [member " "ProjectSettings.layer_names/3d_physics/layer_1].\n" "See also [constant PROPERTY_HINT_LAYERS_3D_PHYSICS].\n" "[codeblock]\n" "@export_flags_3d_physics var physics_layers: int\n" "@export_flags_3d_physics var physics_layers_array: Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為用於 3D 物理圖層的位元旗標欄位。屬性檢視器面板中的小工具會使" "用定義在 [member ProjectSettings.layer_names/3d_physics/layer_1] 的圖層名" "稱。\n" "另請參閱 [constant PROPERTY_HINT_LAYERS_3D_PHYSICS]。\n" "[codeblock]\n" "@export_flags_3d_physics var physics_layers: int\n" "@export_flags_3d_physics var physics_layers_array: Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field for 3D render layers. The " "widget in the Inspector dock will use the layer names defined in [member " "ProjectSettings.layer_names/3d_render/layer_1].\n" "See also [constant PROPERTY_HINT_LAYERS_3D_RENDER].\n" "[codeblock]\n" "@export_flags_3d_render var render_layers: int\n" "@export_flags_3d_render var render_layers_array: Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為用於 3D 渲染圖層的位元旗標欄位。屬性檢視器面板中的小工具會使" "用定義在 [member ProjectSettings.layer_names/3d_render/layer_1] 的圖層名" "稱。\n" "另請參閱 [constant PROPERTY_HINT_LAYERS_3D_RENDER]。\n" "[codeblock]\n" "@export_flags_3d_render var render_layers: int\n" "@export_flags_3d_render var render_layers_array: Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export an integer property as a bit flag field for navigation avoidance " "layers. The widget in the Inspector dock will use the layer names defined in " "[member ProjectSettings.layer_names/avoidance/layer_1].\n" "See also [constant PROPERTY_HINT_LAYERS_AVOIDANCE].\n" "[codeblock]\n" "@export_flags_avoidance var avoidance_layers: int\n" "@export_flags_avoidance var avoidance_layers_array: Array[int]\n" "[/codeblock]" msgstr "" "將整數屬性匯出為用於導航避開圖層的位元旗標欄位。屬性檢視器面板中的小工具會使" "用定義在 [member ProjectSettings.layer_names/avoidance/layer_1] 的圖層名" "稱。\n" "另請參閱 [constant PROPERTY_HINT_LAYERS_AVOIDANCE]。\n" "[codeblock]\n" "@export_flags_avoidance var avoidance_layers: int\n" "@export_flags_avoidance var avoidance_layers_array: Array[int]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a [String], [Array][lb][String][rb], or [PackedStringArray] property " "as an absolute path to a directory. The path can be picked from the entire " "filesystem. See [annotation @export_dir] to limit it to the project folder " "and its subfolders.\n" "See also [constant PROPERTY_HINT_GLOBAL_DIR].\n" "[codeblock]\n" "@export_global_dir var sprite_folder_path: String\n" "@export_global_dir var sprite_folder_paths: Array[String]\n" "[/codeblock]" msgstr "" "將 [String]、[Array][lb][String][rb] 或 [PackedStringArray] 屬性匯出為目錄的" "絕對路徑。此路徑可從整個檔案系統選擇。若要限制於專案資料夾及其子資料夾,請見 " "[annotation @export_dir]。\n" "另請參見 [constant PROPERTY_HINT_GLOBAL_DIR]。\n" "[codeblock]\n" "@export_global_dir var sprite_folder_path: String\n" "@export_global_dir var sprite_folder_paths: Array[String]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a [String], [Array][lb][String][rb], or [PackedStringArray] property " "as an absolute path to a file. The path can be picked from the entire " "filesystem. See [annotation @export_file] to limit it to the project folder " "and its subfolders.\n" "If [param filter] is provided, only matching files will be available for " "picking.\n" "See also [constant PROPERTY_HINT_GLOBAL_FILE].\n" "[codeblock]\n" "@export_global_file var sound_effect_path: String\n" "@export_global_file(\"*.txt\") var notes_path: String\n" "@export_global_file var multiple_paths: Array[String]\n" "[/codeblock]" msgstr "" "將 [String]、[Array][lb][String][rb] 或 [PackedStringArray] 屬性匯出為檔案的" "絕對路徑。此路徑可從整個檔案系統選擇。若要限制於專案資料夾及其子資料夾,請見 " "[annotation @export_file]。\n" "若有指定 [param filter],僅可選擇相符檔案。\n" "另請參見 [constant PROPERTY_HINT_GLOBAL_FILE]。\n" "[codeblock]\n" "@export_global_file var sound_effect_path: String\n" "@export_global_file(\"*.txt\") var notes_path: String\n" "@export_global_file var multiple_paths: Array[String]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Define a new group for the following exported properties. This helps to " "organize properties in the Inspector dock. Groups can be added with an " "optional [param prefix], which would make group to only consider properties " "that have this prefix. The grouping will break on the first property that " "doesn't have a prefix. The prefix is also removed from the property's name " "in the Inspector dock.\n" "If no [param prefix] is provided, then every following property will be " "added to the group. The group ends when then next group or category is " "defined. You can also force end a group by using this annotation with empty " "strings for parameters, [code]@export_group(\"\", \"\")[/code].\n" "Groups cannot be nested, use [annotation @export_subgroup] to add subgroups " "within groups.\n" "See also [constant PROPERTY_USAGE_GROUP].\n" "[codeblock]\n" "@export_group(\"Racer Properties\")\n" "@export var nickname = \"Nick\"\n" "@export var age = 26\n" "\n" "@export_group(\"Car Properties\", \"car_\")\n" "@export var car_label = \"Speedy\"\n" "@export var car_number = 3\n" "\n" "@export_group(\"\", \"\")\n" "@export var ungrouped_number = 3\n" "[/codeblock]" msgstr "" "為後續匯出的屬性定義新群組。這有助於在屬性檢視器面板中組織屬性。群組可以加上" "選用的 [param prefix],這會讓群組只考慮具有此前綴的屬性。分組會在第一個不具有" "前綴的屬性處中斷。此前綴也會從屬性檢視器面板中的屬性名稱中移除。\n" "如果未提供 [param prefix],則每個後續屬性都會被加入群組。群組會在定義下一個群" "組或類別時結束。您也可以透過使用參數為空字串的此標記 " "[code]@export_group(\"\", \"\")[/code] 來強制結束群組。\n" "群組無法巢狀,請使用 [annotation @export_subgroup] 在群組內新增子群組。\n" "另請參閱 [constant PROPERTY_USAGE_GROUP]。\n" "[codeblock]\n" "@export_group(\"Racer Properties\")\n" "@export var nickname = \"Nick\"\n" "@export var age = 26\n" "\n" "@export_group(\"Car Properties\", \"car_\")\n" "@export var car_label = \"Speedy\"\n" "@export var car_number = 3\n" "\n" "@export_group(\"\", \"\")\n" "@export var ungrouped_number = 3\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml #, fuzzy msgid "" "Export a [String], [Array][lb][String][rb], [PackedStringArray], " "[Dictionary] or [Array][lb][Dictionary][rb] property with a large [TextEdit] " "widget instead of a [LineEdit]. This adds support for multiline content and " "makes it easier to edit large amount of text stored in the property.\n" "See also [constant PROPERTY_HINT_MULTILINE_TEXT].\n" "[codeblock]\n" "@export_multiline var character_biography\n" "@export_multiline var npc_dialogs: Array[String]\n" "@export_multiline(\"monospace\", \"no_wrap\") var favorite_ascii_art: " "String\n" "[/codeblock]" msgstr "" "將 [String]、[Array][lb][String][rb]、[PackedStringArray]、[Dictionary] 或 " "[Array][lb][Dictionary][rb] 屬性匯出為大型 [TextEdit] 編輯器(而非 " "[LineEdit])。這可支援多行內容並方便編輯大量文字。\n" "另請參見 [constant PROPERTY_HINT_MULTILINE_TEXT]。\n" "[codeblock]\n" "@export_multiline var character_biography\n" "@export_multiline var npc_dialogs: Array[String]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a [NodePath] or [Array][lb][NodePath][rb] property with a filter for " "allowed node types.\n" "See also [constant PROPERTY_HINT_NODE_PATH_VALID_TYPES].\n" "[codeblock]\n" "@export_node_path(\"Button\", \"TouchScreenButton\") var some_button\n" "@export_node_path(\"Button\", \"TouchScreenButton\") var many_buttons: " "Array[NodePath]\n" "[/codeblock]\n" "[b]Note:[/b] The type must be a native class or a globally registered script " "(using the [code]class_name[/code] keyword) that inherits [Node]." msgstr "" "將 [NodePath] 或 [Array][lb][NodePath][rb] 屬性匯出,並可指定允許的節點型" "別。\n" "另請參見 [constant PROPERTY_HINT_NODE_PATH_VALID_TYPES]。\n" "[codeblock]\n" "@export_node_path(\"Button\", \"TouchScreenButton\") var some_button\n" "@export_node_path(\"Button\", \"TouchScreenButton\") var many_buttons: " "Array[NodePath]\n" "[/codeblock]\n" "[b]注意:[/b]型別必須為原生類別,或使用 [code]class_name[/code] 關鍵字全域註" "冊且繼承自 [Node] 的腳本。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a [String], [Array][lb][String][rb], or [PackedStringArray] property " "with a placeholder text displayed in the editor widget when no value is " "present.\n" "See also [constant PROPERTY_HINT_PLACEHOLDER_TEXT].\n" "[codeblock]\n" "@export_placeholder(\"Name in lowercase\") var character_id: String\n" "@export_placeholder(\"Name in lowercase\") var friend_ids: Array[String]\n" "[/codeblock]" msgstr "" "將 [String]、[Array][lb][String][rb] 或 [PackedStringArray] 屬性匯出,當無值" "時編輯器小工具會顯示預設提示文字。\n" "另請參見 [constant PROPERTY_HINT_PLACEHOLDER_TEXT]。\n" "[codeblock]\n" "@export_placeholder(\"Name in lowercase\") var character_id: String\n" "@export_placeholder(\"Name in lowercase\") var friend_ids: Array[String]\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml #, fuzzy msgid "" "Export an [int], [float], [Array][lb][int][rb], [Array][lb][float][rb], " "[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " "[PackedFloat32Array], or [PackedFloat64Array] property as a range value. The " "range must be defined by [param min] and [param max], as well as an optional " "[param step] and a variety of extra hints. The [param step] defaults to " "[code]1[/code] for integer properties. For floating-point numbers this value " "depends on your [member EditorSettings.interface/inspector/" "default_float_step] setting.\n" "If hints [code]\"or_greater\"[/code] and [code]\"or_less\"[/code] are " "provided, the editor widget will not cap the value at range boundaries. The " "[code]\"exp\"[/code] hint will make the edited values on range to change " "exponentially. The [code]\"prefer_slider\"[/code] hint will make integer " "values use the slider instead of arrows for editing, while [code]" "\"hide_control\"[/code] will hide the element controlling the value of the " "editor widget.\n" "Hints also allow to indicate the units for the edited value. Using [code]" "\"radians_as_degrees\"[/code] you can specify that the actual value is in " "radians, but should be displayed in degrees in the Inspector dock (the range " "values are also in degrees). [code]\"degrees\"[/code] allows to add a degree " "sign as a unit suffix (the value is unchanged). Finally, a custom suffix can " "be provided using [code]\"suffix:unit\"[/code], where \"unit\" can be any " "string.\n" "See also [constant PROPERTY_HINT_RANGE].\n" "[codeblock]\n" "@export_range(0, 20) var number\n" "@export_range(-10, 20) var number\n" "@export_range(-10, 20, 0.2) var number: float\n" "@export_range(0, 20) var numbers: Array[float]\n" "\n" "@export_range(0, 100, 1, \"or_greater\") var power_percent\n" "@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" "\n" "@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" "@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" "@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n" "[/codeblock]" msgstr "" "將 [int]、[float]、[Array][lb][int][rb]、[Array][lb][float][rb]、" "[PackedByteArray]、[PackedInt32Array]、[PackedInt64Array]、" "[PackedFloat32Array] 或 [PackedFloat64Array] 型別的屬性匯出為範圍值。範圍必須" "由 [param min] 和 [param max] 定義,以及一個選用的 [param step] 和各種額外提" "示。[param step] 對於整數屬性預設為 [code]1[/code]。對於浮點數,此值取決於您" "的 [member EditorSettings.interface/inspector/default_float_step] 設定。\n" "如果提供了 [code]\"or_greater\"[/code] 和 [code]\"or_less\"[/code] 提示,編輯" "器小工具將不會將數值限制在範圍邊界。[code]\"exp\"[/code] 提示會使範圍上的編輯" "數值呈指數變化。[code]\"hide_slider\"[/code] 提示會隱藏編輯器小工具的滑桿元" "素。\n" "提示也允許指示編輯值的單位。使用 [code]\"radians_as_degrees\"[/code],您可以" "指定實際值以弧度為單位,但在屬性檢視器面板中應以度數顯示(範圍值也以度數為單" "位)。[code]\"degrees\"[/code] 允許新增一個度數符號作為單位後綴(值不變)。最" "後,可以使用 [code]\"suffix:unit\"[/code] 提供自訂後綴,其中 \"unit\" 可以是" "任何字串。\n" "另請參閱 [constant PROPERTY_HINT_RANGE]。\n" "[codeblock]\n" "@export_range(0, 20) var number\n" "@export_range(-10, 20) var number\n" "@export_range(-10, 20, 0.2) var number: float\n" "@export_range(0, 20) var numbers: Array[float]\n" "\n" "@export_range(0, 100, 1, \"or_greater\") var power_percent\n" "@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" "\n" "@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" "@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" "@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a property with [constant PROPERTY_USAGE_STORAGE] flag. The property " "is not displayed in the editor, but it is serialized and stored in the scene " "or resource file. This can be useful for [annotation @tool] scripts. Also " "the property value is copied when [method Resource.duplicate] or [method " "Node.duplicate] is called, unlike non-exported variables.\n" "[codeblock]\n" "var a # Not stored in the file, not displayed in the editor.\n" "@export_storage var b # Stored in the file, not displayed in the editor.\n" "@export var c: int # Stored in the file, displayed in the editor.\n" "[/codeblock]" msgstr "" "導出一個帶有 [constant PROPERTY_USAGE_STORAGE] 標誌的屬性。該屬性不會在編輯器" "中顯示,但它會被序列化並存儲在場景或資源文件中。這對於帶有 [annotation " "@tool] 的腳本特別有用。此外,當調用 [method Resource.duplicate] 或 [method " "Node.duplicate] 方法時,該屬性的值會被複製,這與非導出變量不同。\n" "[codeblock]\n" "var a # 不存儲在文件中,不在編輯器中顯示。\n" "@export_storage var b # Stored in the file, not displayed in the editor.\n" "@export var c: int # Stored in the file, displayed in the editor.\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Define a new subgroup for the following exported properties. This helps to " "organize properties in the Inspector dock. Subgroups work exactly like " "groups, except they need a parent group to exist. See [annotation " "@export_group].\n" "See also [constant PROPERTY_USAGE_SUBGROUP].\n" "[codeblock]\n" "@export_group(\"Racer Properties\")\n" "@export var nickname = \"Nick\"\n" "@export var age = 26\n" "\n" "@export_subgroup(\"Car Properties\", \"car_\")\n" "@export var car_label = \"Speedy\"\n" "@export var car_number = 3\n" "[/codeblock]\n" "[b]Note:[/b] Subgroups cannot be nested, but you can use the slash separator " "([code]/[/code]) to achieve the desired effect:\n" "[codeblock]\n" "@export_group(\"Car Properties\")\n" "@export_subgroup(\"Wheels\", \"wheel_\")\n" "@export_subgroup(\"Wheels/Front\", \"front_wheel_\")\n" "@export var front_wheel_strength = 10\n" "@export var front_wheel_mobility = 5\n" "@export_subgroup(\"Wheels/Rear\", \"rear_wheel_\")\n" "@export var rear_wheel_strength = 8\n" "@export var rear_wheel_mobility = 3\n" "@export_subgroup(\"Wheels\", \"wheel_\")\n" "@export var wheel_material: PhysicsMaterial\n" "[/codeblock]" msgstr "" "為後續的匯出屬性定義新的子群組。這有助於在屬性檢視器面板中組織屬性。子群組的" "運作方式與群組完全相同,只是它們需要有一個父群組才能存在。請參閱 [annotation " "@export_group]。\n" "另請參閱 [constant PROPERTY_USAGE_SUBGROUP]。\n" "[codeblock]\n" "@export_group(\"Racer Properties\")\n" "@export var nickname = \"Nick\"\n" "@export var age = 26\n" "\n" "@export_subgroup(\"Car Properties\", \"car_\")\n" "@export var car_label = \"Speedy\"\n" "@export var car_number = 3\n" "[/codeblock]\n" "[b]注意:[/b] 子群組無法巢狀,但您可以使用斜線分隔符號 ([code]/[/code]) 來達" "成所需的效果:\n" "[codeblock]\n" "@export_group(\"Car Properties\")\n" "@export_subgroup(\"Wheels\", \"wheel_\")\n" "@export_subgroup(\"Wheels/Front\", \"front_wheel_\")\n" "@export var front_wheel_strength = 10\n" "@export var front_wheel_mobility = 5\n" "@export_subgroup(\"Wheels/Rear\", \"rear_wheel_\")\n" "@export var rear_wheel_strength = 8\n" "@export var rear_wheel_mobility = 3\n" "@export_subgroup(\"Wheels\", \"wheel_\")\n" "@export var wheel_material: PhysicsMaterial\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Export a [Callable] property as a clickable button with the label [param " "text]. When the button is pressed, the callable is called.\n" "If [param icon] is specified, it is used to fetch an icon for the button via " "[method Control.get_theme_icon], from the [code]\"EditorIcons\"[/code] theme " "type. If [param icon] is omitted, the default [code]\"Callable\"[/code] icon " "is used instead.\n" "Consider using the [EditorUndoRedoManager] to allow the action to be " "reverted safely.\n" "See also [constant PROPERTY_HINT_TOOL_BUTTON].\n" "[codeblock]\n" "@tool\n" "extends Sprite2D\n" "\n" "@export_tool_button(\"Hello\") var hello_action = hello\n" "@export_tool_button(\"Randomize the color!\", \"ColorRect\")\n" "var randomize_color_action = randomize_color\n" "\n" "func hello():\n" "\tprint(\"Hello world!\")\n" "\n" "func randomize_color():\n" "\tvar undo_redo = EditorInterface.get_editor_undo_redo()\n" "\tundo_redo.create_action(\"Randomized Sprite2D Color\")\n" "\tundo_redo.add_do_property(self, &\"self_modulate\", Color(randf(), " "randf(), randf()))\n" "\tundo_redo.add_undo_property(self, &\"self_modulate\", self_modulate)\n" "\tundo_redo.commit_action()\n" "[/codeblock]\n" "[b]Note:[/b] The property is exported without the [constant " "PROPERTY_USAGE_STORAGE] flag because a [Callable] cannot be properly " "serialized and stored in a file.\n" "[b]Note:[/b] In an exported project neither [EditorInterface] nor " "[EditorUndoRedoManager] exist, which may cause some scripts to break. To " "prevent this, you can use [method Engine.get_singleton] and omit the static " "type from the variable declaration:\n" "[codeblock]\n" "var undo_redo = " "Engine.get_singleton(&\"EditorInterface\").get_editor_undo_redo()\n" "[/codeblock]\n" "[b]Note:[/b] Avoid storing lambda callables in member variables of " "[RefCounted]-based classes (e.g. resources), as this can lead to memory " "leaks. Use only method callables and optionally [method Callable.bind] or " "[method Callable.unbind]." msgstr "" "將 [Callable] 屬性匯出為一個可點擊按鈕,標籤為 [param text]。按下按鈕時,會呼" "叫該 callable。\n" "若指定 [param icon],將會透過 [method Control.get_theme_icon] 從 [code]" "\"EditorIcons\"[/code] 主題類型取得按鈕圖示。若未指定則預設使用 [code]" "\"Callable\"[/code] 圖示。\n" "建議使用 [EditorUndoRedoManager],以便安全地復原動作。\n" "另請參見 [constant PROPERTY_HINT_TOOL_BUTTON]。\n" "[codeblock]\n" "@tool\n" "extends Sprite2D\n" "\n" "@export_tool_button(\"Hello\") var hello_action = hello\n" "@export_tool_button(\"Randomize the color!\", \"ColorRect\")\n" "var randomize_color_action = randomize_color\n" "\n" "func hello():\n" "\tprint(\"Hello world!\")\n" "\n" "func randomize_color():\n" "\tvar undo_redo = EditorInterface.get_editor_undo_redo()\n" "\tundo_redo.create_action(\"Randomized Sprite2D Color\")\n" "\tundo_redo.add_do_property(self, &\"self_modulate\", Color(randf(), " "randf(), randf()))\n" "\tundo_redo.add_undo_property(self, &\"self_modulate\", self_modulate)\n" "\tundo_redo.commit_action()\n" "[/codeblock]\n" "[b]注意:[/b]該屬性匯出時不帶 [constant PROPERTY_USAGE_STORAGE] 標誌,因 " "[Callable] 無法正確序列化及儲存至檔案。\n" "[b]注意:[/b]匯出專案時,[EditorInterface] 與 [EditorUndoRedoManager] 並不存" "在,可能導致部分腳本出錯。為避免此情況,請使用 [method Engine.get_singleton] " "並省略變數宣告的靜態型別:\n" "[codeblock]\n" "var undo_redo = " "Engine.get_singleton(&\"EditorInterface\").get_editor_undo_redo()\n" "[/codeblock]\n" "[b]注意:[/b]避免在繼承自 [RefCounted] 的類別成員變數中儲存 lambda callable" "(如資源),否則可能導致記憶體洩漏。請僅使用方法 callable,並可選用 [method " "Callable.bind] 或 [method Callable.unbind]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Add a custom icon to the current script. The icon specified at [param " "icon_path] is displayed in the Scene dock for every node of that class, as " "well as in various editor dialogs.\n" "[codeblock]\n" "@icon(\"res://path/to/class/icon.svg\")\n" "[/codeblock]\n" "[b]Note:[/b] Only the script can have a custom icon. Inner classes are not " "supported.\n" "[b]Note:[/b] As annotations describe their subject, the [annotation @icon] " "annotation must be placed before the class definition and inheritance.\n" "[b]Note:[/b] Unlike most other annotations, the argument of the [annotation " "@icon] annotation must be a string literal (constant expressions are not " "supported)." msgstr "" "為目前腳本新增自訂圖示。[param icon_path] 指定的圖示會顯示於場景面板中該類別" "的每個節點,以及各種編輯器對話框。\n" "[codeblock]\n" "@icon(\"res://path/to/class/icon.svg\")\n" "[/codeblock]\n" "[b]注意:[/b] 只有腳本本身可設自訂圖示,不支援內部類別。\n" "[b]注意:[/b] 注解必須放在類別定義與繼承之前。\n" "[b]注意:[/b] 不同於多數注解,[annotation @icon] 參數必須為字串常值(不支援常" "數運算式)。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Mark the following property as assigned when the [Node] is ready. Values for " "these properties are not assigned immediately when the node is initialized " "([method Object._init]), and instead are computed and stored right before " "[method Node._ready].\n" "[codeblock]\n" "@onready var character_name = $Label\n" "[/codeblock]" msgstr "" "將下列屬性標記為在 [Node] 進入就緒狀態時才賦值。這些屬性不會在節點初始化" "([method Object._init])時立即設定,而是會在呼叫 [method Node._ready] 前計算" "並儲存。\n" "[codeblock]\n" "@onready var character_name = $Label\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml #, fuzzy msgid "" "Mark the following method for remote procedure calls. See [url=$DOCS_URL/" "tutorials/networking/high_level_multiplayer.html]High-level multiplayer[/" "url].\n" "If [param mode] is set as [code]\"any_peer\"[/code], allows any peer to call " "this RPC function. Otherwise, only the authority peer is allowed to call it " "and [param mode] should be kept as [code]\"authority\"[/code]. When " "configuring functions as RPCs with [method Node.rpc_config], each of these " "modes respectively corresponds to the [constant " "MultiplayerAPI.RPC_MODE_AUTHORITY] and [constant " "MultiplayerAPI.RPC_MODE_ANY_PEER] RPC modes. See [enum " "MultiplayerAPI.RPCMode]. If a peer that is not the authority tries to call a " "function that is only allowed for the authority, the function will not be " "executed. If the error can be detected locally (when the RPC configuration " "is consistent between the local and the remote peer), an error message will " "be displayed on the sender peer. Otherwise, the remote peer will detect the " "error and print an error there.\n" "If [param sync] is set as [code]\"call_remote\"[/code], the function will " "only be executed on the remote peer, but not locally. To run this function " "locally too, set [param sync] to [code]\"call_local\"[/code]. When " "configuring functions as RPCs with [method Node.rpc_config], this is " "equivalent to setting [code]call_local[/code] to [code]true[/code].\n" "The [param transfer_mode] accepted values are [code]\"unreliable\"[/code], " "[code]\"unreliable_ordered\"[/code], or [code]\"reliable\"[/code]. It sets " "the transfer mode of the underlying [MultiplayerPeer]. See [member " "MultiplayerPeer.transfer_mode].\n" "The [param transfer_channel] defines the channel of the underlying " "[MultiplayerPeer]. See [member MultiplayerPeer.transfer_channel].\n" "The order of [param mode], [param sync] and [param transfer_mode] does not " "matter, but values related to the same argument must not be used more than " "once. [param transfer_channel] always has to be the 4th argument (you must " "specify 3 preceding arguments).\n" "[codeblock]\n" "@rpc\n" "func fn(): pass\n" "\n" "@rpc(\"any_peer\", \"unreliable_ordered\")\n" "func fn_update_pos(): pass\n" "\n" "@rpc(\"authority\", \"call_remote\", \"unreliable\", 0) # Equivalent to " "@rpc\n" "func fn_default(): pass\n" "[/codeblock]\n" "[b]Note:[/b] Methods annotated with [annotation @rpc] cannot receive objects " "which define required parameters in [method Object._init]. See [method " "Object._init] for more details." msgstr "" "將後續方法標記為遠端程式呼叫。見[url=$DOCS_URL/tutorials/networking/" "high_level_multiplayer.html]《高階多人遊戲》[/url]。\n" "如果將 [param mode] 設為 [code]\"any_peer\"[/code],則會允許所有對等體呼叫該 " "RPC 函式。否則就只允許該對等體的控制方呼叫,此時應該讓 [param mode] 保持為 " "[code]\"authority\"[/code]。使用 [method Node.rpc_config] 將函式配置為 RPC " "時,這些模式對應的是 RPC 模式 [constant MultiplayerAPI.RPC_MODE_AUTHORITY] " "和 [constant MultiplayerAPI.RPC_MODE_ANY_PEER]。如果非控制方的對等體嘗試呼叫" "僅限控制方呼叫的函式,則不會執行該函式。如果本地能夠偵測到錯誤(本地與遠端對" "等體的 RPC 配置一致),則發送方對等體會顯示錯誤消息。否則遠程對等體會偵測到該" "錯誤並輸出錯誤。\n" "如果將 [param sync] 設為 [code]\"call_remote\"[/code],則該函式只會在遠端對等" "體上執行,不會在本地執行。要讓這個函式在本地也執行,請將 [param sync] 設定為 " "[code]\"call_local\"[/code]。使用 [method Node.rpc_config] 將函式配置為 RPC " "時,等價於將 [code]call_local[/code] 設定為 [code]true[/code]。\n" "[param transfer_mode] 能夠接受的值為 [code]\"unreliable\"[/code]、[code]" "\"unreliable_ordered\"[/code]、[code]\"reliable\"[/code],會設定底層 " "[MultiplayerPeer] 的傳輸模式。見 [member MultiplayerPeer.transfer_mode]。\n" "[param transfer_channel] 定義的是底層 [MultiplayerPeer] 的通道。見 [member " "MultiplayerPeer.transfer_channel]。\n" "[param mode]、[param sync] 和 [param transfer_mode] 的順序是無關的,但是相同" "參數的取值不能出現多次。[param transfer_channel] 必須始終為第四個參數(前三個" "參數必須指定)。\n" "[codeblock]\n" "@rpc\n" "func fn(): pass\n" "\n" "@rpc(\"any_peer\", \"unreliable_ordered\")\n" "func fn_update_pos(): pass\n" "\n" "@rpc(\"authority\", \"call_remote\", \"unreliable\", 0) # 等價於 @rpc\n" "func fn_default(): pass\n" "[/codeblock]" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Make a script with static variables to not persist after all references are " "lost. If the script is loaded again the static variables will revert to " "their default values.\n" "[b]Note:[/b] As annotations describe their subject, the [annotation " "@static_unload] annotation must be placed before the class definition and " "inheritance.\n" "[b]Warning:[/b] Currently, due to a bug, scripts are never freed, even if " "[annotation @static_unload] annotation is used." msgstr "" "創建一個帶有靜態變量的腳本,使得這些變量在失去所有引用後不會持久保存。如果腳" "本再次被加載,靜態變量將恢復到它們的默認值。\n" "[b]注意:[/b]由於註解描述的是它們的主體,[annotation @static_unload] 註解必須" "放置在類定義和繼承聲明之前。\n" "[b]警告:[/b]目前,由於一個 bug 的存在,即使使用了 [annotation " "@static_unload] 註解,腳本也永遠不會被釋放。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Mark the current script as a tool script, allowing it to be loaded and " "executed by the editor. See [url=$DOCS_URL/tutorials/plugins/" "running_code_in_the_editor.html]Running code in the editor[/url].\n" "[codeblock]\n" "@tool\n" "extends Node\n" "[/codeblock]\n" "[b]Note:[/b] As annotations describe their subject, the [annotation @tool] " "annotation must be placed before the class definition and inheritance." msgstr "" "將目前腳本標記為工具腳本,使其可由編輯器載入與執行。請參見 [url=$DOCS_URL/" "tutorials/plugins/running_code_in_the_editor.html]在編輯器中執行程式碼[/" "url]。\n" "[codeblock]\n" "@tool\n" "extends Node\n" "[/codeblock]\n" "[b]注意:[/b] 注解必須放在類別定義與繼承之前。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Mark the following statement to ignore the specified [param warning]. See " "[url=$DOCS_URL/tutorials/scripting/gdscript/warning_system.html]GDScript " "warning system[/url].\n" "[codeblock]\n" "func test():\n" "\tprint(\"hello\")\n" "\treturn\n" "\t@warning_ignore(\"unreachable_code\")\n" "\tprint(\"unreachable\")\n" "[/codeblock]\n" "See also [annotation @warning_ignore_start] and [annotation " "@warning_ignore_restore]." msgstr "" "將下列語句標記為忽略指定的 [param warning]。詳見 [url=$DOCS_URL/tutorials/" "scripting/gdscript/warning_system.html]GDScript 警告系統[/url]。\n" "[codeblock]\n" "func test():\n" "\tprint(\"hello\")\n" "\treturn\n" "\t@warning_ignore(\"unreachable_code\")\n" "\tprint(\"unreachable\")\n" "[/codeblock]\n" "另請參考 [annotation @warning_ignore_start] 及 [annotation " "@warning_ignore_restore]。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Stops ignoring the listed warning types after [annotation " "@warning_ignore_start]. Ignoring the specified warning types will be reset " "to Project Settings. This annotation can be omitted to ignore the warning " "types until the end of the file.\n" "[b]Note:[/b] Unlike most other annotations, arguments of the [annotation " "@warning_ignore_restore] annotation must be string literals (constant " "expressions are not supported)." msgstr "" "在使用 [annotation @warning_ignore_start] 後,停止忽略所列的警告類型。忽略的" "警告類型會重設回專案設定。若省略此註解,將會持續忽略至檔案結尾。\n" "[b]注意:[/b]與大多數其他註解不同,[annotation @warning_ignore_restore] 的參" "數必須為字串常值(不支援常數運算式)。" #: modules/gdscript/doc_classes/@GDScript.xml msgid "" "Starts ignoring the listed warning types until the end of the file or the " "[annotation @warning_ignore_restore] annotation with the given warning " "type.\n" "[codeblock]\n" "func test():\n" "\tvar a = 1 # Warning (if enabled in the Project Settings).\n" "\t@warning_ignore_start(\"unused_variable\")\n" "\tvar b = 2 # No warning.\n" "\tvar c = 3 # No warning.\n" "\t@warning_ignore_restore(\"unused_variable\")\n" "\tvar d = 4 # Warning (if enabled in the Project Settings).\n" "[/codeblock]\n" "[b]Note:[/b] To suppress a single warning, use [annotation @warning_ignore] " "instead.\n" "[b]Note:[/b] Unlike most other annotations, arguments of the [annotation " "@warning_ignore_start] annotation must be string literals (constant " "expressions are not supported)." msgstr "" "開始忽略所列的警告類型,直到檔案結尾或遇到 [annotation " "@warning_ignore_restore] 且指定該警告類型為止。\n" "[codeblock]\n" "func test():\n" "\tvar a = 1 # 警告(若於專案設定啟用)。\n" "\t@warning_ignore_start(\"unused_variable\")\n" "\tvar b = 2 # 無警告。\n" "\tvar c = 3 # 無警告。\n" "\t@warning_ignore_restore(\"unused_variable\")\n" "\tvar d = 4 # 警告(若於專案設定啟用)。\n" "[/codeblock]\n" "[b]注意:[/b]如僅欲抑制單一警告,請改用 [annotation @warning_ignore]。\n" "[b]注意:[/b]與多數其他註解不同,[annotation @warning_ignore_start] 的參數必" "須為字串常值(不支援常數運算式)。" #: doc/classes/@GlobalScope.xml msgid "Global scope constants and functions." msgstr "全域範圍的常數和函式。" #: doc/classes/@GlobalScope.xml msgid "" "A list of global scope enumerated constants and built-in functions. This is " "all that resides in the globals, constants regarding error codes, keycodes, " "property hints, etc.\n" "Singletons are also documented here, since they can be accessed from " "anywhere.\n" "For the entries that can only be accessed from scripts written in GDScript, " "see [@GDScript]." msgstr "" "全域範圍的列舉常數與內建函式列表,包含所有存在於全域命名空間中的錯誤碼、按鍵" "碼、屬性提示等常數。\n" "單例亦記載於此,因為它們可於任何位置存取。\n" "若為僅能於 GDScript 腳本中存取的項目,請參閱 [@GDScript]。" #: doc/classes/@GlobalScope.xml doc/classes/RandomNumberGenerator.xml msgid "Random number generation" msgstr "亂數產生" #: doc/classes/@GlobalScope.xml msgid "" "Returns the absolute value of a [Variant] parameter [param x] (i.e. non-" "negative value). Supported types: [int], [float], [Vector2], [Vector2i], " "[Vector3], [Vector3i], [Vector4], [Vector4i].\n" "[codeblock]\n" "var a = abs(-1)\n" "# a is 1\n" "\n" "var b = abs(-1.2)\n" "# b is 1.2\n" "\n" "var c = abs(Vector2(-3.5, -4))\n" "# c is (3.5, 4)\n" "\n" "var d = abs(Vector2i(-5, -6))\n" "# d is (5, 6)\n" "\n" "var e = abs(Vector3(-7, 8.5, -3.8))\n" "# e is (7, 8.5, 3.8)\n" "\n" "var f = abs(Vector3i(-7, -8, -9))\n" "# f is (7, 8, 9)\n" "[/codeblock]\n" "[b]Note:[/b] For better type safety, use [method absf], [method absi], " "[method Vector2.abs], [method Vector2i.abs], [method Vector3.abs], [method " "Vector3i.abs], [method Vector4.abs], or [method Vector4i.abs]." msgstr "" "返回一個 [Variant] 型別參數 [param x] 的絕對值(即非負值)。支援的型別:" "[int]、[float]、[Vector2]、[Vector2i]、[Vector3]、[Vector3i]、[Vector4]、" "[Vector4i] 。\n" "[codeblock]\n" "var a = abs(-1)\n" "# a=1\n" "\n" "var b = abs(-1.2)\n" "# b=1.2\n" "\n" "var c = abs(Vector2(-3.5, -4))\n" "# c=(3.5, 4)\n" "\n" "var d = abs(Vector2i(-5, -6))\n" "# d=(5, 6)\n" "\n" "var e = abs(Vector3(-7, 8.5, -3.8))\n" "# e=(7, 8.5, 3.8)\n" "\n" "var f = abs(Vector3i(-7, -8, -9))\n" "# f=(7, 8, 9)\n" "[/codeblock]\n" "[b]注意:[/b]為了更好的型別安全,請使用 [method absf]、[method absi]、" "[method Vector2.abs]、[method Vector2i.abs]、[method Vector3.abs]、[method " "Vector3i.abs]、[method Vector4.abs] 或 [method Vector4i.abs]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the absolute value of float parameter [param x] (i.e. positive " "value).\n" "[codeblock]\n" "# a is 1.2\n" "var a = absf(-1.2)\n" "[/codeblock]" msgstr "" "返回浮點參數 [param x] 的絕對值(即正值)。\n" "[codeblock]\n" "# a=1.2\n" "var a = absf(-1.2)\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the absolute value of int parameter [param x] (i.e. positive " "value).\n" "[codeblock]\n" "# a is 1\n" "var a = absi(-1)\n" "[/codeblock]" msgstr "" "返回整數參數 [param x] 的絕對值(即正值)。\n" "[codeblock]\n" "# a=1\n" "var a = absi(-1)\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the arc cosine of [param x] in radians. Use to get the angle of " "cosine [param x]. [param x] will be clamped between [code]-1.0[/code] and " "[code]1.0[/code] (inclusive), in order to prevent [method acos] from " "returning [constant @GDScript.NAN].\n" "[codeblock]\n" "# c is 0.523599 or 30 degrees if converted with rad_to_deg(c)\n" "var c = acos(0.866025)\n" "[/codeblock]" msgstr "" "返回 [param x] 的反餘弦,單位為弧度。用來獲取餘弦 [param x] 的角度。[param " "x] 會被鉗制在 [code]-1.0[/code] 和 [code]1.0[/code](包括)之間,因此 " "[method acos] 不會返回 [constant @GDScript.NAN]。\n" "[codeblock]\n" "# 如果用 rad_to_deg(c) 轉換,c為0.523599或30度\n" "var c = acos(0.866025)\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the hyperbolic arc (also called inverse) cosine of [param x], " "returning a value in radians. Use it to get the angle from an angle's cosine " "in hyperbolic space if [param x] is larger or equal to 1. For values of " "[param x] lower than 1, it will return 0, in order to prevent [method acosh] " "from returning [constant @GDScript.NAN].\n" "[codeblock]\n" "var a = acosh(2) # Returns 1.31695789692482\n" "cosh(a) # Returns 2\n" "\n" "var b = acosh(-1) # Returns 0\n" "[/codeblock]" msgstr "" "返回參數 x 的雙曲弧(也稱為反餘弦),返回弧度值。使用它來獲取在雙曲空間中,如" "果參數 x 大於或等於 1 ,角的餘弦的角度。對於參數 x 小於 1 的值,將返回 0 ,以" "防止 [method acosh] 返回 [constant @GDScript.NAN] 。\n" "[codeblock]\n" "var a = acosh(2) # 返回 1.31695789692482\n" "cosh(a) # 返回 2\n" "\n" "var b = acosh(-1) # 返回 0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the difference between the two angles (in radians), in the range of " "[code][-PI, +PI][/code]. When [param from] and [param to] are opposite, " "returns [code]-PI[/code] if [param from] is smaller than [param to], or " "[code]PI[/code] otherwise." msgstr "" "回傳兩角度(弧度制)的差值,範圍為 [code][-PI, +PI][/code]。\n" "若 [param from] 與 [param to] 方向相反,且 [param from] 小於 [param to] 時回" "傳 [code]-PI[/code],否則回傳 [code]PI[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the arc sine of [param x] in radians. Use to get the angle of sine " "[param x]. [param x] will be clamped between [code]-1.0[/code] and " "[code]1.0[/code] (inclusive), in order to prevent [method asin] from " "returning [constant @GDScript.NAN].\n" "[codeblock]\n" "# s is 0.523599 or 30 degrees if converted with rad_to_deg(s)\n" "var s = asin(0.5)\n" "[/codeblock]" msgstr "" "返回 [param x] 的反正弦值,單位為弧度。用來獲取正弦 [param x] 的角度。[param " "x] 會被鉗制在 [code]-1.0[/code] 和 [code]1.0[/code](包括)之間,因此 " "[method asin] 不會返回 [constant @GDScript.NAN]。\n" "[codeblock]\n" "# 如果用 rad_to_deg(s) 轉換,s為0.523599或30度\n" "var s = asin(0.5)\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the hyperbolic arc (also called inverse) sine of [param x], " "returning a value in radians. Use it to get the angle from an angle's sine " "in hyperbolic space.\n" "[codeblock]\n" "var a = asinh(0.9) # Returns 0.8088669356527824\n" "sinh(a) # Returns 0.9\n" "[/codeblock]" msgstr "" "返回參數 x 的雙曲弧(也稱為反正弦),返回弧度值。使用它來獲取在雙曲空間中,角" "的正弦角度。\n" "[codeblock]\n" "var a = asinh(0.9) # 返回 0.8088669356527824\n" "sinh(a) # 返回 0.9\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the arc tangent of [param x] in radians. Use it to get the angle " "from an angle's tangent in trigonometry.\n" "The method cannot know in which quadrant the angle should fall. See [method " "atan2] if you have both [code]y[/code] and [code skip-lint]x[/code].\n" "[codeblock]\n" "var a = atan(0.5) # a is 0.463648\n" "[/codeblock]\n" "If [param x] is between [code]-PI / 2[/code] and [code]PI / 2[/code] " "(inclusive), [code]atan(tan(x))[/code] is equal to [param x]." msgstr "" "返回 [param x] 的反正切值,單位為弧度。可用於由三角函數中的切線值取得角度。\n" "此方法無法判斷角度應該落於哪一象限。如果你同時有 [code]y[/code] 與 [code " "skip-lint]x[/code],請參考 [method atan2]。\n" "[codeblock]\n" "var a = atan(0.5) # a 是 0.463648\n" "[/codeblock]\n" "若 [param x] 介於 [code]-PI / 2[/code] 與 [code]PI / 2[/code](含)之間," "[code]atan(tan(x))[/code] 等於 [param x]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the arc tangent of [code]y/x[/code] in radians. Use to get the angle " "of tangent [code]y/x[/code]. To compute the value, the method takes into " "account the sign of both arguments in order to determine the quadrant.\n" "Important note: The Y coordinate comes first, by convention.\n" "[codeblock]\n" "var a = atan2(0, -1) # a is 3.141593\n" "[/codeblock]" msgstr "" "返回 [code]y/x[/code] 的反正切值,單位為弧度。用來獲得正切值為 [code]y/x[/" "code] 的角度。為了計算該值,該方法考慮了兩個參數的符號,以確定象限。\n" "重要提示:按照慣例,Y 座標在前。\n" "[codeblock]\n" "var a = atan2(0, -1) # a = 3.141593\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the hyperbolic arc (also called inverse) tangent of [param x], " "returning a value in radians. Use it to get the angle from an angle's " "tangent in hyperbolic space if [param x] is between -1 and 1 (non-" "inclusive).\n" "In mathematics, the inverse hyperbolic tangent is only defined for -1 < " "[param x] < 1 in the real set, so values equal or lower to -1 for [param x] " "return negative [constant @GDScript.INF] and values equal or higher than 1 " "return positive [constant @GDScript.INF] in order to prevent [method atanh] " "from returning [constant @GDScript.NAN].\n" "[codeblock]\n" "var a = atanh(0.9) # Returns 1.47221948958322\n" "tanh(a) # Returns 0.9\n" "\n" "var b = atanh(-2) # Returns -inf\n" "tanh(b) # Returns -1\n" "[/codeblock]" msgstr "" "返回 [param x] 的雙曲弧(也稱為反正切),以弧度為單位。如果 [param x] 在 -1 " "和 1 之間(不包括 -1 和 1 ),則使用它從雙曲空間中的角度的正切值獲取角度。\n" "在數學中,只有在實數集中,-1 < [param x] < 1 的情況下,雙曲反正切才有意義。因" "此,為了預防 [method atanh] 返回 [constant @GDScript.NAN] ,對於 [param x] 等" "於或小於 -1 的值,返回負的 [constant @GDScript.NAN] ;對於[param x]等於或大" "於 1 的值,返回正的 [constant @GDScript.INF] 。\n" "[codeblock]\n" "var a = atanh(0.9) # 返回 1.47221948958322\n" "tanh(a) # 返回 0.9\n" "\n" "var b = atanh(-2) # 返回 -inf\n" "tanh(b) # 返回 -1\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the derivative at the given [param t] on a one-dimensional " "[url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]Bézier curve[/url] " "defined by the given [param control_1], [param control_2], and [param end] " "points." msgstr "" "返回由給定的 [param control_1]、[param control_2] 和 [param end] 點定義的一維" "[url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]貝茲曲線[/url]上 [param " "t] 處的導數。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the point at the given [param t] on a one-dimensional [url=https://" "en.wikipedia.org/wiki/B%C3%A9zier_curve]Bézier curve[/url] defined by the " "given [param control_1], [param control_2], and [param end] points." msgstr "" "返回由給定的 [param control_1]、[param control_2] 和 [param end] 點定義的一維" "[url=https://en.wikipedia.org/wiki/B%C3%A9zier_curve]貝茲曲線[/url]上位於給" "定 [param t] 的點。" #: doc/classes/@GlobalScope.xml msgid "" "Decodes a byte array back to a [Variant] value, without decoding objects.\n" "[b]Note:[/b] If you need object deserialization, see [method " "bytes_to_var_with_objects]." msgstr "" "將位元組陣列解碼回 [Variant] 值,無法解碼物件。\n" "[b]注意:[/b]如果需要物件反序列化,請參見 [method " "bytes_to_var_with_objects]。" #: doc/classes/@GlobalScope.xml msgid "" "Decodes a byte array back to a [Variant] value. Decoding objects is " "allowed.\n" "[b]Warning:[/b] Deserialized object can contain code which gets executed. Do " "not use this option if the serialized object comes from untrusted sources to " "avoid potential security threats (remote code execution)." msgstr "" "將位元組陣列解碼回 [Variant] 值。允許解碼物件。\n" "[b]警告:[/b]反序列化的物件可能包含執行的程式碼。如果序列化物件的來源不受信" "任,則不要使用此選項,以避免潛在的安全威脅(遠端執行程式碼)。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] upward (towards positive infinity), returning the smallest " "whole number that is not less than [param x]. Supported types: [int], " "[float], [Vector2], [Vector2i], [Vector3], [Vector3i], [Vector4], " "[Vector4i].\n" "[codeblock]\n" "var i = ceil(1.45) # i is 2.0\n" "i = ceil(1.001) # i is 2.0\n" "[/codeblock]\n" "See also [method floor], [method round], and [method snapped].\n" "[b]Note:[/b] For better type safety, use [method ceilf], [method ceili], " "[method Vector2.ceil], [method Vector3.ceil], or [method Vector4.ceil]." msgstr "" "將 [param x] 向上取整(朝正無窮大),回傳不小於 [param x] 的最小整數。\n" "支援型別: [int]、[float]、[Vector2]、[Vector2i]、[Vector3]、[Vector3i]、" "[Vector4]、[Vector4i]。\n" "[codeblock]\n" "var i = ceil(1.45) # i 為 2.0\n" "i = ceil(1.001) # i 為 2.0\n" "[/codeblock]\n" "另見 [method floor]、[method round] 與 [method snapped]。\n" "[b]注意:[/b] 為獲得更佳的型別安全性,請使用 [method ceilf]、[method ceili]、" "[method Vector2.ceil]、[method Vector3.ceil] 或 [method Vector4.ceil]。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] upward (towards positive infinity), returning the smallest " "whole number that is not less than [param x].\n" "A type-safe version of [method ceil], returning a [float]." msgstr "" "向上四捨五入 [param x](朝正無窮大),返回不小於 [param x] 的最小整數。\n" "[method ceil] 的型別安全版本,返回一個 [float]。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] upward (towards positive infinity), returning the smallest " "whole number that is not less than [param x].\n" "A type-safe version of [method ceil], returning an [int]." msgstr "" "向上四捨五入 [param x](朝正無窮大),返回不小於 [param x] 的最小整數。\n" "[method ceil] 的型別安全版本,返回一個 [int]。" #: doc/classes/@GlobalScope.xml msgid "" "Clamps the [param value], returning a [Variant] not less than [param min] " "and not more than [param max]. Any values that can be compared with the less " "than and greater than operators will work.\n" "[codeblock]\n" "var a = clamp(-10, -1, 5)\n" "# a is -1\n" "\n" "var b = clamp(8.1, 0.9, 5.5)\n" "# b is 5.5\n" "[/codeblock]\n" "[b]Note:[/b] For better type safety, use [method clampf], [method clampi], " "[method Vector2.clamp], [method Vector2i.clamp], [method Vector3.clamp], " "[method Vector3i.clamp], [method Vector4.clamp], [method Vector4i.clamp], or " "[method Color.clamp] (not currently supported by this method).\n" "[b]Note:[/b] When using this on vectors it will [i]not[/i] perform component-" "wise clamping, and will pick [param min] if [code]value < min[/code] or " "[param max] if [code]value > max[/code]. To perform component-wise clamping " "use the methods listed above." msgstr "" "將 [param value] 限制在 [param min] 與 [param max] 之間,回傳不小於 [param " "min] 且不大於 [param max] 的 [Variant]。任何可用於大小比較的值都適用。\n" "[codeblock]\n" "var a = clamp(-10, -1, 5)\n" "# a 為 -1\n" "\n" "var b = clamp(8.1, 0.9, 5.5)\n" "# b 為 5.5\n" "[/codeblock]\n" "[b]注意:[/b]為提升型別安全性,請優先使用 [method clampf]、[method clampi]、" "[method Vector2.clamp]、[method Vector2i.clamp]、[method Vector3.clamp]、" "[method Vector3i.clamp]、[method Vector4.clamp]、[method Vector4i.clamp] 或 " "[method Color.clamp](本函式目前尚不支援 Color)。\n" "[b]注意:[/b]若對向量使用本函式時,將[i]不會[/i]進行分量逐一夾限,只會判斷整" "體值,若if [code]value < min[/code]則回傳 [param min],[code]value > max[/" "code]則回傳 [param max]。若需分量夾限請用上述方法。" #: doc/classes/@GlobalScope.xml msgid "" "Clamps the [param value], returning a [float] not less than [param min] and " "not more than [param max].\n" "[codeblock]\n" "var speed = 42.1\n" "var a = clampf(speed, 1.0, 20.5) # a is 20.5\n" "\n" "speed = -10.0\n" "var b = clampf(speed, -1.0, 1.0) # b is -1.0\n" "[/codeblock]" msgstr "" "鉗制 [param value],返回不小於 [param min] 且不大於 [param max] 的 " "[float]。\n" "[codeblock]\n" "var speed = 42.1\n" "var a = clampf(speed, 1.0, 20.5) # a 是 20.5\n" "\n" "speed = -10.0\n" "var b = clampf(speed, -1.0, 1.0) # b 是 -1.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Clamps the [param value], returning an [int] not less than [param min] and " "not more than [param max].\n" "[codeblock]\n" "var speed = 42\n" "var a = clampi(speed, 1, 20) # a is 20\n" "\n" "speed = -10\n" "var b = clampi(speed, -1, 1) # b is -1\n" "[/codeblock]" msgstr "" "鉗制 [param value],返回不小於 [param min] 且不大於 [param max] 的 [int]。\n" "[codeblock]\n" "var speed = 42\n" "var a = clampi(speed, 1, 20) # a 是 20\n" "\n" "speed = -10\n" "var b = clampi(speed, -1, 1) # b 是 -1\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the cosine of angle [param angle_rad] in radians.\n" "[codeblock]\n" "cos(PI * 2) # Returns 1.0\n" "cos(PI) # Returns -1.0\n" "cos(deg_to_rad(90)) # Returns 0.0\n" "[/codeblock]" msgstr "" "返回弧度角為 [param angle_rad] 的餘弦值。\n" "[codeblock]\n" "cos(PI * 2) # 返回 1.0\n" "cos(PI) # 返回 -1.0\n" "cos(deg_to_rad(90)) # 返回 0.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the hyperbolic cosine of [param x] in radians.\n" "[codeblock]\n" "print(cosh(1)) # Prints 1.543081\n" "[/codeblock]" msgstr "" "返回弧度角 [param x] 的雙曲餘弦值。\n" "[codeblock]\n" "print(cosh(1)) # 列印 1.543081\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Cubic interpolates between two values by the factor defined in [param " "weight] with [param pre] and [param post] values." msgstr "" "根據 [param weight] 中定義的因數以及 [param pre] 和 [param post] 值,在兩個值" "之間進行三次插值。" #: doc/classes/@GlobalScope.xml msgid "" "Cubic interpolates between two rotation values with shortest path by the " "factor defined in [param weight] with [param pre] and [param post] values. " "See also [method lerp_angle]." msgstr "" "根據 [param weight] 中定義的因數以及 [param pre] 和 [param post] 值,在具有最" "短路徑的兩個旋轉值之間三次插值 。另見 [method lerp_angle]。" #: doc/classes/@GlobalScope.xml msgid "" "Cubic interpolates between two rotation values with shortest path by the " "factor defined in [param weight] with [param pre] and [param post] values. " "See also [method lerp_angle].\n" "It can perform smoother interpolation than [method cubic_interpolate] by the " "time values." msgstr "" "以三次曲線插值法,根據 [param weight]、[param pre]、[param post] 於兩個旋轉值" "間進行最短路徑插值。詳見 [method lerp_angle]。\n" "此方法針對角度(旋轉)插值可提供比 [method cubic_interpolate] 更平滑的結果。" #: doc/classes/@GlobalScope.xml msgid "" "Cubic interpolates between two values by the factor defined in [param " "weight] with [param pre] and [param post] values.\n" "It can perform smoother interpolation than [method cubic_interpolate] by the " "time values." msgstr "" "根據 [param weight] 中定義的因數以及 [param pre] 和 [param post] 值,在兩個值" "之間進行三次插值。\n" "它可以根據時間值執行比 [method cubic_interpolate] 更平滑的插值。" #: doc/classes/@GlobalScope.xml msgid "Converts from decibels to linear energy (audio)." msgstr "從分貝轉換為線性能量(音訊)。" #: doc/classes/@GlobalScope.xml msgid "" "Converts an angle expressed in degrees to radians.\n" "[codeblock]\n" "var r = deg_to_rad(180) # r is 3.141593\n" "[/codeblock]" msgstr "" "將角度值轉換為弧度值。\n" "[codeblock]\n" "var r = deg_to_rad(180) # r 是 3.141593\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns an \"eased\" value of [param x] based on an easing function defined " "with [param curve]. This easing function is based on an exponent. The [param " "curve] can be any floating-point number, with specific values leading to the " "following behaviors:\n" "[codeblock lang=text]\n" "- Lower than -1.0 (exclusive): Ease in-out\n" "- -1.0: Linear\n" "- Between -1.0 and 0.0 (exclusive): Ease out-in\n" "- 0.0: Constant\n" "- Between 0.0 to 1.0 (exclusive): Ease out\n" "- 1.0: Linear\n" "- Greater than 1.0 (exclusive): Ease in\n" "[/codeblock]\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" "ease_cheatsheet.png]ease() curve values cheatsheet[/url]\n" "See also [method smoothstep]. If you need to perform more advanced " "transitions, use [method Tween.interpolate_value]." msgstr "" "依 [param curve] 指定的指數緩動函式,回傳 [param x] 的「緩動值」。\n" "[param curve] 可為任意浮點數,對應行為如下:\n" "[codeblock]\n" "- 小於 -1.0:緩入緩出\n" "- -1.0:線性\n" "- -1.0 ~ 0.0:緩出緩入\n" "- 0.0:常數\n" "- 0.0 ~ 1.0:緩出\n" "- 1.0:線性\n" "- 大於 1.0:緩入\n" "[/codeblock]\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/4.1/img/" "ease_cheatsheet.png]ease() 曲線速查表[/url]\n" "另見 [method smoothstep]。若需更進階的轉場,請使用 [method " "Tween.interpolate_value]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns a human-readable name for the given [enum Error] code.\n" "[codeblock]\n" "print(OK) # Prints 0\n" "print(error_string(OK)) # Prints \"OK\"\n" "print(error_string(ERR_BUSY)) # Prints \"Busy\"\n" "print(error_string(ERR_OUT_OF_MEMORY)) # Prints \"Out of memory\"\n" "[/codeblock]" msgstr "" "回傳指定 [enum Error] 錯誤碼的可讀名稱。\n" "[codeblock]\n" "print(OK) # 輸出 0\n" "print(error_string(OK)) # 輸出 \"OK\"\n" "print(error_string(ERR_BUSY)) # 輸出 \"Busy\"\n" "print(error_string(ERR_OUT_OF_MEMORY)) # 輸出 \"Out of memory\"\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "The natural exponential function. It raises the mathematical constant [i]e[/" "i] to the power of [param x] and returns it.\n" "[i]e[/i] has an approximate value of 2.71828, and can be obtained with " "[code]exp(1)[/code].\n" "For exponents to other bases use the method [method pow].\n" "[codeblock]\n" "var a = exp(2) # Approximately 7.39\n" "[/codeblock]" msgstr "" "自然指數函式。計算數學常數 [i]e[/i] 的 [param x] 次方並返回它。\n" "[i]e[/i] 的近似值為 2.71828,可以使用 [code]exp(1)[/code] 獲得。\n" "求其他底數的指數應使用 [method pow] 方法。\n" "[codeblock]\n" "var a = exp(2) # 大約是 7.39\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] downward (towards negative infinity), returning the largest " "whole number that is not more than [param x]. Supported types: [int], " "[float], [Vector2], [Vector2i], [Vector3], [Vector3i], [Vector4], " "[Vector4i].\n" "[codeblock]\n" "var a = floor(2.99) # a is 2.0\n" "a = floor(-2.99) # a is -3.0\n" "[/codeblock]\n" "See also [method ceil], [method round], and [method snapped].\n" "[b]Note:[/b] For better type safety, use [method floorf], [method floori], " "[method Vector2.floor], [method Vector3.floor], or [method Vector4.floor]." msgstr "" "將 [param x] 向下取整(朝負無窮大),回傳不大於 [param x] 的最大整數。\n" "支援型別: [int]、[float]、[Vector2]、[Vector2i]、[Vector3]、[Vector3i]、" "[Vector4]、[Vector4i]。\n" "[codeblock]\n" "var a = floor(2.99) # a 為 2.0\n" "a = floor(-2.99) # a 為 -3.0\n" "[/codeblock]\n" "另見 [method ceil]、[method round] 與 [method snapped]。\n" "[b]注意:[/b] 為獲得更佳的型別安全性,請使用 [method floorf]、[method " "floori]、[method Vector2.floor]、[method Vector3.floor] 或 [method " "Vector4.floor]。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] downward (towards negative infinity), returning the largest " "whole number that is not more than [param x].\n" "A type-safe version of [method floor], returning a [float]." msgstr "" "將 [param x] 向下四捨五入(向負無窮大),返回不超過 [param x] 的最大整數。\n" "一個型別安全的 [method floor] 版本,返回一個 [float]。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] downward (towards negative infinity), returning the largest " "whole number that is not more than [param x].\n" "A type-safe version of [method floor], returning an [int].\n" "[b]Note:[/b] This function is [i]not[/i] the same as [code]int(x)[/code], " "which rounds towards 0." msgstr "" "將 [param x] 向下四捨五入(向負無窮大),返回不超過 [param x] 的最大整數。\n" "是 [method floor] 的型別安全版本,返回一個 [int]。\n" "[b]注意:[/b]這個函式與 [code]int(x)[/code] [i]不[/i] 一樣,後者是向 0 取整。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the floating-point remainder of [param x] divided by [param y], " "keeping the sign of [param x].\n" "[codeblock]\n" "var remainder = fmod(7, 5.5) # remainder is 1.5\n" "[/codeblock]\n" "For the integer remainder operation, use the [code]%[/code] operator." msgstr "" "返回 [param x] 除以 [param y] 的浮點型餘數,符號與 [param x]一致。\n" "[codeblock]\n" "var remainder = fmod(7, 5.5) # remainder 是 1.5\n" "[/codeblock]\n" "對於整數取餘運算,請使用 [code]%[/code] 運算子。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the floating-point modulus of [param x] divided by [param y], " "wrapping equally in positive and negative.\n" "[codeblock]\n" "print(\" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\")\n" "for i in 7:\n" "\tvar x = i * 0.5 - 1.5\n" "\tprint(\"%4.1f %4.1f | %4.1f\" % [x, fmod(x, 1.5), fposmod(x, " "1.5)])\n" "[/codeblock]\n" "Prints:\n" "[codeblock lang=text]\n" " (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\n" "-1.5 -0.0 | 0.0\n" "-1.0 -1.0 | 0.5\n" "-0.5 -0.5 | 1.0\n" " 0.0 0.0 | 0.0\n" " 0.5 0.5 | 0.5\n" " 1.0 1.0 | 1.0\n" " 1.5 0.0 | 0.0\n" "[/codeblock]" msgstr "" "回傳 [param x] 除以 [param y] 的浮點餘數,對正負軸均勻包覆。\n" "[codeblock]\n" "print(\" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\")\n" "for i in 7:\n" "\tvar x = i * 0.5 - 1.5\n" "\tprint(\"%4.1f %4.1f | %4.1f\" % [x, fmod(x, 1.5), fposmod(x, " "1.5)])\n" "[/codeblock]\n" "輸出:\n" "[codeblock]\n" " (x) (fmod(x, 1.5)) (fposmod(x, 1.5))\n" "-1.5 -0.0 | 0.0\n" "-1.0 -1.0 | 0.5\n" "-0.5 -0.5 | 1.0\n" " 0.0 0.0 | 0.0\n" " 0.5 0.5 | 0.5\n" " 1.0 1.0 | 1.0\n" " 1.5 0.0 | 0.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the integer hash of the passed [param variable].\n" "[codeblocks]\n" "[gdscript]\n" "print(hash(\"a\")) # Prints 177670\n" "[/gdscript]\n" "[csharp]\n" "GD.Print(GD.Hash(\"a\")); // Prints 177670\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回傳入的 [param variable] 的整數雜湊值。\n" "[codeblocks]\n" "[gdscript]\n" "print(hash(\"a\")) # 輸出 177670\n" "[/gdscript]\n" "[csharp]\n" "GD.Print(GD.Hash(\"a\")); // 輸出 177670\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Returns the [Object] that corresponds to [param instance_id]. All Objects " "have a unique instance ID. See also [method Object.get_instance_id].\n" "[codeblocks]\n" "[gdscript]\n" "var drink = \"water\"\n" "\n" "func _ready():\n" "\tvar id = get_instance_id()\n" "\tvar instance = instance_from_id(id)\n" "\tprint(instance.drink) # Prints \"water\"\n" "[/gdscript]\n" "[csharp]\n" "public partial class MyNode : Node\n" "{\n" "\tpublic string Drink { get; set; } = \"water\";\n" "\n" "\tpublic override void _Ready()\n" "\t{\n" "\t\tulong id = GetInstanceId();\n" "\t\tvar instance = (MyNode)InstanceFromId(Id);\n" "\t\tGD.Print(instance.Drink); // Prints \"water\"\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳對應 [param instance_id] 的 [Object]。\n" "所有物件皆有唯一的實例 ID。另見 [method Object.get_instance_id]。\n" "[codeblocks]\n" "[gdscript]\n" "var drink = \"water\"\n" "\n" "func _ready():\n" "\tvar id = get_instance_id()\n" "\tvar inst = instance_from_id(id)\n" "\tprint(inst.drink) # 輸出 \"water\"\n" "[/gdscript]\n" "[csharp]\n" "public partial class MyNode : Node\n" "{\n" "\tpublic string Drink { get; set; } = \"water\";\n" "\n" "\tpublic override void _Ready()\n" "\t{\n" "\t\tulong id = GetInstanceId();\n" "\t\tvar inst = (MyNode)InstanceFromId(id);\n" "\t\tGD.Print(inst.Drink); // 輸出 \"water\"\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Returns an interpolation or extrapolation factor considering the range " "specified in [param from] and [param to], and the interpolated value " "specified in [param weight]. The returned value will be between [code]0.0[/" "code] and [code]1.0[/code] if [param weight] is between [param from] and " "[param to] (inclusive). If [param weight] is located outside this range, " "then an extrapolation factor will be returned (return value lower than " "[code]0.0[/code] or greater than [code]1.0[/code]). Use [method clamp] on " "the result of [method inverse_lerp] if this is not desired.\n" "[codeblock]\n" "# The interpolation ratio in the `lerp()` call below is 0.75.\n" "var middle = lerp(20, 30, 0.75)\n" "# middle is now 27.5.\n" "\n" "# Now, we pretend to have forgotten the original ratio and want to get it " "back.\n" "var ratio = inverse_lerp(20, 30, 27.5)\n" "# ratio is now 0.75.\n" "[/codeblock]\n" "See also [method lerp], which performs the reverse of this operation, and " "[method remap] to map a continuous series of values to another." msgstr "" "返回插值或外推的因數。範圍用 [param from] 和 [param to]指定,插值後的值由 " "[param weight] 指定。如果 [param weight] 在 [param from] 和 [param to] 之間" "(包含),那麼返回的值在 [code]0.0[/code] 和 [code]1.0[/code] 之間。如果 " "[param weight] 在該範圍之外,則返回的是外推因數(返回值小於 [code]0.0[/code] " "或大於 [code]1.0[/code])。如果不希望這樣,請對 [method inverse_lerp] 的結果" "使用 [method clamp]。\n" "[codeblock]\n" "# 下面的 `lerp()` 呼叫時的插值比例是 0.75。\n" "var middle = lerp(20, 30, 0.75)\n" "# middle 現在是 27.5。\n" "\n" "# 現在,我們假裝忘記了原來的比例,想要找到是多少。\n" "var ratio = inverse_lerp(20, 30, 27.5)\n" "# ratio 現在是 0.75。\n" "[/codeblock]\n" "另見 [method lerp],它執行本操作的逆操作;以及 [method remap],將一系列連續的" "值對應到另一個值。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code] if [param a] and [param b] are approximately equal " "to each other.\n" "Here, \"approximately equal\" means that [param a] and [param b] are within " "a small internal epsilon of each other, which scales with the magnitude of " "the numbers.\n" "Infinity values of the same sign are considered equal." msgstr "" "如果 [param a] 和 [param b] 彼此近似相等,則返回 [code]true[/code]。\n" "這裡,“近似相等”意味著 [param a] 和 [param b] 在彼此的一個小的內部 epsilon " "內,該 epsilon 與數位的大小成比例。\n" "相同符號的無窮大值被認為是相等的。" #: doc/classes/@GlobalScope.xml msgid "" "Returns whether [param x] is a finite value, i.e. it is not [constant " "@GDScript.NAN], positive infinity, or negative infinity. See also [method " "is_inf] and [method is_nan]." msgstr "" "判斷 [param x] 是否為有限值,也就是既非 [constant @GDScript.NAN]、亦非正或負" "無窮大。\n" "另見 [method is_inf] 與 [method is_nan]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code] if [param x] is either positive infinity or " "negative infinity. See also [method is_finite] and [method is_nan]." msgstr "" "若 [param x] 為正無窮大或負無窮大則回傳 [code]true[/code]。\n" "另見 [method is_finite] 與 [method is_nan]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code] if the Object that corresponds to [param id] is a " "valid object (e.g. has not been deleted from memory). All Objects have a " "unique instance ID." msgstr "" "如果與 [param id] 對應的 Object 是有效的物件(例如沒有從記憶體中刪除),則返" "回 [code]true[/code] 。所有物件都有唯一的實例 ID。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code] if [param instance] is a valid Object (e.g. has " "not been deleted from memory)." msgstr "" "如果 [param instance] 是有效的 Object(例如,沒有從記憶體中刪除),則返回 " "[code]true[/code] 。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code] if [param x] is a NaN (\"Not a Number\" or " "invalid) value. This method is needed as [constant @GDScript.NAN] is not " "equal to itself, which means [code]x == NAN[/code] can't be used to check " "whether a value is a NaN." msgstr "" "若 [param x] 為 NaN(「非數字」或無效值)則回傳 [code]true[/code]。\n" "由於 [constant @GDScript.NAN] 不等於自身,因此無法使用 [code]x == NAN[/code] " "來檢測 NaN,必須使用本方法。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code], for value types, if [param a] and [param b] share " "the same value. Returns [code]true[/code], for reference types, if the " "references of [param a] and [param b] are the same.\n" "[codeblock]\n" "# Vector2 is a value type\n" "var vec2_a = Vector2(0, 0)\n" "var vec2_b = Vector2(0, 0)\n" "var vec2_c = Vector2(1, 1)\n" "is_same(vec2_a, vec2_a) # true\n" "is_same(vec2_a, vec2_b) # true\n" "is_same(vec2_a, vec2_c) # false\n" "\n" "# Array is a reference type\n" "var arr_a = []\n" "var arr_b = []\n" "is_same(arr_a, arr_a) # true\n" "is_same(arr_a, arr_b) # false\n" "[/codeblock]\n" "These are [Variant] value types: [code]null[/code], [bool], [int], [float], " "[String], [StringName], [Vector2], [Vector2i], [Vector3], [Vector3i], " "[Vector4], [Vector4i], [Rect2], [Rect2i], [Transform2D], [Transform3D], " "[Plane], [Quaternion], [AABB], [Basis], [Projection], [Color], [NodePath], " "[RID], [Callable] and [Signal].\n" "These are [Variant] reference types: [Object], [Dictionary], [Array], " "[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " "[PackedFloat32Array], [PackedFloat64Array], [PackedStringArray], " "[PackedVector2Array], [PackedVector3Array], [PackedVector4Array], and " "[PackedColorArray]." msgstr "" "若為值型別,當 [param a] 與 [param b] 之值相同則回傳 [code]true[/code];\n" "若為參考型別,當兩者引用為同一物件時回傳 [code]true[/code]。\n" "[codeblock]\n" "# Vector2 為值型別\n" "var vec2_a = Vector2(0, 0)\n" "var vec2_b = Vector2(0, 0)\n" "var vec2_c = Vector2(1, 1)\n" "is_same(vec2_a, vec2_a) # true\n" "is_same(vec2_a, vec2_b) # true\n" "is_same(vec2_a, vec2_c) # false\n" "\n" "# Array 為參考型別\n" "var arr_a = []\n" "var arr_b = []\n" "is_same(arr_a, arr_a) # true\n" "is_same(arr_a, arr_b) # false\n" "[/codeblock]\n" "[Variant] 值型別包含: [code]null[/code]、[bool]、[int]、[float]、[String]、" "[StringName]、[Vector2]、[Vector2i]、[Vector3]、[Vector3i]、[Vector4]、" "[Vector4i]、[Rect2]、[Rect2i]、[Transform2D]、[Transform3D]、[Plane]、" "[Quaternion]、[AABB]、[Basis]、[Projection]、[Color]、[NodePath]、[RID]、" "[Callable] 及 [Signal]。\n" "[Variant] 參考型別包含: [Object]、[Dictionary]、[Array]、[PackedByteArray]、" "[PackedInt32Array]、[PackedInt64Array]、[PackedFloat32Array]、" "[PackedFloat64Array]、[PackedStringArray]、[PackedVector2Array]、" "[PackedVector3Array]、[PackedVector4Array] 與 [PackedColorArray]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]true[/code] if [param x] is zero or almost zero. The " "comparison is done using a tolerance calculation with a small internal " "epsilon.\n" "This function is faster than using [method is_equal_approx] with one value " "as zero." msgstr "" "如果 [param x] 為零或幾乎為零,則返回 [code]true[/code]。比較是使用具有小內" "部 epsilon 的公差計算的。\n" "該函式比使用一個值為零的 [method is_equal_approx] 更快。" #: doc/classes/@GlobalScope.xml msgid "" "Linearly interpolates between two values by the factor defined in [param " "weight]. To perform interpolation, [param weight] should be between " "[code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside " "this range are allowed and can be used to perform [i]extrapolation[/i]. If " "this is not desired, use [method clampf] to limit [param weight].\n" "Both [param from] and [param to] must be the same type. Supported types: " "[int], [float], [Vector2], [Vector3], [Vector4], [Color], [Quaternion], " "[Basis], [Transform2D], [Transform3D].\n" "[codeblock]\n" "lerp(0, 4, 0.75) # Returns 3.0\n" "[/codeblock]\n" "See also [method inverse_lerp] which performs the reverse of this operation. " "To perform eased interpolation with [method lerp], combine it with [method " "ease] or [method smoothstep]. See also [method remap] to map a continuous " "series of values to another.\n" "[b]Note:[/b] For better type safety, use [method lerpf], [method " "Vector2.lerp], [method Vector3.lerp], [method Vector4.lerp], [method " "Color.lerp], [method Quaternion.slerp], [method Basis.slerp], [method " "Transform2D.interpolate_with], or [method Transform3D.interpolate_with]." msgstr "" "依 [param weight] 線性插值 [param from] 與 [param to]。\n" "[param weight] 應介於 [code]0.0[/code]~[code]1.0[/code](含)之間;若超出則" "為 [i]外推[/i]。如不需外推,可先對 [param weight] 使用 [method clampf] 限" "制。\n" "[param from] 與 [param to] 必須為相同型別。支援型別: [int]、[float]、" "[Vector2]、[Vector3]、[Vector4]、[Color]、[Quaternion]、[Basis]、" "[Transform2D]、[Transform3D]。\n" "[codeblock]\n" "lerp(0, 4, 0.75) # 回傳 3.0\n" "[/codeblock]\n" "反向操作請參考 [method inverse_lerp]。\n" "若要進行緩動插值,可將 [method lerp] 與 [method ease] 或 [method smoothstep] " "結合使用。\n" "若要映射連續值區間,請參考 [method remap]。\n" "[b]注意:[/b] 為確保型別安全,可使用 [method lerpf]、[method Vector2.lerp]、" "[method Vector3.lerp]、[method Vector4.lerp]、[method Color.lerp]、[method " "Quaternion.slerp]、[method Basis.slerp]、[method " "Transform2D.interpolate_with] 或 [method Transform3D.interpolate_with]。" #: doc/classes/@GlobalScope.xml msgid "" "Linearly interpolates between two angles (in radians) by a [param weight] " "value between 0.0 and 1.0.\n" "Similar to [method lerp], but interpolates correctly when the angles wrap " "around [constant @GDScript.TAU]. To perform eased interpolation with [method " "lerp_angle], combine it with [method ease] or [method smoothstep].\n" "[codeblock]\n" "extends Sprite\n" "var elapsed = 0.0\n" "func _process(delta):\n" "\tvar min_angle = deg_to_rad(0.0)\n" "\tvar max_angle = deg_to_rad(90.0)\n" "\trotation = lerp_angle(min_angle, max_angle, elapsed)\n" "\telapsed += delta\n" "[/codeblock]\n" "[b]Note:[/b] This function lerps through the shortest path between [param " "from] and [param to]. However, when these two angles are approximately " "[code]PI + k * TAU[/code] apart for any integer [code]k[/code], it's not " "obvious which way they lerp due to floating-point precision errors. For " "example, [code]lerp_angle(0, PI, weight)[/code] lerps counter-clockwise, " "while [code]lerp_angle(0, PI + 5 * TAU, weight)[/code] lerps clockwise." msgstr "" "通過 0.0 和 1.0 之間的 [param weight] 值,在兩個角度(以弧度為單位)之間進行" "線性插值。\n" "類似於 [method lerp],但當角度環繞 [constant @GDScript.TAU] 時會正確插值。要" "使用 [method lerp_angle] 執行緩動插值,請將其與 [method ease] 或 [method " "smoothstep] 結合使用。\n" "[codeblock]\n" "extends Sprite\n" "var elapsed = 0.0\n" "func _process(delta):\n" "\tvar min_angle = deg_to_rad(0.0)\n" "\tvar max_angle = deg_to_rad(90.0)\n" "\trotation = lerp_angle(min_angle, max_angle, elapsed)\n" "\telapsed += delta\n" "[/codeblock]\n" "[b]注意:[/b]該函式通過 [param from] 和 [param to] 之間的最短路徑進行插值。然" "而,當這兩個角度相距大致 [code]PI + k * TAU[/code] 其中 [code]k[/code] 為任意" "整數時,由於浮點數精度誤差的緣故,要對插值的方向進行判斷是很難的。例如," "[code]lerp_angle(0, PI, weight)[/code] 會逆時針插值,而 [code]lerp_angle(0, " "PI + 5 * TAU, weight)[/code] 則會順時針插值。" #: doc/classes/@GlobalScope.xml msgid "" "Linearly interpolates between two values by the factor defined in [param " "weight]. To perform interpolation, [param weight] should be between " "[code]0.0[/code] and [code]1.0[/code] (inclusive). However, values outside " "this range are allowed and can be used to perform [i]extrapolation[/i]. If " "this is not desired, use [method clampf] on the result of this function.\n" "[codeblock]\n" "lerpf(0, 4, 0.75) # Returns 3.0\n" "[/codeblock]\n" "See also [method inverse_lerp] which performs the reverse of this operation. " "To perform eased interpolation with [method lerp], combine it with [method " "ease] or [method smoothstep]." msgstr "" "通過 [param weight] 中定義的因數在兩個值之間進行線性插值。要執行插值,[param " "weight] 應介於 [code]0.0[/code] 和 [code]1.0[/code] 之間(包含)。但是,超出" "此範圍的值是允許的,並可用於執行 [i]外推[/i]。如果不需要,請對此函式的結果使" "用 [method clampf]。\n" "[codeblock]\n" "lerpf(0, 4, 0.75) # 返回 3.0\n" "[/codeblock]\n" "另請參閱執行本操作的逆運算的 [method inverse_lerp]。要使用 [method lerp] 執行" "緩動插值,請將其與 [method ease] 或 [method smoothstep] 結合使用。" #: doc/classes/@GlobalScope.xml msgid "" "Converts from linear energy to decibels (audio). Since volume is not " "normally linear, this can be used to implement volume sliders that behave as " "expected.\n" "[b]Example:[/b] Change the Master bus's volume through a [Slider] node, " "which ranges from [code]0.0[/code] to [code]1.0[/code]:\n" "[codeblock]\n" "AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"Master\"), " "linear_to_db($Slider.value))\n" "[/codeblock]" msgstr "" "將線性能量轉換為分貝(音訊)。由於音量通常不是線性的,可利用此函式實作預期的" "音量滑桿。\n" "[b]範例:[/b] 透過 [Slider] 節點(取值範圍 [code]0.0[/code]~[code]1.0[/" "code])調整主匯流排音量:\n" "[codeblock]\n" "AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"Master\"), " "linear_to_db($Slider.value))\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the [url=https://en.wikipedia.org/wiki/Natural_logarithm]natural " "logarithm[/url] of [param x] (base [url=https://en.wikipedia.org/wiki/" "E_(mathematical_constant)][i]e[/i][/url], with [i]e[/i] being approximately " "2.71828). This is the amount of time needed to reach a certain level of " "continuous growth.\n" "[b]Note:[/b] This is not the same as the \"log\" function on most " "calculators, which uses a base 10 logarithm. To use base 10 logarithm, use " "[code]log(x) / log(10)[/code].\n" "[codeblock]\n" "log(10) # Returns 2.302585\n" "[/codeblock]\n" "[b]Note:[/b] The logarithm of [code]0[/code] returns [code]-inf[/code], " "while negative values return [code]-nan[/code]." msgstr "" "返回 [param x] 的[url=https://zh.wikipedia.org/wiki/自然對數]自然對數[/url]" "(底數 [url=https://zh.wikipedia.org/wiki/E_(mathematical_constant)][i]e[/i]" "[/url],[i]e[/i] 約為 2.71828)。這代表達到某成長程度所需的時間。\n" "[b]注意:[/b] 與多數計算機上的「log」不同,計算機預設底數為 10。若需以底數 " "10,請用 [code]log(x) / log(10)[/code]。\n" "[codeblock]\n" "log(10) # 返回 2.302585\n" "[/codeblock]\n" "[b]注意:[/b] [code]0[/code] 的對數會回傳 [code]-inf[/code],負值會回傳 " "[code]-nan[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the maximum of the given numeric values. This function can take any " "number of arguments.\n" "[codeblock]\n" "max(1, 7, 3, -6, 5) # Returns 7\n" "[/codeblock]\n" "[b]Note:[/b] When using this on vectors it will [i]not[/i] perform component-" "wise maximum, and will pick the largest value when compared using [code]x < " "y[/code]. To perform component-wise maximum, use [method Vector2.max], " "[method Vector2i.max], [method Vector3.max], [method Vector3i.max], [method " "Vector4.max], and [method Vector4i.max]." msgstr "" "返回給定數值中的最大值。此函數可以接受任意數量的參數。\n" "[codeblock]\n" "max(1, 7, 3, -6, 5) # Returns 7\n" "[/codeblock]\n" "[b]注意:[/b]當對向量使用此函數時,它[i]不會[/i]執行分量級的最大值計算,而是" "使用 [code]x < y[/code] 比較來選擇最大值。要執行分量級的最大值計算,請使用 " "[method Vector2.max]、[method Vector2i.max]、[method Vector3.max]、[method " "Vector3i.max]、[method Vector4.max] 和 [method Vector4i.max]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the maximum of two [float] values.\n" "[codeblock]\n" "maxf(3.6, 24) # Returns 24.0\n" "maxf(-3.99, -4) # Returns -3.99\n" "[/codeblock]" msgstr "" "返回兩個 [float] 值中的最大值。\n" "[codeblock]\n" "maxf(3.6, 24) # 返回 24.0\n" "maxf(-3.99, -4) # 返回 -3.99\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the maximum of two [int] values.\n" "[codeblock]\n" "maxi(1, 2) # Returns 2\n" "maxi(-3, -4) # Returns -3\n" "[/codeblock]" msgstr "" "返回兩個 [int] 值中的最大值。\n" "[codeblock]\n" "maxi(1, 2) # 返回 2\n" "maxi(-3, -4) # 返回 -3\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the minimum of the given numeric values. This function can take any " "number of arguments.\n" "[codeblock]\n" "min(1, 7, 3, -6, 5) # Returns -6\n" "[/codeblock]\n" "[b]Note:[/b] When using this on vectors it will [i]not[/i] perform component-" "wise minimum, and will pick the smallest value when compared using [code]x < " "y[/code]. To perform component-wise minimum, use [method Vector2.min], " "[method Vector2i.min], [method Vector3.min], [method Vector3i.min], [method " "Vector4.min], and [method Vector4i.min]." msgstr "" "回傳所給多個數值中的最小值,參數個數不限。\n" "[codeblock]\n" "min(1, 7, 3, -6, 5) # 回傳 -6\n" "[/codeblock]\n" "[b]注意:[/b] 用於向量時並非逐分量比較,而是直接以 [code]x < y[/code] 比較整" "體大小;若需逐分量最小值,請使用 [method Vector2.min]、[method " "Vector2i.min]、[method Vector3.min]、[method Vector3i.min]、[method " "Vector4.min] 或 [method Vector4i.min]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the minimum of two [float] values.\n" "[codeblock]\n" "minf(3.6, 24) # Returns 3.6\n" "minf(-3.99, -4) # Returns -4.0\n" "[/codeblock]" msgstr "" "返回兩個 [float] 值中的最小值。\n" "[codeblock]\n" "minf(3.6, 24) # 返回 3.6\n" "minf(-3.99, -4) # 返回 -4.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the minimum of two [int] values.\n" "[codeblock]\n" "mini(1, 2) # Returns 1\n" "mini(-3, -4) # Returns -4\n" "[/codeblock]" msgstr "" "返回兩個 [int] 值中的最小值。\n" "[codeblock]\n" "mini(1, 2) # 返回 1\n" "mini(-3, -4) # 返回 -4\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Moves [param from] toward [param to] by the [param delta] amount. Will not " "go past [param to].\n" "Use a negative [param delta] value to move away.\n" "[codeblock]\n" "move_toward(5, 10, 4) # Returns 9\n" "move_toward(10, 5, 4) # Returns 6\n" "move_toward(5, 10, 9) # Returns 10\n" "move_toward(10, 5, -1.5) # Returns 11.5\n" "[/codeblock]" msgstr "" "將 [param from] 向 [param to] 移動,移動的長度是 [param delta]。不會超過 " "[param to]。\n" "使用負的 [param delta] 值則向遠離的方向移動。\n" "[codeblock]\n" "move_toward(5, 10, 4) # Returns 9\n" "move_toward(10, 5, 4) # Returns 6\n" "move_toward(5, 10, 9) # Returns 10\n" "move_toward(10, 5, -1.5) # Returns 11.5\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the smallest integer power of 2 that is greater than or equal to " "[param value].\n" "[codeblock]\n" "nearest_po2(3) # Returns 4\n" "nearest_po2(4) # Returns 4\n" "nearest_po2(5) # Returns 8\n" "\n" "nearest_po2(0) # Returns 0 (this may not be expected)\n" "nearest_po2(-1) # Returns 0 (this may not be expected)\n" "[/codeblock]\n" "[b]Warning:[/b] Due to its implementation, this method returns [code]0[/" "code] rather than [code]1[/code] for values less than or equal to [code]0[/" "code], with an exception for [param value] being the smallest negative 64-" "bit integer ([code]-9223372036854775808[/code]) in which case the [param " "value] is returned unchanged." msgstr "" "返回大於等於整數 [param value] 的最小整數冪 2。\n" "[codeblock]\n" "nearest_po2(3) # 返回 4\n" "nearest_po2(4) # 返回 4\n" "nearest_po2(5) # 返回 8\n" "\n" "nearest_po2(0) # 返回 0(可能出乎意料)\n" "nearest_po2(-1) # 返回 0(可能出乎意料)\n" "[/codeblock]\n" "[b]警告:[/b]由於其實現,此方法返回[code]0[/code]而不是[code]1[/code]對於小於" "或等於的值[code]0[/code],但 [param value] 是最小的負 64 位整數除外 " "([code]-9223372036854775808[/code]),在這種情況下,返回 [param value] 不變。" #: doc/classes/@GlobalScope.xml msgid "" "Wraps [param value] between [code]0[/code] and the [param length]. If the " "limit is reached, the next value the function returns is decreased to the " "[code]0[/code] side or increased to the [param length] side (like a triangle " "wave). If [param length] is less than zero, it becomes positive.\n" "[codeblock]\n" "pingpong(-3.0, 3.0) # Returns 3.0\n" "pingpong(-2.0, 3.0) # Returns 2.0\n" "pingpong(-1.0, 3.0) # Returns 1.0\n" "pingpong(0.0, 3.0) # Returns 0.0\n" "pingpong(1.0, 3.0) # Returns 1.0\n" "pingpong(2.0, 3.0) # Returns 2.0\n" "pingpong(3.0, 3.0) # Returns 3.0\n" "pingpong(4.0, 3.0) # Returns 2.0\n" "pingpong(5.0, 3.0) # Returns 1.0\n" "pingpong(6.0, 3.0) # Returns 0.0\n" "[/codeblock]" msgstr "" "將 [param value] 包裹在 [code]0[/code] 和 [param length] 之間。如果達到限制," "函式返回的下一個值將減少到 [code]0[/code] 側或增加到 [param length] 側(像三" "角波)。如果 [param length] 小於零,則變為正數。\n" "[codeblock]\n" "pingpong(-3.0, 3.0) # 返回 3.0\n" "pingpong(-2.0, 3.0) # 返回 2.0\n" "pingpong(-1.0, 3.0) # 返回 1.0\n" "pingpong(0.0, 3.0) # 返回 0.0\n" "pingpong(1.0, 3.0) # 返回 1.0\n" "pingpong(2.0, 3.0) # 返回 2.0\n" "pingpong(3.0, 3.0) # 返回 3.0\n" "pingpong(4.0, 3.0) # 返回 2.0\n" "pingpong(5.0, 3.0) # 返回 1.0\n" "pingpong(6.0, 3.0) # 返回 0.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the integer modulus of [param x] divided by [param y] that wraps " "equally in positive and negative.\n" "[codeblock]\n" "print(\"#(i) (i % 3) (posmod(i, 3))\")\n" "for i in range(-3, 4):\n" "\tprint(\"%2d %2d | %2d\" % [i, i % 3, posmod(i, 3)])\n" "[/codeblock]\n" "Prints:\n" "[codeblock lang=text]\n" "(i) (i % 3) (posmod(i, 3))\n" "-3 0 | 0\n" "-2 -2 | 1\n" "-1 -1 | 2\n" " 0 0 | 0\n" " 1 1 | 1\n" " 2 2 | 2\n" " 3 0 | 0\n" "[/codeblock]" msgstr "" "回傳 [param x] ÷ [param y] 的整數餘數,正負方向對稱包覆。\n" "[codeblock]\n" "print(\"#(i) (i % 3) (posmod(i, 3))\")\n" "for i in range(-3, 4):\n" "\tprint(\"%2d %2d | %2d\" % [i, i % 3, posmod(i, 3)])\n" "[/codeblock]\n" "輸出:\n" "[codeblock]\n" "(i) (i % 3) (posmod(i, 3))\n" "-3 0 | 0\n" "-2 -2 | 1\n" "-1 -1 | 2\n" " 0 0 | 0\n" " 1 1 | 1\n" " 2 2 | 2\n" " 3 0 | 0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the result of [param base] raised to the power of [param exp].\n" "In GDScript, this is the equivalent of the [code]**[/code] operator.\n" "[codeblock]\n" "pow(2, 5) # Returns 32.0\n" "pow(4, 1.5) # Returns 8.0\n" "[/codeblock]" msgstr "" "返回 [param base] 的 [param exp] 次冪的結果。\n" "在 GDScript 中,這相當於 [code]**[/code] 運算子。\n" "[codeblock]\n" "pow(2, 5) # 返回 32.0\n" "pow(4, 1.5) # 返回 8.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Converts one or more arguments of any type to string in the best way " "possible and prints them to the console.\n" "[codeblocks]\n" "[gdscript]\n" "var a = [1, 2, 3]\n" "print(\"a\", \"b\", a) # Prints \"ab[1, 2, 3]\"\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array a = [1, 2, 3];\n" "GD.Print(\"a\", \"b\", a); // Prints \"ab[1, 2, 3]\"\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] Consider using [method push_error] and [method push_warning] to " "print error and warning messages instead of [method print] or [method " "print_rich]. This distinguishes them from print messages used for debugging " "purposes, while also displaying a stack trace when an error or warning is " "printed. See also [member Engine.print_to_stdout] and [member " "ProjectSettings.application/run/disable_stdout]." msgstr "" "將任意型別的參數最佳化轉為字串後輸出至主控台。\n" "[codeblocks]\n" "[gdscript]\n" "var a = [1, 2, 3]\n" "print(\"a\", \"b\", a) # 輸出 \"ab[1, 2, 3]\"\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array a = [1, 2, 3];\n" "GD.Print(\"a\", \"b\", a); // 輸出 \"ab[1, 2, 3]\"\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 建議使用 [method push_error] 與 [method push_warning] 來輸出錯" "誤與警告訊息,以區分除錯列印,並在輸出時附帶堆疊追蹤。\n" "另見 [member Engine.print_to_stdout] 與 [member ProjectSettings.application/" "run/disable_stdout]。" #: doc/classes/@GlobalScope.xml msgid "" "Converts one or more arguments of any type to string in the best way " "possible and prints them to the console.\n" "The following BBCode tags are supported: [code]b[/code], [code]i[/code], " "[code]u[/code], [code]s[/code], [code]indent[/code], [code]code[/code], " "[code]url[/code], [code]center[/code], [code]right[/code], [code]color[/" "code], [code]bgcolor[/code], [code]fgcolor[/code].\n" "URL tags only support URLs wrapped by a URL tag, not URLs with a different " "title.\n" "When printing to standard output, the supported subset of BBCode is " "converted to ANSI escape codes for the terminal emulator to display. Support " "for ANSI escape codes varies across terminal emulators, especially for " "italic and strikethrough. In standard output, [code]code[/code] is " "represented with faint text but without any font change. Unsupported tags " "are left as-is in standard output.\n" "[codeblocks]\n" "[gdscript skip-lint]\n" "print_rich(\"[color=green][b]Hello world![/b][/color]\") # Prints \"Hello " "world!\", in green with a bold font.\n" "[/gdscript]\n" "[csharp skip-lint]\n" "GD.PrintRich(\"[color=green][b]Hello world![/b][/color]\"); // Prints " "\"Hello world!\", in green with a bold font.\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] Consider using [method push_error] and [method push_warning] to " "print error and warning messages instead of [method print] or [method " "print_rich]. This distinguishes them from print messages used for debugging " "purposes, while also displaying a stack trace when an error or warning is " "printed.\n" "[b]Note:[/b] Output displayed in the editor supports clickable [code skip-" "lint][url=address]text[/url][/code] tags. The [code skip-lint][url][/code] " "tag's [code]address[/code] value is handled by [method OS.shell_open] when " "clicked." msgstr "" "將任意型別的參數最佳化轉為字串並以 BBCode 呈現後輸出至主控台。\n" "支援的 BBCode 標籤: [code]b[/code]、[code]i[/code]、[code]u[/code]、" "[code]s[/code]、[code]indent[/code]、[code]code[/code]、[code]url[/code]、" "[code]center[/code]、[code]right[/code]、[code]color[/code]、[code]bgcolor[/" "code]、[code]fgcolor[/code]。\n" "URL 標籤僅支援形如 [code skip-lint][url]https://example.com[/url][/code] 的格" "式。\n" "輸出至標準輸出時,可支援的 BBCode 會轉為 ANSI 控制碼;實際效果依終端機模擬器" "而異(特別是斜體與刪除線)。[code]code[/code] 會以淡色顯示但不改字型。\n" "[codeblocks]\n" "[gdscript skip-lint]\n" "print_rich(\"[color=green][b]Hello world![/b][/color]\") # 以綠色粗體輸出\n" "[/gdscript]\n" "[csharp skip-lint]\n" "GD.PrintRich(\"[color=green][b]Hello world![/b][/color]\"); // 以綠色粗體輸" "出\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 建議使用 [method push_error] 與 [method push_warning] 來輸出錯" "誤與警告訊息,以保留堆疊追蹤並區分除錯輸出。\n" "[b]注意:[/b] 編輯器輸出支援可點擊的 [code skip-lint][url=網址]文字[/url][/" "code],點擊後會透過 [method OS.shell_open] 開啟網址。" #: doc/classes/@GlobalScope.xml msgid "" "If verbose mode is enabled ([method OS.is_stdout_verbose] returning " "[code]true[/code]), converts one or more arguments of any type to string in " "the best way possible and prints them to the console." msgstr "" "如果啟用了詳細模式([method OS.is_stdout_verbose] 返回 [code]true[/code])," "則盡可能以最佳方式將一個或多個任意型別的參數轉換為字串,並將它們列印到控制" "台。" #: doc/classes/@GlobalScope.xml msgid "" "Prints one or more arguments to strings in the best way possible to standard " "error line.\n" "[codeblocks]\n" "[gdscript]\n" "printerr(\"prints to stderr\")\n" "[/gdscript]\n" "[csharp]\n" "GD.PrintErr(\"prints to stderr\");\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "以盡可能最佳的方式將一個或多個參數作為字串輸出到標準錯誤行。\n" "[codeblocks]\n" "[gdscript]\n" "printerr(\"prints to stderr\")\n" "[/gdscript]\n" "[csharp]\n" "GD.PrintErr(\"prints to stderr\");\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Prints one or more arguments to strings in the best way possible to the OS " "terminal. Unlike [method print], no newline is automatically added at the " "end.\n" "[b]Note:[/b] The OS terminal is [i]not[/i] the same as the editor's Output " "dock. The output sent to the OS terminal can be seen when running Godot from " "a terminal. On Windows, this requires using the [code]console.exe[/code] " "executable.\n" "[codeblocks]\n" "[gdscript]\n" "# Prints \"ABC\" to terminal.\n" "printraw(\"A\")\n" "printraw(\"B\")\n" "printraw(\"C\")\n" "[/gdscript]\n" "[csharp]\n" "// Prints \"ABC\" to terminal.\n" "GD.PrintRaw(\"A\");\n" "GD.PrintRaw(\"B\");\n" "GD.PrintRaw(\"C\");\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "將一個或多個參數以最佳方式轉為字串直接輸出到作業系統終端機。與 [method " "print] 不同,結尾不會自動加換行符號。\n" "[b]注意:[/b]OS 終端機 [i]不是[/i] 編輯器的輸出分頁,需從命令列啟動 Godot 才" "能看到,Windows 則需用 [code]console.exe[/code]。\n" "[codeblocks]\n" "[gdscript]\n" "printraw(\"A\")\n" "printraw(\"B\")\n" "printraw(\"C\")\n" "# 輸出 \"ABC\" 至終端機\n" "[/gdscript]\n" "[csharp]\n" "GD.PrintRaw(\"A\");\n" "GD.PrintRaw(\"B\");\n" "GD.PrintRaw(\"C\");\n" "// 輸出 \"ABC\" 至終端機\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Prints one or more arguments to the console with a space between each " "argument.\n" "[codeblocks]\n" "[gdscript]\n" "prints(\"A\", \"B\", \"C\") # Prints \"A B C\"\n" "[/gdscript]\n" "[csharp]\n" "GD.PrintS(\"A\", \"B\", \"C\"); // Prints \"A B C\"\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "將一個或多個參數輸出至主控台,參數間以空格分隔。\n" "[codeblocks]\n" "[gdscript]\n" "prints(\"A\", \"B\", \"C\") # 輸出 \"A B C\"\n" "[/gdscript]\n" "[csharp]\n" "GD.PrintS(\"A\", \"B\", \"C\"); // 輸出 \"A B C\"\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Prints one or more arguments to the console with a tab between each " "argument.\n" "[codeblocks]\n" "[gdscript]\n" "printt(\"A\", \"B\", \"C\") # Prints \"A B C\"\n" "[/gdscript]\n" "[csharp]\n" "GD.PrintT(\"A\", \"B\", \"C\"); // Prints \"A B C\"\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "將一個或多個參數輸出至主控台,參數間以定位字元(Tab)分隔。\n" "[codeblocks]\n" "[gdscript]\n" "printt(\"A\", \"B\", \"C\") # 輸出 \"A B C\"\n" "[/gdscript]\n" "[csharp]\n" "GD.PrintT(\"A\", \"B\", \"C\"); // 輸出 \"A B C\"\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Pushes an error message to Godot's built-in debugger and to the OS " "terminal.\n" "[codeblocks]\n" "[gdscript]\n" "push_error(\"test error\") # Prints \"test error\" to debugger and terminal " "as an error.\n" "[/gdscript]\n" "[csharp]\n" "GD.PushError(\"test error\"); // Prints \"test error\" to debugger and " "terminal as an error.\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] This function does not pause project execution. To print an " "error message and pause project execution in debug builds, use " "[code]assert(false, \"test error\")[/code] instead." msgstr "" "將錯誤訊息推送至 Godot 內建除錯器並同時輸出至作業系統終端機。\n" "[codeblocks]\n" "[gdscript]\n" "push_error(\"test error\") # 以錯誤形式輸出 \"test error\"\n" "[/gdscript]\n" "[csharp]\n" "GD.PushError(\"test error\"); // 以錯誤形式輸出 \"test error\"\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 此函式不會暫停專案執行。若需在除錯組建時同時停下執行,請改用 " "[code]assert(false, \"test error\")[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Pushes a warning message to Godot's built-in debugger and to the OS " "terminal.\n" "[codeblocks]\n" "[gdscript]\n" "push_warning(\"test warning\") # Prints \"test warning\" to debugger and " "terminal as a warning.\n" "[/gdscript]\n" "[csharp]\n" "GD.PushWarning(\"test warning\"); // Prints \"test warning\" to debugger and " "terminal as a warning.\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "將警告訊息推送至 Godot 內建除錯器並同時輸出至作業系統終端機。\n" "[codeblocks]\n" "[gdscript]\n" "push_warning(\"test warning\") # 以警告形式輸出 \"test warning\"\n" "[/gdscript]\n" "[csharp]\n" "GD.PushWarning(\"test warning\"); // 以警告形式輸出 \"test warning\"\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Converts an angle expressed in radians to degrees.\n" "[codeblock]\n" "rad_to_deg(0.523599) # Returns 30\n" "rad_to_deg(PI) # Returns 180\n" "rad_to_deg(PI * 2) # Returns 360\n" "[/codeblock]" msgstr "" "將以弧度表示的角度轉換為度。\n" "[codeblock]\n" "rad_to_deg(0.523599) # 返回 30\n" "rad_to_deg(PI) # 返回 180\n" "rad_to_deg(PI * 2) # 返回 360\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Given a [param seed], returns a [PackedInt64Array] of size [code]2[/code], " "where its first element is the randomized [int] value, and the second " "element is the same as [param seed]. Passing the same [param seed] " "consistently returns the same array.\n" "[b]Note:[/b] \"Seed\" here refers to the internal state of the pseudo random " "number generator, currently implemented as a 64 bit integer.\n" "[codeblock]\n" "var a = rand_from_seed(4)\n" "\n" "print(a[0]) # Prints 2879024997\n" "print(a[1]) # Prints 4\n" "[/codeblock]" msgstr "" "給定 [param seed],回傳一個長度為 [code]2[/code] 的 [PackedInt64Array]。\n" "第一個元素為隨機化後的 [int] 值,第二個元素與傳入的 [param seed] 相同。\n" "相同的 [param seed] 會穩定回傳相同陣列。\n" "[b]注意:[/b] 這裡的「種子」指偽亂數產生器的內部 64 位元整數狀態。\n" "[codeblock]\n" "var a = rand_from_seed(4)\n" "print(a[0]) # 輸出 2879024997\n" "print(a[1]) # 輸出 4\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns a random floating-point value between [code]0.0[/code] and " "[code]1.0[/code] (inclusive).\n" "[codeblocks]\n" "[gdscript]\n" "randf() # Returns e.g. 0.375671\n" "[/gdscript]\n" "[csharp]\n" "GD.Randf(); // Returns e.g. 0.375671\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳一個介於 [code]0.0[/code] 與 [code]1.0[/code](含)之間的隨機浮點數。\n" "[codeblocks]\n" "[gdscript]\n" "randf() # 例如回傳 0.375671\n" "[/gdscript]\n" "[csharp]\n" "GD.Randf(); // 例如回傳 0.375671\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Returns a random floating-point value between [param from] and [param to] " "(inclusive).\n" "[codeblocks]\n" "[gdscript]\n" "randf_range(0, 20.5) # Returns e.g. 7.45315\n" "randf_range(-10, 10) # Returns e.g. -3.844535\n" "[/gdscript]\n" "[csharp]\n" "GD.RandRange(0.0, 20.5); // Returns e.g. 7.45315\n" "GD.RandRange(-10.0, 10.0); // Returns e.g. -3.844535\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳位於 [param from] 與 [param to](含)之間的隨機浮點數。\n" "[codeblocks]\n" "[gdscript]\n" "randf_range(0, 20.5) # 例如回傳 7.45315\n" "randf_range(-10, 10) # 例如回傳 -3.844535\n" "[/gdscript]\n" "[csharp]\n" "GD.RandRange(0.0, 20.5); // 例如回傳 7.45315\n" "GD.RandRange(-10.0, 10.0); // 例如回傳 -3.844535\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Returns a [url=https://en.wikipedia.org/wiki/Normal_distribution]normally-" "distributed[/url], pseudo-random floating-point value from the specified " "[param mean] and a standard [param deviation]. This is also known as a " "Gaussian distribution.\n" "[b]Note:[/b] This method uses the [url=https://en.wikipedia.org/wiki/" "Box%E2%80%93Muller_transform]Box-Muller transform[/url] algorithm." msgstr "" "從指定的 [param mean] 與標準 [param deviation] 產生一個[url=https://" "en.wikipedia.org/wiki/Normal_distribution]常態分布[/url]、偽隨機的浮點數值。" "這也被稱為高斯分布。\n" "[b]注意:[/b] 此方法使用 [url=https://en.wikipedia.org/wiki/" "Box%E2%80%93Muller_transform]Box-Muller 轉換[/url] 演算法。" #: doc/classes/@GlobalScope.xml msgid "" "Returns a random unsigned 32-bit integer. Use remainder to obtain a random " "value in the interval [code][0, N - 1][/code] (where N is smaller than " "2^32).\n" "[codeblocks]\n" "[gdscript]\n" "randi() # Returns random integer between 0 and 2^32 - 1\n" "randi() % 20 # Returns random integer between 0 and 19\n" "randi() % 100 # Returns random integer between 0 and 99\n" "randi() % 100 + 1 # Returns random integer between 1 and 100\n" "[/gdscript]\n" "[csharp]\n" "GD.Randi(); // Returns random integer between 0 and 2^32 - 1\n" "GD.Randi() % 20; // Returns random integer between 0 and 19\n" "GD.Randi() % 100; // Returns random integer between 0 and 99\n" "GD.Randi() % 100 + 1; // Returns random integer between 1 and 100\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回一個隨機的無符號 32 位元整數。使用餘數獲得區間 [code][0, N - 1][/code] " "(其中 N 小於 2^32)的隨機值。\n" "[codeblocks]\n" "[gdscript]\n" "randi() # 返回介於 0 到 2^32 - 1 之間的隨機整數\n" "randi() % 20 # 返回介於 0 到 19之間的隨機整數\n" "randi() % 100 # 返回介於 0 到 99 之間的隨機整數\n" "randi() % 100 + 1 # 返回介於 1 到 100 之間的隨機整數\n" "[/gdscript]\n" "[csharp]\n" "GD.Randi(); // 返回介於 0 到 2^32 - 1 之間的隨機整數\n" "GD.Randi() % 20; // 返回介於 0 到 19之間的隨機整數\n" "GD.Randi() % 100; // 返回介於 0 到 99 之間的隨機整數\n" "GD.Randi() % 100 + 1; // 返回介於 1 到 100 之間的隨機整數\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Returns a random signed 32-bit integer between [param from] and [param to] " "(inclusive). If [param to] is lesser than [param from], they are swapped.\n" "[codeblocks]\n" "[gdscript]\n" "randi_range(0, 1) # Returns either 0 or 1\n" "randi_range(-10, 1000) # Returns random integer between -10 and 1000\n" "[/gdscript]\n" "[csharp]\n" "GD.RandRange(0, 1); // Returns either 0 or 1\n" "GD.RandRange(-10, 1000); // Returns random integer between -10 and 1000\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回介於 [param from] 和 [param to](包含)之間的一個隨機有符號 32 位元整數。" "如果 [param to] 小於 [param from],則它們將被交換。\n" "[codeblocks]\n" "[gdscript]\n" "randi_range(0, 1) # 返回 0 或 1\n" "randi_range(-10, 1000) # 返回介於 -10 和 1000 之間的隨機整數\n" "[/gdscript]\n" "[csharp]\n" "GD.RandRange(0, 1); // 返回 0 或 1\n" "GD.RandRange(-10, 1000); // 返回介於 -10 和 1000 之間的隨機整數\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Randomizes the seed (or the internal state) of the random number generator. " "The current implementation uses a number based on the device's time.\n" "[b]Note:[/b] This function is called automatically when the project is run. " "If you need to fix the seed to have consistent, reproducible results, use " "[method seed] to initialize the random number generator." msgstr "" "隨機化亂數產生器的種子(或內部狀態)。目前的實作使用一個基於裝置時間的數" "字。\n" "[b]注意:[/b]該函式在專案運作時自動被呼叫。如果需要修復種子以獲得一致、可重現" "的結果,請使用 [method seed] 來初始化亂數產生器。" #: doc/classes/@GlobalScope.xml msgid "" "Maps a [param value] from range [code][istart, istop][/code] to [code]" "[ostart, ostop][/code]. See also [method lerp] and [method inverse_lerp]. If " "[param value] is outside [code][istart, istop][/code], then the resulting " "value will also be outside [code][ostart, ostop][/code]. If this is not " "desired, use [method clamp] on the result of this function.\n" "[codeblock]\n" "remap(75, 0, 100, -1, 1) # Returns 0.5\n" "[/codeblock]\n" "For complex use cases where multiple ranges are needed, consider using " "[Curve] or [Gradient] instead.\n" "[b]Note:[/b] If [code]istart == istop[/code], the return value is undefined " "(most likely NaN, INF, or -INF)." msgstr "" "將 [param value] 從區間 [code][istart, istop][/code] 映射到 [code][ostart, " "ostop][/code]。另請參閱 [method lerp] 與 [method inverse_lerp]。如果 [param " "value] 超出 [code][istart, istop][/code],則結果也會超出 [code][ostart, " "ostop][/code]。若不希望發生這種情況,請對此函式的結果使用 [method clamp]。\n" "[codeblock]\n" "remap(75, 0, 100, -1, 1) # 回傳 0.5\n" "[/codeblock]\n" "若需多個區間的複雜應用,建議改用 [Curve] 或 [Gradient]。\n" "[b]注意:[/b] 若 [code]istart == istop[/code],回傳值會是未定義(很可能為 " "NaN、INF 或 -INF)。" #: doc/classes/@GlobalScope.xml msgid "" "Allocates a unique ID which can be used by the implementation to construct " "an RID. This is used mainly from native extensions to implement servers." msgstr "分配一個唯一 ID 以供實作端組成 RID;主要供原生擴充用於實作伺服器。" #: doc/classes/@GlobalScope.xml msgid "" "Creates an RID from a [param base]. This is used mainly from native " "extensions to build servers." msgstr "依 [param base] 建立 RID;主要供原生擴充用於建構伺服器。" #: doc/classes/@GlobalScope.xml msgid "" "Rotates [param from] toward [param to] by the [param delta] amount. Will not " "go past [param to].\n" "Similar to [method move_toward], but interpolates correctly when the angles " "wrap around [constant @GDScript.TAU].\n" "If [param delta] is negative, this function will rotate away from [param " "to], toward the opposite angle, and will not go past the opposite angle." msgstr "" "將 [param from] 向 [param to] 旋轉 [param delta] 量。不會超過 [param to]。\n" "與 [method move_toward] 類似,但當角環繞 [constant @GDScript.TAU] 時正確內" "插。\n" "如果 [param delta] 為負數,則此函式將從 [param to] 旋轉到相反的角度,並且不會" "超過相反的角度。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] to the nearest whole number, with halfway cases rounded " "away from 0. Supported types: [int], [float], [Vector2], [Vector2i], " "[Vector3], [Vector3i], [Vector4], [Vector4i].\n" "[codeblock]\n" "round(2.4) # Returns 2\n" "round(2.5) # Returns 3\n" "round(2.6) # Returns 3\n" "[/codeblock]\n" "See also [method floor], [method ceil], and [method snapped].\n" "[b]Note:[/b] For better type safety, use [method roundf], [method roundi], " "[method Vector2.round], [method Vector3.round], or [method Vector4.round]." msgstr "" "將 [param x] 四捨五入至最接近整數,0.5 以上朝遠離 0 方向取整。\n" "支援型別: [int]、[float]、[Vector2]、[Vector2i]、[Vector3]、[Vector3i]、" "[Vector4]、[Vector4i]。\n" "[codeblock]\n" "round(2.4) # 回傳 2\n" "round(2.5) # 回傳 3\n" "round(2.6) # 回傳 3\n" "[/codeblock]\n" "另見 [method floor]、[method ceil] 與 [method snapped]。\n" "[b]注意:[/b] 為確保型別安全,請使用 [method roundf]、[method roundi]、" "[method Vector2.round]、[method Vector3.round] 或 [method Vector4.round]。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] to the nearest whole number, with halfway cases rounded " "away from 0.\n" "A type-safe version of [method round], returning a [float]." msgstr "" "將 [param x] 四捨五入到最接近的整數,中間情況遠離 0 四捨五入。\n" "[method round] 的型別安全版本,返回一個 [float]。" #: doc/classes/@GlobalScope.xml msgid "" "Rounds [param x] to the nearest whole number, with halfway cases rounded " "away from 0.\n" "A type-safe version of [method round], returning an [int]." msgstr "" "將 [param x] 四捨五入到最接近的整數,中間情況遠離 0 四捨五入。\n" "[method round] 的型別安全版本,返回一個 [int]。" #: doc/classes/@GlobalScope.xml msgid "" "Sets the seed for the random number generator to [param base]. Setting the " "seed manually can ensure consistent, repeatable results for most random " "functions.\n" "[codeblocks]\n" "[gdscript]\n" "var my_seed = \"Godot Rocks\".hash()\n" "seed(my_seed)\n" "var a = randf() + randi()\n" "seed(my_seed)\n" "var b = randf() + randi()\n" "# a and b are now identical\n" "[/gdscript]\n" "[csharp]\n" "ulong mySeed = (ulong)GD.Hash(\"Godot Rocks\");\n" "GD.Seed(mySeed);\n" "var a = GD.Randf() + GD.Randi();\n" "GD.Seed(mySeed);\n" "var b = GD.Randf() + GD.Randi();\n" "// a and b are now identical\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "將亂數產生器的種子設定為 [param base]。手動設定種子可以確保大多數隨機函式的結" "果一致、可重複。\n" "[codeblocks]\n" "[gdscript]\n" "var my_seed = \"Godot Rocks\".hash()\n" "seed(my_seed)\n" "var a = randf() + randi()\n" "seed(my_seed)\n" "var b = randf() + randi()\n" "# a 和 b 現在是一樣的\n" "[/gdscript]\n" "[csharp]\n" "ulong mySeed = (ulong)GD.Hash(\"Godot Rocks\");\n" "GD.Seed(mySeed);\n" "var a = GD.Randf() + GD.Randi();\n" "GD.Seed(mySeed);\n" "var b = GD.Randf() + GD.Randi();\n" "// a 和 b 現在是一樣的\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the same type of [Variant] as [param x], with [code]-1[/code] for " "negative values, [code]1[/code] for positive values, and [code]0[/code] for " "zeros. For [code]nan[/code] values it returns 0.\n" "Supported types: [int], [float], [Vector2], [Vector2i], [Vector3], " "[Vector3i], [Vector4], [Vector4i].\n" "[codeblock]\n" "sign(-6.0) # Returns -1\n" "sign(0.0) # Returns 0\n" "sign(6.0) # Returns 1\n" "sign(NAN) # Returns 0\n" "\n" "sign(Vector3(-6.0, 0.0, 6.0)) # Returns (-1, 0, 1)\n" "[/codeblock]\n" "[b]Note:[/b] For better type safety, use [method signf], [method signi], " "[method Vector2.sign], [method Vector2i.sign], [method Vector3.sign], " "[method Vector3i.sign], [method Vector4.sign], or [method Vector4i.sign]." msgstr "" "回傳與 [param x] 相同型別的 [Variant];負值為 [code]-1[/code],正值為 " "[code]1[/code],零為 [code]0[/code],遇 [code]nan[/code] 則回傳 0。\n" "支援型別:[int]、[float]、[Vector2]、[Vector2i]、[Vector3]、[Vector3i]、" "[Vector4]、[Vector4i]。\n" "[codeblock]\n" "sign(-6.0) # 返回 -1\n" "sign(0.0) # 返回 0\n" "sign(6.0) # 返回 1\n" "sign(NAN) # 返回 0\n" "\n" "sign(Vector3(-6.0, 0.0, 6.0)) # 返回 (-1, 0, 1)\n" "[/codeblock]\n" "[b]注意:[/b]為提升型別安全性,請使用 [method signf]、[method signi]、" "[method Vector2.sign]、[method Vector2i.sign]、[method Vector3.sign]、" "[method Vector3i.sign]、[method Vector4.sign] 或 [method Vector4i.sign]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]-1.0[/code] if [param x] is negative, [code]1.0[/code] if " "[param x] is positive, and [code]0.0[/code] if [param x] is zero. For " "[code]nan[/code] values of [param x] it returns 0.0.\n" "[codeblock]\n" "signf(-6.5) # Returns -1.0\n" "signf(0.0) # Returns 0.0\n" "signf(6.5) # Returns 1.0\n" "signf(NAN) # Returns 0.0\n" "[/codeblock]" msgstr "" "若 [param x] 為負則回傳 [code]-1.0[/code],為正則回傳 [code]1.0[/code],為零" "則回傳 [code]0.0[/code],遇 [code]nan[/code] 則回傳 0.0。\n" "[codeblock]\n" "signf(-6.5) # 返回 -1.0\n" "signf(0.0) # 返回 0.0\n" "signf(6.5) # 返回 1.0\n" "signf(NAN) # 返回 0.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns [code]-1[/code] if [param x] is negative, [code]1[/code] if [param " "x] is positive, and [code]0[/code] if [param x] is zero.\n" "[codeblock]\n" "signi(-6) # Returns -1\n" "signi(0) # Returns 0\n" "signi(6) # Returns 1\n" "[/codeblock]" msgstr "" "若 [param x] 為負則回傳 [code]-1[/code];為正則回傳 [code]1[/code];為 0 則回" "傳 [code]0[/code]。\n" "[codeblock]\n" "signi(-6) # 回傳 -1\n" "signi(0) # 回傳 0\n" "signi(6) # 回傳 1\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the sine of angle [param angle_rad] in radians.\n" "[codeblock]\n" "sin(0.523599) # Returns 0.5\n" "sin(deg_to_rad(90)) # Returns 1.0\n" "[/codeblock]" msgstr "" "返回弧度角 [param angle_rad] 的正弦值。\n" "[codeblock]\n" "sin(0.523599) # 返回 0.5\n" "sin(deg_to_rad(90)) # 返回 1.0\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the hyperbolic sine of [param x].\n" "[codeblock]\n" "var a = log(2.0) # Returns 0.693147\n" "sinh(a) # Returns 0.75\n" "[/codeblock]" msgstr "" "返回 [param x] 的雙曲正弦值。\n" "[codeblock]\n" "var a = log(2.0) # 返回 0.693147\n" "sinh(a) # 返回 0.75\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns a smooth cubic Hermite interpolation between [code]0[/code] and " "[code]1[/code].\n" "For positive ranges (when [code]from <= to[/code]) the return value is " "[code]0[/code] when [code]x <= from[/code], and [code]1[/code] when [code]x " ">= to[/code]. If [param x] lies between [param from] and [param to], the " "return value follows an S-shaped curve that smoothly transitions from " "[code]0[/code] to [code]1[/code].\n" "For negative ranges (when [code]from > to[/code]) the function is mirrored " "and returns [code]1[/code] when [code]x <= to[/code] and [code]0[/code] when " "[code]x >= from[/code].\n" "This S-shaped curve is the cubic Hermite interpolator, given by [code]f(y) = " "3*y^2 - 2*y^3[/code] where [code]y = (x-from) / (to-from)[/code].\n" "[codeblock]\n" "smoothstep(0, 2, -5.0) # Returns 0.0\n" "smoothstep(0, 2, 0.5) # Returns 0.15625\n" "smoothstep(0, 2, 1.0) # Returns 0.5\n" "smoothstep(0, 2, 2.0) # Returns 1.0\n" "[/codeblock]\n" "Compared to [method ease] with a curve value of [code]-1.6521[/code], " "[method smoothstep] returns the smoothest possible curve with no sudden " "changes in the derivative. If you need to perform more advanced transitions, " "use [Tween] or [AnimationPlayer].\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" "smoothstep_ease_comparison.png]Comparison between smoothstep() and ease(x, " "-1.6521) return values[/url]\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" "smoothstep_range.webp]Smoothstep() return values with positive, zero, and " "negative ranges[/url]" msgstr "" "回傳 [code]0[/code] 與 [code]1[/code] 之間的平滑三次 Hermite 插值。\n" "若為正向區間([code]from <= to[/code]),當 [code]x <= from[/code] 時回傳 " "[code]0[/code],當 [code]x >= to[/code] 時回傳 [code]1[/code]。若 [param x] " "介於 [param from] 與 [param to] 之間,則回傳值會依 S 形曲線平滑地由 [code]0[/" "code] 過渡至 [code]1[/code]。\n" "若為反向區間([code]from > to[/code]),則函式行為會鏡像:當 [code]x <= to[/" "code] 時回傳 [code]1[/code],當 [code]x >= from[/code] 時回傳 [code]0[/" "code]。\n" "這個 S 形曲線即為三次 Hermite 補間器,其公式為 [code]f(y) = 3*y^2 - 2*y^3[/" "code],其中 [code]y = (x-from) / (to-from)[/code]。\n" "[codeblock]\n" "smoothstep(0, 2, -5.0) # 回傳 0.0\n" "smoothstep(0, 2, 0.5) # 回傳 0.15625\n" "smoothstep(0, 2, 1.0) # 回傳 0.5\n" "smoothstep(0, 2, 2.0) # 回傳 1.0\n" "[/codeblock]\n" "與 [method ease] 並給定曲線值 [code]-1.6521[/code] 相比,[method smoothstep] " "回傳的曲線最為平順,且導數不會有突變。若需要更進階的過渡,請使用 [Tween] 或 " "[AnimationPlayer]。\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" "smoothstep_ease_comparison.png]smoothstep() 與 ease(x, -1.6521) 回傳值比較[/" "url]\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" "smoothstep_range.webp]smoothstep() 在正、零、負區間的回傳值[/url]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the multiple of [param step] that is the closest to [param x]. This " "can also be used to round a floating-point number to an arbitrary number of " "decimals.\n" "The returned value is the same type of [Variant] as [param step]. Supported " "types: [int], [float], [Vector2], [Vector2i], [Vector3], [Vector3i], " "[Vector4], [Vector4i].\n" "[codeblock]\n" "snapped(100, 32) # Returns 96\n" "snapped(3.14159, 0.01) # Returns 3.14\n" "\n" "snapped(Vector2(34, 70), Vector2(8, 8)) # Returns (32, 72)\n" "[/codeblock]\n" "See also [method ceil], [method floor], and [method round].\n" "[b]Note:[/b] For better type safety, use [method snappedf], [method " "snappedi], [method Vector2.snapped], [method Vector2i.snapped], [method " "Vector3.snapped], [method Vector3i.snapped], [method Vector4.snapped], or " "[method Vector4i.snapped]." msgstr "" "回傳最接近 [param x] 的 [param step] 倍數,可用於將浮點數取至任意小數位。\n" "回傳值型別與 [param step] 相同。支援型別: [int]、[float]、[Vector2]、" "[Vector2i]、[Vector3]、[Vector3i]、[Vector4]、[Vector4i]。\n" "[codeblock]\n" "snapped(100, 32) # 回傳 96\n" "snapped(3.14159, 0.01) # 回傳 3.14\n" "snapped(Vector2(34, 70), Vector2(8, 8)) # 回傳 (32, 72)\n" "[/codeblock]\n" "另見 [method ceil]、[method floor] 與 [method round]。\n" "[b]注意:[/b] 如需型別安全版本,請使用 [method snappedf]、[method snappedi]、" "[method Vector2.snapped]、[method Vector2i.snapped]、[method " "Vector3.snapped]、[method Vector3i.snapped]、[method Vector4.snapped] 或 " "[method Vector4i.snapped]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the multiple of [param step] that is the closest to [param x]. This " "can also be used to round a floating-point number to an arbitrary number of " "decimals.\n" "A type-safe version of [method snapped], returning a [float].\n" "[codeblock]\n" "snappedf(32.0, 2.5) # Returns 32.5\n" "snappedf(3.14159, 0.01) # Returns 3.14\n" "[/codeblock]" msgstr "" "回傳最接近 [param x] 的 [param step] 倍數,可用於將浮點數取至任意小數位。\n" "此為型別安全版本,回傳 [float]。\n" "[codeblock]\n" "snappedf(32.0, 2.5) # 回傳 32.5\n" "snappedf(3.14159, 0.01) # 回傳 3.14\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the multiple of [param step] that is the closest to [param x].\n" "A type-safe version of [method snapped], returning an [int].\n" "[codeblock]\n" "snappedi(53, 16) # Returns 48\n" "snappedi(4096, 100) # Returns 4100\n" "[/codeblock]" msgstr "" "返回最接近 [param x] 的 [param step] 的倍數。\n" "[method snapped] 的型別安全版本,返回一個 [int]。\n" "[codeblock]\n" "snappedi(53, 16) # 返回 48\n" "snappedi(4096, 100) # 返回 4100\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the square root of [param x], where [param x] is a non-negative " "number.\n" "[codeblock]\n" "sqrt(9) # Returns 3\n" "sqrt(10.24) # Returns 3.2\n" "sqrt(-1) # Returns NaN\n" "[/codeblock]\n" "[b]Note:[/b] Negative values of [param x] return NaN (\"Not a Number\"). In " "C#, if you need negative inputs, use [code]System.Numerics.Complex[/code]." msgstr "" "回傳 [param x] 的平方根,其中 [param x] 為非負數。\n" "[codeblock]\n" "sqrt(9) # 回傳 3\n" "sqrt(10.24) # 回傳 3.2\n" "sqrt(-1) # 回傳 NaN\n" "[/codeblock]\n" "[b]注意:[/b] 若 [param x] 為負則回傳 NaN(非數字)。在 C# 中如需處理負值,請" "使用 [code]System.Numerics.Complex[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Returns the position of the first non-zero digit, after the decimal point. " "Note that the maximum return value is 10, which is a design decision in the " "implementation.\n" "[codeblock]\n" "var n = step_decimals(5) # n is 0\n" "n = step_decimals(1.0005) # n is 4\n" "n = step_decimals(0.000000005) # n is 9\n" "[/codeblock]" msgstr "" "返回小數點後第一個非零數字的位置。注意最大返回值是 10,這是實作中的設計決" "定。\n" "[codeblock]\n" "var n = step_decimals(5) # n 為 0\n" "n = step_decimals(1.0005) # n 為 4\n" "n = step_decimals(0.000000005) # n 為 9\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Converts one or more arguments of any [Variant] type to a [String] in the " "best way possible.\n" "[codeblock]\n" "var a = [10, 20, 30]\n" "var b = str(a)\n" "print(len(a)) # Prints 3 (the number of elements in the array).\n" "print(len(b)) # Prints 12 (the length of the string \"[10, 20, 30]\").\n" "[/codeblock]" msgstr "" "盡可能以最佳方式將一個或多個任何 [Variant] 型別的參數轉換為一個 [String]。\n" "[codeblock]\n" "var a = [10, 20, 30]\n" "var b = str(a)\n" "print(len(a)) # 輸出 3(陣列中元素的數量)。\n" "print(len(b)) # 輸出 12(字串“[10, 20, 30]”的長度)。\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Converts a formatted [param string] that was returned by [method var_to_str] " "to the original [Variant].\n" "[codeblocks]\n" "[gdscript]\n" "var data = '{ \"a\": 1, \"b\": 2 }' # data is a String\n" "var dict = str_to_var(data) # dict is a Dictionary\n" "print(dict[\"a\"]) # Prints 1\n" "[/gdscript]\n" "[csharp]\n" "string data = \"{ \\\"a\\\": 1, \\\"b\\\": 2 }\"; // data is a " "string\n" "var dict = GD.StrToVar(data).AsGodotDictionary(); // dict is a Dictionary\n" "GD.Print(dict[\"a\"]); // Prints 1\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "將 [method var_to_str] 返回的已格式化的 [param string] 轉換為原始 " "[Variant]。\n" "[codeblocks]\n" "[gdscript]\n" "var data = '{ \"a\": 1, \"b\": 2 }' # data 是一個 String\n" "var dict = str_to_var(data) # dict 是一個 Dictionary\n" "print(dict[\"a\"]) # 輸出 1\n" "[/gdscript]\n" "[csharp]\n" "string data = \"{ \\\"a\\\": 1, \\\"b\\\": 2 }\"; // data 是一個 " "string\n" "var dict = GD.StrToVar(data).AsGodotDictionary(); // dict 是一個 Dictionary\n" "GD.Print(dict[\"a\"]); // 輸出 1\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the tangent of angle [param angle_rad] in radians.\n" "[codeblock]\n" "tan(deg_to_rad(45)) # Returns 1\n" "[/codeblock]" msgstr "" "返回弧度角 [param angle_rad] 的正切值。\n" "[codeblock]\n" "tan(deg_to_rad(45)) # 返回 1\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns the hyperbolic tangent of [param x].\n" "[codeblock]\n" "var a = log(2.0) # Returns 0.693147\n" "tanh(a) # Returns 0.6\n" "[/codeblock]" msgstr "" "返回 [param x] 的雙曲正切值。\n" "[codeblock]\n" "var a = log(2.0) # 返回 0.693147\n" "tanh(a) # 返回 0.6\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Converts the given [param variant] to the given [param type], using the " "[enum Variant.Type] values. This method is generous with how it handles " "types, it can automatically convert between array types, convert numeric " "[String]s to [int], and converting most things to [String].\n" "If the type conversion cannot be done, this method will return the default " "value for that type, for example converting [Rect2] to [Vector2] will always " "return [constant Vector2.ZERO]. This method will never show error messages " "as long as [param type] is a valid Variant type.\n" "The returned value is a [Variant], but the data inside and its type will be " "the same as the requested type.\n" "[codeblock]\n" "type_convert(\"Hi!\", TYPE_INT) # Returns 0\n" "type_convert(\"123\", TYPE_INT) # Returns 123\n" "type_convert(123.4, TYPE_INT) # Returns 123\n" "type_convert(5, TYPE_VECTOR2) # Returns (0, 0)\n" "type_convert(\"Hi!\", TYPE_NIL) # Returns null\n" "[/codeblock]" msgstr "" "將給定的 [param variant] 以 [enum Variant.Type] 轉為指定 [param type]。本函式" "支援多型態自動轉換,如陣列型態間轉換、數字字串轉整數、多數型態轉字串等。\n" "若無法轉型則回傳該型別預設值,例如 [Rect2] 轉 [Vector2] 永遠回傳 [constant " "Vector2.ZERO]。只要 [param type] 屬於有效 Variant 型態,不會產生錯誤訊息。\n" "回傳值為 [Variant],但內部資料型態等同你指定的目標型態。\n" "[codeblock]\n" "type_convert(\"Hi!\", TYPE_INT) # 返回 0\n" "type_convert(\"123\", TYPE_INT) # 返回 123\n" "type_convert(123.4, TYPE_INT) # 返回 123\n" "type_convert(5, TYPE_VECTOR2) # 返回 (0, 0)\n" "type_convert(\"Hi!\", TYPE_NIL) # 返回 null\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "" "Returns a human-readable name of the given [param type], using the [enum " "Variant.Type] values.\n" "[codeblock]\n" "print(TYPE_INT) # Prints 2\n" "print(type_string(TYPE_INT)) # Prints \"int\"\n" "print(type_string(TYPE_STRING)) # Prints \"String\"\n" "[/codeblock]\n" "See also [method typeof]." msgstr "" "依 [enum Variant.Type] 取得 [param type] 的易讀名稱。\n" "[codeblock]\n" "print(TYPE_INT) # 輸出 2\n" "print(type_string(TYPE_INT)) # 輸出 \"int\"\n" "print(type_string(TYPE_STRING)) # 輸出 \"String\"\n" "[/codeblock]\n" "另見 [method typeof]。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Returns the internal type of the given [param variable], using the [enum " "Variant.Type] values.\n" "[codeblock]\n" "var json = JSON.new()\n" "json.parse('[\"a\", \"b\", \"c\"]')\n" "var result = json.get_data()\n" "if typeof(result) == TYPE_ARRAY:\n" "\tprint(result[0]) # Prints \"a\"\n" "else:\n" "\tprint(\"Unexpected result!\")\n" "[/codeblock]\n" "See also [method type_string]." msgstr "" "回傳給定 [param variable] 的內部型態,採用 [enum Variant.Type]。\n" "[codeblock]\n" "var json = JSON.new()\n" "json.parse('[\"a\", \"b\", \"c\"]')\n" "var result = json.get_data()\n" "if typeof(result) == TYPE_ARRAY:\n" "\tprint(result[0]) # 輸出 \"a\"\n" "else:\n" "\tprint(\"非預期的結果!\")\n" "[/codeblock]\n" "參見 [method type_string]。" #: doc/classes/@GlobalScope.xml msgid "" "Encodes a [Variant] value to a byte array, without encoding objects. " "Deserialization can be done with [method bytes_to_var].\n" "[b]Note:[/b] If you need object serialization, see [method " "var_to_bytes_with_objects].\n" "[b]Note:[/b] Encoding [Callable] is not supported and will result in an " "empty value, regardless of the data." msgstr "" "將 [Variant] 值編碼為位元組陣列,不包含物件。反序列化請用 [method " "bytes_to_var]。\n" "[b]注意:[/b]如需物件序列化,請參見 [method var_to_bytes_with_objects]。\n" "[b]注意:[/b]不支援 [Callable] 編碼,無論資料內容如何都會產生空值。" #: doc/classes/@GlobalScope.xml msgid "" "Encodes a [Variant] value to a byte array. Encoding objects is allowed (and " "can potentially include executable code). Deserialization can be done with " "[method bytes_to_var_with_objects].\n" "[b]Note:[/b] Encoding [Callable] is not supported and will result in an " "empty value, regardless of the data." msgstr "" "將 [Variant] 值編碼為位元組陣列,允許編碼物件(可能包含可執行程式碼)。反序列" "化請用 [method bytes_to_var_with_objects]。\n" "[b]注意:[/b]不支援 [Callable] 編碼,無論資料內容如何都會產生空值。" #: doc/classes/@GlobalScope.xml msgid "" "Converts a [Variant] [param variable] to a formatted [String] that can then " "be parsed using [method str_to_var].\n" "[codeblocks]\n" "[gdscript]\n" "var a = { \"a\": 1, \"b\": 2 }\n" "print(var_to_str(a))\n" "[/gdscript]\n" "[csharp]\n" "var a = new Godot.Collections.Dictionary { [\"a\"] = 1, [\"b\"] = 2 };\n" "GD.Print(GD.VarToStr(a));\n" "[/csharp]\n" "[/codeblocks]\n" "Prints:\n" "[codeblock lang=text]\n" "{\n" "\t\"a\": 1,\n" "\t\"b\": 2\n" "}\n" "[/codeblock]\n" "[b]Note:[/b] Converting [Signal] or [Callable] is not supported and will " "result in an empty value for these types, regardless of their data." msgstr "" "將 [Variant] 變數 [param variable] 轉為可由 [method str_to_var] 解析的格式化 " "[String]。\n" "[codeblocks]\n" "[gdscript]\n" "var a = { \"a\": 1, \"b\": 2 }\n" "print(var_to_str(a))\n" "[/gdscript]\n" "[csharp]\n" "var a = new Godot.Collections.Dictionary { [\"a\"] = 1, [\"b\"] = 2 };\n" "GD.Print(GD.VarToStr(a));\n" "[/csharp]\n" "[/codeblocks]\n" "輸出:\n" "[codeblock]\n" "{\n" "\t\"a\": 1,\n" "\t\"b\": 2\n" "}\n" "[/codeblock]\n" "[b]注意:[/b] 不支援轉換 [Signal] 與 [Callable];此兩類型即使有資料也會被轉為" "空值。" #: doc/classes/@GlobalScope.xml msgid "" "Returns a [WeakRef] instance holding a weak reference to [param obj]. " "Returns an empty [WeakRef] instance if [param obj] is [code]null[/code]. " "Prints an error and returns [code]null[/code] if [param obj] is neither " "[Object]-derived nor [code]null[/code].\n" "A weak reference to an object is not enough to keep the object alive: when " "the only remaining references to a referent are weak references, garbage " "collection is free to destroy the referent and reuse its memory for " "something else. However, until the object is actually destroyed the weak " "reference may return the object even if there are no strong references to it." msgstr "" "回傳一個 [WeakRef] 實例,持有對 [param obj] 的弱參考。若 [param obj] 為 " "[code]null[/code],則回傳空的 [WeakRef] 實例。若 [param obj] 既不是 [Object] " "派生,也不是 [code]null[/code],則會列印錯誤並回傳 [code]null[/code]。\n" "弱參考無法確保物件存活:當只剩下弱參考時,垃圾回收器可以隨時銷毀該物件並釋放" "記憶體。然而,只要物件尚未被銷毀,即使已經沒有強參考,弱參考仍然可能取得該物" "件。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Wraps the [Variant] [param value] between [param min] and [param max]. " "[param min] is [i]inclusive[/i] while [param max] is [i]exclusive[/i]. This " "can be used for creating loop-like behavior or infinite surfaces.\n" "Variant types [int] and [float] are supported. If any of the arguments is " "[float], this function returns a [float], otherwise it returns an [int].\n" "[codeblock]\n" "var a = wrap(4, 5, 10)\n" "# a is 9 (int)\n" "\n" "var a = wrap(7, 5, 10)\n" "# a is 7 (int)\n" "\n" "var a = wrap(10.5, 5, 10)\n" "# a is 5.5 (float)\n" "[/codeblock]" msgstr "" "在 [param min] 和 [param max] 之間包裹 [Variant] [param value]。可用於建立類" "似迴圈的行為或無限曲面。\n" "支援變體型別 [int] 和 [float]。如果任一參數是 [float],則該函式返回 [float]," "否則返回 [int]。\n" "[codeblock]\n" "var a = wrap(4, 5, 10)\n" "# a 為 9 (整數型別)\n" "\n" "var a = wrap(7, 5, 10)\n" "# a 為 7 (整數型別)\n" "\n" "var a = wrap(10.5, 5, 10)\n" "# a 為 5.5 (浮點型別)\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Wraps the float [param value] between [param min] and [param max]. [param " "min] is [i]inclusive[/i] while [param max] is [i]exclusive[/i]. This can be " "used for creating loop-like behavior or infinite surfaces.\n" "[codeblock]\n" "# Infinite loop between 5.0 and 9.9\n" "value = wrapf(value + 0.1, 5.0, 10.0)\n" "[/codeblock]\n" "[codeblock]\n" "# Infinite rotation (in radians)\n" "angle = wrapf(angle + 0.1, 0.0, TAU)\n" "[/codeblock]\n" "[codeblock]\n" "# Infinite rotation (in radians)\n" "angle = wrapf(angle + 0.1, -PI, PI)\n" "[/codeblock]\n" "[b]Note:[/b] If [param min] is [code]0[/code], this is equivalent to [method " "fposmod], so prefer using that instead. [method wrapf] is more flexible than " "using the [method fposmod] approach by giving the user control over the " "minimum value." msgstr "" "將浮點數 [param value] 以 [param min] 與 [param max] 為範圍進行環繞,可用於製" "作循環行為或無限平面。\n" "[codeblock]\n" "# 在 5.0 ~ 9.9 間無限循環\n" "value = wrapf(value + 0.1, 5.0, 10.0)\n" "[/codeblock]\n" "[codeblock]\n" "# 無限旋轉(弧度)\n" "angle = wrapf(angle + 0.1, 0.0, TAU)\n" "[/codeblock]\n" "[codeblock]\n" "# 無限旋轉(弧度)\n" "angle = wrapf(angle + 0.1, -PI, PI)\n" "[/codeblock]\n" "[b]注意:[/b]若 [param min] 為 [code]0[/code],本函式等同 [method fposmod]。" "如僅需環繞 0 請優先用 [method fposmod]。\n" "[method wrapf] 較 [method fposmod] 更彈性,可自訂下限值。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Wraps the integer [param value] between [param min] and [param max]. [param " "min] is [i]inclusive[/i] while [param max] is [i]exclusive[/i]. This can be " "used for creating loop-like behavior or infinite surfaces.\n" "[codeblock]\n" "# Infinite loop between 5 and 9\n" "frame = wrapi(frame + 1, 5, 10)\n" "[/codeblock]\n" "[codeblock]\n" "# result is -2\n" "var result = wrapi(-6, -5, -1)\n" "[/codeblock]" msgstr "" "在 [param min] 和 [param max] 之間環繞整數 [param value]。 可用於建立類似迴圈" "的行為或無限曲面。\n" "[codeblock]\n" "# 在 5 和 9 之間無限迴圈\n" "frame = wrapi(frame + 1, 5, 10)\n" "[/codeblock]\n" "[codeblock]\n" "# result 是 -2\n" "var result = wrapi(-6, -5, -1)\n" "[/codeblock]" #: doc/classes/@GlobalScope.xml msgid "The [AudioServer] singleton." msgstr "[AudioServer] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [CameraServer] singleton." msgstr "[CameraServer] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [ClassDB] singleton." msgstr "[ClassDB] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [DisplayServer] singleton." msgstr "[DisplayServer] 單例。" #: doc/classes/@GlobalScope.xml msgid "" "The [EditorInterface] singleton.\n" "[b]Note:[/b] Only available in editor builds." msgstr "" "[JavaClassWrapper] 單例。\n" "[b]注意:[/b]僅在 Android 上實作。" #: doc/classes/@GlobalScope.xml msgid "The [Engine] singleton." msgstr "[Engine] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [EngineDebugger] singleton." msgstr "[EngineDebugger] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [GDExtensionManager] singleton." msgstr "[GDExtensionManager] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [Geometry2D] singleton." msgstr "[Geometry2D] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [Geometry3D] singleton." msgstr "[Geometry3D] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [IP] singleton." msgstr "[IP] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [Input] singleton." msgstr "[Input] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [InputMap] singleton." msgstr "[InputMap] 單例。" #: doc/classes/@GlobalScope.xml msgid "" "The [JavaClassWrapper] singleton.\n" "[b]Note:[/b] Only implemented on Android." msgstr "" "[JavaClassWrapper] 單例。\n" "[b]注意:[/b]僅在 Android 上實作。" #: doc/classes/@GlobalScope.xml msgid "" "The [JavaScriptBridge] singleton.\n" "[b]Note:[/b] Only implemented on the Web platform." msgstr "" "[JavaScriptBridge] 單例。\n" "[b]注意:[/b]僅在 Web 平臺上實作。" #: doc/classes/@GlobalScope.xml msgid "The [Marshalls] singleton." msgstr "[Marshalls] 單例。" #: doc/classes/@GlobalScope.xml msgid "" "The [NativeMenu] singleton.\n" "[b]Note:[/b] Only implemented on macOS." msgstr "" "[NativeMenu] 單例。\n" "[b]注意:[/b] 僅於 macOS 提供實作。" #: doc/classes/@GlobalScope.xml msgid "The [NavigationMeshGenerator] singleton." msgstr "[NavigationMeshGenerator] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [NavigationServer2D] singleton." msgstr "[NavigationServer2D] 單例。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "The [NavigationServer2DManager] singleton." msgstr "[NavigationServer2D] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [NavigationServer3D] singleton." msgstr "[NavigationServer3D] 單例。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "The [NavigationServer3DManager] singleton." msgstr "[NavigationServer3D] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [OS] singleton." msgstr "[OS] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [Performance] singleton." msgstr "[Performance] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [PhysicsServer2D] singleton." msgstr "[PhysicsServer2D] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [PhysicsServer2DManager] singleton." msgstr "[PhysicsServer2DManager] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [PhysicsServer3D] singleton." msgstr "[PhysicsServer3D] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [PhysicsServer3DManager] singleton." msgstr "[PhysicsServer3DManager] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [ProjectSettings] singleton." msgstr "[ProjectSettings] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [RenderingServer] singleton." msgstr "[RenderingServer] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [ResourceLoader] singleton." msgstr "[ResourceLoader] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [ResourceSaver] singleton." msgstr "[ResourceSaver] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [ResourceUID] singleton." msgstr "[ResourceUID] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [TextServerManager] singleton." msgstr "[TextServerManager] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [ThemeDB] singleton." msgstr "[ThemeDB] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [Time] singleton." msgstr "[Time] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [TranslationServer] singleton." msgstr "[TranslationServer] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [WorkerThreadPool] singleton." msgstr "[WorkerThreadPool] 單例。" #: doc/classes/@GlobalScope.xml msgid "The [XRServer] singleton." msgstr "[XRServer] 單例。" #: doc/classes/@GlobalScope.xml msgid "Left side, usually used for [Control] or [StyleBox]-derived classes." msgstr "左邊,常用於 [Control] 或 [StyleBox] 的衍生類。" #: doc/classes/@GlobalScope.xml msgid "Top side, usually used for [Control] or [StyleBox]-derived classes." msgstr "頂邊,常用於 [Control] 或 [StyleBox] 的衍生類。" #: doc/classes/@GlobalScope.xml msgid "Right side, usually used for [Control] or [StyleBox]-derived classes." msgstr "右邊,常用於 [Control] 或 [StyleBox] 的衍生類。" #: doc/classes/@GlobalScope.xml msgid "Bottom side, usually used for [Control] or [StyleBox]-derived classes." msgstr "底邊,常用於 [Control] 或 [StyleBox] 的衍生類。" #: doc/classes/@GlobalScope.xml msgid "Top-left corner." msgstr "左上角。" #: doc/classes/@GlobalScope.xml msgid "Top-right corner." msgstr "右上角。" #: doc/classes/@GlobalScope.xml msgid "Bottom-right corner." msgstr "右下角。" #: doc/classes/@GlobalScope.xml msgid "Bottom-left corner." msgstr "左下角。" #: doc/classes/@GlobalScope.xml msgid "" "General vertical alignment, usually used for [Separator], [ScrollBar], " "[Slider], etc." msgstr "通用垂直對齊,常用於 [Separator]、[ScrollBar]、[Slider] 等。" #: doc/classes/@GlobalScope.xml msgid "" "General horizontal alignment, usually used for [Separator], [ScrollBar], " "[Slider], etc." msgstr "通用水平對齊,常用於 [Separator]、[ScrollBar]、[Slider] 等。" #: doc/classes/@GlobalScope.xml msgid "" "Clockwise rotation. Used by some methods (e.g. [method Image.rotate_90])." msgstr "順時針旋轉。被一些方法使用(例如 [method Image.rotate_90])。" #: doc/classes/@GlobalScope.xml msgid "" "Counter-clockwise rotation. Used by some methods (e.g. [method " "Image.rotate_90])." msgstr "逆時針旋轉。被一些方法使用(例如 [method Image.rotate_90])。" #: doc/classes/@GlobalScope.xml msgid "Horizontal left alignment, usually for text-derived classes." msgstr "水平左對齊,常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "Horizontal center alignment, usually for text-derived classes." msgstr "水平居中對齊,常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "Horizontal right alignment, usually for text-derived classes." msgstr "水平右對齊,常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "Expand row to fit width, usually for text-derived classes." msgstr "擴充行以適應寬度,常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "Vertical top alignment, usually for text-derived classes." msgstr "垂直上對齊,常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "Vertical center alignment, usually for text-derived classes." msgstr "垂直居中對齊,常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "Vertical bottom alignment, usually for text-derived classes." msgstr "垂直下對齊,常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "Expand rows to fit height, usually for text-derived classes." msgstr "擴充行以適應高度,通常用於文字衍生類。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns the top of the inline object (e.g. image, table) to the position of " "the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] constant." msgstr "" "將行內物件(例如圖像、表格)的頂部與 [code]INLINE_ALIGNMENT_TO_*[/code] 常數" "指定的文字位置對齊。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns the center of the inline object (e.g. image, table) to the position " "of the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] constant." msgstr "" "將行內物件(例如圖像、表格)的中心與 [code]INLINE_ALIGNMENT_TO_*[/code] 常數" "指定的文字位置對齊。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns the baseline (user defined) of the inline object (e.g. image, table) " "to the position of the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] " "constant." msgstr "" "將行內物件(如圖像、表格)的基線(使用者定義)與[code]INLINE_ALIGNMENT_TO_*[/" "code] 常數指定的文字位置對齊。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns the bottom of the inline object (e.g. image, table) to the position " "of the text specified by [code]INLINE_ALIGNMENT_TO_*[/code] constant." msgstr "" "將行內物件(例如圖像、表格)的底部與 [code]INLINE_ALIGNMENT_TO_*[/code] 常數" "指定的文字位置對齊。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns the position of the inline object (e.g. image, table) specified by " "[code]INLINE_ALIGNMENT_*_TO[/code] constant to the top of the text." msgstr "" "將由 [code]INLINE_ALIGNMENT_*_TO[/code] 常數指定的行內物件(例如圖像、表格)" "的位置與文字頂部對齊。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns the position of the inline object (e.g. image, table) specified by " "[code]INLINE_ALIGNMENT_*_TO[/code] constant to the center of the text." msgstr "" "將由 [code]INLINE_ALIGNMENT_*_TO[/code] 常數指定的行內物件(例如圖像、表格)" "的位置與文字中心對齊。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns the position of the inline object (e.g. image, table) specified by " "[code]INLINE_ALIGNMENT_*_TO[/code] constant to the baseline of the text." msgstr "" "將由 [code]INLINE_ALIGNMENT_*_TO[/code] 常數指定的行內物件(例如圖像、表格)" "的位置與文字基線對齊。" #: doc/classes/@GlobalScope.xml msgid "Aligns inline object (e.g. image, table) to the bottom of the text." msgstr "將行內物件(例如圖像、表格)與文字底部對齊。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns top of the inline object (e.g. image, table) to the top of the text. " "Equivalent to [code]INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP[/code]." msgstr "" "將行內物件(例如圖像、表格)的頂部與文字的頂部對齊。等效於 " "[code]INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns center of the inline object (e.g. image, table) to the center of the " "text. Equivalent to [code]INLINE_ALIGNMENT_CENTER_TO | " "INLINE_ALIGNMENT_TO_CENTER[/code]." msgstr "" "將行內物件(例如圖像、表格)的中心與文字的中心對齊。相當於 " "[code]INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Aligns bottom of the inline object (e.g. image, table) to the bottom of the " "text. Equivalent to [code]INLINE_ALIGNMENT_BOTTOM_TO | " "INLINE_ALIGNMENT_TO_BOTTOM[/code]." msgstr "" "將行內物件(例如圖像、表格)的底部與文字底部對齊。等效於 " "[code]INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM[/code]。" #: doc/classes/@GlobalScope.xml msgid "A bit mask for [code]INLINE_ALIGNMENT_*_TO[/code] alignment constants." msgstr "用於 [code]INLINE_ALIGNMENT_*_TO[/code] 對齊常數的位元遮罩。" #: doc/classes/@GlobalScope.xml msgid "A bit mask for [code]INLINE_ALIGNMENT_TO_*[/code] alignment constants." msgstr "用於 [code]INLINE_ALIGNMENT_TO_*[/code] 對齊常數的位元遮罩。" #: doc/classes/@GlobalScope.xml msgid "" "Specifies that Euler angles should be in XYZ order. When composing, the " "order is X, Y, Z. When decomposing, the order is reversed, first Z, then Y, " "and X last." msgstr "" "指定歐拉角應按 XYZ 順序排列。組合時,順序為 X、Y、Z。分解時,順序相反,先 Z," "再 Y,最後 X。" #: doc/classes/@GlobalScope.xml msgid "" "Specifies that Euler angles should be in XZY order. When composing, the " "order is X, Z, Y. When decomposing, the order is reversed, first Y, then Z, " "and X last." msgstr "" "指定歐拉角應按 XZY 順序排列。組合時,順序為 X、Z、Y。分解時,順序相反,先 Y," "再 Z,最後 X。" #: doc/classes/@GlobalScope.xml msgid "" "Specifies that Euler angles should be in YXZ order. When composing, the " "order is Y, X, Z. When decomposing, the order is reversed, first Z, then X, " "and Y last." msgstr "" "指定歐拉角應按 YXZ 順序排列。組合時,順序為 Y、X、Z。分解時,順序相反,先 Z," "再 X,最後 Y。" #: doc/classes/@GlobalScope.xml msgid "" "Specifies that Euler angles should be in YZX order. When composing, the " "order is Y, Z, X. When decomposing, the order is reversed, first X, then Z, " "and Y last." msgstr "" "指定歐拉角應按 YZX 順序排列。組合時,順序為 Y、Z、X。分解時,順序相反,先 X," "再 Z,最後 Y。" #: doc/classes/@GlobalScope.xml msgid "" "Specifies that Euler angles should be in ZXY order. When composing, the " "order is Z, X, Y. When decomposing, the order is reversed, first Y, then X, " "and Z last." msgstr "" "指定歐拉角應按 ZXY 順序排列。組合時,順序為 Z、X、Y。分解時,順序相反,先 Y," "再 X,最後 Z。" #: doc/classes/@GlobalScope.xml msgid "" "Specifies that Euler angles should be in ZYX order. When composing, the " "order is Z, Y, X. When decomposing, the order is reversed, first X, then Y, " "and Z last." msgstr "" "指定歐拉角應按 ZYX 順序排列。組合時,順序為 Z、Y、X。分解時,順序相反,先 X," "再 Y,最後 Z。" #: doc/classes/@GlobalScope.xml msgid "" "Enum value which doesn't correspond to any key. This is used to initialize " "[enum Key] properties with a generic state." msgstr "與任何鍵都不對應的列舉值。這用於初始化具有通用狀態的 [enum Key] 屬性。" #: doc/classes/@GlobalScope.xml msgid "Keycodes with this bit applied are non-printable." msgstr "套用此位的鍵碼不可列印。" #: doc/classes/@GlobalScope.xml msgid "Escape key." msgstr "ESC 鍵。" #: doc/classes/@GlobalScope.xml msgid "Tab key." msgstr "Tab 鍵。" #: doc/classes/@GlobalScope.xml msgid "Shift + Tab key." msgstr "Shift + Tab 鍵。" #: doc/classes/@GlobalScope.xml msgid "Backspace key." msgstr "倒退鍵。" #: doc/classes/@GlobalScope.xml msgid "Return key (on the main keyboard)." msgstr "確認鍵(位於主鍵盤)。" #: doc/classes/@GlobalScope.xml msgid "Enter key on the numeric keypad." msgstr "小鍵盤區的確認鍵。" #: doc/classes/@GlobalScope.xml msgid "Insert key." msgstr "Insert 鍵。" #: doc/classes/@GlobalScope.xml msgid "Delete key." msgstr "Delete 鍵。" #: doc/classes/@GlobalScope.xml msgid "Pause key." msgstr "Pause 鍵。" #: doc/classes/@GlobalScope.xml msgid "Print Screen key." msgstr "Print Screen 鍵。" #: doc/classes/@GlobalScope.xml msgid "System Request key." msgstr "System Request 鍵。" #: doc/classes/@GlobalScope.xml msgid "Clear key." msgstr "Clear 鍵。" #: doc/classes/@GlobalScope.xml msgid "Home key." msgstr "Home 鍵。" #: doc/classes/@GlobalScope.xml msgid "End key." msgstr "End 鍵。" #: doc/classes/@GlobalScope.xml msgid "Left arrow key." msgstr "左方向鍵。" #: doc/classes/@GlobalScope.xml msgid "Up arrow key." msgstr "上方向鍵。" #: doc/classes/@GlobalScope.xml msgid "Right arrow key." msgstr "右方向鍵。" #: doc/classes/@GlobalScope.xml msgid "Down arrow key." msgstr "下方向鍵。" #: doc/classes/@GlobalScope.xml msgid "Page Up key." msgstr "Page Up 鍵。" #: doc/classes/@GlobalScope.xml msgid "Page Down key." msgstr "Page Down 鍵。" #: doc/classes/@GlobalScope.xml msgid "Shift key." msgstr "Shift 鍵。" #: doc/classes/@GlobalScope.xml msgid "Control key." msgstr "Control 鍵。" #: doc/classes/@GlobalScope.xml msgid "Meta key." msgstr "Meta 鍵。" #: doc/classes/@GlobalScope.xml msgid "Alt key." msgstr "Alt 鍵。" #: doc/classes/@GlobalScope.xml msgid "Caps Lock key." msgstr "Caps Lock 鍵。" #: doc/classes/@GlobalScope.xml msgid "Num Lock key." msgstr "Num Lock 鍵。" #: doc/classes/@GlobalScope.xml msgid "Scroll Lock key." msgstr "Scroll Lock 鍵。" #: doc/classes/@GlobalScope.xml msgid "F1 key." msgstr "F1 鍵。" #: doc/classes/@GlobalScope.xml msgid "F2 key." msgstr "F2 鍵。" #: doc/classes/@GlobalScope.xml msgid "F3 key." msgstr "F3 鍵。" #: doc/classes/@GlobalScope.xml msgid "F4 key." msgstr "F4 鍵。" #: doc/classes/@GlobalScope.xml msgid "F5 key." msgstr "F5 鍵。" #: doc/classes/@GlobalScope.xml msgid "F6 key." msgstr "F6 鍵。" #: doc/classes/@GlobalScope.xml msgid "F7 key." msgstr "F7 鍵。" #: doc/classes/@GlobalScope.xml msgid "F8 key." msgstr "F8 鍵。" #: doc/classes/@GlobalScope.xml msgid "F9 key." msgstr "F9 鍵。" #: doc/classes/@GlobalScope.xml msgid "F10 key." msgstr "F10 鍵。" #: doc/classes/@GlobalScope.xml msgid "F11 key." msgstr "F11 鍵。" #: doc/classes/@GlobalScope.xml msgid "F12 key." msgstr "F12 鍵。" #: doc/classes/@GlobalScope.xml msgid "F13 key." msgstr "F13 鍵。" #: doc/classes/@GlobalScope.xml msgid "F14 key." msgstr "F14 鍵。" #: doc/classes/@GlobalScope.xml msgid "F15 key." msgstr "F15 鍵。" #: doc/classes/@GlobalScope.xml msgid "F16 key." msgstr "F16 鍵。" #: doc/classes/@GlobalScope.xml msgid "F17 key." msgstr "F17 鍵。" #: doc/classes/@GlobalScope.xml msgid "F18 key." msgstr "F18 鍵。" #: doc/classes/@GlobalScope.xml msgid "F19 key." msgstr "F19 鍵。" #: doc/classes/@GlobalScope.xml msgid "F20 key." msgstr "F20 鍵。" #: doc/classes/@GlobalScope.xml msgid "F21 key." msgstr "F21 鍵。" #: doc/classes/@GlobalScope.xml msgid "F22 key." msgstr "F22 鍵。" #: doc/classes/@GlobalScope.xml msgid "F23 key." msgstr "F23 鍵。" #: doc/classes/@GlobalScope.xml msgid "F24 key." msgstr "F24 鍵。" #: doc/classes/@GlobalScope.xml msgid "F25 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F25 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F26 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F26 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F27 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F27 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F28 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F28 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F29 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F29 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F30 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F30 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F31 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F31 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F32 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F32 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F33 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F33 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F34 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F34 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "F35 key. Only supported on macOS and Linux due to a Windows limitation." msgstr "F35 鍵。由於 Windows 限制,僅支援 macOS 和 Linux。" #: doc/classes/@GlobalScope.xml msgid "Multiply (*) key on the numeric keypad." msgstr "小鍵盤的星鍵/乘以鍵(*)。" #: doc/classes/@GlobalScope.xml msgid "Divide (/) key on the numeric keypad." msgstr "小鍵盤的除以鍵(/)。" #: doc/classes/@GlobalScope.xml msgid "Subtract (-) key on the numeric keypad." msgstr "小鍵盤的減號鍵(-)。" #: doc/classes/@GlobalScope.xml msgid "Period (.) key on the numeric keypad." msgstr "小鍵盤的點鍵(.)。" #: doc/classes/@GlobalScope.xml msgid "Add (+) key on the numeric keypad." msgstr "小鍵盤的加號鍵(+)。" #: doc/classes/@GlobalScope.xml msgid "Number 0 on the numeric keypad." msgstr "小鍵盤的數位 0。" #: doc/classes/@GlobalScope.xml msgid "Number 1 on the numeric keypad." msgstr "小鍵盤的數位 1。" #: doc/classes/@GlobalScope.xml msgid "Number 2 on the numeric keypad." msgstr "小鍵盤的數位 2。" #: doc/classes/@GlobalScope.xml msgid "Number 3 on the numeric keypad." msgstr "小鍵盤的數位 3。" #: doc/classes/@GlobalScope.xml msgid "Number 4 on the numeric keypad." msgstr "小鍵盤的數位 4。" #: doc/classes/@GlobalScope.xml msgid "Number 5 on the numeric keypad." msgstr "小鍵盤的數位 5。" #: doc/classes/@GlobalScope.xml msgid "Number 6 on the numeric keypad." msgstr "小鍵盤的數位 6。" #: doc/classes/@GlobalScope.xml msgid "Number 7 on the numeric keypad." msgstr "小鍵盤的數位 7。" #: doc/classes/@GlobalScope.xml msgid "Number 8 on the numeric keypad." msgstr "小鍵盤的數位 8。" #: doc/classes/@GlobalScope.xml msgid "Number 9 on the numeric keypad." msgstr "小鍵盤的數位 9。" #: doc/classes/@GlobalScope.xml msgid "Context menu key." msgstr "本文選單鍵。" #: doc/classes/@GlobalScope.xml msgid "Hyper key. (On Linux/X11 only)." msgstr "超級鍵。(僅在 Linux/X11 上)。" #: doc/classes/@GlobalScope.xml msgid "Help key." msgstr "Help 鍵。" #: doc/classes/@GlobalScope.xml msgid "Back key." msgstr "返回鍵。" #: doc/classes/@GlobalScope.xml msgid "Forward key." msgstr "前進鍵。" #: doc/classes/@GlobalScope.xml msgid "Media stop key." msgstr "媒體停止播放鍵。" #: doc/classes/@GlobalScope.xml msgid "Refresh key." msgstr "重新整理鍵。" #: doc/classes/@GlobalScope.xml msgid "Volume down key." msgstr "音量降低鍵。" #: doc/classes/@GlobalScope.xml msgid "Mute volume key." msgstr "靜音鍵。" #: doc/classes/@GlobalScope.xml msgid "Volume up key." msgstr "音量升高鍵。" #: doc/classes/@GlobalScope.xml msgid "Media play key." msgstr "媒體播放鍵。" #: doc/classes/@GlobalScope.xml msgid "Previous song key." msgstr "上一首歌鍵。" #: doc/classes/@GlobalScope.xml msgid "Next song key." msgstr "下一首歌鍵。" #: doc/classes/@GlobalScope.xml msgid "Media record key." msgstr "媒體錄製鍵。" #: doc/classes/@GlobalScope.xml msgid "Home page key." msgstr "主頁鍵。" #: doc/classes/@GlobalScope.xml msgid "Favorites key." msgstr "收藏鍵。" #: doc/classes/@GlobalScope.xml msgid "Search key." msgstr "搜索鍵。" #: doc/classes/@GlobalScope.xml msgid "Standby key." msgstr "Standby 鍵。" #: doc/classes/@GlobalScope.xml msgid "Open URL / Launch Browser key." msgstr "打開 URL / 啟動流覽器鍵。" #: doc/classes/@GlobalScope.xml msgid "Launch Mail key." msgstr "啟動郵箱鍵。" #: doc/classes/@GlobalScope.xml msgid "Launch Media key." msgstr "啟動多媒體鍵。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 0 key." msgstr "快捷啟動鍵 0。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 1 key." msgstr "快捷啟動鍵 1。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 2 key." msgstr "快捷啟動鍵 2。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 3 key." msgstr "快捷啟動鍵 3。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 4 key." msgstr "快捷啟動鍵 4。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 5 key." msgstr "快捷啟動鍵 5。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 6 key." msgstr "快捷啟動鍵 6。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 7 key." msgstr "快捷啟動鍵 7。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 8 key." msgstr "快捷啟動鍵 8。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut 9 key." msgstr "快捷啟動鍵 9。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut A key." msgstr "快捷啟動鍵 A。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut B key." msgstr "快捷啟動鍵 B。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut C key." msgstr "快捷啟動鍵 C。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut D key." msgstr "快捷啟動鍵 D。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut E key." msgstr "快捷啟動鍵 E。" #: doc/classes/@GlobalScope.xml msgid "Launch Shortcut F key." msgstr "快捷啟動鍵 F。" #: doc/classes/@GlobalScope.xml msgid "\"Globe\" key on Mac / iPad keyboard." msgstr "Mac / iPad 鍵盤上的“地球”鍵。" #: doc/classes/@GlobalScope.xml msgid "\"On-screen keyboard\" key on iPad keyboard." msgstr "iPad 鍵盤上的“螢幕鍵盤”鍵。" #: doc/classes/@GlobalScope.xml msgid "英数 key on Mac keyboard." msgstr "Mac 鍵盤上的英數鍵。" #: doc/classes/@GlobalScope.xml msgid "かな key on Mac keyboard." msgstr "Mac 鍵盤上的“かな”鍵。" #: doc/classes/@GlobalScope.xml msgid "Unknown key." msgstr "未知鍵。" #: doc/classes/@GlobalScope.xml msgid "Space key." msgstr "空白鍵。" #: doc/classes/@GlobalScope.xml msgid "Exclamation mark ([code]![/code]) key." msgstr "驚嘆號([code]![/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Double quotation mark ([code]\"[/code]) key." msgstr "雙引號([code]\"[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Number sign or [i]hash[/i] ([code]#[/code]) key." msgstr "井號或 [i]hash[/i]([code]#[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Dollar sign ([code]$[/code]) key." msgstr "美元符號([code]$[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Percent sign ([code]%[/code]) key." msgstr "百分號([code]%[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Ampersand ([code]&[/code]) key." msgstr "和號([code]&[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Apostrophe ([code]'[/code]) key." msgstr "撇號([code]'[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Left parenthesis ([code]([/code]) key." msgstr "左括號([code]([/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Right parenthesis ([code])[/code]) key." msgstr "右括號([code])[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Asterisk ([code]*[/code]) key." msgstr "星號([code]*[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Plus ([code]+[/code]) key." msgstr "加號([code]+[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Comma ([code],[/code]) key." msgstr "逗號([code],[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Minus ([code]-[/code]) key." msgstr "減號([code]-[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Period ([code].[/code]) key." msgstr "句點([code].[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Slash ([code]/[/code]) key." msgstr "斜線([code]/[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 0 key." msgstr "數字 0 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 1 key." msgstr "數字 1 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 2 key." msgstr "數字 2 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 3 key." msgstr "數字 3 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 4 key." msgstr "數字 4 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 5 key." msgstr "數字 5 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 6 key." msgstr "數字 6 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 7 key." msgstr "數字 7 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 8 key." msgstr "數字 8 鍵。" #: doc/classes/@GlobalScope.xml msgid "Number 9 key." msgstr "數字 9 鍵。" #: doc/classes/@GlobalScope.xml msgid "Colon ([code]:[/code]) key." msgstr "冒號([code]:[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Semicolon ([code];[/code]) key." msgstr "分號([code];[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Less-than sign ([code]<[/code]) key." msgstr "小於號([code]<[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Equal sign ([code]=[/code]) key." msgstr "等號([code]=[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Greater-than sign ([code]>[/code]) key." msgstr "大於號([code]>[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Question mark ([code]?[/code]) key." msgstr "問號([code]?[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "At sign ([code]@[/code]) key." msgstr "at 符號([code]@[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "A key." msgstr "A 鍵。" #: doc/classes/@GlobalScope.xml msgid "B key." msgstr "B 鍵。" #: doc/classes/@GlobalScope.xml msgid "C key." msgstr "C 鍵。" #: doc/classes/@GlobalScope.xml msgid "D key." msgstr "D 鍵。" #: doc/classes/@GlobalScope.xml msgid "E key." msgstr "E 鍵。" #: doc/classes/@GlobalScope.xml msgid "F key." msgstr "F 鍵。" #: doc/classes/@GlobalScope.xml msgid "G key." msgstr "G 鍵。" #: doc/classes/@GlobalScope.xml msgid "H key." msgstr "H 鍵。" #: doc/classes/@GlobalScope.xml msgid "I key." msgstr "I 鍵。" #: doc/classes/@GlobalScope.xml msgid "J key." msgstr "J 鍵。" #: doc/classes/@GlobalScope.xml msgid "K key." msgstr "K 鍵。" #: doc/classes/@GlobalScope.xml msgid "L key." msgstr "L 鍵。" #: doc/classes/@GlobalScope.xml msgid "M key." msgstr "M 鍵。" #: doc/classes/@GlobalScope.xml msgid "N key." msgstr "N 鍵。" #: doc/classes/@GlobalScope.xml msgid "O key." msgstr "O 鍵。" #: doc/classes/@GlobalScope.xml msgid "P key." msgstr "P 鍵。" #: doc/classes/@GlobalScope.xml msgid "Q key." msgstr "Q 鍵。" #: doc/classes/@GlobalScope.xml msgid "R key." msgstr "R 鍵。" #: doc/classes/@GlobalScope.xml msgid "S key." msgstr "S 鍵。" #: doc/classes/@GlobalScope.xml msgid "T key." msgstr "T 鍵。" #: doc/classes/@GlobalScope.xml msgid "U key." msgstr "U 鍵。" #: doc/classes/@GlobalScope.xml msgid "V key." msgstr "V 鍵。" #: doc/classes/@GlobalScope.xml msgid "W key." msgstr "W 鍵。" #: doc/classes/@GlobalScope.xml msgid "X key." msgstr "X 鍵。" #: doc/classes/@GlobalScope.xml msgid "Y key." msgstr "Y 鍵。" #: doc/classes/@GlobalScope.xml msgid "Z key." msgstr "Z 鍵。" #: doc/classes/@GlobalScope.xml msgid "Left bracket ([code][lb][/code]) key." msgstr "左中括號([code][lb][/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Backslash ([code]\\[/code]) key." msgstr "反斜線([code]\\[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Right bracket ([code][rb][/code]) key." msgstr "右中括號([code][rb][/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Caret ([code]^[/code]) key." msgstr "脫字符號([code]^[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Underscore ([code]_[/code]) key." msgstr "底線([code]_[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Backtick ([code]`[/code]) key." msgstr "反引號([code]`[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Left brace ([code]{[/code]) key." msgstr "左大括號([code]{[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Vertical bar or [i]pipe[/i] ([code]|[/code]) key." msgstr "垂直線/管線符號([code]|[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Right brace ([code]}[/code]) key." msgstr "右大括號([code]}[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Tilde ([code]~[/code]) key." msgstr "波浪號([code]~[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Yen symbol ([code]¥[/code]) key." msgstr "日圓符號([code]¥[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Section sign ([code]§[/code]) key." msgstr "節號符號([code]§[/code])鍵。" #: doc/classes/@GlobalScope.xml msgid "Key Code mask." msgstr "鍵碼遮罩。" #: doc/classes/@GlobalScope.xml msgid "Modifier key mask." msgstr "修飾鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "" "Automatically remapped to [constant KEY_META] on macOS and [constant " "KEY_CTRL] on other platforms, this mask is never set in the actual events, " "and should be used for key mapping only." msgstr "" "自動重對應為 macOS 上的 [constant KEY_META] 和其他平臺上的 [constant " "KEY_CTRL],此遮罩在實際事件中從不設定,應僅用於鍵對應。" #: doc/classes/@GlobalScope.xml msgid "Shift key mask." msgstr "Shift 鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "Alt or Option (on macOS) key mask." msgstr "Alt 或 Option(在 macOS 上)鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "Command (on macOS) or Meta/Windows key mask." msgstr "命令(在 macOS 上)或 Meta/Windows 鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "Control key mask." msgstr "Ctrl 鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "Keypad key mask." msgstr "Keypad 鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "Group Switch key mask." msgstr "Group Switch 鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "" "Used for keys which only appear once, or when a comparison doesn't need to " "differentiate the [code]LEFT[/code] and [code]RIGHT[/code] versions.\n" "For example, when using [method InputEvent.is_match], an event which has " "[constant KEY_LOCATION_UNSPECIFIED] will match any [enum KeyLocation] on the " "passed event." msgstr "" "用於只會出現一次的按鍵,或比較時無需區分 [code]LEFT[/code] 與 [code]RIGHT[/" "code] 版本的情況。\n" "例如使用 [method InputEvent.is_match] 時,若事件的按鍵位置為 [constant " "KEY_LOCATION_UNSPECIFIED],則可匹配傳入事件的任何 [enum KeyLocation]。" #: doc/classes/@GlobalScope.xml msgid "A key which is to the left of its twin." msgstr "位於對應雙生鍵左側的按鍵。" #: doc/classes/@GlobalScope.xml msgid "A key which is to the right of its twin." msgstr "位於對應雙生鍵右側的按鍵。" #: doc/classes/@GlobalScope.xml msgid "" "Enum value which doesn't correspond to any mouse button. This is used to " "initialize [enum MouseButton] properties with a generic state." msgstr "" "與任何滑鼠按鈕都不對應的列舉值。這用於初始化具有通用狀態的 [enum " "MouseButton] 屬性。" #: doc/classes/@GlobalScope.xml msgid "Primary mouse button, usually assigned to the left button." msgstr "滑鼠主鍵,通常分配給左鍵。" #: doc/classes/@GlobalScope.xml msgid "Secondary mouse button, usually assigned to the right button." msgstr "滑鼠次鍵,通常分配給右鍵。" #: doc/classes/@GlobalScope.xml msgid "Middle mouse button." msgstr "滑鼠中鍵。" #: doc/classes/@GlobalScope.xml msgid "Mouse wheel scrolling up." msgstr "滑鼠滾輪向上滾動。" #: doc/classes/@GlobalScope.xml msgid "Mouse wheel scrolling down." msgstr "滑鼠滾輪向下滾動。" #: doc/classes/@GlobalScope.xml msgid "Mouse wheel left button (only present on some mice)." msgstr "滑鼠滾輪左鍵(僅在某些滑鼠上有實作)。" #: doc/classes/@GlobalScope.xml msgid "Mouse wheel right button (only present on some mice)." msgstr "滑鼠滾輪右鍵(僅在某些滑鼠上有實作)。" #: doc/classes/@GlobalScope.xml msgid "" "Extra mouse button 1. This is sometimes present, usually to the sides of the " "mouse." msgstr "滑鼠額外鍵 1。有時會出現,通常位於滑鼠的兩側。" #: doc/classes/@GlobalScope.xml msgid "" "Extra mouse button 2. This is sometimes present, usually to the sides of the " "mouse." msgstr "滑鼠額外鍵 2。有時會出現,通常位於滑鼠的兩側。" #: doc/classes/@GlobalScope.xml msgid "Primary mouse button mask, usually for the left button." msgstr "滑鼠主鍵遮罩,通常用於左鍵。" #: doc/classes/@GlobalScope.xml msgid "Secondary mouse button mask, usually for the right button." msgstr "滑鼠次鍵遮罩,通常用於右鍵。" #: doc/classes/@GlobalScope.xml msgid "Middle mouse button mask." msgstr "滑鼠中鍵遮罩。" #: doc/classes/@GlobalScope.xml msgid "Extra mouse button 1 mask." msgstr "滑鼠額外鍵 1 遮罩。" #: doc/classes/@GlobalScope.xml msgid "Extra mouse button 2 mask." msgstr "滑鼠額外鍵 2 遮罩。" #: doc/classes/@GlobalScope.xml msgid "An invalid game controller button." msgstr "無效的遊戲控制器按鈕。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL button A. Corresponds to the bottom action button: Sony " "Cross, Xbox A, Nintendo B." msgstr "" "遊戲控制器 SDL 按鍵 A。對應底部動作按鈕:Sony Cross、Xbox A、Nintendo B。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL button B. Corresponds to the right action button: Sony " "Circle, Xbox B, Nintendo A." msgstr "" "遊戲控制器 SDL 按鈕 B。對應右側動作按鈕:Sony Circle、Xbox B、Nintendo A。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL button X. Corresponds to the left action button: Sony " "Square, Xbox X, Nintendo Y." msgstr "" "遊戲控制器 SDL 按鈕 X。對應左側動作按鈕:Sony Square、Xbox X、Nintendo Y。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL button Y. Corresponds to the top action button: Sony " "Triangle, Xbox Y, Nintendo X." msgstr "" "遊戲控制器 SDL 按鈕 Y。對應頂部動作按鈕:Sony Triangle、Xbox Y、Nintendo X。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL back button. Corresponds to the Sony Select, Xbox Back, " "Nintendo - button." msgstr "" "遊戲控制器 SDL back按鈕。對應於 Sony Select、Xbox Back、Nintendo - 按鈕。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL guide button. Corresponds to the Sony PS, Xbox Home " "button." msgstr "遊戲控制器 SDL guide 按鈕。對應於索尼 PS、Xbox 的 Home 鍵。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL start button. Corresponds to the Sony Options, Xbox " "Menu, Nintendo + button." msgstr "" "遊戲控制器 SDL 的 Start 按鈕;對應 Sony Options、Xbox Menu、Nintendo +。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL left stick button. Corresponds to the Sony L3, Xbox L/LS " "button." msgstr "遊戲控制器 SDL 左搖桿按鈕。對應於 Sony L3、Xbox L/LS 按鈕。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL right stick button. Corresponds to the Sony R3, Xbox R/" "RS button." msgstr "遊戲控制器 SDL 右搖桿按鈕。對應於 Sony R3、Xbox R/RS 按鈕。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL left shoulder button. Corresponds to the Sony L1, Xbox " "LB button." msgstr "遊戲控制器 SDL 左肩按鈕。對應於 Sony L1、Xbox LB 按鈕。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL right shoulder button. Corresponds to the Sony R1, Xbox " "RB button." msgstr "遊戲控制器 SDL 右肩按鈕。對應於 Sony R1、Xbox RB 按鈕。" #: doc/classes/@GlobalScope.xml msgid "Game controller D-pad up button." msgstr "遊戲控制器方向鍵向上按鈕。" #: doc/classes/@GlobalScope.xml msgid "Game controller D-pad down button." msgstr "遊戲控制器方向鍵向下按鈕。" #: doc/classes/@GlobalScope.xml msgid "Game controller D-pad left button." msgstr "遊戲控制器方向鍵向左鍵。" #: doc/classes/@GlobalScope.xml msgid "Game controller D-pad right button." msgstr "遊戲控制器方向鍵向右鍵。" #: doc/classes/@GlobalScope.xml msgid "" "Game controller SDL miscellaneous button. Corresponds to Xbox share button, " "PS5 microphone button, Nintendo Switch capture button." msgstr "" "遊戲控制器 SDL 雜項按鈕。對應 Xbox 分享鍵、PS5 麥克風鍵、Nintendo Switch 捕捉" "鍵。" #: doc/classes/@GlobalScope.xml msgid "Game controller SDL paddle 1 button." msgstr "遊戲控制器 SDL 撥片 1 按鈕。" #: doc/classes/@GlobalScope.xml msgid "Game controller SDL paddle 2 button." msgstr "遊戲控制器 SDL 撥片 2 按鈕。" #: doc/classes/@GlobalScope.xml msgid "Game controller SDL paddle 3 button." msgstr "遊戲控制器 SDL 撥片 3 按鈕。" #: doc/classes/@GlobalScope.xml msgid "Game controller SDL paddle 4 button." msgstr "遊戲控制器 SDL 撥片 4 按鈕。" #: doc/classes/@GlobalScope.xml msgid "Game controller SDL touchpad button." msgstr "遊戲控制器 SDL 觸控板按鈕。" #: doc/classes/@GlobalScope.xml msgid "The number of SDL game controller buttons." msgstr "SDL 遊戲控制器按鈕的數量。" #: doc/classes/@GlobalScope.xml msgid "" "The maximum number of game controller buttons supported by the engine. The " "actual limit may be lower on specific platforms:\n" "- [b]Android:[/b] Up to 36 buttons.\n" "- [b]Linux:[/b] Up to 80 buttons.\n" "- [b]Windows[/b] and [b]macOS:[/b] Up to 128 buttons." msgstr "" "引擎所支援的最大遊戲控制器按鈕數。特定平臺上的實際界限可能更低:\n" "- [b]Android:[/b]最多 36 個按鈕。\n" "- [b]Linux:[/b]最多 80 個按鈕。\n" "- [b]Windows[/b] 和 [b]macOS:[/b]最多 128 個按鈕。" #: doc/classes/@GlobalScope.xml msgid "An invalid game controller axis." msgstr "無效的遊戲控制器軸。" #: doc/classes/@GlobalScope.xml msgid "Game controller left joystick x-axis." msgstr "遊戲控制器左操縱桿 x 軸。" #: doc/classes/@GlobalScope.xml msgid "Game controller left joystick y-axis." msgstr "遊戲控制器左操縱桿 y 軸。" #: doc/classes/@GlobalScope.xml msgid "Game controller right joystick x-axis." msgstr "遊戲控制器右操縱桿 x 軸。" #: doc/classes/@GlobalScope.xml msgid "Game controller right joystick y-axis." msgstr "遊戲控制器右操縱桿 y 軸。" #: doc/classes/@GlobalScope.xml msgid "Game controller left trigger axis." msgstr "遊戲控制器左扳機軸。" #: doc/classes/@GlobalScope.xml msgid "Game controller right trigger axis." msgstr "遊戲控制器左扳機軸。" #: doc/classes/@GlobalScope.xml msgid "The number of SDL game controller axes." msgstr "SDL 遊戲控制器軸的數量。" #: doc/classes/@GlobalScope.xml msgid "" "The maximum number of game controller axes: OpenVR supports up to 5 " "Joysticks making a total of 10 axes." msgstr "最大遊戲控制器軸數:OpenVR 最多支援 5 個操縱桿,總共 10 個軸。" #: doc/classes/@GlobalScope.xml msgid "" "Does not correspond to any MIDI message. This is the default value of " "[member InputEventMIDI.message]." msgstr "不對應任何 MIDI 訊息;為 [member InputEventMIDI.message] 的預設值。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent when a note is released.\n" "[b]Note:[/b] Not all MIDI devices send this message; some may send [constant " "MIDI_MESSAGE_NOTE_ON] with [member InputEventMIDI.velocity] set to [code]0[/" "code]." msgstr "" "MIDI 音符釋放訊息。\n" "[b]注意:[/b] 並非所有 MIDI 裝置都傳送此訊息;有些會以 [constant " "MIDI_MESSAGE_NOTE_ON] 且 [member InputEventMIDI.velocity] 為 [code]0[/code] " "表示。" #: doc/classes/@GlobalScope.xml msgid "MIDI message sent when a note is pressed." msgstr "按下音符時送出的 MIDI 訊息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to indicate a change in pressure while a note is being " "pressed down, also called aftertouch." msgstr "在按住音符期間,表示壓力變化(後觸)的 MIDI 訊息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent when a controller value changes. In a MIDI device, a " "controller is any input that doesn't play notes. These may include sliders " "for volume, balance, and panning, as well as switches and pedals. See the " "[url=https://en.wikipedia.org/wiki/General_MIDI#Controller_events]General " "MIDI specification[/url] for a small list." msgstr "" "控制器數值變動時送出的 MIDI 訊息。控制器指裝置中不會發聲的輸入元件,如音量、" "平衡或聲像滑桿,以及各種按鍵與踏板。簡要列表可參考 [url=https://" "en.wikipedia.org/wiki/General_MIDI#Controller_events]General MIDI 規格說明[/" "url]。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent when the MIDI device changes its current instrument (also " "called [i]program[/i] or [i]preset[/i])." msgstr "" "當 MIDI 裝置切換目前樂器(又稱 [i]Program[/i] 或 [i]Preset[/i])時送出的訊" "息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to indicate a change in pressure for the whole channel. " "Some MIDI devices may send this instead of [constant " "MIDI_MESSAGE_AFTERTOUCH]." msgstr "" "表示整個通道壓力變化的 MIDI 訊息;部分裝置會用此取代 [constant " "MIDI_MESSAGE_AFTERTOUCH]。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent when the value of the pitch bender changes, usually a " "wheel on the MIDI device." msgstr "音高彎音輪變動時送出的 MIDI 訊息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI system exclusive (SysEx) message. This type of message is not " "standardized and it's highly dependent on the MIDI device sending it.\n" "[b]Note:[/b] Getting this message's data from [InputEventMIDI] is not " "implemented." msgstr "" "MIDI 系統專用(SysEx)訊息,格式未被統一,內容依各裝置自訂。\n" "[b]注意:[/b] 目前無法透過 [InputEventMIDI] 取得其資料。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent every quarter frame to keep connected MIDI devices " "synchronized. Related to [constant MIDI_MESSAGE_TIMING_CLOCK].\n" "[b]Note:[/b] Getting this message's data from [InputEventMIDI] is not " "implemented." msgstr "" "每四分影格發送一次的 MIDI 同步訊息,與 [constant MIDI_MESSAGE_TIMING_CLOCK] " "相關。\n" "[b]注意:[/b] 目前無法透過 [InputEventMIDI] 取得其資料。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to jump onto a new position in the current sequence or " "song.\n" "[b]Note:[/b] Getting this message's data from [InputEventMIDI] is not " "implemented." msgstr "" "用於跳轉至當前樂曲或序列新位置的 MIDI 訊息。\n" "[b]注意:[/b] 目前無法透過 [InputEventMIDI] 取得其資料。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to select a sequence or song to play.\n" "[b]Note:[/b] Getting this message's data from [InputEventMIDI] is not " "implemented." msgstr "" "MIDI 曲目選擇訊息,用於指定要播放的序列或歌曲。\n" "[b]注意:[/b] 目前尚未實作從 [InputEventMIDI] 取得此訊息資料。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to request a tuning calibration. Used on analog " "synthesizers. Most modern MIDI devices do not need this message." msgstr "" "要求裝置進行調音校準的 MIDI 訊息,多用於類比合成器;現代裝置多半不需此訊息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent 24 times after [constant MIDI_MESSAGE_QUARTER_FRAME], to " "keep connected MIDI devices synchronized." msgstr "" "在 [constant MIDI_MESSAGE_QUARTER_FRAME] 之後每 24 次發送一次的 MIDI 同步訊" "息,用以保持裝置同步。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to start the current sequence or song from the beginning." msgstr "從頭開始播放目前序列或樂曲的 MIDI 啟動訊息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to resume from the point the current sequence or song was " "paused." msgstr "恢復播放已暫停序列或樂曲的 MIDI 繼續訊息。" #: doc/classes/@GlobalScope.xml msgid "MIDI message sent to pause the current sequence or song." msgstr "暫停目前序列或樂曲的 MIDI 停止訊息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent repeatedly while the MIDI device is idle, to tell the " "receiver that the connection is alive. Most MIDI devices do not send this " "message." msgstr "" "裝置閒置時週期性送出的 MIDI 作用中保持訊息,用以告知接收端連線存活;多數裝置" "不會傳送此訊息。" #: doc/classes/@GlobalScope.xml msgid "" "MIDI message sent to reset a MIDI device to its default state, as if it was " "just turned on. It should not be sent when the MIDI device is being turned " "on." msgstr "" "將 MIDI 裝置重設為預設狀態的訊息,效果如同重新開機;啟動裝置時不應傳送。" #: doc/classes/@GlobalScope.xml msgid "" "Methods that return [enum Error] return [constant OK] when no error " "occurred.\n" "Since [constant OK] has value [code]0[/code], and all other error constants " "are positive integers, it can also be used in boolean checks.\n" "[codeblock]\n" "var error = method_that_returns_error()\n" "if error != OK:\n" "\tprinterr(\"Failure!\")\n" "\n" "# Or, alternatively:\n" "if error:\n" "\tprinterr(\"Still failing!\")\n" "[/codeblock]\n" "[b]Note:[/b] Many functions do not return an error code, but will print " "error messages to standard output." msgstr "" "回傳 [enum Error] 的方法,若無錯誤時會回傳 [constant OK]。\n" "由於 [constant OK] 為 [code]0[/code],其他錯誤常數皆為正整數,因此可直接用於" "布林判斷。\n" "[codeblock]\n" "var error = method_that_returns_error()\n" "if error != OK:\n" "\tprinterr(\"Failure!\")\n" "\n" "# 或等效寫法:\n" "if error:\n" "\tprinterr(\"Still failing!\")\n" "[/codeblock]\n" "[b]注意:[/b]許多函式並不回傳錯誤碼,而是直接將錯誤訊息輸出到標準輸出。" #: doc/classes/@GlobalScope.xml msgid "Generic error." msgstr "一般性錯誤。" #: doc/classes/@GlobalScope.xml msgid "Unavailable error." msgstr "不可用的錯誤。" #: doc/classes/@GlobalScope.xml msgid "Unconfigured error." msgstr "未配置的錯誤。" #: doc/classes/@GlobalScope.xml msgid "Unauthorized error." msgstr "未經授權的錯誤。" #: doc/classes/@GlobalScope.xml msgid "Parameter range error." msgstr "參數範圍錯誤。" #: doc/classes/@GlobalScope.xml msgid "Out of memory (OOM) error." msgstr "記憶體不足(OOM)錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Not found error." msgstr "檔案:未找到錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Bad drive error." msgstr "檔案:壞驅動器錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Bad path error." msgstr "檔案:錯誤的路徑錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: No permission error." msgstr "檔案:無許可權錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Already in use error." msgstr "檔案:已在使用錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Can't open error." msgstr "檔案:無法打開錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Can't write error." msgstr "檔案:無法寫入錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Can't read error." msgstr "檔案:無法讀取錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Unrecognized error." msgstr "檔案:未識別的錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Corrupt error." msgstr "檔案:損壞錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: Missing dependencies error." msgstr "檔案:缺少依賴項錯誤。" #: doc/classes/@GlobalScope.xml msgid "File: End of file (EOF) error." msgstr "檔案:檔結束(EOF)錯誤。" #: doc/classes/@GlobalScope.xml msgid "Can't open error." msgstr "無法打開錯誤。" #: doc/classes/@GlobalScope.xml msgid "Can't create error." msgstr "無法建立錯誤。" #: doc/classes/@GlobalScope.xml msgid "Query failed error." msgstr "查詢失敗錯誤。" #: doc/classes/@GlobalScope.xml msgid "Already in use error." msgstr "已在使用中錯誤。" #: doc/classes/@GlobalScope.xml msgid "Locked error." msgstr "鎖定錯誤。" #: doc/classes/@GlobalScope.xml msgid "Timeout error." msgstr "逾時錯誤。" #: doc/classes/@GlobalScope.xml msgid "Can't connect error." msgstr "無法連接錯誤。" #: doc/classes/@GlobalScope.xml msgid "Can't resolve error." msgstr "無法解決錯誤。" #: doc/classes/@GlobalScope.xml msgid "Connection error." msgstr "連接錯誤。" #: doc/classes/@GlobalScope.xml msgid "Can't acquire resource error." msgstr "無法獲取資源錯誤。" #: doc/classes/@GlobalScope.xml msgid "Can't fork process error." msgstr "無法分叉程序錯誤。" #: doc/classes/@GlobalScope.xml msgid "Invalid data error." msgstr "無效資料錯誤。" #: doc/classes/@GlobalScope.xml msgid "Invalid parameter error." msgstr "無效參數錯誤。" #: doc/classes/@GlobalScope.xml msgid "Already exists error." msgstr "已存在的錯誤。" #: doc/classes/@GlobalScope.xml msgid "Does not exist error." msgstr "不存在的錯誤。" #: doc/classes/@GlobalScope.xml msgid "Database: Read error." msgstr "資料庫:讀取錯誤。" #: doc/classes/@GlobalScope.xml msgid "Database: Write error." msgstr "資料庫:寫入錯誤。" #: doc/classes/@GlobalScope.xml msgid "Compilation failed error." msgstr "編譯失敗錯誤。" #: doc/classes/@GlobalScope.xml msgid "Method not found error." msgstr "方法未找到錯誤。" #: doc/classes/@GlobalScope.xml msgid "Linking failed error." msgstr "連結失敗錯誤。" #: doc/classes/@GlobalScope.xml msgid "Script failed error." msgstr "腳本失敗錯誤。" #: doc/classes/@GlobalScope.xml msgid "Cycling link (import cycle) error." msgstr "迴圈連結(匯入迴圈)錯誤。" #: doc/classes/@GlobalScope.xml msgid "Invalid declaration error." msgstr "無效宣告錯誤。" #: doc/classes/@GlobalScope.xml msgid "Duplicate symbol error." msgstr "符號重複錯誤。" #: doc/classes/@GlobalScope.xml msgid "Parse error." msgstr "解析錯誤。" #: doc/classes/@GlobalScope.xml msgid "Busy error." msgstr "忙碌錯誤。" #: doc/classes/@GlobalScope.xml msgid "Skip error." msgstr "跳過錯誤。" #: doc/classes/@GlobalScope.xml msgid "" "Help error. Used internally when passing [code]--version[/code] or [code]--" "help[/code] as executable options." msgstr "" "説明錯誤。內部使用,用於將 [code]--version[/code] 或 [code]--help[/code] 作為" "選項傳遞給可執行檔的情況。" #: doc/classes/@GlobalScope.xml msgid "" "Bug error, caused by an implementation issue in the method.\n" "[b]Note:[/b] If a built-in method returns this code, please open an issue on " "[url=https://github.com/godotengine/godot/issues]the GitHub Issue Tracker[/" "url]." msgstr "" "Bug 錯誤,由方法中的實作問題引起。\n" "[b]注意:[/b]如果內建方法返回此程式碼,請在 [url=https://github.com/" "godotengine/godot/issues]GitHub 問題追蹤器[/url] 上開一個問題。" #: doc/classes/@GlobalScope.xml msgid "" "Printer on fire error (This is an easter egg, no built-in methods return " "this error code)." msgstr "印表機起火錯誤(這是個彩蛋,引擎中沒有內建方法會返回此錯誤碼)。" #: doc/classes/@GlobalScope.xml msgid "The property has no hint for the editor." msgstr "該屬性沒有編輯器提示。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Hints that an [int] or [float] property should be within a range specified " "via the hint string [code]\"min,max\"[/code] or [code]\"min,max,step\"[/" "code]. The hint string can optionally include [code]\"or_greater\"[/code] " "and/or [code]\"or_less\"[/code] to allow manual input going respectively " "above the max or below the min values.\n" "[b]Example:[/b] [code]\"-360,360,1,or_greater,or_less\"[/code].\n" "Additionally, other keywords can be included: [code]\"exp\"[/code] for " "exponential range editing, [code]\"radians_as_degrees\"[/code] for editing " "radian angles in degrees (the range values are also in degrees), [code]" "\"degrees\"[/code] to hint at an angle, [code]\"prefer_slider\"[/code] to " "show the slider for integers, [code]\"hide_control\"[/code] to hide the " "slider or up-down arrows, and [code]\"suffix:px/s\"[/code] to display a " "suffix indicating the value's unit (e.g. [code]px/s[/code] for pixels per " "second)." msgstr "" "提示 [int] 或 [float] 屬性應在提示字串 [code]\"min,max\"[/code] 或 [code]" "\"min,max,step\"[/code] 指定的範圍內。提示字串可以選擇包含 [code]" "\"or_greater\"[/code] 和/或 [code]\"or_less\"[/code] 以允許手動輸入高於最大值" "或低於最小值的值。\n" "[b]範例:[/b][code]\"-360,360,1,or_greater,or_less\"[/code]。\n" "此外,還可以包含其他關鍵字:[code]\"exp\"[/code] 用於指數範圍編輯,[code]" "\"radians\"[/code] 用於以度數編輯弧度角,[code]\"degrees\"[/code] 提示一個角" "度,以及 [code]\"hide_slider\"[/code] 隱藏滑桿。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Hints that an [int], [String], or [StringName] property is an enumerated " "value to pick in a list specified via a hint string.\n" "The hint string is a comma separated list of names such as [code]" "\"Hello,Something,Else\"[/code]. Whitespace is [b]not[/b] removed from " "either end of a name. For integer properties, the first name in the list has " "value 0, the next 1, and so on. Explicit values can also be specified by " "appending [code]:integer[/code] to the name, e.g. [code]" "\"Zero,One,Three:3,Four,Six:6\"[/code]." msgstr "" "提示 [int] 或 [String] 屬性是列舉值,可通過提示字串在指定的列表中選取。\n" "該提示字串是逗號分隔的名稱列表,例如 [code]\"Hello,Something,Else\"[/code]。 " "[b]不會[/b]從名稱的任何一端刪除空格。對於整數屬性,列表中的第一個名稱的值為 " "0,下一個名稱的值為 1,依此類推。也可以通過將 [code]:integer[/code] 附加到名" "稱來明確的指定值,例如 [code]\"Zero,One,Three:3,Four,Six:6\"[/code]。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Hints that a [String] or [StringName] property can be an enumerated value to " "pick in a list specified via a hint string such as [code]" "\"Hello,Something,Else\"[/code]. See [constant PROPERTY_HINT_ENUM] for " "details.\n" "Unlike [constant PROPERTY_HINT_ENUM], a property with this hint still " "accepts arbitrary values and can be empty. The list of values serves to " "suggest possible values." msgstr "" "提示 [String] 屬性為列舉值,可以通過提示字串在指定的列表中選取,例如 [code]" "\"Hello,Something,Else\"[/code]。\n" "與 [constant PROPERTY_HINT_ENUM] 不同,具有該提示的屬性仍然接受任意值並且可以" "為空。值列表用於建議可能的值。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [float] property should be edited via an exponential easing " "function. The hint string can include [code]\"attenuation\"[/code] to flip " "the curve horizontally and/or [code]\"positive_only\"[/code] to exclude in/" "out easing and limit values to be greater than or equal to zero." msgstr "" "提示應通過指數緩動函式編輯 [float] 屬性。提示字串可以包括 [code]" "\"attenuation\"[/code] 以水平翻轉曲線,和/或 [code]\"positive_only\"[/code] " "以排除 in/out 緩動並限制值大於或等於零。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a vector property should allow its components to be linked. For " "example, this allows [member Vector2.x] and [member Vector2.y] to be edited " "together." msgstr "" "提示向量屬性應該允許分量連結。例如,這能夠讓 [member Vector2.x] 和 [member " "Vector2.y] 被一起編輯。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Hints that an [int] property is a bitmask with named bit flags.\n" "The hint string is a comma separated list of names such as [code]" "\"Bit0,Bit1,Bit2,Bit3\"[/code]. Whitespace is [b]not[/b] removed from either " "end of a name. The first name in the list has value 1, the next 2, then 4, " "8, 16 and so on. Explicit values can also be specified by appending " "[code]:integer[/code] to the name, e.g. [code]\"A:4,B:8,C:16\"[/code]. You " "can also combine several flags ([code]\"A:4,B:8,AB:12,C:16\"[/code]).\n" "[b]Note:[/b] A flag value must be at least [code]1[/code] and at most " "[code]2 ** 32 - 1[/code].\n" "[b]Note:[/b] Unlike [constant PROPERTY_HINT_ENUM], the previous explicit " "value is not taken into account. For the hint [code]\"A:16,B,C\"[/code], A " "is 16, B is 2, C is 4." msgstr "" "提示 [int] 屬性為位元遮罩,位元旗標擁有名稱。\n" "提示字串為逗號分隔的名稱列表,例如 [code]\"Bit0,Bit1,Bit2,Bit3\"[/code]。名稱" "兩端的空白字元[b]不會[/b]被移除。列表中的第一個名稱的值為 1、然後是 2、接下來" "就是 4、8、16 等值。也可以通過在名稱後加上 [code]:整數[/code] 來指定明確的的" "值,例如 [code]\"A:4,B:8,C:16\"[/code]。你還可以對旗標進行組合([code]" "\"A:4,B:8,AB:12,C:16\"[/code])。\n" "[b]注意:[/b]旗標值最多為 [code]1[/code],最多為 [code]2 ** 32 - 1[/code]。\n" "[b]注意:[/b]與 [constant PROPERTY_HINT_ENUM] 不同,不會考慮前一個明確的值。" "如果提示為 [code]\"A:16,B,C\"[/code],則 A 為 16、B 為 2、C 為 4。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that an [int] property is a bitmask using the optionally named 2D " "render layers." msgstr "提示 [int] 屬性為位元遮罩,表示可命名的 2D 算繪層。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that an [int] property is a bitmask using the optionally named 2D " "physics layers." msgstr "提示 [int] 屬性為位元遮罩,表示可命名的 2D 實體層。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that an [int] property is a bitmask using the optionally named 2D " "navigation layers." msgstr "提示 [int] 屬性為位元遮罩,表示可命名的 2D 導覽層。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that an [int] property is a bitmask using the optionally named 3D " "render layers." msgstr "提示 [int] 屬性為位元遮罩,表示可命名的 3D 算繪層。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that an [int] property is a bitmask using the optionally named 3D " "physics layers." msgstr "提示 [int] 屬性為位元遮罩,表示可命名的 3D 實體層。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that an [int] property is a bitmask using the optionally named 3D " "navigation layers." msgstr "提示 [int] 屬性為位元遮罩,表示可命名的 3D 導覽層。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that an integer property is a bitmask using the optionally named " "avoidance layers." msgstr "提示整數屬性為位元遮罩,表示可命名的避障層。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Hints that a [String] property is a path to a file. Editing it will show a " "file dialog for picking the path. The hint string can be a set of filters " "with wildcards like [code]\"*.png,*.jpg\"[/code]. By default the file will " "be stored as UID whenever available. You can use [ResourceUID] methods to " "convert it back to path. For storing a raw path, use [constant " "PROPERTY_HINT_FILE_PATH]." msgstr "" "提示 [String] 屬性為檔的路徑。編輯時會彈出選取路徑的檔對話方塊。提示字串可以" "設為一組帶有萬用字元的篩選器,例如 [code]\"*.png,*.jpg\"[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] property is a path to a directory. Editing it will " "show a file dialog for picking the path." msgstr "提示 [String] 屬性為目錄的路徑。編輯時會彈出選取路徑的檔對話方塊。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] property is an absolute path to a file outside the " "project folder. Editing it will show a file dialog for picking the path. The " "hint string can be a set of filters with wildcards, like [code]" "\"*.png,*.jpg\"[/code]." msgstr "" "提示 [String] 屬性為檔的絕對路徑,位於專案檔案夾之外。編輯時會彈出選取路徑的" "檔案對話方塊。提示字串可以設為一組帶有萬用字元的篩選器,例如 [code]" "\"*.png,*.jpg\"[/code]。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] property is an absolute path to a directory outside " "the project folder. Editing it will show a file dialog for picking the path." msgstr "" "提示 [String] 屬性為目錄的絕對路徑,位於專案檔案夾之外。編輯時會彈出選取路徑" "的檔案對話方塊。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a property is an instance of a [Resource]-derived type, " "optionally specified via the hint string (e.g. [code]\"Texture2D\"[/code]). " "Editing it will show a popup menu of valid resource types to instantiate." msgstr "" "提示屬性是 [Resource] 衍生型別的實例,可通過提示字串指定(例如 [code]" "\"Texture2D\"[/code])。 編輯該屬性會顯示一個有效資源型別的彈出功能表用以產生" "實體。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] property is text with line breaks. Editing it will " "show a text input field where line breaks can be typed.\n" "The hint string can be set to [code]\"monospace\"[/code] to force the input " "field to use a monospaced font.\n" "If the hint string [code]\"no_wrap\"[/code] is set, the input field will not " "wrap lines at boundaries, instead resorting to making the area scrollable." msgstr "" #: doc/classes/@GlobalScope.xml msgid "Hints that a [String] property is an [Expression]." msgstr "提示 [String] 屬性為 [Expression]。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] property should show a placeholder text on its input " "field, if empty. The hint string is the placeholder text to use." msgstr "" "提示 [String] 屬性在為空時應當顯示占位元文字。提示字串為所使用的占位元文字。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [Color] property should be edited without affecting its " "transparency ([member Color.a] is not editable)." msgstr "" "提示一個 [Color] 屬性在編輯時不能影響其透明度([member Color.a] 不可編輯)。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that the property's value is an object encoded as object ID, with its " "type specified in the hint string. Used by the debugger." msgstr "" "提示該屬性值為以物件 ID 編碼的物件,型別於 hint_string 指定;供除錯器使用。" #: doc/classes/@GlobalScope.xml msgid "" "If a property is [String], hints that the property represents a particular " "type (class). This allows to select a type from the create dialog. The " "property will store the selected type as a string.\n" "If a property is [Array], hints the editor how to show elements. The " "[code]hint_string[/code] must encode nested types using [code]\":\"[/code] " "and [code]\"/\"[/code].\n" "If a property is [Dictionary], hints the editor how to show elements. The " "[code]hint_string[/code] is the same as [Array], with a [code]\";\"[/code] " "separating the key and value.\n" "[codeblocks]\n" "[gdscript]\n" "# Array of elem_type.\n" "hint_string = \"%d:\" % [elem_type]\n" "hint_string = \"%d/%d:%s\" % [elem_type, elem_hint, elem_hint_string]\n" "# Two-dimensional array of elem_type (array of arrays of elem_type).\n" "hint_string = \"%d:%d:\" % [TYPE_ARRAY, elem_type]\n" "hint_string = \"%d:%d/%d:%s\" % [TYPE_ARRAY, elem_type, elem_hint, " "elem_hint_string]\n" "# Three-dimensional array of elem_type (array of arrays of arrays of " "elem_type).\n" "hint_string = \"%d:%d:%d:\" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]\n" "hint_string = \"%d:%d:%d/%d:%s\" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, " "elem_hint, elem_hint_string]\n" "[/gdscript]\n" "[csharp]\n" "// Array of elemType.\n" "hintString = $\"{elemType:D}:\";\n" "hintString = $\"{elemType:}/{elemHint:D}:{elemHintString}\";\n" "// Two-dimensional array of elemType (array of arrays of elemType).\n" "hintString = $\"{Variant.Type.Array:D}:{elemType:D}:\";\n" "hintString = $\"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:" "{elemHintString}\";\n" "// Three-dimensional array of elemType (array of arrays of arrays of " "elemType).\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:" "\";\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/" "{elemHint:D}:{elemHintString}\";\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Examples:[/b]\n" "[codeblocks]\n" "[gdscript]\n" "hint_string = \"%d:\" % [TYPE_INT] # Array of integers.\n" "hint_string = \"%d/%d:1,10,1\" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array of " "integers (in range from 1 to 10).\n" "hint_string = \"%d/%d:Zero,One,Two\" % [TYPE_INT, PROPERTY_HINT_ENUM] # " "Array of integers (an enum).\n" "hint_string = \"%d/%d:Zero,One,Three:3,Six:6\" % [TYPE_INT, " "PROPERTY_HINT_ENUM] # Array of integers (an enum).\n" "hint_string = \"%d/%d:*.png\" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array of " "strings (file paths).\n" "hint_string = \"%d/%d:Texture2D\" % [TYPE_OBJECT, " "PROPERTY_HINT_RESOURCE_TYPE] # Array of textures.\n" "\n" "hint_string = \"%d:%d:\" % [TYPE_ARRAY, TYPE_FLOAT] # Two-dimensional array " "of floats.\n" "hint_string = \"%d:%d/%d:\" % [TYPE_ARRAY, TYPE_STRING, " "PROPERTY_HINT_MULTILINE_TEXT] # Two-dimensional array of multiline strings.\n" "hint_string = \"%d:%d/%d:-1,1,0.1\" % [TYPE_ARRAY, TYPE_FLOAT, " "PROPERTY_HINT_RANGE] # Two-dimensional array of floats (in range from -1 to " "1).\n" "hint_string = \"%d:%d/%d:Texture2D\" % [TYPE_ARRAY, TYPE_OBJECT, " "PROPERTY_HINT_RESOURCE_TYPE] # Two-dimensional array of textures.\n" "[/gdscript]\n" "[csharp]\n" "hintString = $\"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1\"; // " "Array of integers (in range from 1 to 10).\n" "hintString = $\"{Variant.Type.Int:D}/" "{PropertyHint.Enum:D}:Zero,One,Two\"; // Array of integers (an enum).\n" "hintString = $\"{Variant.Type.Int:D}/" "{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6\"; // Array of integers (an " "enum).\n" "hintString = $\"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png\"; // " "Array of strings (file paths).\n" "hintString = $\"{Variant.Type.Object:D}/" "{PropertyHint.ResourceType:D}:Texture2D\"; // Array of textures.\n" "\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Float:D}:\"; // Two-" "dimensional array of floats.\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.String:D}/" "{PropertyHint.MultilineText:D}:\"; // Two-dimensional array of multiline " "strings.\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Float:D}/" "{PropertyHint.Range:D}:-1,1,0.1\"; // Two-dimensional array of floats (in " "range from -1 to 1).\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Object:D}/" "{PropertyHint.ResourceType:D}:Texture2D\"; // Two-dimensional array of " "textures.\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] The trailing colon is required for properly detecting built-in " "types." msgstr "" "若屬性為 [String] ,表示該屬性用來指示特定型別(類別)。如此便能在「建立」對" "話框中選擇型別,屬性會以字串儲存所選型別。\n" "若屬性為 [Array] ,此提示告知編輯器如何呈現元素。 [code]hint_string[/code] 必" "須以 [code]\":\"[/code] 與 [code]\"/\"[/code] 編碼巢狀型別。\n" "若屬性為 [Dictionary] ,提示亦同,但 [code]hint_string[/code] 需要以 [code]" "\";\"[/code] 區隔鍵和值。\n" "[codeblocks]\n" "[gdscript]\n" "# elem_type 陣列。\n" "hint_string = \"%d:\" % [elem_type]\n" "hint_string = \"%d/%d:%s\" % [elem_type, elem_hint, elem_hint_string]\n" "# elem_type 二維陣列(elem_type 的陣列陣列)。\n" "hint_string = \"%d:%d:\" % [TYPE_ARRAY, elem_type]\n" "hint_string = \"%d:%d/%d:%s\" % [TYPE_ARRAY, elem_type, elem_hint, " "elem_hint_string]\n" "# elem_type 三維陣列(elem_type 的陣列 ×3)。\n" "hint_string = \"%d:%d:%d:\" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]\n" "hint_string = \"%d:%d:%d/%d:%s\" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, " "elem_hint, elem_hint_string]\n" "[/gdscript]\n" "[csharp]\n" "// elemType 陣列。\n" "hintString = $\"{elemType:D}:\";\n" "hintString = $\"{elemType:}/{elemHint:D}:{elemHintString}\";\n" "// elemType 二維陣列(elemType 的陣列陣列)。\n" "hintString = $\"{Variant.Type.Array:D}:{elemType:D}:\";\n" "hintString = $\"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:" "{elemHintString}\";\n" "// elemType 三維陣列(elemType 的陣列陣列陣列)。\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:" "\";\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/" "{elemHint:D}:{elemHintString}\";\n" "[/csharp]\n" "[/codeblocks]\n" "[b]範例:[/b]\n" "[codeblocks]\n" "[gdscript]\n" "hint_string = \"%d:\" % [TYPE_INT] # 整數陣列。\n" "hint_string = \"%d/%d:1,10,1\" % [TYPE_INT, PROPERTY_HINT_RANGE] # 整數陣列" "(1~10)。\n" "hint_string = \"%d/%d:Zero,One,Two\" % [TYPE_INT, PROPERTY_HINT_ENUM] # 整數" "列舉陣列。\n" "hint_string = \"%d/%d:Zero,One,Three:3,Six:6\" % [TYPE_INT, " "PROPERTY_HINT_ENUM] # 整數列舉陣列。\n" "hint_string = \"%d/%d:*.png\" % [TYPE_STRING, PROPERTY_HINT_FILE] # 字串陣列" "(檔案路徑)。\n" "hint_string = \"%d/%d:Texture2D\" % [TYPE_OBJECT, " "PROPERTY_HINT_RESOURCE_TYPE] # 紋理陣列。\n" "\n" "hint_string = \"%d:%d:\" % [TYPE_ARRAY, TYPE_FLOAT] # 浮點數二維陣列。\n" "hint_string = \"%d:%d/%d:\" % [TYPE_ARRAY, TYPE_STRING, " "PROPERTY_HINT_MULTILINE_TEXT] # 多行字串二維陣列。\n" "hint_string = \"%d:%d/%d:-1,1,0.1\" % [TYPE_ARRAY, TYPE_FLOAT, " "PROPERTY_HINT_RANGE] # 浮點數二維陣列(-1~1)。\n" "hint_string = \"%d:%d/%d:Texture2D\" % [TYPE_ARRAY, TYPE_OBJECT, " "PROPERTY_HINT_RESOURCE_TYPE] # 紋理二維陣列。\n" "[/gdscript]\n" "[csharp]\n" "hintString = $\"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1\"; // 整數" "陣列(1~10)。\n" "hintString = $\"{Variant.Type.Int:D}/" "{PropertyHint.Enum:D}:Zero,One,Two\"; // 整數列舉陣列。\n" "hintString = $\"{Variant.Type.Int:D}/" "{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6\"; // 整數列舉陣列。\n" "hintString = $\"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png\"; // 字" "串陣列(檔案路徑)。\n" "hintString = $\"{Variant.Type.Object:D}/" "{PropertyHint.ResourceType:D}:Texture2D\"; // 紋理陣列。\n" "\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Float:D}:\"; // 浮點數二" "維陣列。\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.String:D}/" "{PropertyHint.MultilineText:D}:\"; // 多行字串二維陣列。\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Float:D}/" "{PropertyHint.Range:D}:-1,1,0.1\"; // 浮點數二維陣列(-1~1)。\n" "hintString = $\"{Variant.Type.Array:D}:{Variant.Type.Object:D}/" "{PropertyHint.ResourceType:D}:Texture2D\"; // 紋理二維陣列。\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 結尾的冒號為必要,用於正確偵測內建型別。" #: doc/classes/@GlobalScope.xml msgid "This hint is not used by the engine." msgstr "本提示不被引擎使用。" #: doc/classes/@GlobalScope.xml msgid "Hints that an object is too big to be sent via the debugger." msgstr "提示該物件過大,無法透過除錯器傳送。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that the hint string specifies valid node types for property of type " "[NodePath]." msgstr "提示 hint_string 指定了 [NodePath] 類型屬性可接受的節點型別。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] property is a path to a file. Editing it will show a " "file dialog for picking the path for the file to be saved at. The dialog has " "access to the project's directory. The hint string can be a set of filters " "with wildcards like [code]\"*.png,*.jpg\"[/code]. See also [member " "FileDialog.filters]." msgstr "" "提示 [String] 屬性為檔案儲存路徑。編輯時會顯示檔案對話框並限制於專案目錄。" "hint_string 可包含萬用字元過濾器,如 [code]\"*.png,*.jpg\"[/code]。另見 " "[member FileDialog.filters]。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] property is a path to a file. Editing it will show a " "file dialog for picking the path for the file to be saved at. The dialog has " "access to the entire filesystem. The hint string can be a set of filters " "with wildcards like [code]\"*.png,*.jpg\"[/code]. See also [member " "FileDialog.filters]." msgstr "" "提示 [String] 屬性為檔案儲存路徑。編輯時會顯示檔案對話框,可存取整個檔案系" "統。hint_string 可包含萬用字元過濾器,如 [code]\"*.png,*.jpg\"[/code]。另見 " "[member FileDialog.filters]。" #: doc/classes/@GlobalScope.xml msgid "Hints that an [int] property is a pointer. Used by GDExtension." msgstr "提示 [int] 屬性為指標;供 GDExtension 使用。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a property is an [Array] with the stored type specified in the " "hint string. The hint string contains the type of the array (e.g. [code]" "\"String\"[/code]).\n" "Use the hint string format from [constant PROPERTY_HINT_TYPE_STRING] for " "more control over the stored type." msgstr "" "提示該屬性為 [Array],其元素型別由 hint_string 指定(如 [code]\"String\"[/" "code])。\n" "若需更進階控制,請使用 [constant PROPERTY_HINT_TYPE_STRING] 的格式。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a property is a [Dictionary] with the stored types specified in " "the hint string. The hint string contains the key and value types separated " "by a semicolon (e.g. [code]\"int;String\"[/code]).\n" "Use the hint string format from [constant PROPERTY_HINT_TYPE_STRING] for " "more control over the stored types." msgstr "" "提示該屬性為 [Dictionary],其鍵與值型別由 hint_string 使用分號分隔指定,例如 " "[code]\"int;String\"[/code]。\n" "若需更進階控制,請使用 [constant PROPERTY_HINT_TYPE_STRING] 的格式。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a string property is a locale code. Editing it will show a locale " "dialog for picking language and country." msgstr "" "提示一個字串屬性是一個區域設定程式碼。編輯它將顯示一個用於選擇語言和地區的區" "域設定對話方塊。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a dictionary property is string translation map. Dictionary keys " "are locale codes and, values are translated strings." msgstr "" "提示一個字典屬性是字串翻譯對應。字典的鍵是區域設定程式碼,值是翻譯後的字元" "串。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a property is an instance of a [Node]-derived type, optionally " "specified via the hint string (e.g. [code]\"Node2D\"[/code]). Editing it " "will show a dialog for picking a node from the scene." msgstr "" "提示該屬性為 [Node] 派生型別的實例,可於 hint_string 中指定(如 [code]" "\"Node2D\"[/code])。編輯時將顯示選擇場景節點的對話框。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a quaternion property should disable the temporary euler editor." msgstr "提示四元數屬性應當禁用臨時歐拉值編輯器。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a string property is a password, and every character is replaced " "with the secret character." msgstr "提示字串屬性為密碼,每一個字元都會被替換為秘密字元。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [Callable] property should be displayed as a clickable button. " "When the button is pressed, the callable is called. The hint string " "specifies the button text and optionally an icon from the [code]" "\"EditorIcons\"[/code] theme type.\n" "[codeblock lang=text]\n" "\"Click me!\" - A button with the text \"Click me!\" and the default " "\"Callable\" icon.\n" "\"Click me!,ColorRect\" - A button with the text \"Click me!\" and the " "\"ColorRect\" icon.\n" "[/codeblock]\n" "[b]Note:[/b] A [Callable] cannot be properly serialized and stored in a " "file, so it is recommended to use [constant PROPERTY_USAGE_EDITOR] instead " "of [constant PROPERTY_USAGE_DEFAULT]." msgstr "" "提示 [Callable] 屬性應顯示為可點擊按鈕。按下時會呼叫該 Callable。\n" "hint_string 指定按鈕文字,並可選填 [code]EditorIcons[/code] 主題中的圖示名" "稱。\n" "[codeblock]\n" "\"Click me!\" - 顯示預設圖示的「Click me!」按鈕\n" "\"Click me!,ColorRect\" - 顯示 ColorRect 圖示的「Click me!」按鈕\n" "[/codeblock]\n" "[b]注意:[/b] [Callable] 無法正確序列化儲存,建議使用 [constant " "PROPERTY_USAGE_EDITOR] 而非 [constant PROPERTY_USAGE_DEFAULT]。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a property will be changed on its own after setting, such as " "[member AudioStreamPlayer.playing] or [member GPUParticles3D.emitting]." msgstr "" "提示該屬性在設定後會自行變動,例如 [member AudioStreamPlayer.playing] 或 " "[member GPUParticles3D.emitting]。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Hints that a boolean property will enable the feature associated with the " "group that it occurs in. The property will be displayed as a checkbox on the " "group header. Only works within a group or subgroup.\n" "By default, disabling the property hides all properties in the group. Use " "the optional hint string [code]\"checkbox_only\"[/code] to disable this " "behavior." msgstr "" "提示布林屬性可啟用所在群組(或子群組)的功能。\n" "若群組僅包含在功能啟用時才有意義的變數,可於 hint_string 填入 [code]" "\"feature\"[/code]。\n" "[b]注意:[/b] [code]\"feature\"[/code] 僅用於 UI 呈現,不會變更或重設變數。" #: doc/classes/@GlobalScope.xml msgid "" "Hints that a [String] or [StringName] property is the name of an input " "action. This allows the selection of any action name from the Input Map in " "the Project Settings. The hint string may contain two options separated by " "commas:\n" "- If it contains [code]\"show_builtin\"[/code], built-in input actions are " "included in the selection.\n" "- If it contains [code]\"loose_mode\"[/code], loose mode is enabled. This " "allows inserting any action name even if it's not present in the input map." msgstr "" "提示 [String] 或 [StringName] 屬性為輸入動作名稱,可從「專案設定 → 輸入對應」" "中選擇。\n" "hint_string 可用逗號分隔以下選項:\n" "- [code]\"show_builtin\"[/code]:包含內建動作。\n" "- [code]\"loose_mode\"[/code]:允許輸入未於對應表中的任意動作名稱。" #: doc/classes/@GlobalScope.xml msgid "" "Like [constant PROPERTY_HINT_FILE], but the property is stored as a raw " "path, not UID. That means the reference will be broken if you move the file. " "Consider using [constant PROPERTY_HINT_FILE] when possible." msgstr "" #: doc/classes/@GlobalScope.xml msgid "Represents the size of the [enum PropertyHint] enum." msgstr "代表 [enum PropertyHint] 列舉的大小。" #: doc/classes/@GlobalScope.xml msgid "" "The property is not stored, and does not display in the editor. This is the " "default for non-exported properties." msgstr "該屬性不被儲存,也不會顯示在編輯器中。這是非匯出屬性的預設值。" #: doc/classes/@GlobalScope.xml msgid "" "The property is serialized and saved in the scene file (default for exported " "properties)." msgstr "此屬性將被序列化並存入場景檔(匯出屬性之預設行為)。" #: doc/classes/@GlobalScope.xml msgid "" "The property is shown in the [EditorInspector] (default for exported " "properties)." msgstr "此屬性將顯示於 [EditorInspector](匯出屬性之預設行為)。" #: doc/classes/@GlobalScope.xml msgid "The property is excluded from the class reference." msgstr "該屬性排除在類參考手冊之外。" #: doc/classes/@GlobalScope.xml msgid "The property can be checked in the [EditorInspector]." msgstr "該屬性可以在 [EditorInspector] 中被勾選。" #: doc/classes/@GlobalScope.xml msgid "The property is checked in the [EditorInspector]." msgstr "該屬性在 [EditorInspector] 中已被勾選。" #: doc/classes/@GlobalScope.xml msgid "Used to group properties together in the editor. See [EditorInspector]." msgstr "用於在編輯器中將屬性編組在一起。請參閱 [EditorInspector]。" #: doc/classes/@GlobalScope.xml msgid "Used to categorize properties together in the editor." msgstr "在編輯器中用於為屬性分類。" #: doc/classes/@GlobalScope.xml msgid "" "Used to group properties together in the editor in a subgroup (under a " "group). See [EditorInspector]." msgstr "" "用於在子組(一個組下)中將編輯器中的屬性編組在一起。請參閱 " "[EditorInspector]。" #: doc/classes/@GlobalScope.xml msgid "" "The property is a bitfield, i.e. it contains multiple flags represented as " "bits." msgstr "此屬性為位元欄位,包含多個以位元表示的旗標。" #: doc/classes/@GlobalScope.xml msgid "The property does not save its state in [PackedScene]." msgstr "該屬性不在 [PackedScene] 中保存其狀態。" #: doc/classes/@GlobalScope.xml msgid "Editing the property prompts the user for restarting the editor." msgstr "編輯屬性會提示使用者重新開機編輯器。" #: doc/classes/@GlobalScope.xml msgid "" "The property is a script variable. [constant PROPERTY_USAGE_SCRIPT_VARIABLE] " "can be used to distinguish between exported script variables from built-in " "variables (which don't have this usage flag). By default, [constant " "PROPERTY_USAGE_SCRIPT_VARIABLE] is [b]not[/b] applied to variables that are " "created by overriding [method Object._get_property_list] in a script." msgstr "" "此屬性為腳本變數。[constant PROPERTY_USAGE_SCRIPT_VARIABLE] 可用來區分匯出的" "腳本變數與內建變數(後者沒有此旗標)。\n" "預設情況下,若透過覆寫 [method Object._get_property_list] 動態建立變數,並不" "會自動套用此旗標。" #: doc/classes/@GlobalScope.xml msgid "" "The property value of type [Object] will be stored even if its value is " "[code]null[/code]." msgstr "即便值為 [code]null[/code],[Object] 型別屬性仍會被儲存。" #: doc/classes/@GlobalScope.xml msgid "If this property is modified, all inspector fields will be refreshed." msgstr "修改此屬性時,檢查器中的所有欄位皆會重新整理。" #: doc/classes/@GlobalScope.xml msgid "This flag is not used by the engine." msgstr "本旗標不被引擎使用。" #: doc/classes/@GlobalScope.xml msgid "" "The property is a variable of enum type, i.e. it only takes named integer " "constants from its associated enumeration." msgstr "此屬性為列舉型別,只能取其列舉所定義的命名整數常數。" #: doc/classes/@GlobalScope.xml msgid "" "If property has [code]nil[/code] as default value, its type will be " "[Variant]." msgstr "若屬性的預設值為 [code]nil[/code],其型別將為 [Variant]。" #: doc/classes/@GlobalScope.xml msgid "" "The property is the element count of a property array, i.e. a list of groups " "of related properties. Properties defined with this usage also need a " "specific [code]class_name[/code] field in the form of [code]label,prefix[/" "code]. The field may also include additional comma-separated options:\n" "- [code]page_size=N[/code]: Overrides [member EditorSettings.interface/" "inspector/max_array_dictionary_items_per_page] for this array.\n" "- [code]add_button_text=text[/code]: The text displayed by the \"Add " "Element\" button.\n" "- [code]static[/code]: The elements can't be re-arranged.\n" "- [code]const[/code]: New elements can't be added.\n" "- [code]numbered[/code]: An index will appear next to each element.\n" "- [code]unfoldable[/code]: The array can't be folded.\n" "- [code]swap_method=method_name[/code]: The method that will be called when " "two elements switch places. The method should take 2 [int] parameters, which " "will be indices of the elements being swapped.\n" "Note that making a full-fledged property array requires boilerplate code " "involving [method Object._get_property_list]." msgstr "" #: doc/classes/@GlobalScope.xml msgid "" "When duplicating a resource with [method Resource.duplicate], and this flag " "is set on a property of that resource, the property should always be " "duplicated, regardless of the [code]subresources[/code] bool parameter." msgstr "" "當建立一個帶有 [method Resource.duplicate] 的 Resource,並且它的旗標是在一個 " "Resource 的屬性上設定的副本時候,無論 [code]subresources[/code] 為多少,該屬" "性永遠都會被建立為副本。" #: doc/classes/@GlobalScope.xml msgid "" "When duplicating a resource with [method Resource.duplicate], and this flag " "is set on a property of that resource, the property should never be " "duplicated, regardless of the [code]subresources[/code] bool parameter." msgstr "" "使用 [method Resource.duplicate] 複製資源時,如果該資源的某個屬性上設有這個標" "志,則不會對該屬性進行複製,無視 [code]subresources[/code] 布林型參數。" #: doc/classes/@GlobalScope.xml msgid "" "The property is only shown in the editor if modern renderers are supported " "(the Compatibility rendering method is excluded)." msgstr "只有在支援現代算繪器(不包含 GLES3)的情況下該屬性才會在編輯器中顯示。" #: doc/classes/@GlobalScope.xml msgid "" "The [NodePath] property will always be relative to the scene's root. Mostly " "useful for local resources." msgstr "[NodePath] 屬性將永遠相對於場景根節點,對本地資源尤為實用。" #: doc/classes/@GlobalScope.xml msgid "" "Use when a resource is created on the fly, i.e. the getter will always " "return a different instance. [ResourceSaver] needs this information to " "properly save such resources." msgstr "" "當資源於存取時即時生成(getter 每次回傳不同實例)時使用,以便 " "[ResourceSaver] 正確儲存。" #: doc/classes/@GlobalScope.xml msgid "" "Inserting an animation key frame of this property will automatically " "increment the value, allowing to easily keyframe multiple values in a row." msgstr "為此屬性插入動畫關鍵影格時會自動遞增其值,可方便地連續設定多個影格。" #: doc/classes/@GlobalScope.xml msgid "" "When this property is a [Resource] and base object is a [Node], a resource " "instance will be automatically created whenever the node is created in the " "editor." msgstr "" "當此屬性為 [Resource] 且基礎物件為 [Node] 時,在編輯器中建立節點將自動建立資" "源實例。" #: doc/classes/@GlobalScope.xml msgid "" "The property is considered a basic setting and will appear even when " "advanced mode is disabled. Used for project settings." msgstr "此屬性視為基本設定,即使在進階模式關閉時仍會顯示(用於專案設定)。" #: doc/classes/@GlobalScope.xml msgid "The property is read-only in the [EditorInspector]." msgstr "該屬性在 [EditorInspector] 中唯讀。" #: doc/classes/@GlobalScope.xml msgid "" "An export preset property with this flag contains confidential information " "and is stored separately from the rest of the export preset configuration." msgstr "" "具有該旗標的匯出預設屬性包含機密資訊,並與匯出預設配置的其餘部分分開儲存。" #: doc/classes/@GlobalScope.xml msgid "Default usage (storage and editor)." msgstr "預設用法(儲存和編輯器)。" #: doc/classes/@GlobalScope.xml msgid "Default usage but without showing the property in the editor (storage)." msgstr "預設用法,但不在編輯器中顯示屬性(儲存)。" #: doc/classes/@GlobalScope.xml msgid "Flag for a normal method." msgstr "普通方法的旗標。" #: doc/classes/@GlobalScope.xml msgid "Flag for an editor method." msgstr "編輯器方法的旗標。" #: doc/classes/@GlobalScope.xml msgid "Flag for a constant method." msgstr "常數方法的旗標。" #: doc/classes/@GlobalScope.xml msgid "Flag for a virtual method." msgstr "虛方法的旗標。" #: doc/classes/@GlobalScope.xml msgid "Flag for a method with a variable number of arguments." msgstr "具有可變數量參數的方法的旗標。" #: doc/classes/@GlobalScope.xml msgid "Flag for a static method." msgstr "靜態方法的旗標。" #: doc/classes/@GlobalScope.xml msgid "" "Used internally. Allows to not dump core virtual methods (such as [method " "Object._notification]) to the JSON API." msgstr "" "內部使用。允許不將核心虛擬方法(例如 [method Object._notification])轉儲到 " "JSON API。" #: doc/classes/@GlobalScope.xml #, fuzzy msgid "" "Flag for a virtual method that is required. In GDScript, this flag is set " "for abstract functions." msgstr "標示為必須實作的虛擬方法。" #: doc/classes/@GlobalScope.xml msgid "Default method flags (normal)." msgstr "預設方法旗標(正常)。" #: doc/classes/@GlobalScope.xml msgid "Variable is [code]null[/code]." msgstr "變數為 [code]null[/code]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [bool]." msgstr "變數型別為 [bool]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [int]." msgstr "變數型別為 [int]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [float]." msgstr "變數的型別為 [float]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [String]." msgstr "變數型別為 [String]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Vector2]." msgstr "變數型別為 [Vector2]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Vector2i]." msgstr "變數型別為 [Vector2i]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Rect2]." msgstr "變數型別為 [Rect2]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Rect2i]." msgstr "變數型別為 [Rect2i]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Vector3]." msgstr "變數型別為 [Vector3]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Vector3i]." msgstr "變數型別為 [Vector3i]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Transform2D]." msgstr "變數型別為 [Transform2D]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Vector4]." msgstr "變數型別為 [Vector4]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Vector4i]." msgstr "變數型別為 [Vector4i]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Plane]." msgstr "變數型別為 [Plane]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Quaternion]." msgstr "變數型別為 [Quaternion]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [AABB]." msgstr "變數型別為 [AABB]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Basis]." msgstr "變數型別為 [Basis]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Transform3D]." msgstr "變數型別為 [Transform3D]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Projection]." msgstr "變數型別為 [Projection]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Color]." msgstr "變數型別為 [Color]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [StringName]." msgstr "變數型別為 [StringName]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [NodePath]." msgstr "變數型別為 [NodePath]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [RID]." msgstr "變數型別為 [RID]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Object]." msgstr "變數型別為 [Object]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Callable]." msgstr "變數型別為 [Callable]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Signal]." msgstr "變數型別為 [Signal]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Dictionary]." msgstr "變數型別為 [Dictionary]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [Array]." msgstr "變數型別為 [Array]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedByteArray]." msgstr "變數型別為 [PackedByteArray]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedInt32Array]." msgstr "變數型別為 [PackedInt32Array]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedInt64Array]." msgstr "變數型別為 [PackedInt64Array]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedFloat32Array]." msgstr "變數型別為 [PackedFloat32Array]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedFloat64Array]." msgstr "變數型別為 [PackedFloat64Array]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedStringArray]." msgstr "變數型別為 [PackedStringArray]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedVector2Array]." msgstr "變數型別為 [PackedVector2Array]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedVector3Array]." msgstr "變數型別為 [PackedVector3Array]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedColorArray]." msgstr "變數型別為 [PackedColorArray]。" #: doc/classes/@GlobalScope.xml msgid "Variable is of type [PackedVector4Array]." msgstr "變數型別為 [PackedVector4Array]。" #: doc/classes/@GlobalScope.xml msgid "Represents the size of the [enum Variant.Type] enum." msgstr "代表 [enum Variant.Type] 列舉的大小。" #: doc/classes/@GlobalScope.xml msgid "Equality operator ([code]==[/code])." msgstr "相等運算子([code]==[/code])。" #: doc/classes/@GlobalScope.xml msgid "Inequality operator ([code]!=[/code])." msgstr "不等運算子([code]!=[/code])。" #: doc/classes/@GlobalScope.xml msgid "Less than operator ([code]<[/code])." msgstr "小於運算子([code]<[/code])。" #: doc/classes/@GlobalScope.xml msgid "Less than or equal operator ([code]<=[/code])." msgstr "小於等於運算子([code]<=[/code])。" #: doc/classes/@GlobalScope.xml msgid "Greater than operator ([code]>[/code])." msgstr "大於運算子([code]>[/code])。" #: doc/classes/@GlobalScope.xml msgid "Greater than or equal operator ([code]>=[/code])." msgstr "大於等於運算子([code]>=[/code])。" #: doc/classes/@GlobalScope.xml msgid "Addition operator ([code]+[/code])." msgstr "加法運算子([code]+[/code])。" #: doc/classes/@GlobalScope.xml msgid "Subtraction operator ([code]-[/code])." msgstr "減法運算子([code]-[/code])。" #: doc/classes/@GlobalScope.xml msgid "Multiplication operator ([code]*[/code])." msgstr "乘法運算子([code]*[/code])。" #: doc/classes/@GlobalScope.xml msgid "Division operator ([code]/[/code])." msgstr "除法運算子([code]/[/code])。" #: doc/classes/@GlobalScope.xml msgid "Unary negation operator ([code]-[/code])." msgstr "一元減號運算子([code]-[/code])。" #: doc/classes/@GlobalScope.xml msgid "Unary plus operator ([code]+[/code])." msgstr "一元加號運算子([code]+[/code])。" #: doc/classes/@GlobalScope.xml msgid "Remainder/modulo operator ([code]%[/code])." msgstr "餘數/取模運算子([code]%[/code])。" #: doc/classes/@GlobalScope.xml msgid "Power operator ([code]**[/code])." msgstr "冪運算子([code]**[/code])。" #: doc/classes/@GlobalScope.xml msgid "Left shift operator ([code]<<[/code])." msgstr "左移運算子([code]<<[/code])。" #: doc/classes/@GlobalScope.xml msgid "Right shift operator ([code]>>[/code])." msgstr "右移運算子([code]>>[/code])。" #: doc/classes/@GlobalScope.xml msgid "Bitwise AND operator ([code]&[/code])." msgstr "按位與運算子([code]&[/code])。" #: doc/classes/@GlobalScope.xml msgid "Bitwise OR operator ([code]|[/code])." msgstr "按位或運算子([code]|[/code])。" #: doc/classes/@GlobalScope.xml msgid "Bitwise XOR operator ([code]^[/code])." msgstr "按位異或運算子([code]^[/code])。" #: doc/classes/@GlobalScope.xml msgid "Bitwise NOT operator ([code]~[/code])." msgstr "按位非運算子([code]~[/code])。" #: doc/classes/@GlobalScope.xml msgid "Logical AND operator ([code]and[/code] or [code]&&[/code])." msgstr "邏輯與運算子([code]and[/code] 或 [code]&&[/code])。" #: doc/classes/@GlobalScope.xml msgid "Logical OR operator ([code]or[/code] or [code]||[/code])." msgstr "邏輯或運算子([code]or[/code] 或 [code]||[/code])。" #: doc/classes/@GlobalScope.xml msgid "Logical XOR operator (not implemented in GDScript)." msgstr "邏輯異或運算子(未在 GDScript 中實作)。" #: doc/classes/@GlobalScope.xml msgid "Logical NOT operator ([code]not[/code] or [code]![/code])." msgstr "邏輯非運算子([code]not[/code] 或 [code]![/code])。" #: doc/classes/@GlobalScope.xml msgid "Logical IN operator ([code]in[/code])." msgstr "邏輯 IN 運算子([code]in[/code])。" #: doc/classes/@GlobalScope.xml msgid "Represents the size of the [enum Variant.Operator] enum." msgstr "代表 [enum Variant.Operator] 列舉的大小。" #: doc/classes/AABB.xml msgid "A 3D axis-aligned bounding box." msgstr "3D 軸對齊邊界框。" #: doc/classes/AABB.xml #, fuzzy msgid "" "The [AABB] built-in [Variant] type represents an axis-aligned bounding box " "in a 3D space. It is defined by its [member position] and [member size], " "which are [Vector3]. It is frequently used for fast overlap tests (see " "[method intersects]). Although [AABB] itself is axis-aligned, it can be " "combined with [Transform3D] to represent a rotated or skewed bounding box.\n" "It uses floating-point coordinates. The 2D counterpart to [AABB] is [Rect2]. " "There is no version of [AABB] that uses integer coordinates.\n" "[b]Note:[/b] Negative values for [member size] are not supported. With " "negative size, most [AABB] methods do not work correctly. Use [method abs] " "to get an equivalent [AABB] with a non-negative size.\n" "[b]Note:[/b] In a boolean context, an [AABB] evaluates to [code]false[/code] " "if both [member position] and [member size] are zero (equal to [constant " "Vector3.ZERO]). Otherwise, it always evaluates to [code]true[/code]." msgstr "" "[AABB] 內建的 [Variant] 型別代表 3D 空間中的軸對齊邊界框。它由 [member " "position] 與 [member size](皆為 [Vector3])定義,常用於快速重疊測試(參見 " "[method intersects])。雖然 [AABB] 本身為軸對齊,但可搭配 [Transform3D] 來描" "述旋轉或傾斜的邊界框。\n" "其座標採用浮點數。對應的 2D 類型為 [Rect2],且目前沒有使用整數座標的 [AABB] " "版本。\n" "[b]注意:[/b] 不支援 [member size] 為負值;若為負值,大多數 [AABB] 方法將無法" "正確運作。可使用 [method abs] 取得等效且大小為非負的 [AABB]。\n" "[b]注意:[/b] 在布林運算中,若 [member position] 與 [member size] 皆為零(即 " "[constant Vector3.ZERO]),[AABB] 會被視為 [code]false[/code];否則皆為 " "[code]true[/code]。" #: doc/classes/AABB.xml doc/classes/Basis.xml doc/classes/Plane.xml #: doc/classes/Rect2.xml doc/classes/Rect2i.xml doc/classes/Transform2D.xml #: doc/classes/Transform3D.xml doc/classes/Vector2.xml doc/classes/Vector2i.xml #: doc/classes/Vector3.xml doc/classes/Vector3i.xml msgid "Math documentation index" msgstr "數學文件索引" #: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Rect2i.xml #: doc/classes/Vector2.xml doc/classes/Vector2i.xml doc/classes/Vector3.xml #: doc/classes/Vector3i.xml msgid "Vector math" msgstr "向量數學" #: doc/classes/AABB.xml doc/classes/Rect2.xml doc/classes/Vector2.xml #: doc/classes/Vector3.xml msgid "Advanced vector math" msgstr "高等向量數學" #: doc/classes/AABB.xml msgid "" "Constructs an [AABB] with its [member position] and [member size] set to " "[constant Vector3.ZERO]." msgstr "" "預設建構 [AABB],其 [member position] 與 [member size] 皆為 [constant " "Vector3.ZERO]。" #: doc/classes/AABB.xml msgid "Constructs an [AABB] as a copy of the given [AABB]." msgstr "建構給定 [AABB] 的副本。" #: doc/classes/AABB.xml msgid "Constructs an [AABB] by [param position] and [param size]." msgstr "以指定的 [param position] 與 [param size] 建立 [AABB]。" #: doc/classes/AABB.xml msgid "" "Returns an [AABB] equivalent to this bounding box, with its width, height, " "and depth modified to be non-negative values.\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(5, 0, 5), Vector3(-20, -10, -5))\n" "var absolute = box.abs()\n" "print(absolute.position) # Prints (-15.0, -10.0, 0.0)\n" "print(absolute.size) # Prints (20.0, 10.0, 5.0)\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(5, 0, 5), new Vector3(-20, -10, -5));\n" "var absolute = box.Abs();\n" "GD.Print(absolute.Position); // Prints (-15, -10, 0)\n" "GD.Print(absolute.Size); // Prints (20, 10, 5)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] It's recommended to use this method when [member size] is " "negative, as most other methods in Godot assume that the [member size]'s " "components are greater than [code]0[/code]." msgstr "" "傳回與此邊界框等效、且寬度、高度與深度皆為非負值的 [AABB]。\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(5, 0, 5), Vector3(-20, -10, -5))\n" "var absolute = box.abs()\n" "print(absolute.position) # 輸出 (-15.0, -10.0, 0.0)\n" "print(absolute.size) # 輸出 (20.0, 10.0, 5.0)\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(5, 0, 5), new Vector3(-20, -10, -5));\n" "var absolute = box.Abs();\n" "GD.Print(absolute.Position); // 輸出 (-15, -10, 0)\n" "GD.Print(absolute.Size); // 輸出 (20, 10, 5)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 當 [member size] 為負值時,建議先呼叫本方法,因為 Godot 其他方" "法通常假設 [member size] 的各分量皆大於 [code]0[/code]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if this bounding box [i]completely[/i] encloses " "the [param with] box. The edges of both boxes are included.\n" "[codeblocks]\n" "[gdscript]\n" "var a = AABB(Vector3(0, 0, 0), Vector3(4, 4, 4))\n" "var b = AABB(Vector3(1, 1, 1), Vector3(3, 3, 3))\n" "var c = AABB(Vector3(2, 2, 2), Vector3(8, 8, 8))\n" "\n" "print(a.encloses(a)) # Prints true\n" "print(a.encloses(b)) # Prints true\n" "print(a.encloses(c)) # Prints false\n" "[/gdscript]\n" "[csharp]\n" "var a = new Aabb(new Vector3(0, 0, 0), new Vector3(4, 4, 4));\n" "var b = new Aabb(new Vector3(1, 1, 1), new Vector3(3, 3, 3));\n" "var c = new Aabb(new Vector3(2, 2, 2), new Vector3(8, 8, 8));\n" "\n" "GD.Print(a.Encloses(a)); // Prints True\n" "GD.Print(a.Encloses(b)); // Prints True\n" "GD.Print(a.Encloses(c)); // Prints False\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "若此邊界框可[i]完全[/i]包覆 [param with],則回傳 [code]true[/code]。兩者邊緣" "亦被計入。\n" "[codeblocks]\n" "[gdscript]\n" "var a = AABB(Vector3(0, 0, 0), Vector3(4, 4, 4))\n" "var b = AABB(Vector3(1, 1, 1), Vector3(3, 3, 3))\n" "var c = AABB(Vector3(2, 2, 2), Vector3(8, 8, 8))\n" "\n" "print(a.encloses(a)) # Prints true\n" "print(a.encloses(b)) # Prints true\n" "print(a.encloses(c)) # Prints false\n" "[/gdscript]\n" "[csharp]\n" "var a = new Aabb(new Vector3(0, 0, 0), new Vector3(4, 4, 4));\n" "var b = new Aabb(new Vector3(1, 1, 1), new Vector3(3, 3, 3));\n" "var c = new Aabb(new Vector3(2, 2, 2), new Vector3(8, 8, 8));\n" "\n" "GD.Print(a.Encloses(a)); // Prints True\n" "GD.Print(a.Encloses(b)); // Prints True\n" "GD.Print(a.Encloses(c)); // Prints False\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AABB.xml msgid "" "Returns a copy of this bounding box expanded to align the edges with the " "given [param to_point], if necessary.\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(0, 0, 0), Vector3(5, 2, 5))\n" "\n" "box = box.expand(Vector3(10, 0, 0))\n" "print(box.position) # Prints (0.0, 0.0, 0.0)\n" "print(box.size) # Prints (10.0, 2.0, 5.0)\n" "\n" "box = box.expand(Vector3(-5, 0, 5))\n" "print(box.position) # Prints (-5.0, 0.0, 0.0)\n" "print(box.size) # Prints (15.0, 2.0, 5.0)\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 5));\n" "\n" "box = box.Expand(new Vector3(10, 0, 0));\n" "GD.Print(box.Position); // Prints (0, 0, 0)\n" "GD.Print(box.Size); // Prints (10, 2, 5)\n" "\n" "box = box.Expand(new Vector3(-5, 0, 5));\n" "GD.Print(box.Position); // Prints (-5, 0, 0)\n" "GD.Print(box.Size); // Prints (15, 2, 5)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "傳回此邊界框的副本;如有需要,會擴張至其邊緣與給定的 [param to_point] 對" "齊。\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(0, 0, 0), Vector3(5, 2, 5))\n" "\n" "box = box.expand(Vector3(10, 0, 0))\n" "print(box.position) # Prints (0.0, 0.0, 0.0)\n" "print(box.size) # Prints (10.0, 2.0, 5.0)\n" "\n" "box = box.expand(Vector3(-5, 0, 5))\n" "print(box.position) # Prints (-5.0, 0.0, 0.0)\n" "print(box.size) # Prints (15.0, 2.0, 5.0)\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 5));\n" "\n" "box = box.Expand(new Vector3(10, 0, 0));\n" "GD.Print(box.Position); // Prints (0, 0, 0)\n" "GD.Print(box.Size); // Prints (10, 2, 5)\n" "\n" "box = box.Expand(new Vector3(-5, 0, 5));\n" "GD.Print(box.Position); // Prints (-5, 0, 0)\n" "GD.Print(box.Size); // Prints (15, 2, 5)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AABB.xml msgid "" "Returns the center point of the bounding box. This is the same as " "[code]position + (size / 2.0)[/code]." msgstr "傳回此邊界框的中心點。等同於 [code]position + (size / 2.0)[/code]。" #: doc/classes/AABB.xml #, fuzzy msgid "" "Returns the position of one of the 8 vertices that compose this bounding " "box. With an [param idx] of [code]0[/code] this is the same as [member " "position], and an [param idx] of [code]7[/code] is the same as [member end]." msgstr "" "傳回構成此邊界框之 8 個頂點其中之一的位置。當 [param idx] 為 [code]0[/code] " "時,結果與 [member position] 相同;若為 [code]7[/code] 則與 [member end] 相" "同。" #: doc/classes/AABB.xml msgid "" "Returns the longest normalized axis of this bounding box's [member size], as " "a [Vector3] ([constant Vector3.RIGHT], [constant Vector3.UP], or [constant " "Vector3.BACK]).\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))\n" "\n" "print(box.get_longest_axis()) # Prints (0.0, 0.0, 1.0)\n" "print(box.get_longest_axis_index()) # Prints 2\n" "print(box.get_longest_axis_size()) # Prints 8.0\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));\n" "\n" "GD.Print(box.GetLongestAxis()); // Prints (0, 0, 1)\n" "GD.Print(box.GetLongestAxisIndex()); // Prints Z\n" "GD.Print(box.GetLongestAxisSize()); // Prints 8\n" "[/csharp]\n" "[/codeblocks]\n" "See also [method get_longest_axis_index] and [method get_longest_axis_size]." msgstr "" "傳回此邊界框 [member size] 最長軸向的單位向量,為 [Vector3](可能為 " "[constant Vector3.RIGHT]、[constant Vector3.UP] 或 [constant " "Vector3.BACK])。\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))\n" "\n" "print(box.get_longest_axis()) # Prints (0.0, 0.0, 1.0)\n" "print(box.get_longest_axis_index()) # Prints 2\n" "print(box.get_longest_axis_size()) # Prints 8.0\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));\n" "\n" "GD.Print(box.GetLongestAxis()); // Prints (0, 0, 1)\n" "GD.Print(box.GetLongestAxisIndex()); // Prints Z\n" "GD.Print(box.GetLongestAxisSize()); // Prints 8\n" "[/csharp]\n" "[/codeblocks]\n" "另請參閱 [method get_longest_axis_index] 與 [method get_longest_axis_size]。" #: doc/classes/AABB.xml msgid "" "Returns the index to the longest axis of this bounding box's [member size] " "(see [constant Vector3.AXIS_X], [constant Vector3.AXIS_Y], and [constant " "Vector3.AXIS_Z]).\n" "For an example, see [method get_longest_axis]." msgstr "" "傳回此邊界框 [member size] 最長軸的索引(參見 [constant Vector3.AXIS_X]、" "[constant Vector3.AXIS_Y]、[constant Vector3.AXIS_Z])。\n" "範例請見 [method get_longest_axis]。" #: doc/classes/AABB.xml msgid "" "Returns the longest dimension of this bounding box's [member size].\n" "For an example, see [method get_longest_axis]." msgstr "" "傳回此邊界框 [member size] 最長的尺寸。\n" "範例請見 [method get_longest_axis]。" #: doc/classes/AABB.xml msgid "" "Returns the shortest normalized axis of this bounding box's [member size], " "as a [Vector3] ([constant Vector3.RIGHT], [constant Vector3.UP], or " "[constant Vector3.BACK]).\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))\n" "\n" "print(box.get_shortest_axis()) # Prints (1.0, 0.0, 0.0)\n" "print(box.get_shortest_axis_index()) # Prints 0\n" "print(box.get_shortest_axis_size()) # Prints 2.0\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));\n" "\n" "GD.Print(box.GetShortestAxis()); // Prints (1, 0, 0)\n" "GD.Print(box.GetShortestAxisIndex()); // Prints X\n" "GD.Print(box.GetShortestAxisSize()); // Prints 2\n" "[/csharp]\n" "[/codeblocks]\n" "See also [method get_shortest_axis_index] and [method " "get_shortest_axis_size]." msgstr "" "傳回此邊界框 [member size] 最短軸向的單位向量,為 [Vector3](可能為 " "[constant Vector3.RIGHT]、[constant Vector3.UP] 或 [constant " "Vector3.BACK])。\n" "[codeblocks]\n" "[gdscript]\n" "var box = AABB(Vector3(0, 0, 0), Vector3(2, 4, 8))\n" "\n" "print(box.get_shortest_axis()) # Prints (1.0, 0.0, 0.0)\n" "print(box.get_shortest_axis_index()) # Prints 0\n" "print(box.get_shortest_axis_size()) # Prints 2.0\n" "[/gdscript]\n" "[csharp]\n" "var box = new Aabb(new Vector3(0, 0, 0), new Vector3(2, 4, 8));\n" "\n" "GD.Print(box.GetShortestAxis()); // Prints (1, 0, 0)\n" "GD.Print(box.GetShortestAxisIndex()); // Prints X\n" "GD.Print(box.GetShortestAxisSize()); // Prints 2\n" "[/csharp]\n" "[/codeblocks]\n" "另請參閱 [method get_shortest_axis_index] 與 [method " "get_shortest_axis_size]。" #: doc/classes/AABB.xml msgid "" "Returns the index to the shortest axis of this bounding box's [member size] " "(see [constant Vector3.AXIS_X], [constant Vector3.AXIS_Y], and [constant " "Vector3.AXIS_Z]).\n" "For an example, see [method get_shortest_axis]." msgstr "" "傳回此邊界框 [member size] 最短軸的索引(參見 [constant Vector3.AXIS_X]、" "[constant Vector3.AXIS_Y]、[constant Vector3.AXIS_Z])。\n" "範例請見 [method get_shortest_axis]。" #: doc/classes/AABB.xml msgid "" "Returns the shortest dimension of this bounding box's [member size].\n" "For an example, see [method get_shortest_axis]." msgstr "" "傳回此邊界框 [member size] 最短的尺寸。\n" "範例請見 [method get_shortest_axis]。" #: doc/classes/AABB.xml msgid "" "Returns the vertex's position of this bounding box that's the farthest in " "the given direction. This point is commonly known as the support point in " "collision detection algorithms." msgstr "回傳在指定方向上距離最遠的頂點位置(支援點),常用於碰撞偵測演算法。" #: doc/classes/AABB.xml msgid "" "Returns the bounding box's volume. This is equivalent to [code]size.x * " "size.y * size.z[/code]. See also [method has_volume]." msgstr "" "傳回此邊界框的體積。等同於 [code]size.x * size.y * size.z[/code]。另請參閱 " "[method has_volume]。" #: doc/classes/AABB.xml msgid "" "Returns a copy of this bounding box extended on all sides by the given " "amount [param by]. A negative amount shrinks the box instead.\n" "[codeblocks]\n" "[gdscript]\n" "var a = AABB(Vector3(4, 4, 4), Vector3(8, 8, 8)).grow(4)\n" "print(a.position) # Prints (0.0, 0.0, 0.0)\n" "print(a.size) # Prints (16.0, 16.0, 16.0)\n" "\n" "var b = AABB(Vector3(0, 0, 0), Vector3(8, 4, 2)).grow(2)\n" "print(b.position) # Prints (-2.0, -2.0, -2.0)\n" "print(b.size) # Prints (12.0, 8.0, 6.0)\n" "[/gdscript]\n" "[csharp]\n" "var a = new Aabb(new Vector3(4, 4, 4), new Vector3(8, 8, 8)).Grow(4);\n" "GD.Print(a.Position); // Prints (0, 0, 0)\n" "GD.Print(a.Size); // Prints (16, 16, 16)\n" "\n" "var b = new Aabb(new Vector3(0, 0, 0), new Vector3(8, 4, 2)).Grow(2);\n" "GD.Print(b.Position); // Prints (-2, -2, -2)\n" "GD.Print(b.Size); // Prints (12, 8, 6)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "傳回在所有方向上以 [param by] 數值擴張後的此邊界框副本。若 [param by] 為負," "則改為收縮。\n" "[codeblocks]\n" "[gdscript]\n" "var a = AABB(Vector3(4, 4, 4), Vector3(8, 8, 8)).grow(4)\n" "print(a.position) # Prints (0.0, 0.0, 0.0)\n" "print(a.size) # Prints (16.0, 16.0, 16.0)\n" "\n" "var b = AABB(Vector3(0, 0, 0), Vector3(8, 4, 2)).grow(2)\n" "print(b.position) # Prints (-2.0, -2.0, -2.0)\n" "print(b.size) # Prints (12.0, 8.0, 6.0)\n" "[/gdscript]\n" "[csharp]\n" "var a = new Aabb(new Vector3(4, 4, 4), new Vector3(8, 8, 8)).Grow(4);\n" "GD.Print(a.Position); // Prints (0, 0, 0)\n" "GD.Print(a.Size); // Prints (16, 16, 16)\n" "\n" "var b = new Aabb(new Vector3(0, 0, 0), new Vector3(8, 4, 2)).Grow(2);\n" "GD.Print(b.Position); // Prints (-2, -2, -2)\n" "GD.Print(b.Size); // Prints (12, 8, 6)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if the bounding box contains the given [param " "point]. By convention, points exactly on the right, top, and front sides are " "[b]not[/b] included.\n" "[b]Note:[/b] This method is not reliable for [AABB] with a [i]negative[/i] " "[member size]. Use [method abs] first to get a valid bounding box." msgstr "" "若此邊界框包含給定的 [param point],則回傳 [code]true[/code]。依慣例,恰位於" "右側、上側與後側邊緣的點[b]不[/b]會被計入。\n" "[b]注意:[/b] 對於[i]大小為負值[/i]的 [AABB],此方法不可靠;請先使用 [method " "abs] 取得有效的邊界框。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if this bounding box has a surface or a length, " "that is, at least one component of [member size] is greater than [code]0[/" "code]. Otherwise, returns [code]false[/code]." msgstr "" "若此邊界框具備面積或長度(至少有一個 [member size] 分量大於 [code]0[/" "code]),則回傳 [code]true[/code];否則為 [code]false[/code]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if this bounding box's width, height, and depth " "are all positive. See also [method get_volume]." msgstr "" "若此邊界框的寬度、高度與深度皆為正值,則回傳 [code]true[/code]。另請參閱 " "[method get_volume]。" #: doc/classes/AABB.xml msgid "" "Returns the intersection between this bounding box and [param with]. If the " "boxes do not intersect, returns an empty [AABB]. If the boxes intersect at " "the edge, returns a flat [AABB] with no volume (see [method has_surface] and " "[method has_volume]).\n" "[codeblocks]\n" "[gdscript]\n" "var box1 = AABB(Vector3(0, 0, 0), Vector3(5, 2, 8))\n" "var box2 = AABB(Vector3(2, 0, 2), Vector3(8, 4, 4))\n" "\n" "var intersection = box1.intersection(box2)\n" "print(intersection.position) # Prints (2.0, 0.0, 2.0)\n" "print(intersection.size) # Prints (3.0, 2.0, 4.0)\n" "[/gdscript]\n" "[csharp]\n" "var box1 = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 8));\n" "var box2 = new Aabb(new Vector3(2, 0, 2), new Vector3(8, 4, 4));\n" "\n" "var intersection = box1.Intersection(box2);\n" "GD.Print(intersection.Position); // Prints (2, 0, 2)\n" "GD.Print(intersection.Size); // Prints (3, 2, 4)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] If you only need to know whether two bounding boxes are " "intersecting, use [method intersects], instead." msgstr "" "傳回此邊界框與 [param with] 的交集。如果兩框不相交,則回傳空的 [AABB]。若僅於" "邊緣相交,則回傳沒有體積的扁平 [AABB](參見 [method has_surface] 與 [method " "has_volume])。\n" "[codeblocks]\n" "[gdscript]\n" "var box1 = AABB(Vector3(0, 0, 0), Vector3(5, 2, 8))\n" "var box2 = AABB(Vector3(2, 0, 2), Vector3(8, 4, 4))\n" "\n" "var intersection = box1.intersection(box2)\n" "print(intersection.position) # Prints (2.0, 0.0, 2.0)\n" "print(intersection.size) # Prints (3.0, 2.0, 4.0)\n" "[/gdscript]\n" "[csharp]\n" "var box1 = new Aabb(new Vector3(0, 0, 0), new Vector3(5, 2, 8));\n" "var box2 = new Aabb(new Vector3(2, 0, 2), new Vector3(8, 4, 4));\n" "\n" "var intersection = box1.Intersection(box2);\n" "GD.Print(intersection.Position); // Prints (2, 0, 2)\n" "GD.Print(intersection.Size); // Prints (3, 2, 4)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 若僅需判斷兩邊界框是否相交,請改用 [method intersects]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if this bounding box overlaps with the box [param " "with]. The edges of both boxes are [i]always[/i] excluded." msgstr "" "若此邊界框與 [param with] 發生重疊,則回傳 [code]true[/code]。兩者邊緣[i]皆被" "排除[/i]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if this bounding box is on both sides of the given " "[param plane]." msgstr "" "若此邊界框同時位於指定 [param plane] 的兩側,則回傳 [code]true[/code]。" #: doc/classes/AABB.xml msgid "" "Returns the first point where this bounding box and the given ray intersect, " "as a [Vector3]. If no intersection occurs, returns [code]null[/code].\n" "The ray begin at [param from], faces [param dir] and extends towards " "infinity." msgstr "" "回傳此邊界框與指定射線的第一個交點,型別為 [Vector3];若無交點則回傳 " "[code]null[/code]。\n" "射線從 [param from] 出發,方向為 [param dir],並延伸至無限遠。" #: doc/classes/AABB.xml msgid "" "Returns the first point where this bounding box and the given segment " "intersect, as a [Vector3]. If no intersection occurs, returns [code]null[/" "code].\n" "The segment begins at [param from] and ends at [param to]." msgstr "" "回傳此邊界框與指定線段的第一個交點,型別為 [Vector3];若無交點則回傳 " "[code]null[/code]。\n" "線段起於 [param from],止於 [param to]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if this bounding box and [param aabb] are " "approximately equal, by calling [method Vector3.is_equal_approx] on the " "[member position] and the [member size]." msgstr "" "若此邊界框與 [param aabb] 近似相等(透過分別對 [member position] 與 [member " "size] 呼叫 [method Vector3.is_equal_approx]),則回傳 [code]true[/code]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if this bounding box's values are finite, by " "calling [method Vector3.is_finite] on the [member position] and the [member " "size]." msgstr "" "若此邊界框的值皆為有限數(透過對 [member position] 與 [member size] 呼叫 " "[method Vector3.is_finite]),則回傳 [code]true[/code]。" #: doc/classes/AABB.xml msgid "" "Returns an [AABB] that encloses both this bounding box and [param with] " "around the edges. See also [method encloses]." msgstr "" "傳回同時包覆此邊界框與 [param with] 的 [AABB]。另請參閱 [method encloses]。" #: doc/classes/AABB.xml msgid "" "The ending point. This is usually the corner on the top-right and back of " "the bounding box, and is equivalent to [code]position + size[/code]. Setting " "this point affects the [member size]." msgstr "" "結束點。通常為邊界框右上後方的角點,等同於 [code]position + size[/code]。設定" "此值會改變 [member size]。" #: doc/classes/AABB.xml msgid "" "The origin point. This is usually the corner on the bottom-left and forward " "of the bounding box." msgstr "起始點。通常為邊界框左下前方的角點。" #: doc/classes/AABB.xml msgid "" "The bounding box's width, height, and depth starting from [member position]. " "Setting this value also affects the [member end] point.\n" "[b]Note:[/b] It's recommended setting the width, height, and depth to non-" "negative values. This is because most methods in Godot assume that the " "[member position] is the bottom-left-forward corner, and the [member end] is " "the top-right-back corner. To get an equivalent bounding box with non-" "negative size, use [method abs]." msgstr "" "邊界框自 [member position] 起的寬度、高度與深度。設定此值同時會影響 [member " "end]。\n" "[b]注意:[/b] 建議將寬、高、深設為非負值,因為 Godot 多數方法假設 [member " "position] 為左下前角, [member end] 為右上後角。若需取得大小為非負的等效邊界" "框,請使用 [method abs]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if the [member position] or [member size] of both " "bounding boxes are not equal.\n" "[b]Note:[/b] Due to floating-point precision errors, consider using [method " "is_equal_approx] instead, which is more reliable." msgstr "" "若兩邊界框的 [member position] 或 [member size] 不相等,則回傳 [code]true[/" "code]。\n" "[b]注意:[/b] 由於浮點誤差,建議改用 [method is_equal_approx] 以取得更可靠的" "結果。" #: doc/classes/AABB.xml msgid "" "Inversely transforms (multiplies) the [AABB] by the given [Transform3D] " "transformation matrix, under the assumption that the transformation basis is " "orthonormal (i.e. rotation/reflection is fine, scaling/skew is not).\n" "[code]aabb * transform[/code] is equivalent to [code]transform.inverse() * " "aabb[/code]. See [method Transform3D.inverse].\n" "For transforming by inverse of an affine transformation (e.g. with scaling) " "[code]transform.affine_inverse() * aabb[/code] can be used instead. See " "[method Transform3D.affine_inverse]." msgstr "" "將此 [AABB] 以給定的 [Transform3D] 逆向變換(乘法)並回傳結果,前提為該變換基" "底為正交單位矩陣(可含旋轉/鏡射,但不含縮放/斜切)。\n" "[code]aabb * transform[/code] 等價於 [code]transform.inverse() * aabb[/" "code]。詳見 [method Transform3D.inverse]。\n" "若需對仿射變換(包含縮放)的逆變換,可使用 [code]transform.affine_inverse() " "* aabb[/code]。詳見 [method Transform3D.affine_inverse]。" #: doc/classes/AABB.xml msgid "" "Returns [code]true[/code] if both [member position] and [member size] of the " "bounding boxes are exactly equal, respectively.\n" "[b]Note:[/b] Due to floating-point precision errors, consider using [method " "is_equal_approx] instead, which is more reliable." msgstr "" "若兩邊界框的 [member position] 與 [member size] 完全相等,則回傳 [code]true[/" "code]。\n" "[b]注意:[/b] 由於浮點誤差,建議改用 [method is_equal_approx] 以取得更可靠的" "結果。" #: doc/classes/AcceptDialog.xml msgid "A base dialog used for user notification." msgstr "基礎對話框,用於使用者通知。" #: doc/classes/AcceptDialog.xml #, fuzzy msgid "" "The default use of [AcceptDialog] is to allow it to only be accepted or " "closed, with the same result. However, the [signal confirmed] and [signal " "canceled] signals allow to make the two actions different, and the [method " "add_button] method allows to add custom buttons and actions.\n" "[b]Note:[/b] [AcceptDialog] is invisible by default. To make it visible, " "call one of the [code]popup_*[/code] methods from [Window] on the node, such " "as [method Window.popup_centered_clamped]." msgstr "" "[AcceptDialog] 的預設用途是只允許被接受或關閉,兩者結果相同。不過,[signal " "confirmed] 與 [signal canceled] 訊號可讓這兩個行為產生不同效果,[method " "add_button] 方法則可新增自訂按鈕與行為。" #: doc/classes/AcceptDialog.xml #, fuzzy msgid "" "Adds a button with label [param text] and a custom [param action] to the " "dialog and returns the created button.\n" "If [param action] is not empty, pressing the button will emit the [signal " "custom_action] signal with the specified action string.\n" "If [code]true[/code], [param right] will place the button to the right of " "any sibling buttons.\n" "You can use [method remove_button] method to remove a button created with " "this method from the dialog." msgstr "" "新增帶有標籤 [param text] 及自訂 [param action] 的按鈕到對話框,並回傳建立的" "按鈕。當按下時,[param action] 會傳遞給 [signal custom_action] 訊號。\n" "若 [param right] 為 [code]true[/code],會將按鈕放在所有同級按鈕的右側。\n" "可使用 [method remove_button] 方法,將用此方法新增的按鈕從對話框中移除。" #: doc/classes/AcceptDialog.xml msgid "" "Adds a button with label [param name] and a cancel action to the dialog and " "returns the created button.\n" "You can use [method remove_button] method to remove a button created with " "this method from the dialog." msgstr "" "新增帶有標籤 [param name] 及取消動作的按鈕到對話框,並回傳建立的按鈕。\n" "可使用 [method remove_button] 方法,將用此方法建立的按鈕從對話框中移除。" #: doc/classes/AcceptDialog.xml msgid "" "Returns the label used for built-in text.\n" "[b]Warning:[/b] This is a required internal node, removing and freeing it " "may cause a crash. If you wish to hide it or any of its children, use their " "[member CanvasItem.visible] property." msgstr "" "回傳內建文字所用的標籤。\n" "[b]警告:[/b]這是必要的內部節點,移除或釋放它可能導致當機。若想隱藏它或其子節" "點,請使用它們的 [member CanvasItem.visible] 屬性。" #: doc/classes/AcceptDialog.xml msgid "" "Returns the OK [Button] instance.\n" "[b]Warning:[/b] This is a required internal node, removing and freeing it " "may cause a crash. If you wish to hide it or any of its children, use their " "[member CanvasItem.visible] property." msgstr "" "回傳 OK [Button] 按鈕實體。\n" "[b]警告:[/b]這是必要的內部節點,移除或釋放它可能導致當機。若想隱藏它或其子節" "點,請使用它們的 [member CanvasItem.visible] 屬性。" #: doc/classes/AcceptDialog.xml msgid "" "Registers a [LineEdit] in the dialog. When the enter key is pressed, the " "dialog will be accepted." msgstr "在對話框中註冊 [LineEdit]。當按下 Enter 鍵時,對話框將被接受。" #: doc/classes/AcceptDialog.xml msgid "" "Removes the [param button] from the dialog. Does NOT free the [param " "button]. The [param button] must be a [Button] added with [method " "add_button] or [method add_cancel_button] method. After removal, pressing " "the [param button] will no longer emit this dialog's [signal custom_action] " "or [signal canceled] signals." msgstr "" "從對話框中移除 [param button],但不會釋放該 [param button]。[param button] 必" "須是使用 [method add_button] 或 [method add_cancel_button] 方法新增的 " "[Button]。移除後,點擊該 [param button] 將不再觸發本對話框的 [signal " "custom_action] 或 [signal canceled] 訊號。" #: doc/classes/AcceptDialog.xml msgid "Sets autowrapping for the text in the dialog." msgstr "設定對話框中文本自動換行。" #: doc/classes/AcceptDialog.xml #, fuzzy msgid "" "If [code]true[/code], the dialog will be hidden when the " "[code]ui_close_dialog[/code] action is pressed (by default, this action is " "bound to [kbd]Escape[/kbd], or [kbd]Cmd + W[/kbd] on macOS)." msgstr "" "若為 [code]true[/code],當觸發 [code]ui_cancel[/code] 動作(預設綁定為 " "[constant KEY_ESCAPE])時,對話框將被隱藏。" #: doc/classes/AcceptDialog.xml msgid "" "If [code]true[/code], the dialog is hidden when the OK button is pressed. " "You can set it to [code]false[/code] if you want to do e.g. input validation " "when receiving the [signal confirmed] signal, and handle hiding the dialog " "in your own logic.\n" "[b]Note:[/b] Some nodes derived from this class can have a different default " "value, and potentially their own built-in logic overriding this setting. For " "example [FileDialog] defaults to [code]false[/code], and has its own input " "validation code that is called when you press OK, which eventually hides the " "dialog if the input is valid. As such, this property can't be used in " "[FileDialog] to disable hiding the dialog when pressing OK." msgstr "" "若為 [code]true[/code],按下 OK 按鈕時對話框會隱藏。若你希望在收到 [signal " "confirmed] 訊號時執行輸入驗證等邏輯,可將此屬性設為 [code]false[/code],並由" "你自己的程式邏輯來隱藏對話框。\n" "[b]注意:[/b]某些繼承自此類別的節點可能預設為不同值,且有自己的內建邏輯會覆蓋" "此設定。例如 [FileDialog] 預設為 [code]false[/code],並在按下 OK 時會執行輸入" "驗證,若輸入有效則最終自動隱藏對話框。因此,此屬性無法用於 [FileDialog] 來禁" "止按 OK 時隱藏對話框。" #: doc/classes/AcceptDialog.xml msgid "The text displayed by the dialog." msgstr "對話框顯示的文字。" #: doc/classes/AcceptDialog.xml msgid "" "The text displayed by the OK button (see [method get_ok_button]). If empty, " "a default text will be used." msgstr "" "OK 按鈕顯示的文字(參見 [method get_ok_button])。如果為空,將使用預設文字。" #: doc/classes/AcceptDialog.xml msgid "" "Emitted when the dialog is closed or the button created with [method " "add_cancel_button] is pressed." msgstr "當對話框關閉或按下用 [method add_cancel_button] 建立的按鈕時觸發。" #: doc/classes/AcceptDialog.xml msgid "Emitted when the dialog is accepted, i.e. the OK button is pressed." msgstr "當對話框被接受(即按下 OK 按鈕)時觸發。" #: doc/classes/AcceptDialog.xml #, fuzzy msgid "" "Emitted when a custom button with an action is pressed. See [method " "add_button]." msgstr "按下自訂按鈕時觸發。參見 [method add_button]。" #: doc/classes/AcceptDialog.xml msgid "" "The minimum height of each button in the bottom row (such as OK/Cancel) in " "pixels. This can be increased to make buttons with short texts easier to " "click/tap." msgstr "" "底部按鈕列(如 OK/取消)的每個按鈕最小高度(像素)。可增加此值,使短文字的按" "鈕更易於點擊或觸控。" #: doc/classes/AcceptDialog.xml msgid "" "The minimum width of each button in the bottom row (such as OK/Cancel) in " "pixels. This can be increased to make buttons with short texts easier to " "click/tap." msgstr "" "底部按鈕列(如 OK/取消)的每個按鈕最小寬度(像素)。可增加此值,使短文字的按" "鈕更易於點擊或觸控。" #: doc/classes/AcceptDialog.xml msgid "" "The size of the vertical space between the dialog's content and the button " "row." msgstr "對話框內容與按鈕列之間的垂直間距大小。" #: doc/classes/AcceptDialog.xml msgid "The panel that fills the background of the window." msgstr "填滿視窗背景的面板。" #: doc/classes/AESContext.xml msgid "Provides access to AES encryption/decryption of raw data." msgstr "提供對原始資料的 AES 加密/解密的存取。" #: doc/classes/AESContext.xml msgid "" "This class holds the context information required for encryption and " "decryption operations with AES (Advanced Encryption Standard). Both AES-ECB " "and AES-CBC modes are supported.\n" "[codeblocks]\n" "[gdscript]\n" "extends Node\n" "\n" "var aes = AESContext.new()\n" "\n" "func _ready():\n" "\tvar key = \"My secret key!!!\" # Key must be either 16 or 32 bytes.\n" "\tvar data = \"My secret text!!\" # Data size must be multiple of 16 bytes, " "apply padding if needed.\n" "\t# Encrypt ECB\n" "\taes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8_buffer())\n" "\tvar encrypted = aes.update(data.to_utf8_buffer())\n" "\taes.finish()\n" "\t# Decrypt ECB\n" "\taes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8_buffer())\n" "\tvar decrypted = aes.update(encrypted)\n" "\taes.finish()\n" "\t# Check ECB\n" "\tassert(decrypted == data.to_utf8_buffer())\n" "\n" "\tvar iv = \"My secret iv!!!!\" # IV must be of exactly 16 bytes.\n" "\t# Encrypt CBC\n" "\taes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8_buffer(), " "iv.to_utf8_buffer())\n" "\tencrypted = aes.update(data.to_utf8_buffer())\n" "\taes.finish()\n" "\t# Decrypt CBC\n" "\taes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8_buffer(), " "iv.to_utf8_buffer())\n" "\tdecrypted = aes.update(encrypted)\n" "\taes.finish()\n" "\t# Check CBC\n" "\tassert(decrypted == data.to_utf8_buffer())\n" "[/gdscript]\n" "[csharp]\n" "using Godot;\n" "using System.Diagnostics;\n" "\n" "public partial class MyNode : Node\n" "{\n" "\tprivate AesContext _aes = new AesContext();\n" "\n" "\tpublic override void _Ready()\n" "\t{\n" "\t\tstring key = \"My secret key!!!\"; // Key must be either 16 or 32 " "bytes.\n" "\t\tstring data = \"My secret text!!\"; // Data size must be multiple of 16 " "bytes, apply padding if needed.\n" "\t\t// Encrypt ECB\n" "\t\t_aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer());\n" "\t\tbyte[] encrypted = _aes.Update(data.ToUtf8Buffer());\n" "\t\t_aes.Finish();\n" "\t\t// Decrypt ECB\n" "\t\t_aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer());\n" "\t\tbyte[] decrypted = _aes.Update(encrypted);\n" "\t\t_aes.Finish();\n" "\t\t// Check ECB\n" "\t\tDebug.Assert(decrypted == data.ToUtf8Buffer());\n" "\n" "\t\tstring iv = \"My secret iv!!!!\"; // IV must be of exactly 16 bytes.\n" "\t\t// Encrypt CBC\n" "\t\t_aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer(), " "iv.ToUtf8Buffer());\n" "\t\tencrypted = _aes.Update(data.ToUtf8Buffer());\n" "\t\t_aes.Finish();\n" "\t\t// Decrypt CBC\n" "\t\t_aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer(), " "iv.ToUtf8Buffer());\n" "\t\tdecrypted = _aes.Update(encrypted);\n" "\t\t_aes.Finish();\n" "\t\t// Check CBC\n" "\t\tDebug.Assert(decrypted == data.ToUtf8Buffer());\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "這個類存放的是進行 AES(Advanced Encryption Standard,高級加密標準)加解密所" "需的本文信息。支援 AES-ECB 和 AES-CBC 兩種模式。\n" "[codeblocks]\n" "[gdscript]\n" "extends Node\n" "\n" "var aes = AESContext.new()\n" "\n" "func _ready():\n" "\tvar key = \"My secret key!!!\" # 金鑰必須是 16 或 32 位元組。\n" "\tvar data = \"My secret text!!\" # 資料大小必須是 16 位元組的倍數,需要時添" "加補白。\n" "\t# ECB 加密\n" "\taes.start(AESContext.MODE_ECB_ENCRYPT, key.to_utf8_buffer())\n" "\tvar encrypted = aes.update(data.to_utf8_buffer())\n" "\taes.finish()\n" "\t# ECB 解密\n" "\taes.start(AESContext.MODE_ECB_DECRYPT, key.to_utf8_buffer())\n" "\tvar decrypted = aes.update(encrypted)\n" "\taes.finish()\n" "\t# ECB 校驗\n" "\tassert(decrypted == data.to_utf8_buffer())\n" "\n" "\tvar iv = \"My secret iv!!!!\" # IV 必須是 16 位元組。\n" "\t# CBC 加密\n" "\taes.start(AESContext.MODE_CBC_ENCRYPT, key.to_utf8_buffer(), " "iv.to_utf8_buffer())\n" "\tencrypted = aes.update(data.to_utf8_buffer())\n" "\taes.finish()\n" "\t# CBC 解密\n" "\taes.start(AESContext.MODE_CBC_DECRYPT, key.to_utf8_buffer(), " "iv.to_utf8_buffer())\n" "\tdecrypted = aes.update(encrypted)\n" "\taes.finish()\n" "\t# CBC 校驗\n" "\tassert(decrypted == data.to_utf8_buffer())\n" "[/gdscript]\n" "[csharp]\n" "using Godot;\n" "using System.Diagnostics;\n" "\n" "public partial class MyNode : Node\n" "{\n" "\tprivate AesContext _aes = new AesContext();\n" "\n" "\tpublic override void _Ready()\n" "\t{\n" "\t\tstring key = \"My secret key!!!\"; // 金鑰必須是 16 或 32 位元組。\n" "\t\tstring data = \"My secret text!!\"; // 資料大小必須是 16 位元組的倍數,需" "要時新增補白。\n" "\t\t// ECB 加密\n" "\t\t_aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer());\n" "\t\tbyte[] encrypted = _aes.Update(data.ToUtf8Buffer());\n" "\t\t_aes.Finish();\n" "\t\t// ECB 解密\n" "\t\t_aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer());\n" "\t\tbyte[] decrypted = _aes.Update(encrypted);\n" "\t\t_aes.Finish();\n" "\t\t// ECB 校驗\n" "\t\tDebug.Assert(decrypted == data.ToUtf8Buffer());\n" "\n" "\t\tstring iv = \"My secret iv!!!!\"; // IV 必須是 16 位元組。\n" "\t\t// CBC 加密\n" "\t\t_aes.Start(AesContext.Mode.EcbEncrypt, key.ToUtf8Buffer(), " "iv.ToUtf8Buffer());\n" "\t\tencrypted = _aes.Update(data.ToUtf8Buffer());\n" "\t\t_aes.Finish();\n" "\t\t// CBC 解密\n" "\t\t_aes.Start(AesContext.Mode.EcbDecrypt, key.ToUtf8Buffer(), " "iv.ToUtf8Buffer());\n" "\t\tdecrypted = _aes.Update(encrypted);\n" "\t\t_aes.Finish();\n" "\t\t// CBC 校驗\n" "\t\tDebug.Assert(decrypted == data.ToUtf8Buffer());\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AESContext.xml msgid "Close this AES context so it can be started again. See [method start]." msgstr "關閉此 AES 本文,以便可以再次啟動它。見 [method start]。" #: doc/classes/AESContext.xml msgid "" "Get the current IV state for this context (IV gets updated when calling " "[method update]). You normally don't need this function.\n" "[b]Note:[/b] This function only makes sense when the context is started with " "[constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT]." msgstr "" "獲取此本文的目前 IV 狀態(呼叫 [method update] 時會更新 IV)。通常不需要此函" "式。\n" "[b]注意:[/b]僅當本文以 [constant MODE_CBC_ENCRYPT] 或 [constant " "MODE_CBC_DECRYPT] 開頭時,此函式才有意義。" #: doc/classes/AESContext.xml msgid "" "Start the AES context in the given [param mode]. A [param key] of either 16 " "or 32 bytes must always be provided, while an [param iv] (initialization " "vector) of exactly 16 bytes, is only needed when [param mode] is either " "[constant MODE_CBC_ENCRYPT] or [constant MODE_CBC_DECRYPT]." msgstr "" "在給定的 [param mode] 中啟動 AES 本文。必須始終提供 16 或 32 位元組的 [param " "key],而僅當 [param mode] 為 [constant MODE_CBC_ENCRYPT] 或 [constant " "MODE_CBC_DECRYPT] 時,才需要正好為 16 位元組的 [param iv](初始化向量)。" #: doc/classes/AESContext.xml msgid "" "Run the desired operation for this AES context. Will return a " "[PackedByteArray] containing the result of encrypting (or decrypting) the " "given [param src]. See [method start] for mode of operation.\n" "[b]Note:[/b] The size of [param src] must be a multiple of 16. Apply some " "padding if needed." msgstr "" "運作此 AES 本文所需的操作。將返回包含加密(或解密)給定 [param src] 結果的 " "[PackedByteArray] 。有關操作模式,請參閱 [method start]。\n" "[b]注意:[/b][param src] 的大小必須是 16 倍的倍數。如果需要,套用一些填充。" #: doc/classes/AESContext.xml msgid "AES electronic codebook encryption mode." msgstr "AES 電子密碼簿加密模式。" #: doc/classes/AESContext.xml msgid "AES electronic codebook decryption mode." msgstr "AES 電子密碼簿解密模式。" #: doc/classes/AESContext.xml #, fuzzy msgid "AES cipher block chaining encryption mode." msgstr "AES 密碼封鎖器鏈式加密模式。" #: doc/classes/AESContext.xml #, fuzzy msgid "AES cipher block chaining decryption mode." msgstr "AES 密碼封鎖器鏈式解密模式。" #: doc/classes/AESContext.xml msgid "Maximum value for the mode enum." msgstr "模式列舉的最大值。" #: doc/classes/AimModifier3D.xml msgid "The [AimModifier3D] rotates a bone to look at a reference bone." msgstr "[AimModifier3D] 會旋轉骨骼,使其朝向參考骨骼。" #: doc/classes/AimModifier3D.xml msgid "" "This is a simple version of [LookAtModifier3D] that only allows bone to the " "reference without advanced options such as angle limitation or time-based " "interpolation.\n" "The feature is simplified, but instead it is implemented with smooth " "tracking without euler, see [method set_use_euler]." msgstr "" "這是 [LookAtModifier3D] 的簡化版本,只支援將骨骼對準參考骨骼,不含角度限制或" "以時間為基礎的內插等進階選項。\n" "雖然功能精簡,但以平滑追蹤方式實作,且不使用歐拉角,請參閱 [method " "set_use_euler]。" #: doc/classes/AimModifier3D.xml msgid "Returns the forward axis of the bone." msgstr "傳回骨骼的前向軸。" #: doc/classes/AimModifier3D.xml msgid "" "Returns the axis of the first rotation. It is enabled only if [method " "is_using_euler] is [code]true[/code]." msgstr "" "傳回第一旋轉的軸向;僅當 [method is_using_euler] 為 [code]true[/code] 時有" "效。" #: doc/classes/AimModifier3D.xml doc/classes/ConvertTransformModifier3D.xml #: doc/classes/CopyTransformModifier3D.xml #, fuzzy msgid "" "Returns [code]true[/code] if the relative option is enabled in the setting " "at [param index]." msgstr "索引所對應的專案已啟用工具提示時,返回 [code]true[/code]。" #: doc/classes/AimModifier3D.xml msgid "Returns [code]true[/code] if it provides rotation with using euler." msgstr "若使用歐拉角進行旋轉,則傳回 [code]true[/code]。" #: doc/classes/AimModifier3D.xml msgid "" "Returns [code]true[/code] if it provides rotation by two axes. It is enabled " "only if [method is_using_euler] is [code]true[/code]." msgstr "" "若使用雙軸進行旋轉,則傳回 [code]true[/code];僅當 [method is_using_euler] " "為 [code]true[/code] 時有效。" #: doc/classes/AimModifier3D.xml msgid "Sets the forward axis of the bone." msgstr "設定骨骼的前向軸。" #: doc/classes/AimModifier3D.xml msgid "" "Sets the axis of the first rotation. It is enabled only if [method " "is_using_euler] is [code]true[/code]." msgstr "" "設定第一旋轉的軸向;僅當 [method is_using_euler] 為 [code]true[/code] 時有" "效。" #: doc/classes/AimModifier3D.xml msgid "" "Sets relative option in the setting at [param index] to [param enabled].\n" "If sets [param enabled] to [code]true[/code], the rotation is applied " "relative to the pose.\n" "If sets [param enabled] to [code]false[/code], the rotation is applied " "relative to the rest. It means to replace the current pose with the " "[AimModifier3D]'s result." msgstr "" #: doc/classes/AimModifier3D.xml msgid "" "If sets [param enabled] to [code]true[/code], it provides rotation with " "using euler.\n" "If sets [param enabled] to [code]false[/code], it provides rotation with " "using rotation by arc generated from the forward axis vector and the vector " "toward the reference." msgstr "" "若將 [param enabled] 設為 [code]true[/code],即使用歐拉角來計算旋轉。\n" "若將 [param enabled] 設為 [code]false[/code],則改以由前向軸向量與指向參考的" "向量所形成的弧度來計算旋轉。" #: doc/classes/AimModifier3D.xml msgid "" "If sets [param enabled] to [code]true[/code], it provides rotation by two " "axes. It is enabled only if [method is_using_euler] is [code]true[/code]." msgstr "" "若將 [param enabled] 設為 [code]true[/code],將使用雙軸旋轉;僅當 [method " "is_using_euler] 為 [code]true[/code] 時有效。" #: doc/classes/AimModifier3D.xml doc/classes/ConvertTransformModifier3D.xml #: doc/classes/CopyTransformModifier3D.xml msgid "The number of settings in the modifier." msgstr "此修改器中的設定項數量。" #: doc/classes/AnimatableBody2D.xml msgid "" "A 2D physics body that can't be moved by external forces. When moved " "manually, it affects other bodies in its path." msgstr "無法被外力移動的 2D 物理實體;手動移動時會影響途經的其他實體。" #: doc/classes/AnimatableBody2D.xml msgid "" "An animatable 2D physics body. It can't be moved by external forces or " "contacts, but can be moved manually by other means such as code, " "[AnimationMixer]s (with [member AnimationMixer.callback_mode_process] set to " "[constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS]), and " "[RemoteTransform2D].\n" "When [AnimatableBody2D] is moved, its linear and angular velocity are " "estimated and used to affect other physics bodies in its path. This makes it " "useful for moving platforms, doors, and other moving objects." msgstr "" "可動畫的 2D 物理實體。雖無法因外力或碰撞而移動,但可透過程式碼、" "[AnimationMixer]([member AnimationMixer.callback_mode_process] 設為 " "[constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS])、" "[RemoteTransform2D] 等方式手動移動。\n" "當 [AnimatableBody2D] 被移動時,系統會估算其線速度與角速度,並用來影響行徑上" "的其他物理實體,因此特別適合做為移動平台、門等可動物件。" #: doc/classes/AnimatableBody2D.xml doc/classes/AnimatableBody3D.xml #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml #: doc/classes/CollisionShape2D.xml doc/classes/CollisionShape3D.xml #: doc/classes/PhysicsBody2D.xml doc/classes/PhysicsBody3D.xml #: doc/classes/PhysicsDirectBodyState2D.xml #: doc/classes/PhysicsDirectBodyState3D.xml #: doc/classes/PhysicsDirectSpaceState2D.xml #: doc/classes/PhysicsDirectSpaceState3D.xml doc/classes/RigidBody2D.xml #: doc/classes/RigidBody3D.xml doc/classes/Shape2D.xml doc/classes/Shape3D.xml #: doc/classes/StaticBody2D.xml doc/classes/StaticBody3D.xml #: doc/classes/VehicleBody3D.xml msgid "Physics introduction" msgstr "物理介紹" #: doc/classes/AnimatableBody2D.xml doc/classes/AnimatableBody3D.xml #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml #: doc/classes/PhysicsBody2D.xml doc/classes/PhysicsBody3D.xml #: doc/classes/RigidBody2D.xml doc/classes/RigidBody3D.xml #: doc/classes/StaticBody2D.xml doc/classes/StaticBody3D.xml #: doc/classes/VehicleBody3D.xml msgid "Troubleshooting physics issues" msgstr "" #: doc/classes/AnimatableBody2D.xml msgid "" "If [code]true[/code], the body's movement will be synchronized to the " "physics frame. This is useful when animating movement via [AnimationPlayer], " "for example on moving platforms. Do [b]not[/b] use together with [method " "PhysicsBody2D.move_and_collide]." msgstr "" "若為 [code]true[/code],此實體的移動將與物理幀同步。當你使用 " "[AnimationPlayer] 為移動平台等物件製作移動動畫時很有用。[b]請勿[/b]與 " "[method PhysicsBody2D.move_and_collide] 同時使用。" #: doc/classes/AnimatableBody3D.xml msgid "" "A 3D physics body that can't be moved by external forces. When moved " "manually, it affects other bodies in its path." msgstr "無法被外力移動的 3D 物理實體;手動移動時會影響途經的其他實體。" #: doc/classes/AnimatableBody3D.xml msgid "" "An animatable 3D physics body. It can't be moved by external forces or " "contacts, but can be moved manually by other means such as code, " "[AnimationMixer]s (with [member AnimationMixer.callback_mode_process] set to " "[constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS]), and " "[RemoteTransform3D].\n" "When [AnimatableBody3D] is moved, its linear and angular velocity are " "estimated and used to affect other physics bodies in its path. This makes it " "useful for moving platforms, doors, and other moving objects." msgstr "" "可動畫的 3D 物理實體。雖無法因外力或碰撞而移動,但可透過程式碼、" "[AnimationMixer]([member AnimationMixer.callback_mode_process] 設為 " "[constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS])、" "[RemoteTransform3D] 等方式手動移動。\n" "當 [AnimatableBody3D] 被移動時,系統會估算其線速度與角速度,並用來影響行徑上" "的其他物理實體,因此特別適合做為移動平台、門等可動物件。" #: doc/classes/AnimatableBody3D.xml doc/classes/BoxShape3D.xml #: doc/classes/CapsuleShape3D.xml doc/classes/ConcavePolygonShape3D.xml #: doc/classes/ConvexPolygonShape3D.xml doc/classes/CylinderShape3D.xml #: doc/classes/ProjectSettings.xml doc/classes/RigidBody3D.xml #: doc/classes/SphereShape3D.xml doc/classes/StaticBody3D.xml msgid "3D Physics Tests Demo" msgstr "3D 物理測試示範" #: doc/classes/AnimatableBody3D.xml doc/classes/AnimationNodeAdd3.xml #: doc/classes/AnimationNodeAnimation.xml doc/classes/AnimationNodeBlend2.xml #: doc/classes/AnimationNodeBlendSpace2D.xml #: doc/classes/AnimationNodeOneShot.xml doc/classes/AnimationNodeOutput.xml #: doc/classes/AnimationNodeTransition.xml doc/classes/AnimationPlayer.xml #: doc/classes/AnimationTree.xml doc/classes/AudioEffectReverb.xml #: doc/classes/Camera3D.xml doc/classes/CharacterBody3D.xml #: doc/classes/CollisionShape3D.xml doc/classes/CylinderShape3D.xml #: doc/classes/Environment.xml doc/classes/GPUParticles3D.xml #: doc/classes/Light3D.xml doc/classes/Material.xml doc/classes/Mesh.xml #: doc/classes/MeshInstance3D.xml doc/classes/Quaternion.xml #: doc/classes/Skeleton3D.xml doc/classes/SpotLight3D.xml #: doc/classes/StaticBody3D.xml doc/classes/VoxelGI.xml #: doc/classes/VoxelGIData.xml doc/classes/WorldEnvironment.xml msgid "Third Person Shooter (TPS) Demo" msgstr "第三人稱射擊(TPS)示範" #: doc/classes/AnimatableBody3D.xml doc/classes/Basis.xml #: doc/classes/CharacterBody3D.xml doc/classes/CylinderShape3D.xml #: doc/classes/Dictionary.xml doc/classes/FileAccess.xml doc/classes/Input.xml #: doc/classes/InputEvent.xml doc/classes/InputEventAction.xml #: doc/classes/InputEventMouseMotion.xml doc/classes/RayCast3D.xml #: doc/classes/StaticBody3D.xml doc/classes/SurfaceTool.xml #: doc/classes/TextureButton.xml doc/classes/TextureRect.xml #: doc/classes/Thread.xml doc/classes/VBoxContainer.xml msgid "3D Voxel Demo" msgstr "3D 體素示範" #: doc/classes/AnimatableBody3D.xml msgid "" "If [code]true[/code], the body's movement will be synchronized to the " "physics frame. This is useful when animating movement via [AnimationPlayer], " "for example on moving platforms. Do [b]not[/b] use together with [method " "PhysicsBody3D.move_and_collide]." msgstr "" "若為 [code]true[/code],此實體的移動將與物理幀同步。當你使用 " "[AnimationPlayer] 為移動平台等物件製作移動動畫時很有用。[b]請勿[/b]與 " "[method PhysicsBody3D.move_and_collide] 函式同時使用。" #: doc/classes/AnimatedSprite2D.xml msgid "" "Sprite node that contains multiple textures as frames to play for animation." msgstr "將多張紋理做為動畫影格播放的 Sprite 節點。" #: doc/classes/AnimatedSprite2D.xml msgid "" "[AnimatedSprite2D] is similar to the [Sprite2D] node, except it carries " "multiple textures as animation frames. Animations are created using a " "[SpriteFrames] resource, which allows you to import image files (or a folder " "containing said files) to provide the animation frames for the sprite. The " "[SpriteFrames] resource can be configured in the editor via the SpriteFrames " "bottom panel." msgstr "" "[AnimatedSprite2D] 與 [Sprite2D] 節點相似,但可攜帶多張紋理做為動畫影格。動畫" "透過 [SpriteFrames] 資源建立,可匯入影像檔(或整個資料夾)提供影格,並可在編" "輯器下方的 SpriteFrames 面板中設定。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimationPlayer.xml msgid "2D Sprite animation" msgstr "2D 精靈動畫" #: doc/classes/AnimatedSprite2D.xml doc/classes/Area2D.xml #: doc/classes/AudioStreamPlayer.xml doc/classes/Button.xml #: doc/classes/CanvasLayer.xml doc/classes/CollisionShape2D.xml #: doc/classes/ColorRect.xml doc/classes/Input.xml doc/classes/InputEvent.xml #: doc/classes/InputEventAction.xml doc/classes/Label.xml doc/classes/Timer.xml #: doc/classes/VisibleOnScreenNotifier2D.xml msgid "2D Dodge The Creeps Demo" msgstr "2D Dodge The Creeps 範例" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml #: doc/classes/AnimationPlayer.xml msgid "" "Returns the actual playing speed of current animation or [code]0[/code] if " "not playing. This speed is the [member speed_scale] property multiplied by " "[code]custom_speed[/code] argument specified when calling the [method play] " "method.\n" "Returns a negative value if the current animation is playing backwards." msgstr "" "回傳目前動畫的實際播放速度,若未播放則為 [code]0[/code]。此速度為 [member " "speed_scale] 與呼叫 [method play] 時指定的 [code]custom_speed[/code] 相乘所" "得。\n" "若動畫以倒放方式播放,則回傳負值。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml #: doc/classes/AnimationPlayer.xml msgid "" "Returns [code]true[/code] if an animation is currently playing (even if " "[member speed_scale] and/or [code]custom_speed[/code] are [code]0[/code])." msgstr "" "若動畫正在播放(即使 [member speed_scale] 或 [code]custom_speed[/code] 為 " "[code]0[/code]),則回傳 [code]true[/code]。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "Pauses the currently playing animation. The [member frame] and [member " "frame_progress] will be kept and calling [method play] or [method " "play_backwards] without arguments will resume the animation from the current " "playback position.\n" "See also [method stop]." msgstr "" "暫停目前正在播放的動畫。系統會保留 [member frame] 與 [member " "frame_progress],若在無參數下呼叫 [method play] 或 [method play_backwards]," "將自當前位置續播。\n" "另請參閱 [method stop]。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "Plays the animation with key [param name]. If [param custom_speed] is " "negative and [param from_end] is [code]true[/code], the animation will play " "backwards (which is equivalent to calling [method play_backwards]).\n" "If this method is called with that same animation [param name], or with no " "[param name] parameter, the assigned animation will resume playing if it was " "paused." msgstr "" "播放鍵名為 [param name] 的動畫。若 [param custom_speed] 為負數且 [param " "from_end] 為 [code]true[/code],將倒放動畫(等同於呼叫 [method " "play_backwards])。\n" "若以相同 [param name] 或未指定 [param name] 呼叫此方法,則已暫停的動畫會續" "播。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml #: doc/classes/AnimationPlayer.xml msgid "" "Plays the animation with key [param name] in reverse.\n" "This method is a shorthand for [method play] with [code]custom_speed = -1.0[/" "code] and [code]from_end = true[/code], so see its description for more " "information." msgstr "" "倒放鍵名為 [param name] 的動畫。\n" "此方法相當於使用 [code]custom_speed = -1.0[/code]、[code]from_end = true[/" "code] 呼叫 [method play],詳情請參考該方法說明。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "Sets [member frame] and [member frame_progress] to the given values. Unlike " "setting [member frame], this method does not reset the [member " "frame_progress] to [code]0.0[/code] implicitly.\n" "[b]Example:[/b] Change the animation while keeping the same [member frame] " "and [member frame_progress]:\n" "[codeblocks]\n" "[gdscript]\n" "var current_frame = animated_sprite.get_frame()\n" "var current_progress = animated_sprite.get_frame_progress()\n" "animated_sprite.play(\"walk_another_skin\")\n" "animated_sprite.set_frame_and_progress(current_frame, current_progress)\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "同時將 [member frame] 與 [member frame_progress] 設為指定值。與直接設定 " "[member frame] 不同,此方法不會自動將 [member frame_progress] 重設為 " "[code]0.0[/code]。\n" "[b]範例:[/b] 在保留現有 [member frame] 與 [member frame_progress] 的情況下切" "換動畫:\n" "[codeblocks]\n" "[gdscript]\n" "var current_frame = animated_sprite.get_frame()\n" "var current_progress = animated_sprite.get_frame_progress()\n" "animated_sprite.play(\"walk_another_skin\")\n" "animated_sprite.set_frame_and_progress(current_frame, current_progress)\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "Stops the currently playing animation. The animation position is reset to " "[code]0[/code] and the [code]custom_speed[/code] is reset to [code]1.0[/" "code]. See also [method pause]." msgstr "" "停止目前動畫。動畫位置將重設為 [code]0[/code],且 [code]custom_speed[/code] " "亦重設為 [code]1.0[/code]。另請參閱 [method pause]。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "The current animation from the [member sprite_frames] resource. If this " "value is changed, the [member frame] counter and the [member frame_progress] " "are reset." msgstr "" "當前動畫來自 [member sprite_frames] 資源。若此值變更,[member frame] 與 " "[member frame_progress] 均會被重設。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml #: doc/classes/AnimationPlayer.xml msgid "The key of the animation to play when the scene loads." msgstr "場景載入時要播放的動畫鍵名。" #: doc/classes/AnimatedSprite2D.xml msgid "" "If [code]true[/code], texture will be centered.\n" "[b]Note:[/b] For games with a pixel art aesthetic, textures may appear " "deformed when centered. This is caused by their position being between " "pixels. To prevent this, set this property to [code]false[/code], or " "consider enabling [member ProjectSettings.rendering/2d/snap/" "snap_2d_vertices_to_pixel] and [member ProjectSettings.rendering/2d/snap/" "snap_2d_transforms_to_pixel]." msgstr "" "若設為 [code]true[/code],紋理將置中。\n" "[b]注意:[/b] 若遊戲採像素風格,置中時紋理可能因落在像素之間而變形。請將此屬" "性設為 [code]false[/code],或啟用 [member ProjectSettings.rendering/2d/snap/" "snap_2d_vertices_to_pixel] 及 [member ProjectSettings.rendering/2d/snap/" "snap_2d_transforms_to_pixel] 以避免。" #: doc/classes/AnimatedSprite2D.xml doc/classes/Sprite2D.xml #: doc/classes/SpriteBase3D.xml doc/classes/TextureButton.xml #: doc/classes/TextureRect.xml msgid "If [code]true[/code], texture is flipped horizontally." msgstr "若為 [code]true[/code],紋理將水平翻轉。" #: doc/classes/AnimatedSprite2D.xml doc/classes/Sprite2D.xml #: doc/classes/SpriteBase3D.xml doc/classes/TextureButton.xml #: doc/classes/TextureRect.xml msgid "If [code]true[/code], texture is flipped vertically." msgstr "若為 [code]true[/code],紋理將垂直翻轉。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "The displayed animation frame's index. Setting this property also resets " "[member frame_progress]. If this is not desired, use [method " "set_frame_and_progress]." msgstr "" "顯示的動畫影格索引。設定此屬性會同時重設 [member frame_progress];若不希望如" "此,請改用 [method set_frame_and_progress]。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "The progress value between [code]0.0[/code] and [code]1.0[/code] until the " "current frame transitions to the next frame. If the animation is playing " "backwards, the value transitions from [code]1.0[/code] to [code]0.0[/code]." msgstr "" "從當前影格過渡到下一影格的進度值,範圍為 [code]0.0[/code]–[code]1.0[/code]。" "若動畫倒放,則值會從 [code]1.0[/code] 遞減至 [code]0.0[/code]。" #: doc/classes/AnimatedSprite2D.xml msgid "The texture's drawing offset." msgstr "紋理的繪製偏移量。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml #: doc/classes/AnimationPlayer.xml msgid "" "The speed scaling ratio. For example, if this value is [code]1[/code], then " "the animation plays at normal speed. If it's [code]0.5[/code], then it plays " "at half speed. If it's [code]2[/code], then it plays at double speed.\n" "If set to a negative value, the animation is played in reverse. If set to " "[code]0[/code], the animation will not advance." msgstr "" "速度倍率。值為 [code]1[/code] 時以正常速度播放;[code]0.5[/code] 為半速;" "[code]2[/code] 為兩倍速。\n" "若為負值則反向播放;若為 [code]0[/code] 則動畫停止推進。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "The [SpriteFrames] resource containing the animation(s). Allows you the " "option to load, edit, clear, make unique and save the states of the " "[SpriteFrames] resource." msgstr "" "包含動畫的 [SpriteFrames] 資源,並可進行載入、編輯、清除、唯一化與儲存等操" "作。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "Emitted when [member animation] changes." msgstr "當 [member animation] 發生變更時觸發。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "" "Emitted when the animation reaches the end, or the start if it is played in " "reverse. When the animation finishes, it pauses the playback.\n" "[b]Note:[/b] This signal is not emitted if an animation is looping." msgstr "" "當動畫播放至結束(倒放則為起點)時觸發,並會暫停播放。\n" "[b]注意:[/b] 若動畫為循環播放則不會發出此訊號。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "Emitted when the animation loops." msgstr "動畫進入下一次循環時觸發。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "Emitted when [member frame] changes." msgstr "當 [member frame] 改變時觸發。" #: doc/classes/AnimatedSprite2D.xml doc/classes/AnimatedSprite3D.xml msgid "Emitted when [member sprite_frames] changes." msgstr "當 [member sprite_frames] 變更時觸發。" #: doc/classes/AnimatedSprite3D.xml msgid "" "2D sprite node in 3D world, that can use multiple 2D textures for animation." msgstr "3D 世界中的 2D 精靈節點,可使用多張 2D 紋理做動畫。" #: doc/classes/AnimatedSprite3D.xml msgid "" "[AnimatedSprite3D] is similar to the [Sprite3D] node, except it carries " "multiple textures as animation [member sprite_frames]. Animations are " "created using a [SpriteFrames] resource, which allows you to import image " "files (or a folder containing said files) to provide the animation frames " "for the sprite. The [SpriteFrames] resource can be configured in the editor " "via the SpriteFrames bottom panel." msgstr "" "[AnimatedSprite3D] 與 [Sprite3D] 節點類似,但會使用多張紋理作為動畫 [member " "sprite_frames]。動畫使用 [SpriteFrames] 資源建立,可匯入影像檔(或資料夾)提" "供影格,並可在編輯器下方的 SpriteFrames 面板中設定。" #: doc/classes/AnimatedSprite3D.xml msgid "2D Sprite animation (also applies to 3D)" msgstr "2D 精靈動畫(亦適用於 3D)" #: doc/classes/AnimatedTexture.xml msgid "" "This class does not work properly in current versions and may be removed in " "the future. There is currently no equivalent workaround." msgstr "" "此類別在目前版本中無法正常運作,未來可能被移除。目前尚無等效的替代方案。" #: doc/classes/AnimatedTexture.xml msgid "Proxy texture for simple frame-based animations." msgstr "用於簡單影格動畫的代理紋理。" #: doc/classes/AnimatedTexture.xml msgid "" "[AnimatedTexture] is a resource format for frame-based animations, where " "multiple textures can be chained automatically with a predefined delay for " "each frame. Unlike [AnimationPlayer] or [AnimatedSprite2D], it isn't a " "[Node], but has the advantage of being usable anywhere a [Texture2D] " "resource can be used, e.g. in a [TileSet].\n" "The playback of the animation is controlled by the [member speed_scale] " "property, as well as each frame's duration (see [method " "set_frame_duration]). The animation loops, i.e. it will restart at frame 0 " "automatically after playing the last frame.\n" "[AnimatedTexture] currently requires all frame textures to have the same " "size, otherwise the bigger ones will be cropped to match the smallest one.\n" "[b]Note:[/b] AnimatedTexture doesn't support using [AtlasTexture]s. Each " "frame needs to be a separate [Texture2D].\n" "[b]Warning:[/b] The current implementation is not efficient for the modern " "renderers." msgstr "" "[AnimatedTexture] 是影格式動畫的資源格式,可讓多張紋理依每影格預設的延遲自動" "串接播放。與 [AnimationPlayer] 或 [AnimatedSprite2D] 不同,它不是 [Node],因" "此可在任何接受 [Texture2D] 的地方使用,例如 [TileSet]。\n" "動畫播放受 [member speed_scale] 與各影格持續時間(見 [method " "set_frame_duration])控制。動畫會循環播放,播放完最後一影格後會自動回到影格 " "0。\n" "[AnimatedTexture] 要求所有影格的紋理尺寸相同,否則尺寸較大的影格將被裁切以符" "合最小尺寸。\n" "[b]注意:[/b][AnimatedTexture] 不支援 [AtlasTexture];每一影格必須是獨立的 " "[Texture2D]。\n" "[b]警告:[/b] 目前的實作對現代繪圖管線的效率不佳。" #: doc/classes/AnimatedTexture.xml msgid "Returns the given [param frame]'s duration, in seconds." msgstr "回傳指定 [param frame] 的持續時間(秒)。" #: doc/classes/AnimatedTexture.xml msgid "Returns the given frame's [Texture2D]." msgstr "回傳指定影格的 [Texture2D]。" #: doc/classes/AnimatedTexture.xml msgid "" "Sets the duration of any given [param frame]. The final duration is affected " "by the [member speed_scale]. If set to [code]0[/code], the frame is skipped " "during playback." msgstr "" "設定指定 [param frame] 的持續時間,最終時間會再乘以 [member speed_scale]。若" "設為 [code]0[/code],播放時會跳過該影格。" #: doc/classes/AnimatedTexture.xml msgid "" "Assigns a [Texture2D] to the given frame. Frame IDs start at 0, so the first " "frame has ID 0, and the last frame of the animation has ID [member frames] - " "1.\n" "You can define any number of textures up to [constant MAX_FRAMES], but keep " "in mind that only frames from 0 to [member frames] - 1 will be part of the " "animation." msgstr "" "將 [Texture2D] 指定給目標影格。影格 ID 從 0 開始,第一格為 0,最後一格為 " "[member frames] - 1。\n" "最多可設定 [constant MAX_FRAMES] 張紋理,但只有 0 至 [member frames] - 1 的影" "格會參與播放。" #: doc/classes/AnimatedTexture.xml msgid "" "Sets the currently visible frame of the texture. Setting this frame while " "playing resets the current frame time, so the newly selected frame plays for " "its whole configured frame duration." msgstr "" "設定目前可見的影格;在播放期間設定會重設該影格計時,因而讓新選擇的影格完整播" "放其設定的持續時間。" #: doc/classes/AnimatedTexture.xml msgid "" "Number of frames to use in the animation. While you can create the frames " "independently with [method set_frame_texture], you need to set this value " "for the animation to take new frames into account. The maximum number of " "frames is [constant MAX_FRAMES]." msgstr "" "動畫所使用的影格總數。雖可透過 [method set_frame_texture] 個別新增影格,但仍" "須設定此值才能讓動畫納入新影格。最大值為 [constant MAX_FRAMES]。" #: doc/classes/AnimatedTexture.xml msgid "" "If [code]true[/code], the animation will only play once and will not loop " "back to the first frame after reaching the end. Note that reaching the end " "will not set [member pause] to [code]true[/code]." msgstr "" "若為 [code]true[/code],動畫僅播放一次,結束後不會回到第一影格;到達末尾並不" "會自動將 [member pause] 設為 [code]true[/code]。" #: doc/classes/AnimatedTexture.xml msgid "" "If [code]true[/code], the animation will pause where it currently is (i.e. " "at [member current_frame]). The animation will continue from where it was " "paused when changing this property to [code]false[/code]." msgstr "" "若為 [code]true[/code],動畫會在目前位置([member current_frame])暫停;改回 " "[code]false[/code] 時會從該處繼續播放。" #: doc/classes/AnimatedTexture.xml msgid "" "The animation speed is multiplied by this value. If set to a negative value, " "the animation is played in reverse." msgstr "動畫速度會乘以此值;若為負值則反向播放。" #: doc/classes/AnimatedTexture.xml msgid "" "The maximum number of frames supported by [AnimatedTexture]. If you need " "more frames in your animation, use [AnimationPlayer] or [AnimatedSprite2D]." msgstr "" "「[AnimatedTexture]」可支援的最大影格數;若動畫需要更多影格,請改用 " "[AnimationPlayer] 或 [AnimatedSprite2D]。" #: doc/classes/Animation.xml msgid "Holds data that can be used to animate anything in the engine." msgstr "用來儲存可對引擎中任何物件進行動畫化的資料。" #: doc/classes/Animation.xml msgid "" "This resource holds data that can be used to animate anything in the engine. " "Animations are divided into tracks and each track must be linked to a node. " "The state of that node can be changed through time, by adding timed keys " "(events) to the track.\n" "[codeblocks]\n" "[gdscript]\n" "# This creates an animation that makes the node \"Enemy\" move to the right " "by\n" "# 100 pixels in 2.0 seconds.\n" "var animation = Animation.new()\n" "var track_index = animation.add_track(Animation.TYPE_VALUE)\n" "animation.track_set_path(track_index, \"Enemy:position:x\")\n" "animation.track_insert_key(track_index, 0.0, 0)\n" "animation.track_insert_key(track_index, 2.0, 100)\n" "animation.length = 2.0\n" "[/gdscript]\n" "[csharp]\n" "// This creates an animation that makes the node \"Enemy\" move to the right " "by\n" "// 100 pixels in 2.0 seconds.\n" "var animation = new Animation();\n" "int trackIndex = animation.AddTrack(Animation.TrackType.Value);\n" "animation.TrackSetPath(trackIndex, \"Enemy:position:x\");\n" "animation.TrackInsertKey(trackIndex, 0.0f, 0);\n" "animation.TrackInsertKey(trackIndex, 2.0f, 100);\n" "animation.Length = 2.0f;\n" "[/csharp]\n" "[/codeblocks]\n" "Animations are just data containers, and must be added to nodes such as an " "[AnimationPlayer] to be played back. Animation tracks have different types, " "each with its own set of dedicated methods. Check [enum TrackType] to see " "available types.\n" "[b]Note:[/b] For 3D position/rotation/scale, using the dedicated [constant " "TYPE_POSITION_3D], [constant TYPE_ROTATION_3D] and [constant TYPE_SCALE_3D] " "track types instead of [constant TYPE_VALUE] is recommended for performance " "reasons." msgstr "" "此資源保存可用於對引擎中任何物件進行動畫化的資料。動畫由多條「軌道」組成,每" "條軌道必須連結至一個節點,並可透過在軌道上加入帶時間的鍵值(事件)來隨時間改" "變該節點狀態。\n" "[codeblocks]\n" "[gdscript]\n" "# 建立一段動畫,使名為 \"Enemy\" 的節點在 2 秒內向右移動 100 像素。\n" "var animation = Animation.new()\n" "var track_index = animation.add_track(Animation.TYPE_VALUE)\n" "animation.track_set_path(track_index, \"Enemy:position:x\")\n" "animation.track_insert_key(track_index, 0.0, 0)\n" "animation.track_insert_key(track_index, 2.0, 100)\n" "animation.length = 2.0\n" "[/gdscript]\n" "[csharp]\n" "// 建立一段動畫,使名為 \"Enemy\" 的節點在 2 秒內向右移動 100 像素。\n" "var animation = new Animation();\n" "int trackIndex = animation.AddTrack(Animation.TrackType.Value);\n" "animation.TrackSetPath(trackIndex, \"Enemy:position:x\");\n" "animation.TrackInsertKey(trackIndex, 0.0f, 0);\n" "animation.TrackInsertKey(trackIndex, 2.0f, 100);\n" "animation.Length = 2.0f;\n" "[/csharp]\n" "[/codeblocks]\n" "動畫本身只是資料容器,必須掛到 [AnimationPlayer] 等節點上才能播放。不同軌道有" "不同類型,並有各自專用的方法;可參考 [enum TrackType] 以瞭解可用型別。\n" "[b]注意:[/b] 針對 3D 的位置/旋轉/縮放,為效能考量建議使用專用的 [constant " "TYPE_POSITION_3D]、[constant TYPE_ROTATION_3D]、[constant TYPE_SCALE_3D] 軌道" "類型,而非使用一般的 [constant TYPE_VALUE]。" #: doc/classes/Animation.xml doc/classes/AnimationPlayer.xml msgid "Animation documentation index" msgstr "動畫文件索引" #: doc/classes/Animation.xml msgid "Adds a marker to this Animation." msgstr "將標記新增到此 Animation。" #: doc/classes/Animation.xml msgid "Adds a track to the Animation." msgstr "向動畫新增軌道。" #: doc/classes/Animation.xml msgid "" "Returns the animation name at the key identified by [param key_idx]. The " "[param track_idx] must be the index of an Animation Track." msgstr "" "回傳位於 [param key_idx] 的鍵所對應的動畫名稱。[param track_idx] 必須是動畫軌" "道的索引。" #: doc/classes/Animation.xml msgid "" "Inserts a key with value [param animation] at the given [param time] (in " "seconds). The [param track_idx] must be the index of an Animation Track." msgstr "" "在指定 [param time](秒)插入鍵,鍵值為 [param animation]。[param track_idx] " "必須是動畫軌道索引。" #: doc/classes/Animation.xml msgid "" "Sets the key identified by [param key_idx] to value [param animation]. The " "[param track_idx] must be the index of an Animation Track." msgstr "" "將索引為 [param key_idx] 的鍵值設為 [param animation]。[param track_idx] 必須" "是動畫軌道索引。" #: doc/classes/Animation.xml msgid "" "Returns the end offset of the key identified by [param key_idx]. The [param " "track_idx] must be the index of an Audio Track.\n" "End offset is the number of seconds cut off at the ending of the audio " "stream." msgstr "" "回傳索引為 [param key_idx] 的鍵的結束偏移量。[param track_idx] 必須是音訊軌道" "索引。\n" "結束偏移量表示在音訊流結尾被截去的秒數。" #: doc/classes/Animation.xml msgid "" "Returns the start offset of the key identified by [param key_idx]. The " "[param track_idx] must be the index of an Audio Track.\n" "Start offset is the number of seconds cut off at the beginning of the audio " "stream." msgstr "" "回傳索引為 [param key_idx] 的鍵的起始偏移量。[param track_idx] 必須是音訊軌道" "索引。\n" "起始偏移量表示在音訊流開頭被截去的秒數。" #: doc/classes/Animation.xml msgid "" "Returns the audio stream of the key identified by [param key_idx]. The " "[param track_idx] must be the index of an Audio Track." msgstr "" "回傳索引為 [param key_idx] 的鍵所使用的音訊流。[param track_idx] 必須是音訊軌" "道索引。" #: doc/classes/Animation.xml msgid "" "Inserts an Audio Track key at the given [param time] in seconds. The [param " "track_idx] must be the index of an Audio Track.\n" "[param stream] is the [AudioStream] resource to play. [param start_offset] " "is the number of seconds cut off at the beginning of the audio stream, while " "[param end_offset] is at the ending." msgstr "" "在指定的 [param time](秒)於音訊軌道插入鍵。[param track_idx] 必須是音訊軌道" "索引。\n" "[param stream] 為要播放的 [AudioStream],而 [param start_offset] 與 [param " "end_offset] 分別為音訊開頭與結尾欲截去的秒數。" #: doc/classes/Animation.xml msgid "" "Returns [code]true[/code] if the track at [param track_idx] will be blended " "with other animations." msgstr "若 [param track_idx] 的軌道會與其他動畫混合則回傳 [code]true[/code]。" #: doc/classes/Animation.xml msgid "" "Sets the end offset of the key identified by [param key_idx] to value [param " "offset]. The [param track_idx] must be the index of an Audio Track." msgstr "" "將索引為 [param key_idx] 的鍵的結束偏移量設為 [param offset] 秒。[param " "track_idx] 必須是音訊軌道索引。" #: doc/classes/Animation.xml msgid "" "Sets the start offset of the key identified by [param key_idx] to value " "[param offset]. The [param track_idx] must be the index of an Audio Track." msgstr "" "將索引為 [param key_idx] 的鍵的起始偏移量設為 [param offset] 秒。[param " "track_idx] 必須是音訊軌道索引。" #: doc/classes/Animation.xml msgid "" "Sets the stream of the key identified by [param key_idx] to value [param " "stream]. The [param track_idx] must be the index of an Audio Track." msgstr "" "將索引為 [param key_idx] 的鍵所用的音訊流設為 [param stream]。[param " "track_idx] 必須是音訊軌道索引。" #: doc/classes/Animation.xml msgid "" "Sets whether the track will be blended with other animations. If [code]true[/" "code], the audio playback volume changes depending on the blend value." msgstr "" "設定此軌道是否與其他動畫混合。若為 [code]true[/code],播放音量會依混合值變" "動。" #: doc/classes/Animation.xml msgid "" "Returns the in handle of the key identified by [param key_idx]. The [param " "track_idx] must be the index of a Bezier Track." msgstr "" "回傳索引為 [param key_idx] 的鍵的「入端控制點」位置。[param track_idx] 必須是" "貝茲曲線軌道索引。" #: doc/classes/Animation.xml msgid "" "Returns the out handle of the key identified by [param key_idx]. The [param " "track_idx] must be the index of a Bezier Track." msgstr "" "回傳索引為 [param key_idx] 的鍵的「出端控制點」位置。[param track_idx] 必須是" "貝茲曲線軌道索引。" #: doc/classes/Animation.xml msgid "" "Returns the value of the key identified by [param key_idx]. The [param " "track_idx] must be the index of a Bezier Track." msgstr "" "回傳索引為 [param key_idx] 的鍵值。[param track_idx] 必須是貝茲曲線軌道索引。" #: doc/classes/Animation.xml msgid "" "Inserts a Bezier Track key at the given [param time] in seconds. The [param " "track_idx] must be the index of a Bezier Track.\n" "[param in_handle] is the left-side weight of the added Bezier curve point, " "[param out_handle] is the right-side one, while [param value] is the actual " "value at this point." msgstr "" "在指定 [param time](秒)於貝茲曲線軌道插入鍵。[param track_idx] 必須是貝茲曲" "線軌道索引。\n" "[param in_handle] 為該點左側控制點,[param out_handle] 為右側控制點,[param " "value] 為該點實際值。" #: doc/classes/Animation.xml msgid "" "Returns the interpolated value at the given [param time] (in seconds). The " "[param track_idx] must be the index of a Bezier Track." msgstr "" "回傳在指定 [param time](秒)處插值後的值。[param track_idx] 必須是貝茲曲線軌" "道索引。" #: doc/classes/Animation.xml msgid "" "Sets the in handle of the key identified by [param key_idx] to value [param " "in_handle]. The [param track_idx] must be the index of a Bezier Track." msgstr "" "將索引為 [param key_idx] 的鍵之入端控制點設為 [param in_handle]。[param " "track_idx] 必須是貝茲曲線軌道索引。" #: doc/classes/Animation.xml msgid "" "Sets the out handle of the key identified by [param key_idx] to value [param " "out_handle]. The [param track_idx] must be the index of a Bezier Track." msgstr "" "將索引為 [param key_idx] 的鍵之出端控制點設為 [param out_handle]。[param " "track_idx] 必須是貝茲曲線軌道索引。" #: doc/classes/Animation.xml msgid "" "Sets the value of the key identified by [param key_idx] to the given value. " "The [param track_idx] must be the index of a Bezier Track." msgstr "" "將索引為 [param key_idx] 的鍵值設為指定值。[param track_idx] 必須是貝茲曲線軌" "道索引。" #: doc/classes/Animation.xml msgid "Inserts a key in a given blend shape track. Returns the key index." msgstr "在指定的混合形狀軌道插入關鍵影格,並回傳其索引。" #: doc/classes/Animation.xml msgid "" "Returns the interpolated blend shape value at the given time (in seconds). " "The [param track_idx] must be the index of a blend shape track." msgstr "" "回傳在指定時間(秒)經插值後之混合形狀值。[param track_idx] 必須是混合形狀軌" "道索引。" #: doc/classes/Animation.xml msgid "Clear the animation (clear all tracks and reset all)." msgstr "清除動畫(移除所有軌道並重設所有設定)。" #: doc/classes/Animation.xml msgid "" "Compress the animation and all its tracks in-place. This will make [method " "track_is_compressed] return [code]true[/code] once called on this " "[Animation]. Compressed tracks require less memory to be played, and are " "designed to be used for complex 3D animations (such as cutscenes) imported " "from external 3D software. Compression is lossy, but the difference is " "usually not noticeable in real world conditions.\n" "[b]Note:[/b] Compressed tracks have various limitations (such as not being " "editable from the editor), so only use compressed animations if you actually " "need them." msgstr "" "就地壓縮動畫及其所有軌道;壓縮後再呼叫 [method track_is_compressed] 會回傳 " "[code]true[/code]。壓縮軌道可降低播放時的記憶體用量,主要用於外部 3D 軟體匯入" "的複雜 3D 動畫(如過場)。壓縮為有損處理,但在實際使用中通常難以察覺。\n" "[b]注意:[/b] 壓縮後的軌道無法於編輯器內編輯等,僅在確有需求時再使用。" #: doc/classes/Animation.xml msgid "" "Adds a new track to [param to_animation] that is a copy of the given track " "from this animation." msgstr "將本動畫中的指定軌道複製一份並新增到 [param to_animation]。" #: doc/classes/Animation.xml msgid "" "Returns the index of the specified track. If the track is not found, return " "-1." msgstr "回傳指定軌道的索引;若找不到則回傳 -1。" #: doc/classes/Animation.xml msgid "Returns the name of the marker located at the given time." msgstr "回傳位於指定時間點的標記名稱。" #: doc/classes/Animation.xml msgid "Returns the given marker's color." msgstr "回傳指定標記的顏色。" #: doc/classes/Animation.xml msgid "Returns every marker in this Animation, sorted ascending by time." msgstr "依時間排序後,回傳此 Animation 內所有標記。" #: doc/classes/Animation.xml msgid "Returns the given marker's time." msgstr "回傳指定標記所在的時間點。" #: doc/classes/Animation.xml msgid "" "Returns the closest marker that comes after the given time. If no such " "marker exists, an empty string is returned." msgstr "回傳位於指定時間之後最近的標記;若不存在則回傳空字串。" #: doc/classes/Animation.xml msgid "" "Returns the closest marker that comes before the given time. If no such " "marker exists, an empty string is returned." msgstr "回傳位於指定時間之前最近的標記;若不存在則回傳空字串。" #: doc/classes/Animation.xml msgid "Returns the amount of tracks in the animation." msgstr "回傳動畫內的軌道數量。" #: doc/classes/Animation.xml msgid "" "Returns [code]true[/code] if this Animation contains a marker with the given " "name." msgstr "若此 Animation 含有指定名稱的標記則回傳 [code]true[/code]。" #: doc/classes/Animation.xml msgid "Returns the method name of a method track." msgstr "回傳方法軌道所呼叫的方法名稱。" #: doc/classes/Animation.xml msgid "" "Returns the arguments values to be called on a method track for a given key " "in a given track." msgstr "返回給定方法軌道中給定鍵的方法要呼叫的參數值。" #: doc/classes/Animation.xml msgid "" "Optimize the animation and all its tracks in-place. This will preserve only " "as many keys as are necessary to keep the animation within the specified " "bounds." msgstr "" "就地最佳化此動畫及其所有軌道。僅保留足以讓動畫維持在指定誤差範圍內所需的關鍵" "影格數。" #: doc/classes/Animation.xml msgid "Inserts a key in a given 3D position track. Returns the key index." msgstr "在給定的 3D 位置軌道中插入關鍵影格。返回該關鍵影格的索引。" #: doc/classes/Animation.xml msgid "" "Returns the interpolated position value at the given time (in seconds). The " "[param track_idx] must be the index of a 3D position track." msgstr "" "返回位於給定時間(以秒為單位)的插值後的位置值。[param track_idx] 必須是 3D " "位置軌道的索引。" #: doc/classes/Animation.xml msgid "Removes the marker with the given name from this Animation." msgstr "從此 Animation 中移除具有指定名稱的標記。" #: doc/classes/Animation.xml msgid "Removes a track by specifying the track index." msgstr "透過指定軌道索引來移除軌道。" #: doc/classes/Animation.xml msgid "Inserts a key in a given 3D rotation track. Returns the key index." msgstr "在給定的 3D 旋轉軌道中插入關鍵影格。返回該關鍵影格的索引。" #: doc/classes/Animation.xml msgid "" "Returns the interpolated rotation value at the given time (in seconds). The " "[param track_idx] must be the index of a 3D rotation track." msgstr "" "返回位於給定時間(以秒為單位)的插值後的旋轉值。[param track_idx] 必須是 3D " "旋轉軌道的索引。" #: doc/classes/Animation.xml msgid "Inserts a key in a given 3D scale track. Returns the key index." msgstr "在給定的 3D 縮放軌道中插入關鍵影格。返回該關鍵影格的索引。" #: doc/classes/Animation.xml msgid "" "Returns the interpolated scale value at the given time (in seconds). The " "[param track_idx] must be the index of a 3D scale track." msgstr "" "返回位於給定時間(以秒為單位)的插值後的縮放值。[param track_idx] 必須是 3D " "縮放軌道的索引。" #: doc/classes/Animation.xml msgid "Sets the given marker's color." msgstr "設定指定標記的顏色。" #: doc/classes/Animation.xml msgid "" "Finds the key index by time in a given track. Optionally, only find it if " "the approx/exact time is given.\n" "If [param limit] is [code]true[/code], it does not return keys outside the " "animation range.\n" "If [param backward] is [code]true[/code], the direction is reversed in " "methods that rely on one directional processing.\n" "For example, in case [param find_mode] is [constant FIND_MODE_NEAREST], if " "there is no key in the current position just after seeked, the first key " "found is retrieved by searching before the position, but if [param backward] " "is [code]true[/code], the first key found is retrieved after the position." msgstr "" "在指定軌道中依時間尋找鍵的索引。可選擇僅於提供近似/精確時間時才進行尋找。\n" "若 [param limit] 為 [code]true[/code],則不會回傳動畫範圍之外的鍵。\n" "若 [param backward] 為 [code]true[/code],則在依賴單向處理的方法中會反轉搜尋" "方向。\n" "例如,當 [param find_mode] 為 [constant FIND_MODE_NEAREST] 時,若在跳轉後於目" "前位置找不到鍵,預設會向位置之前搜尋並取回第一個找到的鍵,但若 [param " "backward] 為 [code]true[/code],則會向位置之後搜尋並取回第一個鍵。" #: doc/classes/Animation.xml msgid "" "Returns [code]true[/code] if the track at [param track_idx] wraps the " "interpolation loop. New tracks wrap the interpolation loop by default." msgstr "" "若 [param track_idx] 處的軌道會環繞插值迴圈則返回 [code]true[/code]。新建軌道" "預設皆會環繞插值迴圈。" #: doc/classes/Animation.xml msgid "Returns the interpolation type of a given track." msgstr "返回指定軌道的插值類型。" #: doc/classes/Animation.xml msgid "Returns the number of keys in a given track." msgstr "返回給定軌道中的關鍵影格數量。" #: doc/classes/Animation.xml msgid "Returns the time at which the key is located." msgstr "返回關鍵影格所在的時間。" #: doc/classes/Animation.xml msgid "" "Returns the transition curve (easing) for a specific key (see the built-in " "math function [method @GlobalScope.ease])." msgstr "" "返回指定關鍵影格的過渡曲線(緩動)(參閱內建數學函式 [method " "@GlobalScope.ease])。" #: doc/classes/Animation.xml msgid "Returns the value of a given key in a given track." msgstr "返回給定軌道中指定關鍵影格的值。" #: doc/classes/Animation.xml msgid "" "Gets the path of a track. For more information on the path format, see " "[method track_set_path]." msgstr "" "取得軌道的路徑。關於路徑格式的詳細資料,請參閱 [method track_set_path]。" #: doc/classes/Animation.xml msgid "Gets the type of a track." msgstr "取得軌道的型別。" #: doc/classes/Animation.xml msgid "Inserts a generic key in a given track. Returns the key index." msgstr "在給定軌道中插入通用關鍵影格。返回該關鍵影格的索引。" #: doc/classes/Animation.xml msgid "" "Returns [code]true[/code] if the track is compressed, [code]false[/code] " "otherwise. See also [method compress]." msgstr "" "若軌道已被壓縮則返回 [code]true[/code],否則返回 [code]false[/code]。另見 " "[method compress]。" #: doc/classes/Animation.xml msgid "" "Returns [code]true[/code] if the track at index [param track_idx] is enabled." msgstr "若索引 [param track_idx] 的軌道已啟用則返回 [code]true[/code]。" #: doc/classes/Animation.xml msgid "" "Returns [code]true[/code] if the given track is imported. Else, return " "[code]false[/code]." msgstr "" "若給定軌道為匯入則返回 [code]true[/code],否則返回 [code]false[/code]。" #: doc/classes/Animation.xml msgid "Moves a track down." msgstr "將軌道下移。" #: doc/classes/Animation.xml msgid "" "Changes the index position of track [param track_idx] to the one defined in " "[param to_idx]." msgstr "將軌道 [param track_idx] 的索引位置改為 [param to_idx]。" #: doc/classes/Animation.xml msgid "Moves a track up." msgstr "將軌道上移。" #: doc/classes/Animation.xml msgid "Removes a key by index in a given track." msgstr "依索引自指定軌道移除鍵。" #: doc/classes/Animation.xml msgid "Removes a key at [param time] in a given track." msgstr "於指定軌道的 [param time] 移除鍵。" #: doc/classes/Animation.xml msgid "Enables/disables the given track. Tracks are enabled by default." msgstr "啟用/停用指定軌道。軌道預設為啟用。" #: doc/classes/Animation.xml msgid "Sets the given track as imported or not." msgstr "設定指定軌道是否為匯入狀態。" #: doc/classes/Animation.xml msgid "" "If [code]true[/code], the track at [param track_idx] wraps the interpolation " "loop." msgstr "" "若為 [code]true[/code],則索引 [param track_idx] 的軌道會環繞插值迴圈。" #: doc/classes/Animation.xml msgid "Sets the interpolation type of a given track." msgstr "設定指定軌道的插值類型。" #: doc/classes/Animation.xml msgid "Sets the time of an existing key." msgstr "設定既有關鍵影格的時間。" #: doc/classes/Animation.xml msgid "" "Sets the transition curve (easing) for a specific key (see the built-in math " "function [method @GlobalScope.ease])." msgstr "" "設定指定關鍵影格的過渡曲線(緩動)(參閱內建數學函式 [method " "@GlobalScope.ease])。" #: doc/classes/Animation.xml msgid "Sets the value of an existing key." msgstr "設定既有關鍵影格的值。" #: doc/classes/Animation.xml msgid "" "Sets the path of a track. Paths must be valid scene-tree paths to a node and " "must be specified starting from the [member AnimationMixer.root_node] that " "will reproduce the animation. Tracks that control properties or bones must " "append their name after the path, separated by [code]\":\"[/code].\n" "For example, [code]\"character/skeleton:ankle\"[/code] or [code]\"character/" "mesh:transform/local\"[/code]." msgstr "" "設定軌道的路徑。路徑必須是指向場景樹中節點的有效路徑,且必須從會播放動畫的 " "[member AnimationMixer.root_node] 開始指定。控制屬性或骨骼的軌道必須在路徑後" "以 [code]\":\"[/code] 加上其名稱。\n" "例如,[code]\"character/skeleton:ankle\"[/code] 或 [code]\"character/" "mesh:transform/local\"[/code]。" #: doc/classes/Animation.xml msgid "" "Swaps the track [param track_idx]'s index position with the track [param " "with_idx]." msgstr "將軌道 [param track_idx] 的索引位置與軌道 [param with_idx] 互換。" #: doc/classes/Animation.xml msgid "Returns the update mode of a value track." msgstr "返回值軌道的更新模式。" #: doc/classes/Animation.xml msgid "" "Returns the interpolated value at the given time (in seconds). The [param " "track_idx] must be the index of a value track.\n" "A [param backward] mainly affects the direction of key retrieval of the " "track with [constant UPDATE_DISCRETE] converted by [constant " "AnimationMixer.ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS] to match " "the result with [method track_find_key]." msgstr "" "返回於給定時間(以秒為單位)的插值後的值。[param track_idx] 必須是值軌道的索" "引。\n" "[param backward] 主要影響將 [constant UPDATE_DISCRETE] 經由 [constant " "AnimationMixer.ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS] 轉換後之軌" "道的鍵值檢索方向,以使結果與 [method track_find_key] 一致。" #: doc/classes/Animation.xml msgid "Sets the update mode of a value track." msgstr "設定值軌道的更新模式。" #: doc/classes/Animation.xml msgid "" "Returns [code]true[/code] if the capture track is included. This is a cached " "readonly value for performance." msgstr "若包含擷取軌道則返回 [code]true[/code]。此值為效能考量的快取唯讀值。" #: doc/classes/Animation.xml msgid "" "The total length of the animation (in seconds).\n" "[b]Note:[/b] Length is not delimited by the last key, as this one may be " "before or after the end to ensure correct interpolation and looping." msgstr "" "動畫的總長度(單位:秒)。\n" "[b]注意:[/b] 長度並不以最後一個關鍵影格為界,因為為了正確插值與迴圈,最後一" "個鍵可能位於結束前或之後。" #: doc/classes/Animation.xml #, fuzzy msgid "" "Determines the behavior of both ends of the animation timeline during " "animation playback. This indicates whether and how the animation should be " "restarted, and is also used to correctly interpolate animation cycles." msgstr "" "決定動畫播放期間時間軸兩端的行為,用以正確插值動畫循環並提示播放器需要重新開" "始動畫。" #: doc/classes/Animation.xml msgid "The animation step value." msgstr "動畫步長值。" #: doc/classes/Animation.xml msgid "" "Value tracks set values in node properties, but only those which can be " "interpolated. For 3D position/rotation/scale, using the dedicated [constant " "TYPE_POSITION_3D], [constant TYPE_ROTATION_3D] and [constant TYPE_SCALE_3D] " "track types instead of [constant TYPE_VALUE] is recommended for performance " "reasons." msgstr "" "值軌道可設定節點屬性中的值,但僅限可插值者。對於 3D 位置/旋轉/縮放,基於效" "能考量建議使用專用的 [constant TYPE_POSITION_3D]、[constant " "TYPE_ROTATION_3D] 與 [constant TYPE_SCALE_3D] 軌道型別,而非 [constant " "TYPE_VALUE]。" #: doc/classes/Animation.xml msgid "3D position track (values are stored in [Vector3]s)." msgstr "3D 位置軌道(值儲存在 [Vector3] 中)。" #: doc/classes/Animation.xml msgid "3D rotation track (values are stored in [Quaternion]s)." msgstr "3D 旋轉軌道(值儲存在 [Quaternion] 中)。" #: doc/classes/Animation.xml msgid "3D scale track (values are stored in [Vector3]s)." msgstr "3D 縮放軌道(值儲存在 [Vector3] 中)。" #: doc/classes/Animation.xml msgid "Blend shape track." msgstr "混合形狀軌道。" #: doc/classes/Animation.xml msgid "Method tracks call functions with given arguments per key." msgstr "方法軌道會於每個關鍵影格以指定參數呼叫函式。" #: doc/classes/Animation.xml msgid "" "Bezier tracks are used to interpolate a value using custom curves. They can " "also be used to animate sub-properties of vectors and colors (e.g. alpha " "value of a [Color])." msgstr "" "貝塞爾軌道可透過自訂曲線對數值進行插值,也可用於為向量或顏色的子屬性製作動畫" "(例如 [Color] 的 Alpha 值)。" #: doc/classes/Animation.xml msgid "" "Audio tracks are used to play an audio stream with either type of " "[AudioStreamPlayer]. The stream can be trimmed and previewed in the " "animation." msgstr "" "音訊軌道可使用任一種類的 [AudioStreamPlayer] 播放音訊串流,並可於動畫中剪輯與" "預覽該串流。" #: doc/classes/Animation.xml msgid "Animation tracks play animations in other [AnimationPlayer] nodes." msgstr "動畫軌道會在其他 [AnimationPlayer] 節點播放動畫。" #: doc/classes/Animation.xml msgid "No interpolation (nearest value)." msgstr "無插值(鄰近值)。" #: doc/classes/Animation.xml doc/classes/Gradient.xml msgid "Linear interpolation." msgstr "線性插值。" #: doc/classes/Animation.xml msgid "" "Cubic interpolation. This looks smoother than linear interpolation, but is " "more expensive to interpolate. Stick to [constant INTERPOLATION_LINEAR] for " "complex 3D animations imported from external software, even if it requires " "using a higher animation framerate in return." msgstr "" "三次插值。較線性插值平滑但計算成本更高;對於自外部軟體匯入之複雜 3D 動畫,即" "便需提高影格率,也建議維持使用 [constant INTERPOLATION_LINEAR]。" #: doc/classes/Animation.xml msgid "" "Linear interpolation with shortest path rotation.\n" "[b]Note:[/b] The result value is always normalized and may not match the key " "value." msgstr "" "最短路徑旋轉的線性插值。\n" "[b]注意:[/b] 結果值會被正規化,因此可能與鍵值不相符。" #: doc/classes/Animation.xml msgid "" "Cubic interpolation with shortest path rotation.\n" "[b]Note:[/b] The result value is always normalized and may not match the key " "value." msgstr "" "最短路徑旋轉的三次插值。\n" "[b]注意:[/b] 結果值會被正規化,因此可能與鍵值不相符。" #: doc/classes/Animation.xml msgid "Update between keyframes and hold the value." msgstr "在關鍵影格之間持續更新並保持值。" #: doc/classes/Animation.xml msgid "Update at the keyframes." msgstr "僅於關鍵影格更新。" #: doc/classes/Animation.xml msgid "" "Same as [constant UPDATE_CONTINUOUS] but works as a flag to capture the " "value of the current object and perform interpolation in some methods. See " "also [method AnimationMixer.capture], [member " "AnimationPlayer.playback_auto_capture], and [method " "AnimationPlayer.play_with_capture]." msgstr "" "與 [constant UPDATE_CONTINUOUS] 相同,但作為旗標以擷取目前物件的值,並在部分" "方法中進行插值。另請參閱 [method AnimationMixer.capture]、[member " "AnimationPlayer.playback_auto_capture] 與 [method " "AnimationPlayer.play_with_capture]。" #: doc/classes/Animation.xml msgid "At both ends of the animation, the animation will stop playing." msgstr "在動畫兩端,動畫將停止播放。" #: doc/classes/Animation.xml msgid "" "At both ends of the animation, the animation will be repeated without " "changing the playback direction." msgstr "在動畫兩端,動畫將不改變播放方向地重複播放。" #: doc/classes/Animation.xml msgid "Repeats playback and reverse playback at both ends of the animation." msgstr "在動畫兩端重複正播與反播。" #: doc/classes/Animation.xml msgid "This flag indicates that the animation proceeds without any looping." msgstr "此旗標指示動畫不進行任何迴圈。" #: doc/classes/Animation.xml msgid "" "This flag indicates that the animation has reached the end of the animation " "and just after loop processed." msgstr "此旗標表示動畫已到達尾端並剛完成迴圈處理。" #: doc/classes/Animation.xml msgid "" "This flag indicates that the animation has reached the start of the " "animation and just after loop processed." msgstr "此旗標表示動畫已回到起始並剛完成迴圈處理。" #: doc/classes/Animation.xml msgid "Finds the nearest time key." msgstr "尋找最近的時間鍵。" #: doc/classes/Animation.xml msgid "Finds only the key with approximating the time." msgstr "僅尋找與時間近似的鍵。" #: doc/classes/Animation.xml msgid "Finds only the key with matching the time." msgstr "僅尋找與時間完全相符的鍵。" #: doc/classes/AnimationLibrary.xml msgid "Container for [Animation] resources." msgstr "[Animation] 資源容器。" #: doc/classes/AnimationLibrary.xml msgid "" "An animation library stores a set of animations accessible through " "[StringName] keys, for use with [AnimationPlayer] nodes." msgstr "" "動畫庫會透過 [StringName] 作為鍵儲存一組動畫,供 [AnimationPlayer] 節點使用。" #: doc/classes/AnimationLibrary.xml msgid "Animation tutorial index" msgstr "動畫教學索引" #: doc/classes/AnimationLibrary.xml msgid "" "Adds the [param animation] to the library, accessible by the key [param " "name]." msgstr "將 [param animation] 新增至動畫庫並以鍵 [param name] 存取。" #: doc/classes/AnimationLibrary.xml doc/classes/AnimationMixer.xml msgid "" "Returns the [Animation] with the key [param name]. If the animation does not " "exist, [code]null[/code] is returned and an error is logged." msgstr "" "返回鍵為 [param name] 的 [Animation]。若不存在則返回 [code]null[/code] 並記錄" "錯誤。" #: doc/classes/AnimationLibrary.xml msgid "Returns the keys for the [Animation]s stored in the library." msgstr "返回動畫庫中所儲存之 [Animation] 的鍵。" #: doc/classes/AnimationLibrary.xml msgid "Returns the key count for the [Animation]s stored in the library." msgstr "返回動畫庫中所儲存之 [Animation] 的鍵數量。" #: doc/classes/AnimationLibrary.xml msgid "" "Returns [code]true[/code] if the library stores an [Animation] with [param " "name] as the key." msgstr "" "若動畫庫內存在鍵為 [param name] 的 [Animation] 則返回 [code]true[/code]。" #: doc/classes/AnimationLibrary.xml msgid "Removes the [Animation] with the key [param name]." msgstr "移除鍵為 [param name] 的 [Animation]。" #: doc/classes/AnimationLibrary.xml msgid "" "Changes the key of the [Animation] associated with the key [param name] to " "[param newname]." msgstr "將鍵為 [param name] 的 [Animation] 之鍵更改為 [param newname]。" #: doc/classes/AnimationLibrary.xml msgid "Emitted when an [Animation] is added, under the key [param name]." msgstr "當新增鍵為 [param name] 的 [Animation] 時發出。" #: doc/classes/AnimationLibrary.xml msgid "" "Emitted when there's a change in one of the animations, e.g. tracks are " "added, moved or have changed paths. [param name] is the key of the animation " "that was changed.\n" "See also [signal Resource.changed], which this acts as a relay for." msgstr "" "當某個動畫發生變化(如新增、移動軌道或變更路徑)時發出。[param name] 為變更之" "動畫的鍵。\n" "亦可參閱作為轉接之 [signal Resource.changed]。" #: doc/classes/AnimationLibrary.xml msgid "" "Emitted when an [Animation] stored with the key [param name] is removed." msgstr "當移除鍵為 [param name] 的 [Animation] 時發出。" #: doc/classes/AnimationLibrary.xml msgid "" "Emitted when the key for an [Animation] is changed, from [param name] to " "[param to_name]." msgstr "當某 [Animation] 的鍵由 [param name] 改為 [param to_name] 時發出。" #: doc/classes/AnimationMixer.xml msgid "Base class for [AnimationPlayer] and [AnimationTree]." msgstr "[AnimationPlayer] 與 [AnimationTree] 的基底類別。" #: doc/classes/AnimationMixer.xml msgid "" "Base class for [AnimationPlayer] and [AnimationTree] to manage animation " "lists. It also has general properties and methods for playback and " "blending.\n" "After instantiating the playback information data within the extended class, " "the blending is processed by the [AnimationMixer]." msgstr "" "[AnimationPlayer] 與 [AnimationTree] 管理動畫列表的基底類別,並提供播放與混合" "的通用屬性及方法。\n" "在延伸類別中建立播放資訊後,混合將由 [AnimationMixer] 處理。" #: doc/classes/AnimationMixer.xml msgid "Migrating Animations from Godot 4.0 to 4.3" msgstr "將動畫自 Godot 4.0 移植到 4.3" #: doc/classes/AnimationMixer.xml msgid "A virtual function for processing after getting a key during playback." msgstr "於播放期間取得鍵後進行處理的虛擬函式。" #: doc/classes/AnimationMixer.xml msgid "" "Adds [param library] to the animation player, under the key [param name].\n" "AnimationMixer has a global library by default with an empty string as key. " "For adding an animation to the global library:\n" "[codeblocks]\n" "[gdscript]\n" "var global_library = mixer.get_animation_library(\"\")\n" "global_library.add_animation(\"animation_name\", animation_resource)\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "將 [param library] 以鍵 [param name] 加入動畫播放器。\n" "AnimationMixer 預設具有鍵為空字串的全域動畫庫。若要將動畫加入全域動畫庫:\n" "[codeblocks]\n" "[gdscript]\n" "var global_library = mixer.get_animation_library(\"\")\n" "global_library.add_animation(\"animation_name\", animation_resource)\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/AnimationMixer.xml msgid "Manually advance the animations by the specified time (in seconds)." msgstr "手動將動畫推進指定時間(秒)。" #: doc/classes/AnimationMixer.xml msgid "" "If the animation track specified by [param name] has an option [constant " "Animation.UPDATE_CAPTURE], stores current values of the objects indicated by " "the track path as a cache. If there is already a captured cache, the old " "cache is discarded.\n" "After this it will interpolate with current animation blending result during " "the playback process for the time specified by [param duration], working " "like a crossfade.\n" "You can specify [param trans_type] as the curve for the interpolation. For " "better results, it may be appropriate to specify [constant " "Tween.TRANS_LINEAR] for cases where the first key of the track begins with a " "non-zero value or where the key value does not change, and [constant " "Tween.TRANS_QUAD] for cases where the key value changes linearly." msgstr "" "若 [param name] 指定的動畫軌道具有 [constant Animation.UPDATE_CAPTURE] 選項," "會將軌道路徑所指物件的當前值快取;若已存在快取則覆蓋舊快取。\n" "之後在 [param duration] 指定的時間內於播放過程中與目前的動畫混合結果插值,效" "果如同交叉淡入。\n" "可透過 [param trans_type] 指定插值曲線。若軌道第一鍵值非零或鍵值不變化,建議" "使用 [constant Tween.TRANS_LINEAR];若鍵值線性變化,則建議 [constant " "Tween.TRANS_QUAD]。" #: doc/classes/AnimationMixer.xml msgid "" "[AnimationMixer] caches animated nodes. It may not notice if a node " "disappears; [method clear_caches] forces it to update the cache again." msgstr "" "[AnimationMixer] 會快取動畫節點;若節點消失可能偵測不到,可呼叫 [method " "clear_caches] 強制重新更新快取。" #: doc/classes/AnimationMixer.xml msgid "" "Returns the key of [param animation] or an empty [StringName] if not found." msgstr "返回 [param animation] 的鍵,若未找到則返回空的 [StringName]。" #: doc/classes/AnimationMixer.xml msgid "" "Returns the key for the [AnimationLibrary] that contains [param animation] " "or an empty [StringName] if not found." msgstr "" "返回包含 [param animation] 的 [AnimationLibrary] 的鍵,若未找到則返回空的 " "[StringName]。" #: doc/classes/AnimationMixer.xml msgid "" "Returns the first [AnimationLibrary] with key [param name] or [code]null[/" "code] if not found.\n" "To get the [AnimationMixer]'s global animation library, use " "[code]get_animation_library(\"\")[/code]." msgstr "" "返回鍵為 [param name] 的第一個 [AnimationLibrary],若未找到則返回 " "[code]null[/code]。\n" "要取得 [AnimationMixer] 的全域動畫庫請使用 [code]get_animation_library(\"\")" "[/code]。" #: doc/classes/AnimationMixer.xml msgid "Returns the list of stored library keys." msgstr "返回已儲存動畫庫的鍵列表。" #: doc/classes/AnimationMixer.xml msgid "Returns the list of stored animation keys." msgstr "返回已儲存動畫的鍵列表。" #: doc/classes/AnimationMixer.xml msgid "" "Retrieve the motion delta of position with the [member root_motion_track] as " "a [Vector3] that can be used elsewhere.\n" "If [member root_motion_track] is not a path to a track of type [constant " "Animation.TYPE_POSITION_3D], returns [code]Vector3(0, 0, 0)[/code].\n" "See also [member root_motion_track] and [RootMotionView].\n" "The most basic example is applying position to [CharacterBody3D]:\n" "[codeblocks]\n" "[gdscript]\n" "var current_rotation\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tcurrent_rotation = get_quaternion()\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar velocity = current_rotation * " "animation_tree.get_root_motion_position() / delta\n" "\tset_velocity(velocity)\n" "\tmove_and_slide()\n" "[/gdscript]\n" "[/codeblocks]\n" "By using this in combination with [method " "get_root_motion_rotation_accumulator], you can apply the root motion " "position more correctly to account for the rotation of the node.\n" "[codeblocks]\n" "[gdscript]\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tset_quaternion(get_quaternion() * " "animation_tree.get_root_motion_rotation())\n" "\tvar velocity = " "(animation_tree.get_root_motion_rotation_accumulator().inverse() * " "get_quaternion()) * animation_tree.get_root_motion_position() / delta\n" "\tset_velocity(velocity)\n" "\tmove_and_slide()\n" "[/gdscript]\n" "[/codeblocks]\n" "If [member root_motion_local] is [code]true[/code], returns the pre-" "multiplied translation value with the inverted rotation.\n" "In this case, the code can be written as follows:\n" "[codeblocks]\n" "[gdscript]\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tset_quaternion(get_quaternion() * " "animation_tree.get_root_motion_rotation())\n" "\tvar velocity = get_quaternion() * " "animation_tree.get_root_motion_position() / delta\n" "\tset_velocity(velocity)\n" "\tmove_and_slide()\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "取得 [member root_motion_track] 位置的運動增量,返回可於其他位置使用之 " "[Vector3]。\n" "若 [member root_motion_track] 不是 [constant Animation.TYPE_POSITION_3D] 類型" "之軌道路徑,則返回 [code]Vector3(0, 0, 0)[/code]。\n" "另見 [member root_motion_track] 與 [RootMotionView]。\n" "最基本範例:將位置套用至 [CharacterBody3D]:\n" "[codeblocks]\n" "[gdscript]\n" "var current_rotation\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tcurrent_rotation = get_quaternion()\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar velocity = current_rotation * " "animation_tree.get_root_motion_position() / delta\n" "\tset_velocity(velocity)\n" "\tmove_and_slide()\n" "[/gdscript]\n" "[/codeblocks]\n" "搭配 [method get_root_motion_rotation_accumulator] 可更正確地套用根運動位置並" "考慮節點旋轉:\n" "[codeblocks]\n" "[gdscript]\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tset_quaternion(get_quaternion() * " "animation_tree.get_root_motion_rotation())\n" "\tvar velocity = " "(animation_tree.get_root_motion_rotation_accumulator().inverse() * " "get_quaternion()) * animation_tree.get_root_motion_position() / delta\n" "\tset_velocity(velocity)\n" "\tmove_and_slide()\n" "[/gdscript]\n" "[/codeblocks]\n" "若 [member root_motion_local] 為 [code]true[/code],則返回已乘上反向旋轉的本" "地平移值。\n" "此時可寫成:\n" "[codeblocks]\n" "[gdscript]\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tset_quaternion(get_quaternion() * " "animation_tree.get_root_motion_rotation())\n" "\tvar velocity = get_quaternion() * " "animation_tree.get_root_motion_position() / delta\n" "\tset_velocity(velocity)\n" "\tmove_and_slide()\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/AnimationMixer.xml msgid "" "Retrieve the blended value of the position tracks with the [member " "root_motion_track] as a [Vector3] that can be used elsewhere.\n" "This is useful in cases where you want to respect the initial key values of " "the animation.\n" "For example, if an animation with only one key [code]Vector3(0, 0, 0)[/code] " "is played in the previous frame and then an animation with only one key " "[code]Vector3(1, 0, 1)[/code] is played in the next frame, the difference " "can be calculated as follows:\n" "[codeblocks]\n" "[gdscript]\n" "var prev_root_motion_position_accumulator\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar current_root_motion_position_accumulator = " "animation_tree.get_root_motion_position_accumulator()\n" "\tvar difference = current_root_motion_position_accumulator - " "prev_root_motion_position_accumulator\n" "\tprev_root_motion_position_accumulator = " "current_root_motion_position_accumulator\n" "\ttransform.origin += difference\n" "[/gdscript]\n" "[/codeblocks]\n" "However, if the animation loops, an unintended discrete change may occur, so " "this is only useful for some simple use cases." msgstr "" "取得 [member root_motion_track] 位置軌道的混合值,返回可於其他位置使用之 " "[Vector3]。\n" "當需要保留動畫初始鍵值時相當有用。\n" "例如,若前一幀播放僅含 [code]Vector3(0, 0, 0)[/code] 的動畫,而下一幀播放僅" "含 [code]Vector3(1, 0, 1)[/code] 的動畫,可如下計算兩者差異:\n" "[codeblocks]\n" "[gdscript]\n" "var prev_root_motion_position_accumulator\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar current_root_motion_position_accumulator = " "animation_tree.get_root_motion_position_accumulator()\n" "\tvar difference = current_root_motion_position_accumulator - " "prev_root_motion_position_accumulator\n" "\tprev_root_motion_position_accumulator = " "current_root_motion_position_accumulator\n" "\ttransform.origin += difference\n" "[/gdscript]\n" "[/codeblocks]\n" "惟若動畫循環播放,可能出現非預期的不連續跳動,因此僅適用於部分簡易情境。" #: doc/classes/AnimationMixer.xml msgid "" "Retrieve the motion delta of rotation with the [member root_motion_track] as " "a [Quaternion] that can be used elsewhere.\n" "If [member root_motion_track] is not a path to a track of type [constant " "Animation.TYPE_ROTATION_3D], returns [code]Quaternion(0, 0, 0, 1)[/code].\n" "See also [member root_motion_track] and [RootMotionView].\n" "The most basic example is applying rotation to [CharacterBody3D]:\n" "[codeblocks]\n" "[gdscript]\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tset_quaternion(get_quaternion() * " "animation_tree.get_root_motion_rotation())\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "取得 [member root_motion_track] 旋轉的運動增量,返回可於其他位置使用之 " "[Quaternion]。\n" "若 [member root_motion_track] 不是 [constant Animation.TYPE_ROTATION_3D] 類型" "之軌道路徑,則返回 [code]Quaternion(0, 0, 0, 1)[/code]。\n" "另見 [member root_motion_track] 與 [RootMotionView]。\n" "最基本範例:將旋轉套用至 [CharacterBody3D]:\n" "[codeblocks]\n" "[gdscript]\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tset_quaternion(get_quaternion() * " "animation_tree.get_root_motion_rotation())\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/AnimationMixer.xml msgid "" "Retrieve the blended value of the rotation tracks with the [member " "root_motion_track] as a [Quaternion] that can be used elsewhere.\n" "This is necessary to apply the root motion position correctly, taking " "rotation into account. See also [method get_root_motion_position].\n" "Also, this is useful in cases where you want to respect the initial key " "values of the animation.\n" "For example, if an animation with only one key [code]Quaternion(0, 0, 0, 1)[/" "code] is played in the previous frame and then an animation with only one " "key [code]Quaternion(0, 0.707, 0, 0.707)[/code] is played in the next frame, " "the difference can be calculated as follows:\n" "[codeblocks]\n" "[gdscript]\n" "var prev_root_motion_rotation_accumulator\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar current_root_motion_rotation_accumulator = " "animation_tree.get_root_motion_rotation_accumulator()\n" "\tvar difference = prev_root_motion_rotation_accumulator.inverse() * " "current_root_motion_rotation_accumulator\n" "\tprev_root_motion_rotation_accumulator = " "current_root_motion_rotation_accumulator\n" "\ttransform.basis *= Basis(difference)\n" "[/gdscript]\n" "[/codeblocks]\n" "However, if the animation loops, an unintended discrete change may occur, so " "this is only useful for some simple use cases." msgstr "" "取得 [member root_motion_track] 旋轉軌道的混合值,返回可於其他位置使用之 " "[Quaternion]。\n" "正確套用根運動位置時需考慮旋轉;詳見 [method get_root_motion_position]。\n" "此方法亦可用於需要保留動畫初始鍵值的情況。\n" "例如,若前一幀播放僅含 [code]Quaternion(0, 0, 0, 1)[/code] 的動畫,而下一幀播" "放僅含 [code]Quaternion(0, 0.707, 0, 0.707)[/code] 的動畫,可如下計算差異:\n" "[codeblocks]\n" "[gdscript]\n" "var prev_root_motion_rotation_accumulator\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar current_root_motion_rotation_accumulator = " "animation_tree.get_root_motion_rotation_accumulator()\n" "\tvar difference = prev_root_motion_rotation_accumulator.inverse() * " "current_root_motion_rotation_accumulator\n" "\tprev_root_motion_rotation_accumulator = " "current_root_motion_rotation_accumulator\n" "\ttransform.basis *= Basis(difference)\n" "[/gdscript]\n" "[/codeblocks]\n" "惟若動畫循環播放,可能出現非預期的不連續跳動,因此僅適用於部分簡易情境。" #: doc/classes/AnimationMixer.xml msgid "" "Retrieve the motion delta of scale with the [member root_motion_track] as a " "[Vector3] that can be used elsewhere.\n" "If [member root_motion_track] is not a path to a track of type [constant " "Animation.TYPE_SCALE_3D], returns [code]Vector3(0, 0, 0)[/code].\n" "See also [member root_motion_track] and [RootMotionView].\n" "The most basic example is applying scale to [CharacterBody3D]:\n" "[codeblocks]\n" "[gdscript]\n" "var current_scale = Vector3(1, 1, 1)\n" "var scale_accum = Vector3(1, 1, 1)\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tcurrent_scale = get_scale()\n" "\t\tscale_accum = Vector3(1, 1, 1)\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tscale_accum += animation_tree.get_root_motion_scale()\n" "\tset_scale(current_scale * scale_accum)\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "取得 [member root_motion_track] 縮放的運動增量,返回可於其他位置使用之 " "[Vector3]。\n" "若 [member root_motion_track] 不是 [constant Animation.TYPE_SCALE_3D] 類型之" "軌道路徑,則返回 [code]Vector3(0, 0, 0)[/code]。\n" "另見 [member root_motion_track] 與 [RootMotionView]。\n" "最基本範例:將縮放套用至 [CharacterBody3D]:\n" "[codeblocks]\n" "[gdscript]\n" "var current_scale = Vector3(1, 1, 1)\n" "var scale_accum = Vector3(1, 1, 1)\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tcurrent_scale = get_scale()\n" "\t\tscale_accum = Vector3(1, 1, 1)\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tscale_accum += animation_tree.get_root_motion_scale()\n" "\tset_scale(current_scale * scale_accum)\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/AnimationMixer.xml msgid "" "Retrieve the blended value of the scale tracks with the [member " "root_motion_track] as a [Vector3] that can be used elsewhere.\n" "For example, if an animation with only one key [code]Vector3(1, 1, 1)[/code] " "is played in the previous frame and then an animation with only one key " "[code]Vector3(2, 2, 2)[/code] is played in the next frame, the difference " "can be calculated as follows:\n" "[codeblocks]\n" "[gdscript]\n" "var prev_root_motion_scale_accumulator\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar current_root_motion_scale_accumulator = " "animation_tree.get_root_motion_scale_accumulator()\n" "\tvar difference = current_root_motion_scale_accumulator - " "prev_root_motion_scale_accumulator\n" "\tprev_root_motion_scale_accumulator = " "current_root_motion_scale_accumulator\n" "\ttransform.basis = transform.basis.scaled(difference)\n" "[/gdscript]\n" "[/codeblocks]\n" "However, if the animation loops, an unintended discrete change may occur, so " "this is only useful for some simple use cases." msgstr "" "取得 [member root_motion_track] 縮放軌道的混合值,返回可於其他位置使用之 " "[Vector3]。\n" "例如,若前一幀播放僅含 [code]Vector3(1, 1, 1)[/code] 的動畫,而下一幀播放僅" "含 [code]Vector3(2, 2, 2)[/code] 的動畫,可如下計算差異:\n" "[codeblocks]\n" "[gdscript]\n" "var prev_root_motion_scale_accumulator\n" "\n" "func _process(delta):\n" "\tif Input.is_action_just_pressed(\"animate\"):\n" "\t\tstate_machine.travel(\"Animate\")\n" "\tvar current_root_motion_scale_accumulator = " "animation_tree.get_root_motion_scale_accumulator()\n" "\tvar difference = current_root_motion_scale_accumulator - " "prev_root_motion_scale_accumulator\n" "\tprev_root_motion_scale_accumulator = " "current_root_motion_scale_accumulator\n" "\ttransform.basis = transform.basis.scaled(difference)\n" "[/gdscript]\n" "[/codeblocks]\n" "惟若動畫循環播放,可能出現非預期的不連續跳動,因此僅適用於部分簡易情境。" #: doc/classes/AnimationMixer.xml msgid "" "Returns [code]true[/code] if the [AnimationMixer] stores an [Animation] with " "key [param name]." msgstr "" "若 [AnimationMixer] 已儲存鍵為 [param name] 的 [Animation],則返回 " "[code]true[/code]。" #: doc/classes/AnimationMixer.xml msgid "" "Returns [code]true[/code] if the [AnimationMixer] stores an " "[AnimationLibrary] with key [param name]." msgstr "" "若 [AnimationMixer] 已儲存鍵為 [param name] 的 [AnimationLibrary],則返回 " "[code]true[/code]。" #: doc/classes/AnimationMixer.xml msgid "Removes the [AnimationLibrary] associated with the key [param name]." msgstr "移除與鍵 [param name] 關聯的 [AnimationLibrary]。" #: doc/classes/AnimationMixer.xml msgid "" "Moves the [AnimationLibrary] associated with the key [param name] to the key " "[param newname]." msgstr "將鍵為 [param name] 的 [AnimationLibrary] 移動至鍵 [param newname]。" #: doc/classes/AnimationMixer.xml msgid "If [code]true[/code], the [AnimationMixer] will be processing." msgstr "若為 [code]true[/code],則 [AnimationMixer] 會進行處理。" #: doc/classes/AnimationMixer.xml msgid "" "The number of possible simultaneous sounds for each of the assigned " "AudioStreamPlayers.\n" "For example, if this value is [code]32[/code] and the animation has two " "audio tracks, the two [AudioStreamPlayer]s assigned can play simultaneously " "up to [code]32[/code] voices each." msgstr "" "每個指派的 AudioStreamPlayer 可同時播放的聲音數量。\n" "例如,若此值為 [code]32[/code] 且動畫有兩條音訊軌,則兩個 " "[AudioStreamPlayer] 各自最多可同時播放 [code]32[/code] 個聲音。" #: doc/classes/AnimationMixer.xml msgid "" "Ordinarily, tracks can be set to [constant Animation.UPDATE_DISCRETE] to " "update infrequently, usually when using nearest interpolation.\n" "However, when blending with [constant Animation.UPDATE_CONTINUOUS] several " "results are considered. The [member callback_mode_discrete] specify it " "explicitly. See also [enum AnimationCallbackModeDiscrete].\n" "To make the blended results look good, it is recommended to set this to " "[constant ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS] to update every " "frame during blending. Other values exist for compatibility and they are " "fine if there is no blending, but not so, may produce artifacts." msgstr "" "一般來說,軌道可設為 [constant Animation.UPDATE_DISCRETE],以降低更新頻率,通" "常用於最近鄰插值。\n" "但若與 [constant Animation.UPDATE_CONTINUOUS] 混合,則會考慮多種結果。" "[member callback_mode_discrete] 可明確指定,詳見 [enum " "AnimationCallbackModeDiscrete]。\n" "為了讓混合結果更自然,建議設為 [constant " "ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS],於混合時每幀都更新。其他" "設定主要為相容性,若無混合則可用,但否則可能產生異常畫面。" #: doc/classes/AnimationMixer.xml msgid "The call mode used for \"Call Method\" tracks." msgstr "「呼叫方法」軌道所使用的呼叫模式。" #: doc/classes/AnimationMixer.xml msgid "The process notification in which to update animations." msgstr "更新動畫時所用的處理通知。" #: doc/classes/AnimationMixer.xml msgid "" "If [code]true[/code], the blending uses the deterministic algorithm. The " "total weight is not normalized and the result is accumulated with an initial " "value ([code]0[/code] or a [code]\"RESET\"[/code] animation if present).\n" "This means that if the total amount of blending is [code]0.0[/code], the " "result is equal to the [code]\"RESET\"[/code] animation.\n" "If the number of tracks between the blended animations is different, the " "animation with the missing track is treated as if it had the initial value.\n" "If [code]false[/code], The blend does not use the deterministic algorithm. " "The total weight is normalized and always [code]1.0[/code]. If the number of " "tracks between the blended animations is different, nothing is done about " "the animation that is missing a track.\n" "[b]Note:[/b] In [AnimationTree], the blending with [AnimationNodeAdd2], " "[AnimationNodeAdd3], [AnimationNodeSub2] or the weight greater than " "[code]1.0[/code] may produce unexpected results.\n" "For example, if [AnimationNodeAdd2] blends two nodes with the amount " "[code]1.0[/code], then total weight is [code]2.0[/code] but it will be " "normalized to make the total amount [code]1.0[/code] and the result will be " "equal to [AnimationNodeBlend2] with the amount [code]0.5[/code]." msgstr "" "若為 [code]true[/code],混合時會使用確定性演算法。總權重不會正規化,結果以初" "始值([code]0[/code] 或存在時的 [code]\"RESET\"[/code] 動畫)累加。\n" "這代表混合總量為 [code]0.0[/code],結果即為 [code]\"RESET\"[/code] 動畫。\n" "若混合動畫間軌道數不同,缺少軌道的動畫視為有初始值。\n" "若為 [code]false[/code],混合不採用確定性演算法。總權重會正規化為 [code]1.0[/" "code]。若動畫間軌道數不同,將不處理缺軌動畫。\n" "[b]注意:[/b]於 [AnimationTree] 內,若 [AnimationNodeAdd2]、" "[AnimationNodeAdd3]、[AnimationNodeSub2] 或權重大於 [code]1.0[/code],可能產" "生非預期結果。\n" "例如 [AnimationNodeAdd2] 混合兩個權重為 [code]1.0[/code] 的節點,總權重為 " "[code]2.0[/code],但會被正規化為 [code]1.0[/code],結果等同 " "[AnimationNodeBlend2] 權重為 [code]0.5[/code]。" #: doc/classes/AnimationMixer.xml msgid "" "This is used by the editor. If set to [code]true[/code], the scene will be " "saved with the effects of the reset animation (the animation with the key " "[code]\"RESET\"[/code]) applied as if it had been seeked to time 0, with the " "editor keeping the values that the scene had before saving.\n" "This makes it more convenient to preview and edit animations in the editor, " "as changes to the scene will not be saved as long as they are set in the " "reset animation." msgstr "" "此功能由編輯器使用。若設為 [code]true[/code],場景將以重設動畫(鍵為 [code]" "\"RESET\"[/code] 的動畫)在時間 0 的狀態儲存,編輯器也會保留儲存前的場景" "值。\n" "這讓在編輯器中預覽與編輯動畫更方便,只要變更寫在重設動畫中,就不會被存入場" "景。" #: doc/classes/AnimationMixer.xml msgid "" "If [code]true[/code], [method get_root_motion_position] value is extracted " "as a local translation value before blending. In other words, it is treated " "like the translation is done after the rotation." msgstr "" "若為 [code]true[/code],則 [method get_root_motion_position] 的值於混合前會先" "作為本地平移值提取。換言之,平移視為於旋轉之後進行。" #: doc/classes/AnimationMixer.xml msgid "" "The path to the Animation track used for root motion. Paths must be valid " "scene-tree paths to a node, and must be specified starting from the parent " "node of the node that will reproduce the animation. The [member " "root_motion_track] uses the same format as [method " "Animation.track_set_path], but note that a bone must be specified.\n" "If the track has type [constant Animation.TYPE_POSITION_3D], [constant " "Animation.TYPE_ROTATION_3D], or [constant Animation.TYPE_SCALE_3D] the " "transformation will be canceled visually, and the animation will appear to " "stay in place. See also [method get_root_motion_position], [method " "get_root_motion_rotation], [method get_root_motion_scale], and " "[RootMotionView]." msgstr "" "用於根運動的動畫軌道路徑。路徑必須是有效的場景樹節點路徑,且需自即將播放動畫" "之節點的父節點開始指定。[member root_motion_track] 格式與 [method " "Animation.track_set_path] 相同,但必須指定骨骼。\n" "若軌道型別為 [constant Animation.TYPE_POSITION_3D]、[constant " "Animation.TYPE_ROTATION_3D] 或 [constant Animation.TYPE_SCALE_3D],則變換效果" "會被視覺上抵銷,動畫看似停留原地。詳見 [method get_root_motion_position]、" "[method get_root_motion_rotation]、[method get_root_motion_scale] 與 " "[RootMotionView]。" #: doc/classes/AnimationMixer.xml msgid "The node which node path references will travel from." msgstr "節點路徑的參照會由此節點作為起點。" #: doc/classes/AnimationMixer.xml msgid "" "Notifies when an animation finished playing.\n" "[b]Note:[/b] This signal is not emitted if an animation is looping." msgstr "" "動畫播放結束時會發出通知。\n" "[b]注意:[/b] 若動畫設定為循環播放,則不會發出此訊號。" #: doc/classes/AnimationMixer.xml msgid "Notifies when the animation libraries have changed." msgstr "動畫庫變更時通知。" #: doc/classes/AnimationMixer.xml msgid "Notifies when an animation list is changed." msgstr "動畫列表變更時通知。" #: doc/classes/AnimationMixer.xml #, fuzzy msgid "" "Notifies when an animation starts playing.\n" "[b]Note:[/b] This signal is not emitted if an animation is looping." msgstr "" "動畫播放結束時會發出通知。\n" "[b]注意:[/b] 若動畫設定為循環播放,則不會發出此訊號。" #: doc/classes/AnimationMixer.xml msgid "" "Notifies when the caches have been cleared, either automatically, or " "manually via [method clear_caches]." msgstr "快取被清除(無論自動或經由 [method clear_caches] 手動)時通知。" #: doc/classes/AnimationMixer.xml msgid "" "Notifies when the blending result related have been applied to the target " "objects." msgstr "混合結果已套用至目標物件時通知。" #: doc/classes/AnimationMixer.xml msgid "Notifies when the property related process have been updated." msgstr "屬性相關程序已更新時通知。" #: doc/classes/AnimationMixer.xml msgid "" "Process animation during physics frames (see [constant " "Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS]). This is especially useful when " "animating physics bodies." msgstr "" "於物理影格處理動畫(見 [constant " "Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS])。特別適合為剛體等物理物件製作動" "畫。" #: doc/classes/AnimationMixer.xml msgid "" "Process animation during process frames (see [constant " "Node.NOTIFICATION_INTERNAL_PROCESS])." msgstr "" "於一般處理影格時處理動畫(見 [constant " "Node.NOTIFICATION_INTERNAL_PROCESS])。" #: doc/classes/AnimationMixer.xml msgid "" "Do not process animation. Use [method advance] to process the animation " "manually." msgstr "不自動處理動畫。請使用 [method advance] 手動進行。" #: doc/classes/AnimationMixer.xml msgid "" "Batch method calls during the animation process, then do the calls after " "events are processed. This avoids bugs involving deleting nodes or modifying " "the AnimationPlayer while playing." msgstr "" "動畫播放期間將方法呼叫批次化,待事件處理完成後一次執行,以避免播放時刪除節點" "或修改 AnimationPlayer 所造成的錯誤。" #: doc/classes/AnimationMixer.xml msgid "Make method calls immediately when reached in the animation." msgstr "動畫播放到該位置時立即呼叫方法。" #: doc/classes/AnimationMixer.xml msgid "" "An [constant Animation.UPDATE_DISCRETE] track value takes precedence when " "blending [constant Animation.UPDATE_CONTINUOUS] or [constant " "Animation.UPDATE_CAPTURE] track values and [constant " "Animation.UPDATE_DISCRETE] track values." msgstr "" "當混合 [constant Animation.UPDATE_CONTINUOUS] 或 [constant " "Animation.UPDATE_CAPTURE] 與 [constant Animation.UPDATE_DISCRETE] 軌道值時," "[constant Animation.UPDATE_DISCRETE] 軌道值具有優先權。" #: doc/classes/AnimationMixer.xml msgid "" "An [constant Animation.UPDATE_CONTINUOUS] or [constant " "Animation.UPDATE_CAPTURE] track value takes precedence when blending the " "[constant Animation.UPDATE_CONTINUOUS] or [constant " "Animation.UPDATE_CAPTURE] track values and the [constant " "Animation.UPDATE_DISCRETE] track values. This is the default behavior for " "[AnimationPlayer]." msgstr "" "當混合 [constant Animation.UPDATE_CONTINUOUS] 或 [constant " "Animation.UPDATE_CAPTURE] 與 [constant Animation.UPDATE_DISCRETE] 時,前兩者" "具有優先權。這是 [AnimationPlayer] 的預設行為。" #: doc/classes/AnimationMixer.xml msgid "" "Always treat the [constant Animation.UPDATE_DISCRETE] track value as " "[constant Animation.UPDATE_CONTINUOUS] with [constant " "Animation.INTERPOLATION_NEAREST]. This is the default behavior for " "[AnimationTree].\n" "If a value track has un-interpolatable type key values, it is internally " "converted to use [constant ANIMATION_CALLBACK_MODE_DISCRETE_RECESSIVE] with " "[constant Animation.UPDATE_DISCRETE].\n" "Un-interpolatable type list:\n" "- [constant @GlobalScope.TYPE_NIL]\n" "- [constant @GlobalScope.TYPE_NODE_PATH]\n" "- [constant @GlobalScope.TYPE_RID]\n" "- [constant @GlobalScope.TYPE_OBJECT]\n" "- [constant @GlobalScope.TYPE_CALLABLE]\n" "- [constant @GlobalScope.TYPE_SIGNAL]\n" "- [constant @GlobalScope.TYPE_DICTIONARY]\n" "- [constant @GlobalScope.TYPE_PACKED_BYTE_ARRAY]\n" "[constant @GlobalScope.TYPE_BOOL] and [constant @GlobalScope.TYPE_INT] are " "treated as [constant @GlobalScope.TYPE_FLOAT] during blending and rounded " "when the result is retrieved.\n" "It is same for arrays and vectors with them such as [constant " "@GlobalScope.TYPE_PACKED_INT32_ARRAY] or [constant " "@GlobalScope.TYPE_VECTOR2I], they are treated as [constant " "@GlobalScope.TYPE_PACKED_FLOAT32_ARRAY] or [constant " "@GlobalScope.TYPE_VECTOR2]. Also note that for arrays, the size is also " "interpolated.\n" "[constant @GlobalScope.TYPE_STRING] and [constant " "@GlobalScope.TYPE_STRING_NAME] are interpolated between character codes and " "lengths, but note that there is a difference in algorithm between " "interpolation between keys and interpolation by blending." msgstr "" "總是將 [constant Animation.UPDATE_DISCRETE] 軌道值視為 [constant " "Animation.UPDATE_CONTINUOUS],並使用 [constant " "Animation.INTERPOLATION_NEAREST]。這是 [AnimationTree] 的預設行為。\n" "若值軌道包含不可插值的鍵值型別,內部會改用 [constant " "ANIMATION_CALLBACK_MODE_DISCRETE_RECESSIVE] 與 [constant " "Animation.UPDATE_DISCRETE]。\n" "不可插值型別清單:\n" "- [constant @GlobalScope.TYPE_NIL]\n" "- [constant @GlobalScope.TYPE_NODE_PATH]\n" "- [constant @GlobalScope.TYPE_RID]\n" "- [constant @GlobalScope.TYPE_OBJECT]\n" "- [constant @GlobalScope.TYPE_CALLABLE]\n" "- [constant @GlobalScope.TYPE_SIGNAL]\n" "- [constant @GlobalScope.TYPE_DICTIONARY]\n" "- [constant @GlobalScope.TYPE_PACKED_BYTE_ARRAY]\n" "[constant @GlobalScope.TYPE_BOOL] 與 [constant @GlobalScope.TYPE_INT] 在混合" "時會視為 [constant @GlobalScope.TYPE_FLOAT],取結果時再四捨五入。\n" "對於包含這些型別的陣列或向量,如 [constant " "@GlobalScope.TYPE_PACKED_INT32_ARRAY] 或 [constant " "@GlobalScope.TYPE_VECTOR2I],亦視為 [constant " "@GlobalScope.TYPE_PACKED_FLOAT32_ARRAY] 或 [constant " "@GlobalScope.TYPE_VECTOR2],且陣列長度也會插值。\n" "[constant @GlobalScope.TYPE_STRING] 與 [constant " "@GlobalScope.TYPE_STRING_NAME] 會依字元碼及長度做插值,惟鍵間插值與混合插值的" "演算法略有差異。" #: doc/classes/AnimationNode.xml msgid "Base class for [AnimationTree] nodes. Not related to scene nodes." msgstr "[AnimationTree] 節點的基底類別,與場景節點無關。" #: doc/classes/AnimationNode.xml msgid "" "Base resource for [AnimationTree] nodes. In general, it's not used directly, " "but you can create custom ones with custom blending formulas.\n" "Inherit this when creating animation nodes mainly for use in " "[AnimationNodeBlendTree], otherwise [AnimationRootNode] should be used " "instead.\n" "You can access the time information as read-only parameter which is " "processed and stored in the previous frame for all nodes except " "[AnimationNodeOutput].\n" "[b]Note:[/b] If multiple inputs exist in the [AnimationNode], which time " "information takes precedence depends on the type of [AnimationNode].\n" "[codeblock]\n" "var current_length = $AnimationTree[\"parameters/AnimationNodeName/" "current_length\"]\n" "var current_position = $AnimationTree[\"parameters/AnimationNodeName/" "current_position\"]\n" "var current_delta = $AnimationTree[\"parameters/AnimationNodeName/" "current_delta\"]\n" "[/codeblock]" msgstr "" "用於 [AnimationTree] 節點的基礎資源。通常不會直接使用,但你可以建立自訂節點並" "撰寫自己的混合公式。\n" "若要建立主要用於 [AnimationNodeBlendTree] 的動畫節點,請繼承本類;否則應使用 " "[AnimationRootNode]。\n" "你可以作為唯讀參數存取時間資訊,該資訊已於前一影格為所有節點(除 " "[AnimationNodeOutput] 外)處理並儲存。\n" "[b]注意:[/b] 當一個 [AnimationNode] 擁有多個輸入時,最終採用哪個輸入的時間資" "訊,取決於該動畫節點的類型。\n" "[codeblock]\n" "var current_length = $AnimationTree[\"parameters/AnimationNodeName/" "current_length\"]\n" "var current_position = $AnimationTree[\"parameters/AnimationNodeName/" "current_position\"]\n" "var current_delta = $AnimationTree[\"parameters/AnimationNodeName/" "current_delta\"]\n" "[/codeblock]" #: doc/classes/AnimationNode.xml doc/classes/AnimationNodeAdd2.xml #: doc/classes/AnimationNodeAdd3.xml doc/classes/AnimationNodeAnimation.xml #: doc/classes/AnimationNodeBlend2.xml doc/classes/AnimationNodeBlend3.xml #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml #: doc/classes/AnimationNodeBlendTree.xml doc/classes/AnimationNodeOneShot.xml #: doc/classes/AnimationNodeOutput.xml #: doc/classes/AnimationNodeStateMachine.xml #: doc/classes/AnimationNodeStateMachinePlayback.xml #: doc/classes/AnimationNodeStateMachineTransition.xml #: doc/classes/AnimationNodeSync.xml doc/classes/AnimationNodeTimeScale.xml #: doc/classes/AnimationNodeTimeSeek.xml #: doc/classes/AnimationNodeTransition.xml doc/classes/AnimationRootNode.xml #: doc/classes/AnimationTree.xml msgid "Using AnimationTree" msgstr "使用 AnimationTree" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "override the text caption for this animation node." msgstr "繼承 [AnimationRootNode] 時,實作此虛方法可覆寫動畫節點的顯示標題。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return a child animation node by its [param name]." msgstr "" "繼承 [AnimationRootNode] 時,實作此虛方法可依 [param name] 取得子動畫節點。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return all child animation nodes in order as a [code]name: node[/code] " "dictionary." msgstr "" "繼承 [AnimationRootNode] 時,實作此虛方法以 [code]名稱: 節點[/code] 字典順序" "回傳所有子動畫節點。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return the default value of a [param parameter]. Parameters are custom local " "memory used for your animation nodes, given a resource can be reused in " "multiple trees." msgstr "" "繼承 [AnimationRootNode] 時,實作此虛方法可回傳參數 [param parameter] 的預設" "值。參數是動畫節點的自訂本地記憶體,可於多棵樹重用。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return a list of the properties on this animation node. Parameters are " "custom local memory used for your animation nodes, given a resource can be " "reused in multiple trees. Format is similar to [method " "Object.get_property_list]." msgstr "" "繼承 [AnimationRootNode] 時,實作此虛方法可回傳本節點的屬性清單。參數為動畫節" "點的自訂本地記憶體,資源可於多棵樹重用。格式類似 [method " "Object.get_property_list]。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return whether the blend tree editor should display filter editing on this " "animation node." msgstr "" "繼承 [AnimationRootNode] 時,實作此虛方法以決定混合樹編輯器是否要在此節點顯示" "篩選器編輯。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "return whether the [param parameter] is read-only. Parameters are custom " "local memory used for your animation nodes, given a resource can be reused " "in multiple trees." msgstr "" "繼承 [AnimationRootNode] 時,實作此虛方法可判定參數 [param parameter] 是否唯" "讀。參數是動畫節點的自訂本地記憶體,可於多棵樹重用。" #: doc/classes/AnimationNode.xml msgid "" "Currently this is mostly useless as there is a lack of many APIs to extend " "AnimationNode by GDScript. It is planned that a more flexible API using " "structures will be provided in the future." msgstr "" "目前此功能用途有限,因為尚缺乏能以 GDScript 擴充 AnimationNode 的相關 API。未" "來計畫提供以結構體為基礎的更彈性 API。" #: doc/classes/AnimationNode.xml msgid "" "When inheriting from [AnimationRootNode], implement this virtual method to " "run some code when this animation node is processed. The [param time] " "parameter is a relative delta, unless [param seek] is [code]true[/code], in " "which case it is absolute.\n" "Here, call the [method blend_input], [method blend_node] or [method " "blend_animation] functions. You can also use [method get_parameter] and " "[method set_parameter] to modify local memory.\n" "This function should return the delta." msgstr "" "繼承 [AnimationRootNode] 時,實作此虛方法可在處理本動畫節點時執行自訂程式碼。" "[param time] 為相對增量,除非 [param seek] 為 [code]true[/code],則為絕對" "值。\n" "可在此呼叫 [method blend_input]、[method blend_node] 或 [method " "blend_animation]。亦可使用 [method get_parameter] 與 [method set_parameter] " "來讀寫本地記憶體。\n" "此函式應回傳處理後的 delta。" #: doc/classes/AnimationNode.xml msgid "" "Adds an input to the animation node. This is only useful for animation nodes " "created for use in an [AnimationNodeBlendTree]. If the addition fails, " "returns [code]false[/code]." msgstr "" "為動畫節點新增一個輸入。僅對用於 [AnimationNodeBlendTree] 的節點有用。若新增" "失敗則回傳 [code]false[/code]。" #: doc/classes/AnimationNode.xml msgid "" "Blends an animation by [param blend] amount (name must be valid in the " "linked [AnimationPlayer]). A [param time] and [param delta] may be passed, " "as well as whether [param seeked] happened.\n" "A [param looped_flag] is used by internal processing immediately after the " "loop." msgstr "" "依 [param blend] 值混合動畫(名稱必須存在於連結的 [AnimationPlayer] 中)。可" "傳入 [param time]、[param delta],以及是否發生 [param seeked]。\n" "[param looped_flag] 由內部流程於迴圈結束後立即使用。" #: doc/classes/AnimationNode.xml msgid "" "Blends an input. This is only useful for animation nodes created for an " "[AnimationNodeBlendTree]. The [param time] parameter is a relative delta, " "unless [param seek] is [code]true[/code], in which case it is absolute. A " "filter mode may be optionally passed." msgstr "" "混合一個輸入。僅對用於 [AnimationNodeBlendTree] 的節點有用。[param time] 為相" "對增量,除非 [param seek] 為 [code]true[/code],此時為絕對值。可選擇傳入篩選" "模式。" #: doc/classes/AnimationNode.xml msgid "" "Blend another animation node (in case this animation node contains child " "animation nodes). This function is only useful if you inherit from " "[AnimationRootNode] instead, otherwise editors will not display your " "animation node for addition." msgstr "" "混合另一個動畫節點(當此節點包含子動畫節點時)。僅在你繼承自 " "[AnimationRootNode] 時有意義,否則編輯器無法顯示它以供新增。" #: doc/classes/AnimationNode.xml msgid "" "Returns the input index which corresponds to [param name]. If not found, " "returns [code]-1[/code]." msgstr "" "回傳與名稱 [param name] 對應的輸入索引;若不存在則回傳 [code]-1[/code]。" #: doc/classes/AnimationNode.xml msgid "" "Amount of inputs in this animation node, only useful for animation nodes " "that go into [AnimationNodeBlendTree]." msgstr "此動畫節點的輸入數量,僅對用於 [AnimationNodeBlendTree] 的節點有用。" #: doc/classes/AnimationNode.xml msgid "Gets the name of an input by index." msgstr "依索引取得輸入名稱。" #: doc/classes/AnimationNode.xml msgid "" "Gets the value of a parameter. Parameters are custom local memory used for " "your animation nodes, given a resource can be reused in multiple trees." msgstr "取得參數值。參數是動畫節點的自訂本地記憶體,可於多棵樹重用。" #: doc/classes/AnimationNode.xml msgid "" "Returns the object id of the [AnimationTree] that owns this node.\n" "[b]Note:[/b] This method should only be called from within the [method " "AnimationNodeExtension._process_animation_node] method, and will return an " "invalid id otherwise." msgstr "" "回傳擁有此節點的 [AnimationTree] 之物件 ID。\n" "[b]注意:[/b] 僅應在 [method AnimationNodeExtension._process_animation_node] " "之內呼叫;否則將回傳無效 ID。" #: doc/classes/AnimationNode.xml msgid "Returns [code]true[/code] if the given path is filtered." msgstr "若指定路徑已被過濾則返回 [code]true[/code]。" #: doc/classes/AnimationNode.xml msgid "" "Returns [code]true[/code] if this animation node is being processed in test-" "only mode." msgstr "若此動畫節點正於僅測試模式下被處理,則返回 [code]true[/code]。" #: doc/classes/AnimationNode.xml msgid "Removes an input, call this only when inactive." msgstr "移除輸入;僅在節點非活動時呼叫。" #: doc/classes/AnimationNode.xml msgid "Adds or removes a path for the filter." msgstr "新增或移除篩選器路徑。" #: doc/classes/AnimationNode.xml msgid "" "Sets the name of the input at the given [param input] index. If the setting " "fails, returns [code]false[/code]." msgstr "" "設定索引 [param input] 處輸入的名稱;若設定失敗則回傳 [code]false[/code]。" #: doc/classes/AnimationNode.xml msgid "" "Sets a custom parameter. These are used as local memory, because resources " "can be reused across the tree or scenes." msgstr "設定自訂參數。此參數作為本地記憶體,資源可在多棵樹或多個場景共用。" #: doc/classes/AnimationNode.xml msgid "If [code]true[/code], filtering is enabled." msgstr "若為 [code]true[/code],啟用篩選功能。" #: doc/classes/AnimationNode.xml msgid "" "Emitted by nodes that inherit from this class and that have an internal tree " "when one of their animation nodes removes. The animation nodes that emit " "this signal are [AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], " "[AnimationNodeStateMachine], and [AnimationNodeBlendTree]." msgstr "" "繼承此類且具有內部樹的節點在其中一個動畫節點被移除時會發出此訊號。發出者包含 " "[AnimationNodeBlendSpace1D]、[AnimationNodeBlendSpace2D]、" "[AnimationNodeStateMachine] 與 [AnimationNodeBlendTree]。" #: doc/classes/AnimationNode.xml msgid "" "Emitted by nodes that inherit from this class and that have an internal tree " "when one of their animation node names changes. The animation nodes that " "emit this signal are [AnimationNodeBlendSpace1D], " "[AnimationNodeBlendSpace2D], [AnimationNodeStateMachine], and " "[AnimationNodeBlendTree]." msgstr "" "繼承此類且具有內部樹的節點在其動畫節點名稱變更時會發出此訊號。發出者包含 " "[AnimationNodeBlendSpace1D]、[AnimationNodeBlendSpace2D]、" "[AnimationNodeStateMachine] 與 [AnimationNodeBlendTree]。" #: doc/classes/AnimationNode.xml msgid "" "Emitted by nodes that inherit from this class and that have an internal tree " "when one of their animation nodes changes. The animation nodes that emit " "this signal are [AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], " "[AnimationNodeStateMachine], [AnimationNodeBlendTree] and " "[AnimationNodeTransition]." msgstr "" "繼承此類且具有內部樹的節點在其動畫節點內容變更時會發出此訊號。發出者包含 " "[AnimationNodeBlendSpace1D]、[AnimationNodeBlendSpace2D]、" "[AnimationNodeStateMachine]、[AnimationNodeBlendTree] 與 " "[AnimationNodeTransition]。" #: doc/classes/AnimationNode.xml msgid "Do not use filtering." msgstr "不使用篩選。" #: doc/classes/AnimationNode.xml msgid "Paths matching the filter will be allowed to pass." msgstr "符合篩選器的路徑將被允許通過。" #: doc/classes/AnimationNode.xml msgid "Paths matching the filter will be discarded." msgstr "符合篩選器的路徑將被捨棄。" #: doc/classes/AnimationNode.xml msgid "Paths matching the filter will be blended (by the blend value)." msgstr "符合篩選器的路徑將依混合值進行混合。" #: doc/classes/AnimationNodeAdd2.xml msgid "Blends two animations additively inside of an [AnimationNodeBlendTree]." msgstr "在 [AnimationNodeBlendTree] 中以加法方式混合兩段動畫。" #: doc/classes/AnimationNodeAdd2.xml msgid "" "A resource to add to an [AnimationNodeBlendTree]. Blends two animations " "additively based on the amount value.\n" "If the amount is greater than [code]1.0[/code], the animation connected to " "\"in\" port is blended with the amplified animation connected to \"add\" " "port.\n" "If the amount is less than [code]0.0[/code], the animation connected to " "\"in\" port is blended with the inverted animation connected to \"add\" port." msgstr "" "可加入 [AnimationNodeBlendTree] 的資源。依取值將兩段動畫以加法混合。\n" "若取值大於 [code]1.0[/code],會將「in」端動畫與經放大後連至「add」端的動畫混" "合。\n" "若取值小於 [code]0.0[/code],則與經反轉後連至「add」端的動畫混合。" #: doc/classes/AnimationNodeAdd3.xml msgid "" "Blends two of three animations additively inside of an " "[AnimationNodeBlendTree]." msgstr "在 [AnimationNodeBlendTree] 中以加法方式混合三段動畫中的兩段。" #: doc/classes/AnimationNodeAdd3.xml msgid "" "A resource to add to an [AnimationNodeBlendTree]. Blends two animations out " "of three additively out of three based on the amount value.\n" "This animation node has three inputs:\n" "- The base animation to add to\n" "- A \"-add\" animation to blend with when the blend amount is negative\n" "- A \"+add\" animation to blend with when the blend amount is positive\n" "If the absolute value of the amount is greater than [code]1.0[/code], the " "animation connected to \"in\" port is blended with the amplified animation " "connected to \"-add\"/\"+add\" port." msgstr "" "可加入 [AnimationNodeBlendTree] 的資源。依取值從三段動畫中挑選兩段進行加法混" "合。\n" "本節點有三個輸入:\n" "- 作為基底的動畫(in)\n" "- 當取值為負時混合的「-add」動畫\n" "- 當取值為正時混合的「+add」動畫\n" "若取值的絕對值大於 [code]1.0[/code],會將「in」端動畫與放大後的「-add」或" "「+add」端動畫混合。" #: doc/classes/AnimationNodeAnimation.xml msgid "An input animation for an [AnimationNodeBlendTree]." msgstr "[AnimationNodeBlendTree] 的輸入動畫節點。" #: doc/classes/AnimationNodeAnimation.xml msgid "" "A resource to add to an [AnimationNodeBlendTree]. Only has one output port " "using the [member animation] property. Used as an input for [AnimationNode]s " "that blend animations together." msgstr "" "可加入 [AnimationNodeBlendTree] 的資源。僅透過 [member animation] 作為單一輸" "出埠,供其他 [AnimationNode] 進行動畫混合之輸入使用。" #: doc/classes/AnimationNodeAnimation.xml doc/classes/AnimationNodeBlend2.xml #: doc/classes/AnimationNodeOutput.xml doc/classes/AnimationNodeTimeScale.xml #: doc/classes/AnimationNodeTransition.xml doc/classes/Area3D.xml #: doc/classes/Basis.xml doc/classes/BoxShape3D.xml #: doc/classes/CharacterBody3D.xml doc/classes/CollisionShape3D.xml #: modules/gridmap/doc_classes/GridMap.xml doc/classes/Mesh.xml #: doc/classes/MeshInstance3D.xml doc/classes/MeshLibrary.xml #: doc/classes/ProjectSettings.xml doc/classes/Transform3D.xml msgid "3D Platformer Demo" msgstr "3D 平台跳躍示範" #: doc/classes/AnimationNodeAnimation.xml msgid "" "If [code]true[/code], on receiving a request to play an animation from the " "start, the first frame is not drawn, but only processed, and playback starts " "from the next frame.\n" "See also the notes of [method AnimationPlayer.play]." msgstr "" "若為 [code]true[/code],當收到自開頭播放動畫的請求時,第一幀僅進行處理但不渲" "染,播放將自下一幀開始。\n" "另請參閱 [method AnimationPlayer.play] 的注意事項。" #: doc/classes/AnimationNodeAnimation.xml msgid "" "Animation to use as an output. It is one of the animations provided by " "[member AnimationTree.anim_player]." msgstr "" "要輸出的動畫,必須是 [member AnimationTree.anim_player] 所提供的動畫之一。" #: doc/classes/AnimationNodeAnimation.xml msgid "" "If [member use_custom_timeline] is [code]true[/code], override the loop " "settings of the original [Animation] resource with the value.\n" "[b]Note:[/b] If the [member Animation.loop_mode] isn't set to looping, the " "[method Animation.track_set_interpolation_loop_wrap] option will not be " "respected. If you cannot get the expected behavior, consider duplicating the " "[Animation] resource and changing the loop settings." msgstr "" "當 [member use_custom_timeline] 為 [code]true[/code] 時,會以此值覆寫原始 " "[Animation] 資源的迴圈設定。\n" "[b]注意:[/b] 若 [member Animation.loop_mode] 未設為循環,則 [method " "Animation.track_set_interpolation_loop_wrap] 不會生效。若行為不如預期,建議複" "製該 [Animation] 資源並調整其迴圈設定。" #: doc/classes/AnimationNodeAnimation.xml msgid "Determines the playback direction of the animation." msgstr "決定動畫的播放方向。" #: doc/classes/AnimationNodeAnimation.xml msgid "" "If [member use_custom_timeline] is [code]true[/code], offset the start " "position of the animation.\n" "This is useful for adjusting which foot steps first in 3D walking animations." msgstr "" "當 [member use_custom_timeline] 為 [code]true[/code] 時,可偏移動畫的起始位" "置。\n" "這對於在 3D 行走動畫中調整先踏出的腳十分有用。" #: doc/classes/AnimationNodeAnimation.xml msgid "" "If [code]true[/code], scales the time so that the length specified in " "[member timeline_length] is one cycle.\n" "This is useful for matching the periods of walking and running animations.\n" "If [code]false[/code], the original animation length is respected. If you " "set the loop to [member loop_mode], the animation will loop in [member " "timeline_length]." msgstr "" "若為 [code]true[/code],會縮放時間,使 [member timeline_length] 所設定的長度" "成為一個循環。\n" "這有助於對齊走路與跑步動畫的週期。\n" "若為 [code]false[/code],則使用原始動畫長度。若你啟用 [member loop_mode] 迴" "圈,動畫將於 [member timeline_length] 內循環。" #: doc/classes/AnimationNodeAnimation.xml msgid "" "If [member use_custom_timeline] is [code]true[/code], offset the start " "position of the animation." msgstr "" "當 [member use_custom_timeline] 為 [code]true[/code] 時,可偏移動畫的起始位" "置。" #: doc/classes/AnimationNodeAnimation.xml msgid "" "If [code]true[/code], [AnimationNode] provides an animation based on the " "[Animation] resource with some parameters adjusted." msgstr "" "若為 [code]true[/code],此 [AnimationNode] 會輸出以調整部分參數後的 " "[Animation] 資源。" #: doc/classes/AnimationNodeAnimation.xml msgid "Plays animation in forward direction." msgstr "正向播放動畫。" #: doc/classes/AnimationNodeAnimation.xml msgid "Plays animation in backward direction." msgstr "反向播放動畫。" #: doc/classes/AnimationNodeBlend2.xml msgid "Blends two animations linearly inside of an [AnimationNodeBlendTree]." msgstr "在 [AnimationNodeBlendTree] 中以線性方式混合兩段動畫。" #: doc/classes/AnimationNodeBlend2.xml msgid "" "A resource to add to an [AnimationNodeBlendTree]. Blends two animations " "linearly based on the amount value.\n" "In general, the blend value should be in the [code][0.0, 1.0][/code] range. " "Values outside of this range can blend amplified or inverted animations, " "however, [AnimationNodeAdd2] works better for this purpose." msgstr "" "可加入 [AnimationNodeBlendTree] 的資源。依取值線性混合兩段動畫。\n" "通常混合值應位於 [code][0.0, 1.0][/code] 區間。若超出此範圍會得到放大或反轉的" "混合效果,但此時使用 [AnimationNodeAdd2] 效果更佳。" #: doc/classes/AnimationNodeBlend3.xml msgid "" "Blends two of three animations linearly inside of an " "[AnimationNodeBlendTree]." msgstr "在 [AnimationNodeBlendTree] 中以線性方式混合三段動畫中的兩段。" #: doc/classes/AnimationNodeBlend3.xml msgid "" "A resource to add to an [AnimationNodeBlendTree]. Blends two animations out " "of three linearly out of three based on the amount value.\n" "This animation node has three inputs:\n" "- The base animation to blend with\n" "- A \"-blend\" animation to blend with when the blend amount is negative " "value\n" "- A \"+blend\" animation to blend with when the blend amount is positive " "value\n" "In general, the blend value should be in the [code][-1.0, 1.0][/code] range. " "Values outside of this range can blend amplified animations, however, " "[AnimationNodeAdd3] works better for this purpose." msgstr "" "可加入 [AnimationNodeBlendTree] 的資源。依取值在線性方式下從三段動畫中挑選兩" "段進行混合。\n" "本節點有三個輸入:\n" "- 基底動畫\n" "- 當取值為負時混合的「-blend」動畫\n" "- 當取值為正時混合的「+blend」動畫\n" "一般混合值應位於 [code][-1.0, 1.0][/code] 區間;若超出此範圍會得到放大效果," "但此時使用 [AnimationNodeAdd3] 更佳。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "A set of [AnimationRootNode]s placed on a virtual axis, crossfading between " "the two adjacent ones. Used by [AnimationTree]." msgstr "" "一組放置於虛擬軸上的 [AnimationRootNode],在相鄰的兩節點間進行交叉淡化。供 " "[AnimationTree] 使用。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "A resource used by [AnimationNodeBlendTree].\n" "[AnimationNodeBlendSpace1D] represents a virtual axis on which any type of " "[AnimationRootNode]s can be added using [method add_blend_point]. Outputs " "the linear blend of the two [AnimationRootNode]s adjacent to the current " "value.\n" "You can set the extents of the axis with [member min_space] and [member " "max_space]." msgstr "" "[AnimationNodeBlendTree] 使用的資源。\n" "[AnimationNodeBlendSpace1D] 代表一條虛擬軸,可透過 [method add_blend_point] " "新增任意 [AnimationRootNode]。其輸出為最接近目前值之兩節點的線性混合。\n" "可使用 [member min_space] 與 [member max_space] 設定軸向範圍。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "Adds a new point that represents a [param node] on the virtual axis at a " "given position set by [param pos]. You can insert it at a specific index " "using the [param at_index] argument. If you use the default value for [param " "at_index], the point is inserted at the end of the blend points array." msgstr "" "在虛擬軸上 [param pos] 位置新增代表 [param node] 的點。可透過 [param " "at_index] 指定插入索引;預設則插入至陣列末端。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "Returns the number of points on the blend axis." msgstr "回傳混合軸上的點數量。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "Returns the [AnimationNode] referenced by the point at index [param point]." msgstr "回傳索引 [param point] 之點所參照的 [AnimationNode]。" #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Returns the position of the point at index [param point]." msgstr "回傳索引 [param point] 之點的位置。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "Removes the point at index [param point] from the blend axis." msgstr "自混合軸移除索引 [param point] 之點。" #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Changes the [AnimationNode] referenced by the point at index [param point]." msgstr "更換索引 [param point] 之點所參照的 [AnimationNode]。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "Updates the position of the point at index [param point] on the blend axis." msgstr "更新混合軸上索引 [param point] 之點的位置。" #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Controls the interpolation between animations." msgstr "控制動畫之間的插值方式。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "The blend space's axis's upper limit for the points' position. See [method " "add_blend_point]." msgstr "混合空間軸向的點位置上限。參見 [method add_blend_point]。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "" "The blend space's axis's lower limit for the points' position. See [method " "add_blend_point]." msgstr "混合空間軸向的點位置下限。參見 [method add_blend_point]。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "Position increment to snap to when moving a point on the axis." msgstr "在軸上移動點時的捕捉間距。" #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml doc/classes/AnimationNodeSync.xml msgid "" "If [code]false[/code], the blended animations' frame are stopped when the " "blend value is [code]0[/code].\n" "If [code]true[/code], forcing the blended animations to advance frame." msgstr "" "若為 [code]false[/code],當混合值為 [code]0[/code] 時會停止混合動畫的影格。\n" "若為 [code]true[/code],仍會強制推進混合動畫影格。" #: doc/classes/AnimationNodeBlendSpace1D.xml msgid "Label of the virtual axis of the blend space." msgstr "混合空間虛擬軸的標籤。" #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "The interpolation between animations is linear." msgstr "動畫間插值為線性模式。" #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "The blend space plays the animation of the animation node which blending " "position is closest to. Useful for frame-by-frame 2D animations." msgstr "混合空間播放與目前位置最近的動畫節點,可用於逐幀 2D 動畫。" #: doc/classes/AnimationNodeBlendSpace1D.xml #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Similar to [constant BLEND_MODE_DISCRETE], but starts the new animation at " "the last animation's playback position." msgstr "" "類似 [constant BLEND_MODE_DISCRETE],但新動畫會自上一段動畫的播放位置開始。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "A set of [AnimationRootNode]s placed on 2D coordinates, crossfading between " "the three adjacent ones. Used by [AnimationTree]." msgstr "" "一組置於 2D 座標的 [AnimationRootNode],在三個相鄰節點間交叉淡化。供 " "[AnimationTree] 使用。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "A resource used by [AnimationNodeBlendTree].\n" "[AnimationNodeBlendSpace2D] represents a virtual 2D space on which " "[AnimationRootNode]s are placed. Outputs the linear blend of the three " "adjacent animations using a [Vector2] weight. Adjacent in this context means " "the three [AnimationRootNode]s making up the triangle that contains the " "current value.\n" "You can add vertices to the blend space with [method add_blend_point] and " "automatically triangulate it by setting [member auto_triangles] to " "[code]true[/code]. Otherwise, use [method add_triangle] and [method " "remove_triangle] to triangulate the blend space by hand." msgstr "" "[AnimationNodeBlendTree] 使用的資源。\n" "[AnimationNodeBlendSpace2D] 代表一個虛擬 2D 空間,可在其上放置 " "[AnimationRootNode]。輸出為包含目前值之三角形頂點(相鄰三節點)依 [Vector2] " "權重計算的線性混合。\n" "可透過 [method add_blend_point] 新增頂點,並將 [member auto_triangles] 設為 " "[code]true[/code] 以自動三角化;否則可手動使用 [method add_triangle] 與 " "[method remove_triangle] 進行三角化。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Adds a new point that represents a [param node] at the position set by " "[param pos]. You can insert it at a specific index using the [param " "at_index] argument. If you use the default value for [param at_index], the " "point is inserted at the end of the blend points array." msgstr "" "在 [param pos] 位置新增代表 [param node] 的點。可透過 [param at_index] 指定插" "入索引;預設將插入至陣列末端。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Creates a new triangle using three points [param x], [param y], and [param " "z]. Triangles can overlap. You can insert the triangle at a specific index " "using the [param at_index] argument. If you use the default value for [param " "at_index], the point is inserted at the end of the blend points array." msgstr "" "以點 [param x]、[param y]、[param z] 建立新三角形。三角形可重疊。可透過 " "[param at_index] 指定插入索引;預設插入於陣列末端。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Returns the number of points in the blend space." msgstr "回傳混合空間中的點數量。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Returns the [AnimationRootNode] referenced by the point at index [param " "point]." msgstr "回傳索引 [param point] 之點所參照的 [AnimationRootNode]。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Returns the number of triangles in the blend space." msgstr "回傳混合空間中的三角形數量。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Returns the position of the point at index [param point] in the triangle of " "index [param triangle]." msgstr "回傳索引 [param triangle] 三角形中,索引 [param point] 頂點的位置。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Removes the point at index [param point] from the blend space." msgstr "自混合空間移除索引 [param point] 之點。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Removes the triangle at index [param triangle] from the blend space." msgstr "自混合空間移除索引 [param triangle] 之三角形。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Updates the position of the point at index [param point] in the blend space." msgstr "更新混合空間中索引 [param point] 點的位置。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "If [code]true[/code], the blend space is triangulated automatically. The " "mesh updates every time you add or remove points with [method " "add_blend_point] and [method remove_blend_point]." msgstr "" "若為 [code]true[/code],混合空間會自動三角化;每次透過 [method " "add_blend_point] 或 [method remove_blend_point] 變更點時都會更新網格。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "The blend space's X and Y axes' upper limit for the points' position. See " "[method add_blend_point]." msgstr "混合空間 X、Y 軸向點位置的上限。參見 [method add_blend_point]。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "The blend space's X and Y axes' lower limit for the points' position. See " "[method add_blend_point]." msgstr "混合空間 X、Y 軸向點位置的下限。參見 [method add_blend_point]。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Position increment to snap to when moving a point." msgstr "移動點時的捕捉間距。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Name of the blend space's X axis." msgstr "混合空間 X 軸名稱。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "Name of the blend space's Y axis." msgstr "混合空間 Y 軸名稱。" #: doc/classes/AnimationNodeBlendSpace2D.xml msgid "" "Emitted every time the blend space's triangles are created, removed, or when " "one of their vertices changes position." msgstr "當混合空間的三角形被建立、移除,或其頂點位置變動時發出。" #: doc/classes/AnimationNodeBlendTree.xml msgid "" "A sub-tree of many type [AnimationNode]s used for complex animations. Used " "by [AnimationTree]." msgstr "" "由多種 [AnimationNode] 形成的子樹,可用於複雜動畫。由 [AnimationTree] 使用。" #: doc/classes/AnimationNodeBlendTree.xml msgid "" "This animation node may contain a sub-tree of any other type animation " "nodes, such as [AnimationNodeTransition], [AnimationNodeBlend2], " "[AnimationNodeBlend3], [AnimationNodeOneShot], etc. This is one of the most " "commonly used animation node roots.\n" "An [AnimationNodeOutput] node named [code]output[/code] is created by " "default." msgstr "" "這個動畫節點可以包含任何其他類型的動畫節點子樹,例如 " "[AnimationNodeTransition]、[AnimationNodeBlend2]、[AnimationNodeBlend3]、" "[AnimationNodeOneShot] 等。這是最常用的動畫節點根之一。\n" "預設會建立一個名為 [code]output[/code] 的 [AnimationNodeOutput] 節點。" #: doc/classes/AnimationNodeBlendTree.xml msgid "" "Adds an [AnimationNode] at the given [param position]. The [param name] is " "used to identify the created sub animation node later." msgstr "" "在給定的 [param position] 新增一個 [AnimationNode]。[param name] 用於後續識別" "該子動畫節點。" #: doc/classes/AnimationNodeBlendTree.xml msgid "" "Connects the output of an [AnimationNode] as input for another " "[AnimationNode], at the input port specified by [param input_index]." msgstr "" "將一個 [AnimationNode] 的輸出連接到另一個 [AnimationNode],並接到 [param " "input_index] 指定的輸入埠。" #: doc/classes/AnimationNodeBlendTree.xml msgid "Disconnects the animation node connected to the specified input." msgstr "斷開連到指定輸入端的動畫節點。" #: doc/classes/AnimationNodeBlendTree.xml msgid "Returns the sub animation node with the specified [param name]." msgstr "返回名稱為 [param name] 的子動畫節點。" #: doc/classes/AnimationNodeBlendTree.xml msgid "" "Returns a list containing the names of all sub animation nodes in this blend " "tree." msgstr "返回一個列表,內含此混合樹中所有子動畫節點的名稱。" #: doc/classes/AnimationNodeBlendTree.xml msgid "" "Returns the position of the sub animation node with the specified [param " "name]." msgstr "返回名稱為 [param name] 的子動畫節點的位置。" #: doc/classes/AnimationNodeBlendTree.xml msgid "" "Returns [code]true[/code] if a sub animation node with specified [param " "name] exists." msgstr "如果存在名稱為 [param name] 的子動畫節點,則返回 [code]true[/code]。" #: doc/classes/AnimationNodeBlendTree.xml msgid "Removes a sub animation node." msgstr "移除子動畫節點。" #: doc/classes/AnimationNodeBlendTree.xml msgid "Changes the name of a sub animation node." msgstr "更改子動畫節點的名稱。" #: doc/classes/AnimationNodeBlendTree.xml msgid "Modifies the position of a sub animation node." msgstr "修改子動畫節點的位置。" #: doc/classes/AnimationNodeBlendTree.xml msgid "The global offset of all sub animation nodes." msgstr "所有子動畫節點的全域偏移量。" #: doc/classes/AnimationNodeBlendTree.xml msgid "Emitted when the input port information is changed." msgstr "當輸入埠資訊變更時觸發。" #: doc/classes/AnimationNodeBlendTree.xml msgid "The connection was successful." msgstr "連線成功。" #: doc/classes/AnimationNodeBlendTree.xml msgid "The input node is [code]null[/code]." msgstr "輸入節點為 [code]null[/code]。" #: doc/classes/AnimationNodeBlendTree.xml msgid "The specified input port is out of range." msgstr "指定的輸入埠超出範圍。" #: doc/classes/AnimationNodeBlendTree.xml msgid "The output node is [code]null[/code]." msgstr "輸出節點為 [code]null[/code]。" #: doc/classes/AnimationNodeBlendTree.xml msgid "Input and output nodes are the same." msgstr "輸入與輸出節點相同。" #: doc/classes/AnimationNodeBlendTree.xml msgid "The specified connection already exists." msgstr "指定的連線已存在。" #: doc/classes/AnimationNodeExtension.xml msgid "" "Base class for extending [AnimationRootNode]s from GDScript, C#, or C++." msgstr "用於從 GDScript、C# 或 C++ 擴充 [AnimationRootNode] 的基底類別。" #: doc/classes/AnimationNodeExtension.xml msgid "" "[AnimationNodeExtension] exposes the APIs of [AnimationRootNode] to allow " "users to extend it from GDScript, C#, or C++. This class is not meant to be " "used directly, but to be extended by other classes. It is used to create " "custom nodes for the [AnimationTree] system." msgstr "" "[AnimationNodeExtension] 讓 [AnimationRootNode] 的 API 可供 GDScript、C# 或 " "C++ 擴充使用。此類別並非直接使用,而是提供給其他類別繼承,以便為 " "[AnimationTree] 系統建立自訂節點。" #: doc/classes/AnimationNodeExtension.xml msgid "" "A version of the [method AnimationNode._process] method that is meant to be " "overridden by custom nodes. It returns a [PackedFloat32Array] with the " "processed animation data.\n" "The [PackedFloat64Array] parameter contains the playback information, " "containing the following values encoded as floating point numbers (in " "order): playback time and delta, start and end times, whether a seek was " "requested (encoded as a float greater than [code]0[/code]), whether the seek " "request was externally requested (encoded as a float greater than [code]0[/" "code]), the current [enum Animation.LoopedFlag] (encoded as a float), and " "the current blend weight.\n" "The function must return a [PackedFloat32Array] of the node's time info, " "containing the following values (in order): animation length, time position, " "delta, [enum Animation.LoopMode] (encoded as a float), whether the animation " "is about to end (encoded as a float greater than [code]0[/code]) and whether " "the animation is infinite (encoded as a float greater than [code]0[/code]). " "All values must be included in the returned array." msgstr "" "這是供自訂節點覆寫的 [method AnimationNode._process] 版本,會回傳已處理動畫資" "料的 [PackedFloat32Array]。\n" "[PackedFloat64Array] 參數包含播放資訊,依序以浮點數表示以下數值:播放時間與增" "量、開始與結束時間、是否請求跳轉(大於 [code]0[/code] 的浮點數表示已請求)、" "跳轉是否來自外部(同樣以大於 [code]0[/code] 表示)、目前的 [enum " "Animation.LoopedFlag] 以及目前的混合權重。\n" "函式必須回傳節點時間資訊的 [PackedFloat32Array],順序為:動畫長度、當前時間位" "置、增量、[enum Animation.LoopMode]、動畫是否即將結束(大於 [code]0[/code] 表" "示是)以及動畫是否為無限(大於 [code]0[/code] 表示是)。回傳陣列必須包含所有" "這些數值。" #: doc/classes/AnimationNodeExtension.xml msgid "" "Returns the animation's remaining time for the given node info. For looping " "animations, it will only return the remaining time if [param break_loop] is " "[code]true[/code], a large integer value will be returned otherwise." msgstr "" "回傳指定節點資訊的動畫剩餘時間。若動畫循環播放,只有當 [param break_loop] 為 " "[code]true[/code] 時才會回傳剩餘時間,否則會回傳一個很大的整數值。" #: doc/classes/AnimationNodeExtension.xml msgid "" "Returns [code]true[/code] if the animation for the given [param node_info] " "is looping." msgstr "如果給定的 [param node_info] 動畫正在循環,則返回 [code]true[/code]。" #: doc/classes/AnimationNodeOneShot.xml msgid "Plays an animation once in an [AnimationNodeBlendTree]." msgstr "在 [AnimationNodeBlendTree] 中播放一次動畫。" #: doc/classes/AnimationNodeOneShot.xml msgid "" "A resource to add to an [AnimationNodeBlendTree]. This animation node will " "execute a sub-animation and return once it finishes. Blend times for fading " "in and out can be customized, as well as filters.\n" "After setting the request and changing the animation playback, the one-shot " "node automatically clears the request on the next process frame by setting " "its [code]request[/code] value to [constant ONE_SHOT_REQUEST_NONE].\n" "[codeblocks]\n" "[gdscript]\n" "# Play child animation connected to \"shot\" port.\n" "animation_tree.set(\"parameters/OneShot/request\", " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/OneShot/request\"] = " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE\n" "\n" "# Abort child animation connected to \"shot\" port.\n" "animation_tree.set(\"parameters/OneShot/request\", " "AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT)\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/OneShot/request\"] = " "AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT\n" "\n" "# Abort child animation with fading out connected to \"shot\" port.\n" "animation_tree.set(\"parameters/OneShot/request\", " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT)\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/OneShot/request\"] = " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT\n" "\n" "# Get current state (read-only).\n" "animation_tree.get(\"parameters/OneShot/active\")\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/OneShot/active\"]\n" "\n" "# Get current internal state (read-only).\n" "animation_tree.get(\"parameters/OneShot/internal_active\")\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/OneShot/internal_active\"]\n" "[/gdscript]\n" "[csharp]\n" "// Play child animation connected to \"shot\" port.\n" "animationTree.Set(\"parameters/OneShot/request\", " "(int)AnimationNodeOneShot.OneShotRequest.Fire);\n" "\n" "// Abort child animation connected to \"shot\" port.\n" "animationTree.Set(\"parameters/OneShot/request\", " "(int)AnimationNodeOneShot.OneShotRequest.Abort);\n" "\n" "// Abort child animation with fading out connected to \"shot\" port.\n" "animationTree.Set(\"parameters/OneShot/request\", " "(int)AnimationNodeOneShot.OneShotRequest.FadeOut);\n" "\n" "// Get current state (read-only).\n" "animationTree.Get(\"parameters/OneShot/active\");\n" "\n" "// Get current internal state (read-only).\n" "animationTree.Get(\"parameters/OneShot/internal_active\");\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "新增到 [AnimationNodeBlendTree] 的資源。這個動畫節點將執行子動畫並在完成後返" "回。可以自訂淡入和淡出的混合時間以及篩檢程式。\n" "在設定請求並更改動畫播放後,一次性節點會在下一個處理影格中通過將其 " "[code]request[/code] 值設定為 [constant ONE_SHOT_REQUEST_NONE] 來自動清除請" "求。\n" "[codeblocks]\n" "[gdscript]\n" "# 播放連接到 “shot” 埠的子動畫。\n" "animation_tree.set(\"parameters/OneShot/request\", " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)\n" "# 替代語法(與上述結果相同)。\n" "animation_tree[\"parameters/OneShot/request\"] = " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE\n" "\n" "# 中止連接到 “shot” 埠的子動畫。\n" "animation_tree.set(\"parameters/OneShot/request\", " "AnimationNodeOneShot.ONE_SHOT_REQUEST_ABORT)\n" "# 替代語法(與上述結果相同)。\n" "animation_tree[\"parameters/OneShot/request\"] = " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT\n" "\n" "# 使用淡出的方法中止連接到 “shot”埠的子動畫。\n" "animation_tree.set(\"parameters/OneShot/request\", " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT)\n" "# 替代語法(與上述結果相同)。\n" "animation_tree[\"parameters/OneShot/request\"] = " "AnimationNodeOneShot.ONE_SHOT_REQUEST_FADE_OUT\n" "\n" "# 獲取目前狀態(唯讀)。\n" "animation_tree.get(\"parameters/OneShot/active\"))\n" "# 替代語法(與上述結果相同)。\n" "animation_tree[\"parameters/OneShot/active\"]\n" "\n" "# 獲取目前內部狀態(唯讀)。\n" "animation_tree.get(\"parameters/OneShot/internal_active\")\n" "# 替代語法(與上述結果相同)。\n" "animation_tree[\"parameters/OneShot/internal_active\"]\n" "[/gdscript]\n" "[csharp]\n" "// 播放連接到 “shot” 埠的子動畫。\n" "animationTree.Set(\"parameters/OneShot/request\", " "(int)AnimationNodeOneShot.OneShotRequest.Fire);\n" "\n" "// 中止連接到 “shot” 埠的子動畫。\n" "animationTree.Set(\"parameters/OneShot/request\", " "(int)AnimationNodeOneShot.OneShotRequest.Abort);\n" "\n" "// 使用淡出的方法中止連接到 “shot”埠的子動畫。\n" "animationTree.Set(\"parameters/OneShot/request\", " "(int)AnimationNodeOneShot.OneShotRequest.FadeOut);\n" "\n" "// 獲取目前狀態(唯讀)。\n" "animationTree.Get(\"parameters/OneShot/active\");\n" "\n" "// 獲取目前內部狀態(唯讀)。\n" "animationTree.Get(\"parameters/OneShot/internal_active\");\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AnimationNodeOneShot.xml #, fuzzy msgid "" "If [code]true[/code], the sub-animation will abort if resumed with a reset " "after a prior interruption." msgstr "若為 [code]true[/code],過渡至目標動畫時會重新開始播放。" #: doc/classes/AnimationNodeOneShot.xml msgid "" "If [code]true[/code], the sub-animation will restart automatically after " "finishing.\n" "In other words, to start auto restarting, the animation must be played once " "with the [constant ONE_SHOT_REQUEST_FIRE] request. The [constant " "ONE_SHOT_REQUEST_ABORT] request stops the auto restarting, but it does not " "disable the [member autorestart] itself. So, the [constant " "ONE_SHOT_REQUEST_FIRE] request will start auto restarting again." msgstr "" "如果為 [code]true[/code],子動畫結束後會自動重新開始。\n" "換句話說,要開始自動重啟,必須使用 [constant ONE_SHOT_REQUEST_FIRE] 請求播放" "一次動畫。[constant ONE_SHOT_REQUEST_ABORT] 請求停止自動重啟,但它不會禁用 " "[member autorestart] 本身。因此,[constant ONE_SHOT_REQUEST_FIRE] 請求將再次" "開始自動重啟。" #: doc/classes/AnimationNodeOneShot.xml msgid "The delay after which the automatic restart is triggered, in seconds." msgstr "觸發自動重啟的延遲時間,以秒為單位。" #: doc/classes/AnimationNodeOneShot.xml msgid "" "If [member autorestart] is [code]true[/code], a random additional delay (in " "seconds) between 0 and this value will be added to [member " "autorestart_delay]." msgstr "" "如果 [member autorestart] 為 [code]true[/code],則介於0和此值之間的隨機附加延" "遲(以秒為單位)將新增到 [member autorestart_delay]。" #: doc/classes/AnimationNodeOneShot.xml #: doc/classes/AnimationNodeStateMachineTransition.xml #: doc/classes/AnimationNodeTransition.xml msgid "" "If [code]true[/code], breaks the loop at the end of the loop cycle for " "transition, even if the animation is looping." msgstr "" "如果為 [code]true[/code],即使動畫設定為循環,也會在本迴圈結束時中斷迴圈以進" "行轉場。" #: doc/classes/AnimationNodeOneShot.xml doc/classes/AnimationNodeTransition.xml msgid "" "Determines how cross-fading between animations is eased. If empty, the " "transition will be linear. Should be a unit [Curve]." msgstr "決定動畫交叉淡入淡出的緩動方式。若留空則為線性過渡。應為單位 [Curve]。" #: doc/classes/AnimationNodeOneShot.xml msgid "" "The fade-in duration. For example, setting this to [code]1.0[/code] for a 5 " "second length animation will produce a cross-fade that starts at 0 second " "and ends at 1 second during the animation.\n" "[b]Note:[/b] [AnimationNodeOneShot] transitions the current state after the " "fading has finished." msgstr "" "淡入持續時間。例如,對長度 5 秒的動畫將此值設為 [code]1.0[/code],會產生從 0 " "秒開始至 1 秒結束的交叉淡入。\n" "[b]注意:[/b] [AnimationNodeOneShot] 會在淡入結束後才切換目前狀態。" #: doc/classes/AnimationNodeOneShot.xml msgid "" "The fade-out duration. For example, setting this to [code]1.0[/code] for a 5 " "second length animation will produce a cross-fade that starts at 4 second " "and ends at 5 second during the animation.\n" "[b]Note:[/b] [AnimationNodeOneShot] transitions the current state after the " "fading has finished." msgstr "" "淡出持續時間。例如,對長度 5 秒的動畫將此值設為 [code]1.0[/code],會產生從 4 " "秒開始至 5 秒結束的交叉淡出。\n" "[b]注意:[/b] [AnimationNodeOneShot] 會在淡出結束後才切換目前狀態。" #: doc/classes/AnimationNodeOneShot.xml msgid "The blend type." msgstr "混合型別。" #: doc/classes/AnimationNodeOneShot.xml msgid "The default state of the request. Nothing is done." msgstr "請求的預設狀態,不執行任何操作。" #: doc/classes/AnimationNodeOneShot.xml msgid "The request to play the animation connected to \"shot\" port." msgstr "播放連接到「shot」埠之動畫的請求。" #: doc/classes/AnimationNodeOneShot.xml msgid "The request to stop the animation connected to \"shot\" port." msgstr "停止連接到「shot」埠之動畫的請求。" #: doc/classes/AnimationNodeOneShot.xml msgid "The request to fade out the animation connected to \"shot\" port." msgstr "淡出連接到「shot」埠之動畫的請求。" #: doc/classes/AnimationNodeOneShot.xml msgid "Blends two animations. See also [AnimationNodeBlend2]." msgstr "混合兩個動畫。另請參見 [AnimationNodeBlend2]。" #: doc/classes/AnimationNodeOneShot.xml msgid "Blends two animations additively. See also [AnimationNodeAdd2]." msgstr "以加成方式混合兩個動畫。另請參見 [AnimationNodeAdd2]。" #: doc/classes/AnimationNodeOutput.xml msgid "The animation output node of an [AnimationNodeBlendTree]." msgstr "[AnimationNodeBlendTree] 的動畫輸出節點。" #: doc/classes/AnimationNodeOutput.xml msgid "" "A node created automatically in an [AnimationNodeBlendTree] that outputs the " "final animation." msgstr "在 [AnimationNodeBlendTree] 中自動建立,用以輸出最終動畫的節點。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "A state machine with multiple [AnimationRootNode]s, used by [AnimationTree]." msgstr "含多個 [AnimationRootNode] 的狀態機,供 [AnimationTree] 使用。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Contains multiple [AnimationRootNode]s representing animation states, " "connected in a graph. State transitions can be configured to happen " "automatically or via code, using a shortest-path algorithm. Retrieve the " "[AnimationNodeStateMachinePlayback] object from the [AnimationTree] node to " "control it programmatically.\n" "[codeblocks]\n" "[gdscript]\n" "var state_machine = $AnimationTree.get(\"parameters/playback\")\n" "state_machine.travel(\"some_state\")\n" "[/gdscript]\n" "[csharp]\n" "var stateMachine = " "GetNode(\"AnimationTree\").Get(\"parameters/playback\") as " "AnimationNodeStateMachinePlayback;\n" "stateMachine.Travel(\"some_state\");\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "包含多個代表動畫狀態的 [AnimationRootNode],並以圖形方式互相連接。可使用最短" "路徑演算法,將狀態轉換設定為自動或透過程式碼觸發。若要以程式方式控制,請從 " "[AnimationTree] 取得 [AnimationNodeStateMachinePlayback] 物件。\n" "[codeblocks]\n" "[gdscript]\n" "var state_machine = $AnimationTree.get(\"parameters/playback\")\n" "state_machine.travel(\"some_state\")\n" "[/gdscript]\n" "[csharp]\n" "var stateMachine = " "GetNode(\"AnimationTree\").Get(\"parameters/playback\") as " "AnimationNodeStateMachinePlayback;\n" "stateMachine.Travel(\"some_state\");\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Adds a new animation node to the graph. The [param position] is used for " "display in the editor." msgstr "向圖形中新增新的動畫節點。[param position] 僅用於編輯器中的顯示位置。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Adds a transition between the given animation nodes." msgstr "在指定的動畫節點之間新增轉場。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the draw offset of the graph. Used for display in the editor." msgstr "返回圖形的繪製偏移量,僅供編輯器顯示使用。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the animation node with the given name." msgstr "返回指定名稱的動畫節點。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Returns a list containing the names of all animation nodes in this state " "machine." msgstr "返回一個列表,內含此狀態機中的所有動畫節點名稱。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the given animation node's name." msgstr "返回指定動畫節點的名稱。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Returns the given animation node's coordinates. Used for display in the " "editor." msgstr "返回指定動畫節點的座標,僅供編輯器顯示使用。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the given transition." msgstr "返回指定的轉場。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the number of connections in the graph." msgstr "返回圖形中的連線數量。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the given transition's start node." msgstr "返回指定轉場的起始節點。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Returns the given transition's end node." msgstr "返回指定轉場的結束節點。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Returns [code]true[/code] if the graph contains the given animation node." msgstr "若圖形中包含指定的動畫節點,則返回 [code]true[/code]。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Returns [code]true[/code] if there is a transition between the given " "animation nodes." msgstr "若指定的兩個動畫節點之間存在轉場,則返回 [code]true[/code]。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Deletes the given animation node from the graph." msgstr "從圖形中刪除指定的動畫節點。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Deletes the transition between the two specified animation nodes." msgstr "刪除兩個指定動畫節點之間的轉場。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Deletes the given transition by index." msgstr "依索引刪除指定的轉場。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Renames the given animation node." msgstr "重新命名指定的動畫節點。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Replaces the given animation node with a new animation node." msgstr "以新的動畫節點取代指定的動畫節點。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Sets the draw offset of the graph. Used for display in the editor." msgstr "設定圖形的繪製偏移量,僅供編輯器顯示使用。" #: doc/classes/AnimationNodeStateMachine.xml msgid "Sets the animation node's coordinates. Used for display in the editor." msgstr "設定動畫節點的座標,僅供編輯器顯示使用。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "If [code]true[/code], allows teleport to the self state with [method " "AnimationNodeStateMachinePlayback.travel]. When the reset option is enabled " "in [method AnimationNodeStateMachinePlayback.travel], the animation is " "restarted. If [code]false[/code], nothing happens on the teleportation to " "the self state." msgstr "" "若為 [code]true[/code],則可使用 [method " "AnimationNodeStateMachinePlayback.travel] 傳送回目前狀態;若在該方法中啟用重" "設選項,動畫將重新播放。若為 [code]false[/code],傳送到自身狀態時不會發生任何" "事。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "If [code]true[/code], treat the cross-fade to the start and end nodes as a " "blend with the RESET animation.\n" "In most cases, when additional cross-fades are performed in the parent " "[AnimationNode] of the state machine, setting this property to [code]false[/" "code] and matching the cross-fade time of the parent [AnimationNode] and the " "state machine's start node and end node gives good results." msgstr "" "若為 [code]true[/code],則將與起始與結束節點的交叉淡入淡出視為與 RESET 動畫的" "混合。\n" "多數情況下,若在狀態機的父 [AnimationNode] 進行額外淡入淡出,建議將此屬性設" "為 [code]false[/code],並使父節點與狀態機的起始/結束節點之淡入淡出時間一致," "以取得較佳效果。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "This property can define the process of transitions for different use cases. " "See also [enum AnimationNodeStateMachine.StateMachineType]." msgstr "" "此屬性可根據不同情境定義轉場流程。另見 [enum " "AnimationNodeStateMachine.StateMachineType]。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Seeking to the beginning is treated as playing from the start state. " "Transition to the end state is treated as exiting the state machine." msgstr "將尋道至開頭視為從起始狀態播放;轉場至結束狀態則視為離開狀態機。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "Seeking to the beginning is treated as seeking to the beginning of the " "animation in the current state. Transition to the end state, or the absence " "of transitions in each state, is treated as exiting the state machine." msgstr "" "將尋道至開頭視為在目前狀態中尋道至動畫開頭;若轉場至結束狀態或各狀態皆無轉" "場,則視為離開狀態機。" #: doc/classes/AnimationNodeStateMachine.xml msgid "" "This is a grouped state machine that can be controlled from a parent state " "machine. It does not work independently. There must be a state machine with " "[member state_machine_type] of [constant STATE_MACHINE_TYPE_ROOT] or " "[constant STATE_MACHINE_TYPE_NESTED] in the parent or ancestor." msgstr "" "這是可由父狀態機控制的分組狀態機,本身不會獨立運作。父層或更高層必須存在 " "[member state_machine_type] 為 [constant STATE_MACHINE_TYPE_ROOT] 或 " "[constant STATE_MACHINE_TYPE_NESTED] 的狀態機。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "Provides playback control for an [AnimationNodeStateMachine]." msgstr "提供對 [AnimationNodeStateMachine] 的播放控制。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Allows control of [AnimationTree] state machines created with " "[AnimationNodeStateMachine]. Retrieve with [code]" "$AnimationTree.get(\"parameters/playback\")[/code].\n" "[codeblocks]\n" "[gdscript]\n" "var state_machine = $AnimationTree.get(\"parameters/playback\")\n" "state_machine.travel(\"some_state\")\n" "[/gdscript]\n" "[csharp]\n" "var stateMachine = " "GetNode(\"AnimationTree\").Get(\"parameters/" "playback\").As();\n" "stateMachine.Travel(\"some_state\");\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "可用於控制以 [AnimationNodeStateMachine] 建立的 [AnimationTree] 狀態機。使用 " "[code]$AnimationTree.get(\"parameters/playback\")[/code] 取得。\n" "[codeblocks]\n" "[gdscript]\n" "var state_machine = $AnimationTree.get(\"parameters/playback\")\n" "state_machine.travel(\"some_state\")\n" "[/gdscript]\n" "[csharp]\n" "var stateMachine = " "GetNode(\"AnimationTree\").Get(\"parameters/" "playback\").As();\n" "stateMachine.Travel(\"some_state\");\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Returns the current state length.\n" "[b]Note:[/b] It is possible that any [AnimationRootNode] can be nodes as " "well as animations. This means that there can be multiple animations within " "a single state. Which animation length has priority depends on the nodes " "connected inside it. Also, if a transition does not reset, the remaining " "length at that point will be returned." msgstr "" "返回目前狀態的長度。\n" "[b]注意:[/b] 任何 [AnimationRootNode] 既可能是節點也可能是動畫,亦即單一狀態" "內可能含有多段動畫。何者長度優先取決於其內部連線的節點;若轉場未重設,則會返" "回當下剩餘長度。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Returns the currently playing animation state.\n" "[b]Note:[/b] When using a cross-fade, the current state changes to the next " "state immediately after the cross-fade begins." msgstr "" "返回目前播放的動畫狀態。\n" "[b]注意:[/b] 采用交叉淡入淡出時,淡入開始後目前狀態即會切換為下一狀態。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "Returns the playback position within the current animation state." msgstr "返回目前動畫狀態中的播放位置。" #: doc/classes/AnimationNodeStateMachinePlayback.xml #, fuzzy msgid "" "Returns the playback state length of the node from [method " "get_fading_from_node]. Returns [code]0[/code] if no animation fade is " "occurring." msgstr "返回目前焦點專案的索引。如果沒有焦點,則返回 [code]-1[/code]。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "Returns the starting state of currently fading animation." msgstr "返回目前正淡入淡出的動畫之起始狀態。" #: doc/classes/AnimationNodeStateMachinePlayback.xml #, fuzzy msgid "" "Returns the playback position of the node from [method " "get_fading_from_node]. Returns [code]0[/code] if no animation fade is " "occurring." msgstr "返回目前焦點專案的索引。如果沒有焦點,則返回 [code]-1[/code]。" #: doc/classes/AnimationNodeStateMachinePlayback.xml #, fuzzy msgid "" "Returns the length of the current fade animation. Returns [code]0[/code] if " "no animation fade is occurring." msgstr "返回目前焦點專案的索引。如果沒有焦點,則返回 [code]-1[/code]。" #: doc/classes/AnimationNodeStateMachinePlayback.xml #, fuzzy msgid "" "Returns the playback position of the current fade animation. Returns " "[code]0[/code] if no animation fade is occurring." msgstr "返回目前焦點專案的索引。如果沒有焦點,則返回 [code]-1[/code]。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Returns the current travel path as computed internally by the A* algorithm." msgstr "返回內部 A* 演算法計算出的目前行進路徑。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "Returns [code]true[/code] if an animation is playing." msgstr "若有動畫正在播放則返回 [code]true[/code]。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "If there is a next path by travel or auto advance, immediately transitions " "from the current state to the next state." msgstr "若因 travel 或自動前進存在下一條路徑,立即自目前狀態轉場至下一狀態。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Starts playing the given animation.\n" "If [param reset] is [code]true[/code], the animation is played from the " "beginning." msgstr "" "開始播放指定動畫。\n" "若 [param reset] 為 [code]true[/code],則從動畫開頭開始播放。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "Stops the currently playing animation." msgstr "停止目前播放的動畫。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Transitions from the current state to another one, following the shortest " "path.\n" "If the path does not connect from the current state, the animation will play " "after the state teleports.\n" "If [param reset_on_teleport] is [code]true[/code], the animation is played " "from the beginning when the travel cause a teleportation." msgstr "" "依最短路徑從目前狀態轉場至另一狀態。\n" "若目前狀態與該路徑不連通,將在傳送後播放動畫。\n" "若 [param reset_on_teleport] 為 [code]true[/code],行進導致傳送時會從動畫開頭" "開始播放。" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Emitted when the [param state] finishes playback. If [param state] is a " "state machine set to grouped mode, its signals are passed through with its " "name prefixed.\n" "If there is a crossfade, this will be fired when the influence of the " "[method get_fading_from_node] animation is no longer present." msgstr "" #: doc/classes/AnimationNodeStateMachinePlayback.xml msgid "" "Emitted when the [param state] starts playback. If [param state] is a state " "machine set to grouped mode, its signals are passed through with its name " "prefixed." msgstr "" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "A transition within an [AnimationNodeStateMachine] connecting two " "[AnimationRootNode]s." msgstr "[AnimationNodeStateMachine] 內連接兩個 [AnimationRootNode] 的轉場。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "The path generated when using [method " "AnimationNodeStateMachinePlayback.travel] is limited to the nodes connected " "by [AnimationNodeStateMachineTransition].\n" "You can set the timing and conditions of the transition in detail." msgstr "" "使用 [method AnimationNodeStateMachinePlayback.travel] 時所產生的路徑僅限於" "由 [AnimationNodeStateMachineTransition] 連接的節點。\n" "可對轉場的時機與條件進行細部設定。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Turn on auto advance when this condition is set. The provided name will " "become a boolean parameter on the [AnimationTree] that can be controlled " "from code (see [url=$DOCS_URL/tutorials/animation/" "animation_tree.html#controlling-from-code]Using AnimationTree[/url]). For " "example, if [member AnimationTree.tree_root] is an " "[AnimationNodeStateMachine] and [member advance_condition] is set to [code]" "\"idle\"[/code]:\n" "[codeblocks]\n" "[gdscript]\n" "$animation_tree.set(\"parameters/conditions/idle\", is_on_floor and " "(linear_velocity.x == 0))\n" "[/gdscript]\n" "[csharp]\n" "GetNode(\"animation_tree\").Set(\"parameters/conditions/" "idle\", IsOnFloor && (LinearVelocity.X == 0));\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "設定此條件後即可開啟自動前進。指定名稱將成為 [AnimationTree] 上的布林參數,可" "透過程式碼控制(參見 [url=$DOCS_URL/tutorials/animation/" "animation_tree.html#controlling-from-code]使用 AnimationTree[/url])。例如," "若 [member AnimationTree.tree_root] 為 [AnimationNodeStateMachine],且 " "[member advance_condition] 設為 [code]\"idle\"[/code]:\n" "[codeblocks]\n" "[gdscript]\n" "$animation_tree.set(\"parameters/conditions/idle\", is_on_floor and " "(linear_velocity.x == 0))\n" "[/gdscript]\n" "[csharp]\n" "GetNode(\"animation_tree\").Set(\"parameters/conditions/" "idle\", IsOnFloor && (LinearVelocity.X == 0));\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Use an expression as a condition for state machine transitions. It is " "possible to create complex animation advance conditions for switching " "between states and gives much greater flexibility for creating complex state " "machines by directly interfacing with the script code." msgstr "" "可使用運算式作為狀態機轉場條件,讓狀態切換的條件更為複雜,也能透過腳本程式碼" "介面創建更具彈性的複雜狀態機。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Determines whether the transition should be disabled, enabled when using " "[method AnimationNodeStateMachinePlayback.travel], or traversed " "automatically if the [member advance_condition] and [member " "advance_expression] checks are [code]true[/code] (if assigned)." msgstr "" "決定本轉場的啟用方式:可停用、在呼叫 [method " "AnimationNodeStateMachinePlayback.travel] 時啟用,或當 [member " "advance_condition] 與 [member advance_expression](若已設定)皆為 " "[code]true[/code] 時自動觸發。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Lower priority transitions are preferred when travelling through the tree " "via [method AnimationNodeStateMachinePlayback.travel] or [member " "advance_mode] is set to [constant ADVANCE_MODE_AUTO]." msgstr "" "使用 [method AnimationNodeStateMachinePlayback.travel] 或將 [member " "advance_mode] 設為 [constant ADVANCE_MODE_AUTO] 行進時,優先選擇較低優先順序" "的轉場。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "If [code]true[/code], the destination animation is played back from the " "beginning when switched." msgstr "若為 [code]true[/code],切換時目標動畫會從開頭開始播放。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "The transition type." msgstr "轉場類型。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Ease curve for better control over cross-fade between this state and the " "next. Should be a unit [Curve]." msgstr "" "緩動曲線,可更細緻控制本狀態與下一狀態之間的交叉淡入淡出。應為單位 [Curve]。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "The time to cross-fade between this state and the next.\n" "[b]Note:[/b] [AnimationNodeStateMachine] transitions the current state " "immediately after the start of the fading. The precise remaining time can " "only be inferred from the main animation. When [AnimationNodeOutput] is " "considered as the most upstream, so the [member xfade_time] is not scaled " "depending on the downstream delta. See also [member " "AnimationNodeOneShot.fadeout_time]." msgstr "" "此狀態與下一狀態之間的交叉淡入淡出時間。\n" "[b]注意:[/b] [AnimationNodeStateMachine] 會在淡入開始後立即將目前狀態切換至" "下一個狀態。剩餘的精確時間只能從主要動畫推算。當 [AnimationNodeOutput] 被視為" "最上游時,[member xfade_time] 不會因下游 delta 而縮放。另請參閱 [member " "AnimationNodeOneShot.fadeout_time]。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "Emitted when [member advance_condition] is changed." msgstr "當 [member advance_condition] 變更時觸發。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Switch to the next state immediately. The current state will end and blend " "into the beginning of the new one." msgstr "立即切換到下一狀態,並將目前狀態與新狀態開頭進行混合。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Switch to the next state immediately, but will seek the new state to the " "playback position of the old state." msgstr "立即切換到下一狀態,但會將新狀態定位到舊狀態的播放位置。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Wait for the current state playback to end, then switch to the beginning of " "the next state animation." msgstr "等待目前狀態播放結束後,切換到下一狀態動畫的開頭。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "Don't use this transition." msgstr "停用此轉場。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Only use this transition during [method " "AnimationNodeStateMachinePlayback.travel]." msgstr "" "僅於 [method AnimationNodeStateMachinePlayback.travel] 執行時使用此轉場。" #: doc/classes/AnimationNodeStateMachineTransition.xml msgid "" "Automatically use this transition if the [member advance_condition] and " "[member advance_expression] checks are [code]true[/code] (if assigned)." msgstr "" "若 [member advance_condition] 與 [member advance_expression](如已設定)皆為 " "[code]true[/code],則自動使用此轉場。" #: doc/classes/AnimationNodeSub2.xml msgid "" "Blends two animations subtractively inside of an [AnimationNodeBlendTree]." msgstr "在 [AnimationNodeBlendTree] 中以減法方式混合兩段動畫。" #: doc/classes/AnimationNodeSub2.xml msgid "" "A resource to add to an [AnimationNodeBlendTree]. Blends two animations " "subtractively based on the amount value.\n" "This animation node is usually used for pre-calculation to cancel out any " "extra poses from the animation for the \"add\" animation source in " "[AnimationNodeAdd2] or [AnimationNodeAdd3].\n" "In general, the blend value should be in the [code][0.0, 1.0][/code] range, " "but values outside of this range can be used for amplified or inverted " "animations.\n" "[b]Note:[/b] This calculation is different from using a negative value in " "[AnimationNodeAdd2], since the transformation matrices do not satisfy the " "commutative law. [AnimationNodeSub2] multiplies the transformation matrix of " "the inverted animation from the left side, while negative " "[AnimationNodeAdd2] multiplies it from the right side." msgstr "" "新增至 [AnimationNodeBlendTree] 的資源。依據指定數值,以減法方式混合兩段動" "畫。\n" "此節點通常用於預先計算,抵銷 [AnimationNodeAdd2] 或 [AnimationNodeAdd3] 中" "「新增」動畫來源所帶來的額外姿勢。\n" "一般情況下,混合值應位於 [code][0.0, 1.0][/code] 區間;若超出此範圍,則可用於" "放大或反轉動畫。\n" "[b]注意:[/b] 由於變換矩陣不符合交換律,這與在 [AnimationNodeAdd2] 使用負值的" "效果不同。[AnimationNodeSub2] 會從左側乘上反向動畫的變換矩陣,而負值的 " "[AnimationNodeAdd2] 則從右側相乘。" #: doc/classes/AnimationNodeSub2.xml msgid "AnimationTree" msgstr "動畫樹" #: doc/classes/AnimationNodeSync.xml msgid "" "Base class for [AnimationNode]s with multiple input ports that must be " "synchronized." msgstr "具多個輸入埠且需同步的 [AnimationNode] 基底類別。" #: doc/classes/AnimationNodeSync.xml msgid "" "An animation node used to combine, mix, or blend two or more animations " "together while keeping them synchronized within an [AnimationTree]." msgstr "在 [AnimationTree] 中用以組合、混合兩段以上動畫並保持同步的動畫節點。" #: doc/classes/AnimationNodeTimeScale.xml msgid "A time-scaling animation node used in [AnimationTree]." msgstr "在 [AnimationTree] 中使用的時間縮放動畫節點。" #: doc/classes/AnimationNodeTimeScale.xml msgid "" "Allows to scale the speed of the animation (or reverse it) in any child " "[AnimationNode]s. Setting it to [code]0.0[/code] will pause the animation." msgstr "" "可調整任何子 [AnimationNode] 的動畫播放速度(亦可反向)。設為 [code]0.0[/" "code] 會暫停動畫。" #: doc/classes/AnimationNodeTimeSeek.xml msgid "A time-seeking animation node used in [AnimationTree]." msgstr "在 [AnimationTree] 中使用的時間尋找動畫節點。" #: doc/classes/AnimationNodeTimeSeek.xml msgid "" "This animation node can be used to cause a seek command to happen to any sub-" "children of the animation graph. Use to play an [Animation] from the start " "or a certain playback position inside the [AnimationNodeBlendTree].\n" "After setting the time and changing the animation playback, the time seek " "node automatically goes into sleep mode on the next process frame by setting " "its [code]seek_request[/code] value to [code]-1.0[/code].\n" "[codeblocks]\n" "[gdscript]\n" "# Play child animation from the start.\n" "animation_tree.set(\"parameters/TimeSeek/seek_request\", 0.0)\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/TimeSeek/seek_request\"] = 0.0\n" "\n" "# Play child animation from 12 second timestamp.\n" "animation_tree.set(\"parameters/TimeSeek/seek_request\", 12.0)\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/TimeSeek/seek_request\"] = 12.0\n" "[/gdscript]\n" "[csharp]\n" "// Play child animation from the start.\n" "animationTree.Set(\"parameters/TimeSeek/seek_request\", 0.0);\n" "\n" "// Play child animation from 12 second timestamp.\n" "animationTree.Set(\"parameters/TimeSeek/seek_request\", 12.0);\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "此動畫節點可向動畫圖任何子節點下達尋找指令,用以從頭或指定播放位置播放 " "[Animation](位於 [AnimationNodeBlendTree] 內)。\n" "設定時間並改變播放後,尋找節點會在下一個處理影格自動將 [code]seek_request[/" "code] 設為 [code]-1.0[/code],進入休眠模式。\n" "[codeblocks]\n" "[gdscript]\n" "# 從開頭播放子動畫。\n" "animation_tree.set(\"parameters/TimeSeek/seek_request\", 0.0)\n" "animation_tree[\"parameters/TimeSeek/seek_request\"] = 0.0 # 同上\n" "\n" "# 從 12 秒處播放子動畫。\n" "animation_tree.set(\"parameters/TimeSeek/seek_request\", 12.0)\n" "animation_tree[\"parameters/TimeSeek/seek_request\"] = 12.0 # 同上\n" "[/gdscript]\n" "[csharp]\n" "// 從開頭播放子動畫。\n" "animationTree.Set(\"parameters/TimeSeek/seek_request\", 0.0);\n" "\n" "// 從 12 秒處播放子動畫。\n" "animationTree.Set(\"parameters/TimeSeek/seek_request\", 12.0);\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AnimationNodeTimeSeek.xml msgid "" "If [code]true[/code], some processes are executed to handle keys between " "seeks, such as calculating root motion and finding the nearest discrete key." msgstr "" "若為 [code]true[/code],在兩次尋找之間將執行額外處理,如計算 Root Motion 與尋" "找最近的離散鍵。" #: doc/classes/AnimationNodeTransition.xml msgid "A transition within an [AnimationTree] connecting two [AnimationNode]s." msgstr "[AnimationTree] 中連接兩個 [AnimationNode] 的過渡。" #: doc/classes/AnimationNodeTransition.xml msgid "" "Simple state machine for cases which don't require a more advanced " "[AnimationNodeStateMachine]. Animations can be connected to the inputs and " "transition times can be specified.\n" "After setting the request and changing the animation playback, the " "transition node automatically clears the request on the next process frame " "by setting its [code]transition_request[/code] value to empty.\n" "[b]Note:[/b] When using a cross-fade, [code]current_state[/code] and " "[code]current_index[/code] change to the next state immediately after the " "cross-fade begins.\n" "[codeblocks]\n" "[gdscript]\n" "# Play child animation connected to \"state_2\" port.\n" "animation_tree.set(\"parameters/Transition/transition_request\", " "\"state_2\")\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/Transition/transition_request\"] = \"state_2\"\n" "\n" "# Get current state name (read-only).\n" "animation_tree.get(\"parameters/Transition/current_state\")\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/Transition/current_state\"]\n" "\n" "# Get current state index (read-only).\n" "animation_tree.get(\"parameters/Transition/current_index\")\n" "# Alternative syntax (same result as above).\n" "animation_tree[\"parameters/Transition/current_index\"]\n" "[/gdscript]\n" "[csharp]\n" "// Play child animation connected to \"state_2\" port.\n" "animationTree.Set(\"parameters/Transition/transition_request\", " "\"state_2\");\n" "\n" "// Get current state name (read-only).\n" "animationTree.Get(\"parameters/Transition/current_state\");\n" "\n" "// Get current state index (read-only).\n" "animationTree.Get(\"parameters/Transition/current_index\");\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "適用於不需要較進階的 [AnimationNodeStateMachine] 的情況的簡易狀態機。可將動畫" "接到輸入,並指定過渡時間。\n" "設定請求並變更動畫播放後,過渡節點會在下一個處理影格將其 " "[code]transition_request[/code] 值設為空字串,藉此自動清除請求。\n" "[b]注意:[/b] 使用交叉淡入時,[code]current_state[/code] 與 " "[code]current_index[/code] 會在淡入一開始就即刻切換到下一個狀態。\n" "[codeblocks]\n" "[gdscript]\n" "# 播放連接至 \"state_2\" 埠的子動畫。\n" "animation_tree.set(\"parameters/Transition/transition_request\", " "\"state_2\")\n" "# 另一種寫法(結果相同)。\n" "animation_tree[\"parameters/Transition/transition_request\"] = \"state_2\"\n" "\n" "# 取得目前狀態名稱(唯讀)。\n" "animation_tree.get(\"parameters/Transition/current_state\")\n" "# 另一種寫法(結果相同)。\n" "animation_tree[\"parameters/Transition/current_state\"]\n" "\n" "# 取得目前狀態索引(唯讀)。\n" "animation_tree.get(\"parameters/Transition/current_index\")\n" "# 另一種寫法(結果相同)。\n" "animation_tree[\"parameters/Transition/current_index\"]\n" "[/gdscript]\n" "[csharp]\n" "// 播放連接至 \"state_2\" 埠的子動畫。\n" "animationTree.Set(\"parameters/Transition/transition_request\", " "\"state_2\");\n" "\n" "// 取得目前狀態名稱(唯讀)。\n" "animationTree.Get(\"parameters/Transition/current_state\");\n" "\n" "// 取得目前狀態索引(唯讀)。\n" "animationTree.Get(\"parameters/Transition/current_index\");\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AnimationNodeTransition.xml msgid "" "Returns whether the animation breaks the loop at the end of the loop cycle " "for transition." msgstr "返回動畫是否會在迴圈週期結束時中斷迴圈以進行過渡。" #: doc/classes/AnimationNodeTransition.xml msgid "" "Returns whether the animation restarts when the animation transitions from " "the other animation." msgstr "返回當動畫自另一段動畫過渡而來時,該動畫是否會重新開始播放。" #: doc/classes/AnimationNodeTransition.xml msgid "" "Returns [code]true[/code] if auto-advance is enabled for the given [param " "input] index." msgstr "若指定的 [param input] 索引已啟用自動前進,則回傳 [code]true[/code]。" #: doc/classes/AnimationNodeTransition.xml msgid "" "Enables or disables auto-advance for the given [param input] index. If " "enabled, state changes to the next input after playing the animation once. " "If enabled for the last input state, it loops to the first." msgstr "" "啟用或停用指定 [param input] 索引的自動前進。啟用後,節點在動畫播放一次後會切" "換到下一個輸入;若為最後一個輸入,則會循環回第一個。" #: doc/classes/AnimationNodeTransition.xml msgid "" "If [code]true[/code], the destination animation is restarted when the " "animation transitions." msgstr "若為 [code]true[/code],過渡至目標動畫時會重新開始播放。" #: doc/classes/AnimationNodeTransition.xml msgid "" "If [code]true[/code], allows transition to the self state. When the reset " "option is enabled in input, the animation is restarted. If [code]false[/" "code], nothing happens on the transition to the self state." msgstr "" "若為 [code]true[/code],允許過渡到自身狀態;若在輸入啟用了重設選項,動畫將重" "新開始。若為 [code]false[/code],則過渡到自身狀態時不會有任何效果。" #: doc/classes/AnimationNodeTransition.xml msgid "The number of enabled input ports for this animation node." msgstr "此動畫節點已啟用的輸入埠數量。" #: doc/classes/AnimationNodeTransition.xml msgid "" "Cross-fading time (in seconds) between each animation connected to the " "inputs.\n" "[b]Note:[/b] [AnimationNodeTransition] transitions the current state " "immediately after the start of the fading. The precise remaining time can " "only be inferred from the main animation. When [AnimationNodeOutput] is " "considered as the most upstream, so the [member xfade_time] is not scaled " "depending on the downstream delta. See also [member " "AnimationNodeOneShot.fadeout_time]." msgstr "" "各輸入所連接動畫之間的交叉淡入時間(秒)。\n" "[b]注意:[/b][AnimationNodeTransition] 會在淡入開始後立即將目前狀態切換為下一" "個狀態。剩餘的精確時間只能由主要動畫推算。當 [AnimationNodeOutput] 被視為最上" "游時,[member xfade_time] 不會因下游的 delta 而縮放。另見 [member " "AnimationNodeOneShot.fadeout_time]。" #: doc/classes/AnimationPlayer.xml msgid "A node used for animation playback." msgstr "用於動畫播放的節點。" #: doc/classes/AnimationPlayer.xml msgid "" "An animation player is used for general-purpose playback of animations. It " "contains a dictionary of [AnimationLibrary] resources and custom blend times " "between animation transitions.\n" "Some methods and properties use a single key to reference an animation " "directly. These keys are formatted as the key for the library, followed by a " "forward slash, then the key for the animation within the library, for " "example [code]\"movement/run\"[/code]. If the library's key is an empty " "string (known as the default library), the forward slash is omitted, being " "the same key used by the library.\n" "[AnimationPlayer] is better-suited than [Tween] for more complex animations, " "for example ones with non-trivial timings. It can also be used over [Tween] " "if the animation track editor is more convenient than doing it in code.\n" "Updating the target properties of animations occurs at the process frame." msgstr "" "動畫播放器用於一般目的的動畫播放。它包含一個 [AnimationLibrary] 資源字典以及" "動畫轉場的自訂混合時間。\n" "某些方法與屬性會用單一鍵值直接參照動畫,此鍵值格式為「動畫庫鍵值/動畫鍵值」," "例如 [code]\"movement/run\"[/code]。若動畫庫鍵值為空字串(預設庫),則省略斜" "線只寫動畫鍵值。\n" "與 [Tween] 相比,[AnimationPlayer] 更適合處理時序複雜的動畫;若你偏好使用動畫" "軌編輯器而非程式碼,也可以選擇 [AnimationPlayer]。\n" "動畫目標屬性的更新發生於處理影格階段。" #: doc/classes/AnimationPlayer.xml msgid "" "Returns the key of the animation which is queued to play after the [param " "animation_from] animation." msgstr "回傳排定在 [param animation_from] 動畫之後播放的動畫鍵值。" #: doc/classes/AnimationPlayer.xml msgid "" "Triggers the [param animation_to] animation when the [param animation_from] " "animation completes." msgstr "" "當 [param animation_from] 動畫播放完畢時觸發 [param animation_to] 動畫。" #: doc/classes/AnimationPlayer.xml msgid "Clears all queued, unplayed animations." msgstr "清除所有已排隊但尚未播放的動畫。" #: doc/classes/AnimationPlayer.xml msgid "" "Returns the blend time (in seconds) between two animations, referenced by " "their keys." msgstr "回傳以鍵值指定的兩段動畫之間的混合時間(秒)。" #: doc/classes/AnimationPlayer.xml msgid "Use [member AnimationMixer.callback_mode_method] instead." msgstr "請改用 [member AnimationMixer.callback_mode_method]。" #: doc/classes/AnimationPlayer.xml msgid "Returns the call mode used for \"Call Method\" tracks." msgstr "回傳「方法呼叫」軌道所使用的呼叫模式。" #: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml msgid "Use [member AnimationMixer.callback_mode_process] instead." msgstr "請改用 [member AnimationMixer.callback_mode_process]。" #: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml msgid "Returns the process notification in which to update animations." msgstr "回傳用來更新動畫的處理通知類型。" #: doc/classes/AnimationPlayer.xml msgid "Returns a list of the animation keys that are currently queued to play." msgstr "回傳目前排程中等待播放的動畫鍵值清單。" #: doc/classes/AnimationPlayer.xml msgid "Use [member AnimationMixer.root_node] instead." msgstr "請改用 [member AnimationMixer.root_node]。" #: doc/classes/AnimationPlayer.xml msgid "Returns the node which node path references will travel from." msgstr "回傳節點路徑引用的起始節點。" #: doc/classes/AnimationPlayer.xml msgid "Returns the end time of the section currently being played." msgstr "回傳目前播放區段的結束時間。" #: doc/classes/AnimationPlayer.xml msgid "Returns the start time of the section currently being played." msgstr "回傳目前播放區段的開始時間。" #: doc/classes/AnimationPlayer.xml msgid "" "Returns [code]true[/code] if an animation is currently playing with a " "section." msgstr "若目前有區段動畫在播放則回傳 [code]true[/code]。" #: doc/classes/AnimationPlayer.xml msgid "" "Returns [code]true[/code] if the an animation is currently active. An " "animation is active if it was played by calling [method play] and was not " "finished yet, or was stopped by calling [method stop].\n" "This can be used to check whether an animation is currently paused or " "stopped.\n" "[codeblock]\n" "var is_paused = not is_playing() and is_animation_active()\n" "var is_stopped = not is_playing() and not is_animation_active()\n" "[/codeblock]" msgstr "" #: doc/classes/AnimationPlayer.xml msgid "" "Pauses the currently playing animation. The [member " "current_animation_position] will be kept and calling [method play] or " "[method play_backwards] without arguments or with the same animation name as " "[member assigned_animation] will resume the animation.\n" "See also [method stop]." msgstr "" "暫停當前播放的動畫。[member current_animation_position] 會被保留;呼叫 " "[method play] 或 [method play_backwards] 而不帶參數,或帶與 [member " "assigned_animation] 相同的動畫名稱,即可繼續播放。\n" "另見 [method stop]。" #: doc/classes/AnimationPlayer.xml msgid "" "Plays the animation with key [param name]. Custom blend times and speed can " "be set.\n" "The [param from_end] option only affects when switching to a new animation " "track, or if the same track but at the start or end. It does not affect " "resuming playback that was paused in the middle of an animation. If [param " "custom_speed] is negative and [param from_end] is [code]true[/code], the " "animation will play backwards (which is equivalent to calling [method " "play_backwards]).\n" "The [AnimationPlayer] keeps track of its current or last played animation " "with [member assigned_animation]. If this method is called with that same " "animation [param name], or with no [param name] parameter, the assigned " "animation will resume playing if it was paused.\n" "[b]Note:[/b] The animation will be updated the next time the " "[AnimationPlayer] is processed. If other variables are updated at the same " "time this is called, they may be updated too early. To perform the update " "immediately, call [code]advance(0)[/code]." msgstr "" "播放鍵值為 [param name] 的動畫,可自訂混合時間與播放速度。\n" "[param from_end] 僅影響切換到新動畫軌或同一軌起點/終點時;不影響在動畫中段暫" "停後再繼續播放。若 [param custom_speed] 為負且 [param from_end] 為 " "[code]true[/code],則動畫將倒放(等同於呼叫 [method play_backwards])。\n" "[AnimationPlayer] 會以 [member assigned_animation] 記錄目前或最後播放的動畫。" "如果此方法使用相同動畫 [param name],或未帶 [param name] 參數呼叫,將會在暫停" "後繼續播放。\n" "[b]注意:[/b] 動畫會在下一次 [AnimationPlayer] 處理時更新。若同時修改其他變" "數,可能會過早執行。若需立即更新,請呼叫 [code]advance(0)[/code]。" #: doc/classes/AnimationPlayer.xml msgid "" "Plays the animation with key [param name] and the section starting from " "[param start_time] and ending on [param end_time]. See also [method play].\n" "Setting [param start_time] to a value outside the range of the animation " "means the start of the animation will be used instead, and setting [param " "end_time] to a value outside the range of the animation means the end of the " "animation will be used instead. [param start_time] cannot be equal to [param " "end_time]." msgstr "" "播放鍵值為 [param name] 的動畫,僅播放從 [param start_time] 到 [param " "end_time] 的區段。詳見 [method play]。\n" "若 [param start_time] 超出動畫範圍,將改用動畫起點;若 [param end_time] 超出" "範圍,將改用動畫終點。[param start_time] 不可等於 [param end_time]。" #: doc/classes/AnimationPlayer.xml msgid "" "Plays the animation with key [param name] and the section starting from " "[param start_time] and ending on [param end_time] in reverse.\n" "This method is a shorthand for [method play_section] with [code]custom_speed " "= -1.0[/code] and [code]from_end = true[/code], see its description for more " "information." msgstr "" "倒播鍵值為 [param name] 的動畫,僅播放從 [param start_time] 到 [param " "end_time] 的區段。\n" "此方法等同於以 [code]custom_speed = -1.0[/code] 且 [code]from_end = true[/" "code] 呼叫 [method play_section],詳情請參閱其說明。" #: doc/classes/AnimationPlayer.xml msgid "" "Plays the animation with key [param name] and the section starting from " "[param start_marker] and ending on [param end_marker].\n" "If the start marker is empty, the section starts from the beginning of the " "animation. If the end marker is empty, the section ends on the end of the " "animation. See also [method play]." msgstr "" "播放鍵值為 [param name] 的動畫,區段從 [param start_marker] 開始至 [param " "end_marker] 結束。\n" "若開始標記為空,則從動畫開頭播放;若結束標記為空,則播放至動畫結尾。詳見 " "[method play]。" #: doc/classes/AnimationPlayer.xml msgid "" "Plays the animation with key [param name] and the section starting from " "[param start_marker] and ending on [param end_marker] in reverse.\n" "This method is a shorthand for [method play_section_with_markers] with " "[code]custom_speed = -1.0[/code] and [code]from_end = true[/code], see its " "description for more information." msgstr "" "倒播鍵值為 [param name] 的動畫,區段從 [param start_marker] 開始至 [param " "end_marker] 結束。\n" "此方法等同於以 [code]custom_speed = -1.0[/code] 與 [code]from_end = true[/" "code] 呼叫 [method play_section_with_markers],詳情請參閱其說明。" #: doc/classes/AnimationPlayer.xml msgid "" "See also [method AnimationMixer.capture].\n" "You can use this method to use more detailed options for capture than those " "performed by [member playback_auto_capture]. When [member " "playback_auto_capture] is [code]false[/code], this method is almost the same " "as the following:\n" "[codeblock]\n" "capture(name, duration, trans_type, ease_type)\n" "play(name, custom_blend, custom_speed, from_end)\n" "[/codeblock]\n" "If [param name] is blank, it specifies [member assigned_animation].\n" "If [param duration] is a negative value, the duration is set to the interval " "between the current position and the first key, when [param from_end] is " "[code]true[/code], uses the interval between the current position and the " "last key instead.\n" "[b]Note:[/b] The [param duration] takes [member speed_scale] into account, " "but [param custom_speed] does not, because the capture cache is interpolated " "with the blend result and the result may contain multiple animations." msgstr "" "另見 [method AnimationMixer.capture]。\n" "此方法可提供比 [member playback_auto_capture] 更細緻的捕捉選項。當 [member " "playback_auto_capture] 為 [code]false[/code] 時,其行為大致相當於:\n" "[codeblock]\n" "capture(name, duration, trans_type, ease_type)\n" "play(name, custom_blend, custom_speed, from_end)\n" "[/codeblock]\n" "若 [param name] 為空,代表使用 [member assigned_animation]。\n" "若 [param duration] 為負,則時長設為目前位置到第一個關鍵影格的區間;若 " "[param from_end] 為 [code]true[/code],則改為目前位置到最後一個關鍵影格的區" "間。\n" "[b]注意:[/b][param duration] 會考慮 [member speed_scale],但 [param " "custom_speed] 不會,因捕捉快取會與混合結果插值,而結果可能包含多段動畫。" #: doc/classes/AnimationPlayer.xml msgid "" "Queues an animation for playback once the current animation and all " "previously queued animations are done.\n" "[b]Note:[/b] If a looped animation is currently playing, the queued " "animation will never play unless the looped animation is stopped somehow." msgstr "" "將動畫加入佇列,待目前動畫及先前所有佇列動畫播放完畢後才播放。\n" "[b]注意:[/b] 若目前正在播放循環動畫,除非該動畫被中止,否則佇列動畫永遠不會" "被播放。" #: doc/classes/AnimationPlayer.xml msgid "Resets the current section. Does nothing if a section has not been set." msgstr "若已設定區段則會重設目前區段;若未設定則無任何作用。" #: doc/classes/AnimationPlayer.xml msgid "" "Seeks the animation to the [param seconds] point in time (in seconds). If " "[param update] is [code]true[/code], the animation updates too, otherwise it " "updates at process time. Events between the current frame and [param " "seconds] are skipped.\n" "If [param update_only] is [code]true[/code], the method / audio / animation " "playback tracks will not be processed.\n" "[b]Note:[/b] Seeking to the end of the animation doesn't emit [signal " "AnimationMixer.animation_finished]. If you want to skip animation and emit " "the signal, use [method AnimationMixer.advance]." msgstr "" "將動畫跳至 [param seconds] 秒位置。若 [param update] 為 [code]true[/code],動" "畫會立即更新;否則將於處理時更新。當前影格到 [param seconds] 之間的事件會被略" "過。\n" "若 [param update_only] 為 [code]true[/code],方法/音訊/動畫播放軌將不會被處" "理。\n" "[b]注意:[/b] 跳到動畫結尾不會觸發 [signal " "AnimationMixer.animation_finished]。若要跳過動畫並觸發訊號,請使用 [method " "AnimationMixer.advance]。" #: doc/classes/AnimationPlayer.xml msgid "" "Specifies a blend time (in seconds) between two animations, referenced by " "their keys." msgstr "指定以鍵值參照的兩段動畫之間的混合時間(秒)。" #: doc/classes/AnimationPlayer.xml msgid "Sets the call mode used for \"Call Method\" tracks." msgstr "設定「方法呼叫」軌道所使用的呼叫模式。" #: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml msgid "Sets the process notification in which to update animations." msgstr "設定用於更新動畫的處理通知類型。" #: doc/classes/AnimationPlayer.xml msgid "Sets the node which node path references will travel from." msgstr "設定節點路徑引用的起始節點。" #: doc/classes/AnimationPlayer.xml msgid "" "Changes the start and end times of the section being played. The current " "playback position will be clamped within the new section. See also [method " "play_section]." msgstr "" "變更正在播放區段的起始與結束時間,當前播放位置會被限制在新區段內。詳見 " "[method play_section]。" #: doc/classes/AnimationPlayer.xml msgid "" "Changes the start and end markers of the section being played. The current " "playback position will be clamped within the new section. See also [method " "play_section_with_markers].\n" "If the argument is empty, the section uses the beginning or end of the " "animation. If both are empty, it means that the section is not set." msgstr "" "變更正在播放區段的起始與結束標記,當前播放位置會被限制在新區段內。詳見 " "[method play_section_with_markers]。\n" "若參數為空,區段將使用動畫的開頭或結尾;若兩者皆空,代表未設定區段。" #: doc/classes/AnimationPlayer.xml msgid "" "Stops the currently playing animation. The animation position is reset to " "[code]0[/code] and the [code]custom_speed[/code] is reset to [code]1.0[/" "code]. See also [method pause].\n" "If [param keep_state] is [code]true[/code], the animation state is not " "updated visually.\n" "[b]Note:[/b] The method / audio / animation playback tracks will not be " "processed by this method." msgstr "" "停止當前播放的動畫,並將動畫位置重設為 [code]0[/code]、[code]custom_speed[/" "code] 重設為 [code]1.0[/code]。另見 [method pause]。\n" "若 [param keep_state] 為 [code]true[/code],動畫狀態不會在畫面上更新。\n" "[b]注意:[/b] 方法/音訊/動畫播放軌不會由此方法處理。" #: doc/classes/AnimationPlayer.xml msgid "" "If playing, the current animation's key, otherwise, the animation last " "played. When set, this changes the animation, but will not play it unless " "already playing. See also [member current_animation]." msgstr "" "若正在播放則為目前動畫鍵值,否則為上一次播放的動畫鍵值。設定此屬性會更換動" "畫,但除非已在播放,否則不會自動開始。另見 [member current_animation]。" #: doc/classes/AnimationPlayer.xml msgid "" "The key of the currently playing animation. If no animation is playing, the " "property's value is an empty string. Changing this value does not restart " "the animation. See [method play] for more information on playing " "animations.\n" "[b]Note:[/b] While this property appears in the Inspector, it's not meant to " "be edited, and it's not saved in the scene. This property is mainly used to " "get the currently playing animation, and internally for animation playback " "tracks. For more information, see [Animation]." msgstr "" "目前正在播放的動畫鍵值。若未播放任何動畫,則為空字串。變更此值不會重新啟動動" "畫。更多播放方式請參閱 [method play]。\n" "[b]注意:[/b] 雖然此屬性會出現在屬性檢視器中,但並非用於編輯,且不會存入場景" "檔。主要用途是取得當前播放的動畫,以及供動畫播放軌內部使用。詳見 " "[Animation]。" #: doc/classes/AnimationPlayer.xml msgid "The length (in seconds) of the currently playing animation." msgstr "目前播放動畫的長度(秒)。" #: doc/classes/AnimationPlayer.xml msgid "The position (in seconds) of the currently playing animation." msgstr "目前播放動畫的位置(秒)。" #: doc/classes/AnimationPlayer.xml msgid "" "If [code]true[/code] and the engine is running in Movie Maker mode (see " "[MovieWriter]), exits the engine with [method SceneTree.quit] as soon as an " "animation is done playing in this [AnimationPlayer]. A message is printed " "when the engine quits for this reason.\n" "[b]Note:[/b] This obeys the same logic as the [signal " "AnimationMixer.animation_finished] signal, so it will not quit the engine if " "the animation is set to be looping." msgstr "" "若為 [code]true[/code] 且引擎以 Movie Maker 模式運行(見 [MovieWriter]),當" "此 [AnimationPlayer] 播放完動畫後會立刻呼叫 [method SceneTree.quit] 結束引" "擎,並輸出訊息。\n" "[b]注意:[/b] 該行為遵循 [signal AnimationMixer.animation_finished] 的邏輯," "若動畫設為循環則不會退出引擎。" #: doc/classes/AnimationPlayer.xml msgid "" "If [code]true[/code], performs [method AnimationMixer.capture] before " "playback automatically. This means just [method play_with_capture] is " "executed with default arguments instead of [method play].\n" "[b]Note:[/b] Capture interpolation is only performed if the animation " "contains a capture track. See also [constant Animation.UPDATE_CAPTURE]." msgstr "" "若為 [code]true[/code],播放前會自動執行 [method AnimationMixer.capture]。等" "同於以預設參數呼叫 [method play_with_capture],而非 [method play]。\n" "[b]注意:[/b] 僅當動畫包含捕捉軌道時才會進行捕捉插值。另見 [constant " "Animation.UPDATE_CAPTURE]。" #: doc/classes/AnimationPlayer.xml msgid "" "See also [method play_with_capture] and [method AnimationMixer.capture].\n" "If [member playback_auto_capture_duration] is negative value, the duration " "is set to the interval between the current position and the first key." msgstr "" "另見 [method play_with_capture] 與 [method AnimationMixer.capture]。\n" "若 [member playback_auto_capture_duration] 為負值,時長將設為目前位置到第一個" "關鍵影格的區間。" #: doc/classes/AnimationPlayer.xml msgid "" "The ease type of the capture interpolation. See also [enum Tween.EaseType]." msgstr "捕捉插值所使用的緩和型式。另見 [enum Tween.EaseType]。" #: doc/classes/AnimationPlayer.xml msgid "" "The transition type of the capture interpolation. See also [enum " "Tween.TransitionType]." msgstr "捕捉插值的轉換型式。另見 [enum Tween.TransitionType]。" #: doc/classes/AnimationPlayer.xml msgid "" "The default time in which to blend animations. Ranges from 0 to 4096 with " "0.01 precision." msgstr "動畫混合的預設時間,範圍 0–4096,精度 0.01。" #: doc/classes/AnimationPlayer.xml msgid "" "Emitted when a queued animation plays after the previous animation finished. " "See also [method AnimationPlayer.queue].\n" "[b]Note:[/b] The signal is not emitted when the animation is changed via " "[method AnimationPlayer.play] or by an [AnimationTree]." msgstr "" "當佇列中的動畫於上一段動畫播放完畢後開始播放時發出。另見 [method " "AnimationPlayer.queue]。\n" "[b]注意:[/b] 若透過 [method AnimationPlayer.play] 或 [AnimationTree] 切換動" "畫時不會發出此訊號。" #: doc/classes/AnimationPlayer.xml msgid "Emitted when [member current_animation] changes." msgstr "當 [member current_animation] 變更時發出。" #: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml msgid "See [constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS]." msgstr "" "詳見 [constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS]。" #: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml msgid "See [constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE]." msgstr "詳見 [constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE]。" #: doc/classes/AnimationPlayer.xml doc/classes/AnimationTree.xml msgid "See [constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL]." msgstr "" "詳見 [constant AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL]。" #: doc/classes/AnimationPlayer.xml msgid "See [constant AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_DEFERRED]." msgstr "" "詳見 [constant AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_DEFERRED]。" #: doc/classes/AnimationPlayer.xml msgid "See [constant AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE]." msgstr "" "詳見 [constant AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE]。" #: doc/classes/AnimationRootNode.xml msgid "" "Base class for [AnimationNode]s that hold one or multiple composite " "animations. Usually used for [member AnimationTree.tree_root]." msgstr "" "作為包含一段或多段複合動畫之 [AnimationNode] 的基底類別。通常用於 [member " "AnimationTree.tree_root]。" #: doc/classes/AnimationRootNode.xml msgid "" "[AnimationRootNode] is a base class for [AnimationNode]s that hold a " "complete animation. A complete animation refers to the output of an " "[AnimationNodeOutput] in an [AnimationNodeBlendTree] or the output of " "another [AnimationRootNode]. Used for [member AnimationTree.tree_root] or in " "other [AnimationRootNode]s.\n" "Examples of built-in root nodes include [AnimationNodeBlendTree] (allows " "blending nodes between each other using various modes), " "[AnimationNodeStateMachine] (allows to configure blending and transitions " "between nodes using a state machine pattern), [AnimationNodeBlendSpace2D] " "(allows linear blending between [b]three[/b] [AnimationNode]s), " "[AnimationNodeBlendSpace1D] (allows linear blending only between [b]two[/b] " "[AnimationNode]s)." msgstr "" "[AnimationRootNode] 是保存完整動畫之 [AnimationNode] 的基底類別。完整動畫指 " "[AnimationNodeBlendTree] 中 [AnimationNodeOutput] 的輸出,或其他 " "[AnimationRootNode] 的輸出。可用於 [member AnimationTree.tree_root] 或其他 " "[AnimationRootNode]。\n" "內建根節點範例包括:\n" "• [AnimationNodeBlendTree]:可透過多種模式混合節點。\n" "• [AnimationNodeStateMachine]:以狀態機樣式設定節點間的混合與過渡。\n" "• [AnimationNodeBlendSpace2D]:在 [b]三個[/b] [AnimationNode] 之間進行線性混" "合。\n" "• [AnimationNodeBlendSpace1D]:在 [b]兩個[/b] [AnimationNode] 之間進行線性混" "合。" #: doc/classes/AnimationTree.xml msgid "A node used for advanced animation transitions in an [AnimationPlayer]." msgstr "用於在 [AnimationPlayer] 內實現進階動畫過渡的節點。" #: doc/classes/AnimationTree.xml msgid "" "A node used for advanced animation transitions in an [AnimationPlayer].\n" "[b]Note:[/b] When linked with an [AnimationPlayer], several properties and " "methods of the corresponding [AnimationPlayer] will not function as " "expected. Playback and transitions should be handled using only the " "[AnimationTree] and its constituent [AnimationNode](s). The " "[AnimationPlayer] node should be used solely for adding, deleting, and " "editing animations." msgstr "" "用於在 [AnimationPlayer] 中處理進階動畫過渡的節點。\n" "[b]注意:[/b] 當與 [AnimationPlayer] 連結後,該 [AnimationPlayer] 的部分屬性" "與方法將無法如預期運作。播放與過渡應僅透過 [AnimationTree] 及其內部 " "[AnimationNode] 來控制;[AnimationPlayer] 節點僅用於新增、刪除及編輯動畫。" #: doc/classes/AnimationTree.xml msgid "" "The path to the [Node] used to evaluate the [AnimationNode] [Expression] if " "one is not explicitly specified internally." msgstr "" "若內部未明確指定,則此為用來評估 [AnimationNode] [Expression] 的 [Node] 路" "徑。" #: doc/classes/AnimationTree.xml msgid "The path to the [AnimationPlayer] used for animating." msgstr "用於播放動畫之 [AnimationPlayer] 的路徑。" #: doc/classes/AnimationTree.xml msgid "" "The root animation node of this [AnimationTree]. See [AnimationRootNode]." msgstr "此 [AnimationTree] 的根動畫節點。詳見 [AnimationRootNode]。" #: doc/classes/AnimationTree.xml msgid "Emitted when the [member anim_player] is changed." msgstr "當 [member anim_player] 變更時發出。" #: doc/classes/Area2D.xml msgid "" "A region of 2D space that detects other [CollisionObject2D]s entering or " "exiting it." msgstr "2D 空間中的一個區域,能夠偵測到其他 [CollisionObject2D] 的進入或退出。" #: doc/classes/Area2D.xml msgid "" "[Area2D] is a region of 2D space defined by one or multiple " "[CollisionShape2D] or [CollisionPolygon2D] child nodes. It detects when " "other [CollisionObject2D]s enter or exit it, and it also keeps track of " "which collision objects haven't exited it yet (i.e. which one are " "overlapping it).\n" "This node can also locally alter or override physics parameters (gravity, " "damping) and route audio to custom audio buses.\n" "[b]Note:[/b] Areas and bodies created with [PhysicsServer2D] might not " "interact as expected with [Area2D]s, and might not emit signals or track " "objects correctly." msgstr "" "[Area2D] 是 2D 空間中的一個區域,由一個或多個 [CollisionShape2D] 或 " "[CollisionPolygon2D] 子節點定義,能夠偵測其他 [CollisionObject2D] 進入或離" "開,並持續追蹤尚未離開的碰撞物件(亦即仍與其重疊的物件)。\n" "此節點亦可在區域內局部調整或覆寫物理參數(重力、阻尼),並將音訊導向自訂音訊" "匯流排。\n" "[b]注意:[/b] 以 [PhysicsServer2D] 建立的 Area 或剛體可能無法與 [Area2D] 如預" "期互動,亦可能無法正確發出訊號或追蹤物件。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "Using Area2D" msgstr "使用 Area2D" #: doc/classes/Area2D.xml doc/classes/CollisionShape2D.xml #: doc/classes/RectangleShape2D.xml msgid "2D Pong Demo" msgstr "2D Pong 範例" #: doc/classes/Area2D.xml doc/classes/Camera2D.xml #: doc/classes/CharacterBody2D.xml doc/classes/TileMap.xml #: doc/classes/TileMapLayer.xml doc/classes/TileSet.xml msgid "2D Platformer Demo" msgstr "2D 平台範例" #: doc/classes/Area2D.xml msgid "" "Returns a list of intersecting [Area2D]s. The overlapping area's [member " "CollisionObject2D.collision_layer] must be part of this area's [member " "CollisionObject2D.collision_mask] in order to be detected.\n" "For performance reasons (collisions are all processed at the same time) this " "list is modified once during the physics step, not immediately after objects " "are moved. Consider using signals instead." msgstr "" "傳回與本區域相交的 [Area2D] 清單。重疊區域的 [member " "CollisionObject2D.collision_layer] 必須包含於本區域的 [member " "CollisionObject2D.collision_mask] 之中才能被偵測。\n" "基於效能考量(碰撞會在同一時間批次處理),此清單僅會於每次物理步驟更新一次," "而非物件移動後立即更新。建議改用訊號。" #: doc/classes/Area2D.xml msgid "" "Returns a list of intersecting [PhysicsBody2D]s and [TileMap]s. The " "overlapping body's [member CollisionObject2D.collision_layer] must be part " "of this area's [member CollisionObject2D.collision_mask] in order to be " "detected.\n" "For performance reasons (collisions are all processed at the same time) this " "list is modified once during the physics step, not immediately after objects " "are moved. Consider using signals instead." msgstr "" "傳回與本區域相交的 [PhysicsBody2D] 與 [TileMap] 清單。重疊物件的 [member " "CollisionObject2D.collision_layer] 必須包含於本區域的 [member " "CollisionObject2D.collision_mask] 之中才能被偵測。\n" "基於效能考量(碰撞會在同一時間批次處理),此清單僅會於每次物理步驟更新一次," "而非物件移動後立即更新。建議改用訊號。" #: doc/classes/Area2D.xml msgid "" "Returns [code]true[/code] if intersecting any [Area2D]s, otherwise returns " "[code]false[/code]. The overlapping area's [member " "CollisionObject2D.collision_layer] must be part of this area's [member " "CollisionObject2D.collision_mask] in order to be detected.\n" "For performance reasons (collisions are all processed at the same time) the " "list of overlapping areas is modified once during the physics step, not " "immediately after objects are moved. Consider using signals instead." msgstr "" "若與任一 [Area2D] 相交則回傳 [code]true[/code],否則回傳 [code]false[/code]。" "重疊區域的 [member CollisionObject2D.collision_layer] 必須包含於本區域的 " "[member CollisionObject2D.collision_mask] 之中才能被偵測。\n" "基於效能考量(碰撞會在同一時間批次處理),重疊區域清單僅會於每次物理步驟更新" "一次,而非物件移動後立即更新。建議改用訊號。" #: doc/classes/Area2D.xml msgid "" "Returns [code]true[/code] if intersecting any [PhysicsBody2D]s or " "[TileMap]s, otherwise returns [code]false[/code]. The overlapping body's " "[member CollisionObject2D.collision_layer] must be part of this area's " "[member CollisionObject2D.collision_mask] in order to be detected.\n" "For performance reasons (collisions are all processed at the same time) the " "list of overlapping bodies is modified once during the physics step, not " "immediately after objects are moved. Consider using signals instead." msgstr "" "若與任一 [PhysicsBody2D] 或 [TileMap] 相交則回傳 [code]true[/code],否則回傳 " "[code]false[/code]。重疊物件的 [member CollisionObject2D.collision_layer] 必" "須包含於本區域的 [member CollisionObject2D.collision_mask] 之中才能被偵測。\n" "基於效能考量(碰撞會在同一時間批次處理),重疊物件清單僅會於每次物理步驟更新" "一次,而非物件移動後立即更新。建議改用訊號。" #: doc/classes/Area2D.xml msgid "" "Returns [code]true[/code] if the given [Area2D] intersects or overlaps this " "[Area2D], [code]false[/code] otherwise.\n" "[b]Note:[/b] The result of this test is not immediate after moving objects. " "For performance, the list of overlaps is updated once per frame and before " "the physics step. Consider using signals instead." msgstr "" "若指定的 [Area2D] 與本區域相交或重疊則回傳 [code]true[/code],否則回傳 " "[code]false[/code]。\n" "[b]注意:[/b] 測試結果並非物件移動後立即更新。基於效能,本區域的重疊清單於每" "影格且物理步驟之前僅更新一次。建議改用訊號。" #: doc/classes/Area2D.xml msgid "" "Returns [code]true[/code] if the given physics body intersects or overlaps " "this [Area2D], [code]false[/code] otherwise.\n" "[b]Note:[/b] The result of this test is not immediate after moving objects. " "For performance, list of overlaps is updated once per frame and before the " "physics step. Consider using signals instead.\n" "The [param body] argument can either be a [PhysicsBody2D] or a [TileMap] " "instance. While TileMaps are not physics bodies themselves, they register " "their tiles with collision shapes as a virtual physics body." msgstr "" "若指定的物理物件與本區域相交或重疊則回傳 [code]true[/code],否則回傳 " "[code]false[/code]。\n" "[b]注意:[/b] 測試結果並非物件移動後立即更新。基於效能,重疊清單於每影格且物" "理步驟之前僅更新一次。建議改用訊號。\n" "[param body] 可為 [PhysicsBody2D] 或 [TileMap] 實例。雖然 TileMap 本身不是物" "理物件,但其含碰撞形狀的圖塊會註冊為虛擬物理物件。" #: doc/classes/Area2D.xml msgid "" "The rate at which objects stop spinning in this area. Represents the angular " "velocity lost per second.\n" "See [member ProjectSettings.physics/2d/default_angular_damp] for more " "details about damping." msgstr "" "物體在此區域停止旋轉的速率,代表每秒損失的角速度。\n" "詳細說明請參考 [member ProjectSettings.physics/2d/default_angular_damp]。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "Override mode for angular damping calculations within this area." msgstr "此區域內角阻尼計算的覆寫模式。可用值請參閱 [enum SpaceOverride]。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "The name of the area's audio bus." msgstr "此區域使用的音訊匯流排名稱。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "If [code]true[/code], the area's audio bus overrides the default audio bus." msgstr "若為 [code]true[/code],此區域的音訊匯流排將覆寫預設匯流排。" #: doc/classes/Area2D.xml msgid "" "The area's gravity intensity (in pixels per second squared). This value " "multiplies the gravity direction. This is useful to alter the force of " "gravity without altering its direction." msgstr "" "此區域的重力強度(單位:像素/秒²)。該值會乘於重力方向向量,可在不改變方向的" "情況下調整重力大小。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "The area's gravity vector (not normalized)." msgstr "此區域的重力向量(未正規化)。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "If [code]true[/code], gravity is calculated from a point (set via [member " "gravity_point_center]). See also [member gravity_space_override]." msgstr "" "若為 [code]true[/code],重力將以 [member gravity_point_center] 指定的點為中心" "進行計算。另見 [member gravity_space_override]。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "If gravity is a point (see [member gravity_point]), this will be the point " "of attraction." msgstr "若重力為點狀(參見 [member gravity_point]),則此為吸引點。" #: doc/classes/Area2D.xml msgid "" "The distance at which the gravity strength is equal to [member gravity]. For " "example, on a planet 100 pixels in radius with a surface gravity of 4.0 px/" "s², set the [member gravity] to 4.0 and the unit distance to 100.0. The " "gravity will have falloff according to the inverse square law, so in the " "example, at 200 pixels from the center the gravity will be 1.0 px/s² (twice " "the distance, 1/4th the gravity), at 50 pixels it will be 16.0 px/s² (half " "the distance, 4x the gravity), and so on.\n" "The above is true only when the unit distance is a positive number. When " "this is set to 0.0, the gravity will be constant regardless of distance." msgstr "" "當距離等於此值時,重力大小即為 [member gravity]。例如:若行星半徑為 100 像素" "且表面重力為 4.0 px/s²,請將 [member gravity] 設為 4.0,單位距離設為 100.0。" "重力將依平方反比定律遞減,故於 200 像素處重力為 1.0 px/s²(距離加倍,重力變 " "1/4),於 50 像素處重力為 16.0 px/s²(距離減半,重力變 4 倍),依此類推。\n" "僅當此值為正數時上述規則才適用;若設為 0.0,重力將與距離無關而保持常數。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "Override mode for gravity calculations within this area." msgstr "此區域內重力計算的覆寫模式。可用值請參閱 [enum SpaceOverride]。" #: doc/classes/Area2D.xml msgid "" "The rate at which objects stop moving in this area. Represents the linear " "velocity lost per second.\n" "See [member ProjectSettings.physics/2d/default_linear_damp] for more details " "about damping." msgstr "" "物體在此區域停止移動的速率,代表每秒損失的線速度。\n" "詳細說明請參考 [member ProjectSettings.physics/2d/default_linear_damp]。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "Override mode for linear damping calculations within this area." msgstr "此區域內線性阻尼計算的覆寫模式。可用值請參閱 [enum SpaceOverride]。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "If [code]true[/code], other monitoring areas can detect this area." msgstr "若為 [code]true[/code],其他處於監測狀態的區域可偵測到此區域。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "If [code]true[/code], the area detects bodies or areas entering and exiting " "it." msgstr "若為 [code]true[/code],此區域會偵測物體或其他區域的進入與離開。" #: doc/classes/Area2D.xml msgid "" "The area's priority. Higher priority areas are processed first. The " "[World2D]'s physics is always processed last, after all areas." msgstr "" "區域優先權。優先權數值越高越先處理。[World2D] 的全域物理總在所有區域之後處" "理。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "Emitted when the received [param area] enters this area. Requires [member " "monitoring] to be set to [code]true[/code]." msgstr "" "當接收到的 [param area] 進入此區域時發出。需將 [member monitoring] 設為 " "[code]true[/code] 才能觸發。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "Emitted when the received [param area] exits this area. Requires [member " "monitoring] to be set to [code]true[/code]." msgstr "" "當接收到的 [param area] 離開此區域時發出。需將 [member monitoring] 設為 " "[code]true[/code] 才能觸發。" #: doc/classes/Area2D.xml msgid "" "Emitted when a [Shape2D] of the received [param area] enters a shape of this " "area. Requires [member monitoring] to be set to [code]true[/code].\n" "[param local_shape_index] and [param area_shape_index] contain indices of " "the interacting shapes from this area and the other area, respectively. " "[param area_rid] contains the [RID] of the other area. These values can be " "used with the [PhysicsServer2D].\n" "[b]Example:[/b] Get the [CollisionShape2D] node from the shape index:\n" "[codeblocks]\n" "[gdscript]\n" "var other_shape_owner = area.shape_find_owner(area_shape_index)\n" "var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "當接收到的 [param area] 之 [Shape2D] 進入本區域的某個形狀時發出。需將 " "[member monitoring] 設為 [code]true[/code] 才能觸發。\n" "[param local_shape_index] 與 [param area_shape_index] 分別為本區域與對方區域" "互動形狀的索引。[param area_rid] 為對方區域的 [RID]。這些值可搭配 " "[PhysicsServer2D] 使用。\n" "[b]範例:[/b] 依索引取得對應的 [CollisionShape2D] 節點:\n" "[codeblocks]\n" "[gdscript]\n" "var other_shape_owner = area.shape_find_owner(area_shape_index)\n" "var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/Area2D.xml msgid "" "Emitted when a [Shape2D] of the received [param area] exits a shape of this " "area. Requires [member monitoring] to be set to [code]true[/code].\n" "See also [signal area_shape_entered]." msgstr "" "當接收到的 [param area] 之 [Shape2D] 離開本區域的形狀時發出。需將 [member " "monitoring] 設為 [code]true[/code] 才能觸發。\n" "另見 [signal area_shape_entered]。" #: doc/classes/Area2D.xml msgid "" "Emitted when the received [param body] enters this area. [param body] can be " "a [PhysicsBody2D] or a [TileMap]. [TileMap]s are detected if their [TileSet] " "has collision shapes configured. Requires [member monitoring] to be set to " "[code]true[/code]." msgstr "" "當接收到的 [param body] 進入此區域時發出。[param body] 可為 [PhysicsBody2D] " "或 [TileMap]。若 [TileMap] 的 [TileSet] 設定了碰撞形狀亦可被偵測。需將 " "[member monitoring] 設為 [code]true[/code] 才能觸發。" #: doc/classes/Area2D.xml msgid "" "Emitted when the received [param body] exits this area. [param body] can be " "a [PhysicsBody2D] or a [TileMap]. [TileMap]s are detected if their [TileSet] " "has collision shapes configured. Requires [member monitoring] to be set to " "[code]true[/code]." msgstr "" "當接收到的 [param body] 離開此區域時發出。[param body] 可為 [PhysicsBody2D] " "或 [TileMap]。若 [TileMap] 的 [TileSet] 設定了碰撞形狀亦可被偵測。需將 " "[member monitoring] 設為 [code]true[/code] 才能觸發。" #: doc/classes/Area2D.xml msgid "" "Emitted when a [Shape2D] of the received [param body] enters a shape of this " "area. [param body] can be a [PhysicsBody2D] or a [TileMap]. [TileMap]s are " "detected if their [TileSet] has collision shapes configured. Requires " "[member monitoring] to be set to [code]true[/code].\n" "[param local_shape_index] and [param body_shape_index] contain indices of " "the interacting shapes from this area and the interacting body, " "respectively. [param body_rid] contains the [RID] of the body. These values " "can be used with the [PhysicsServer2D].\n" "[b]Example:[/b] Get the [CollisionShape2D] node from the shape index:\n" "[codeblocks]\n" "[gdscript]\n" "var body_shape_owner = body.shape_find_owner(body_shape_index)\n" "var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "當接收到的 [param body] 之 [Shape2D] 進入本區域的某個形狀時發出。[param " "body] 可為 [PhysicsBody2D] 或 [TileMap]。若 [TileMap] 的 [TileSet] 設定了碰撞" "形狀亦可被偵測。需將 [member monitoring] 設為 [code]true[/code] 才能觸發。\n" "[param local_shape_index] 與 [param body_shape_index] 分別為本區域與對應物件" "互動形狀的索引。[param body_rid] 為該物件的 [RID]。這些值可搭配 " "[PhysicsServer2D] 使用。\n" "[b]範例:[/b] 依索引取得對應的 [CollisionShape2D] 節點:\n" "[codeblocks]\n" "[gdscript]\n" "var body_shape_owner = body.shape_find_owner(body_shape_index)\n" "var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/Area2D.xml msgid "" "Emitted when a [Shape2D] of the received [param body] exits a shape of this " "area. [param body] can be a [PhysicsBody2D] or a [TileMap]. [TileMap]s are " "detected if their [TileSet] has collision shapes configured. Requires " "[member monitoring] to be set to [code]true[/code].\n" "See also [signal body_shape_entered]." msgstr "" "當接收到的 [param body] 之 [Shape2D] 離開本區域的形狀時發出。[param body] 可" "為 [PhysicsBody2D] 或 [TileMap]。若 [TileMap] 的 [TileSet] 設定了碰撞形狀亦可" "被偵測。需將 [member monitoring] 設為 [code]true[/code] 才能觸發。\n" "另見 [signal body_shape_entered]。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "This area does not affect gravity/damping." msgstr "此區域不影響重力/阻尼。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "This area adds its gravity/damping values to whatever has been calculated so " "far (in [member priority] order)." msgstr "" "此區域會將自己的重力/阻尼值累加至目前已計算的值(依 [member priority] 順" "序)。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "This area adds its gravity/damping values to whatever has been calculated so " "far (in [member priority] order), ignoring any lower priority areas." msgstr "" "此區域會將自己的重力/阻尼值累加至目前已計算的值(依 [member priority] 順" "序),並忽略較低優先權的區域。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "This area replaces any gravity/damping, even the defaults, ignoring any " "lower priority areas." msgstr "" "此區域會取代目前的重力/阻尼(包含預設值),並忽略所有較低優先權的區域。" #: doc/classes/Area2D.xml doc/classes/Area3D.xml msgid "" "This area replaces any gravity/damping calculated so far (in [member " "priority] order), but keeps calculating the rest of the areas." msgstr "" "此區域會取代至今為止所計算的重力/阻尼(依 [member priority] 順序),但仍會繼" "續計算其他區域。" #: doc/classes/Area3D.xml msgid "" "A region of 3D space that detects other [CollisionObject3D]s entering or " "exiting it." msgstr "3D 空間中的一個區域,能夠偵測到其他 [CollisionObject3D] 的進入或退出。" #: doc/classes/Area3D.xml msgid "" "[Area3D] is a region of 3D space defined by one or multiple " "[CollisionShape3D] or [CollisionPolygon3D] child nodes. It detects when " "other [CollisionObject3D]s enter or exit it, and it also keeps track of " "which collision objects haven't exited it yet (i.e. which one are " "overlapping it).\n" "This node can also locally alter or override physics parameters (gravity, " "damping) and route audio to custom audio buses.\n" "[b]Note:[/b] Areas and bodies created with [PhysicsServer3D] might not " "interact as expected with [Area3D]s, and might not emit signals or track " "objects correctly.\n" "[b]Warning:[/b] Using a [ConcavePolygonShape3D] inside a [CollisionShape3D] " "child of this node (created e.g. by using the [b]Create Trimesh Collision " "Sibling[/b] option in the [b]Mesh[/b] menu that appears when selecting a " "[MeshInstance3D] node) may give unexpected results, since this collision " "shape is hollow. If this is not desired, it has to be split into multiple " "[ConvexPolygonShape3D]s or primitive shapes like [BoxShape3D], or in some " "cases it may be replaceable by a [CollisionPolygon3D]." msgstr "" "[Area3D] 是 3D 空間中的一個區域,可由一個或多個 [CollisionShape3D] 或 " "[CollisionPolygon3D] 子節點定義。它能偵測其他 [CollisionObject3D] 進入或離開" "此區域,並追蹤仍在區域內(即與其重疊)的碰撞物件。\n" "此節點也可以局部調整或覆寫物理參數(重力、阻尼),並將音訊導向自訂音訊匯流" "排。\n" "[b]注意:[/b] 以 [PhysicsServer3D] 建立的 Area 與剛體可能與 [Area3D] 的互動不" "如預期,亦可能無法正確發送訊號或追蹤物件。\n" "[b]警告:[/b] 若在本節點的 [CollisionShape3D] 子節點中使用 " "[ConcavePolygonShape3D](例如在選取 [MeshInstance3D] 後於 [b]Mesh[/b] 功能表" "選擇 [b]Create Trimesh Collision Sibling[/b] 建立),因為該碰撞形狀為中空,可" "能產生非預期結果。如不希望如此,請將其拆分為多個 [ConvexPolygonShape3D] 或 " "[BoxShape3D] 等基礎形狀;某些情況下亦可改用 [CollisionPolygon3D]。" #: doc/classes/Area3D.xml doc/classes/QuadMesh.xml doc/classes/SubViewport.xml #: doc/classes/Viewport.xml doc/classes/ViewportTexture.xml msgid "GUI in 3D Viewport Demo" msgstr "3D 檢視埠 GUI 範例" #: doc/classes/Area3D.xml msgid "" "Returns a list of intersecting [Area3D]s. The overlapping area's [member " "CollisionObject3D.collision_layer] must be part of this area's [member " "CollisionObject3D.collision_mask] in order to be detected.\n" "For performance reasons (collisions are all processed at the same time) this " "list is modified once during the physics step, not immediately after objects " "are moved. Consider using signals instead." msgstr "" "返回相交的 [Area3D] 的列表。重疊區域的 [member " "CollisionObject3D.collision_layer] 必須是該區域的 [member " "CollisionObject3D.collision_mask] 的一部分才能被偵測到。\n" "出於性能原因(同時處理所有碰撞),此列表在物理步驟期間修改一次,而不是在實體" "被移動後立即修改。可考慮改用訊號。" #: doc/classes/Area3D.xml msgid "" "Returns a list of intersecting [PhysicsBody3D]s and [GridMap]s. The " "overlapping body's [member CollisionObject3D.collision_layer] must be part " "of this area's [member CollisionObject3D.collision_mask] in order to be " "detected.\n" "For performance reasons (collisions are all processed at the same time) this " "list is modified once during the physics step, not immediately after objects " "are moved. Consider using signals instead." msgstr "" "返回相交的 [PhysicsBody3D] 和 [GridMap]。重疊物體的 [member " "CollisionObject3D.collision_layer] 必須是該區域 [member " "CollisionObject3D.collision_mask] 的一部分,才能被偵測到。\n" "出於性能原因(所有碰撞都是一起處理的),這個列表只會在每次物理反覆運算時發生" "一次更改,不會在物件移動後立即更改。請考慮使用訊號。" #: doc/classes/Area3D.xml msgid "" "Returns [code]true[/code] if intersecting any [Area3D]s, otherwise returns " "[code]false[/code]. The overlapping area's [member " "CollisionObject3D.collision_layer] must be part of this area's [member " "CollisionObject3D.collision_mask] in order to be detected.\n" "For performance reasons (collisions are all processed at the same time) the " "list of overlapping areas is modified once during the physics step, not " "immediately after objects are moved. Consider using signals instead." msgstr "" "如果與其他 [Area3D] 相交,則返回 [code]true[/code],否則返回 [code]false[/" "code]。重疊區域的 [member CollisionObject3D.collision_layer] 必須是該區域 " "[member CollisionObject3D.collision_mask] 的一部分,才能被偵測到。\n" "出於性能原因(所有碰撞都是一起處理的),重疊區域的列表只會在每次物理反覆運算" "時發生一次更改,不會在對象移動後立即更改。請考慮使用訊號。" #: doc/classes/Area3D.xml msgid "" "Returns [code]true[/code] if intersecting any [PhysicsBody3D]s or " "[GridMap]s, otherwise returns [code]false[/code]. The overlapping body's " "[member CollisionObject3D.collision_layer] must be part of this area's " "[member CollisionObject3D.collision_mask] in order to be detected.\n" "For performance reasons (collisions are all processed at the same time) the " "list of overlapping bodies is modified once during the physics step, not " "immediately after objects are moved. Consider using signals instead." msgstr "" "如果與其他 [PhysicsBody3D] 或 [GridMap] 相交,則返回 [code]true[/code],否則" "返回 [code]false[/code]。重疊物體的 [member " "CollisionObject3D.collision_layer] 必須是該區域 [member " "CollisionObject3D.collision_mask] 的一部分,才能被偵測到。\n" "出於性能原因(所有碰撞都是一起處理的),重疊物體的列表只會在每次物理反覆運算" "時發生一次更改,不會在對象移動後立即更改。請考慮使用訊號。" #: doc/classes/Area3D.xml msgid "" "Returns [code]true[/code] if the given [Area3D] intersects or overlaps this " "[Area3D], [code]false[/code] otherwise.\n" "[b]Note:[/b] The result of this test is not immediate after moving objects. " "For performance, list of overlaps is updated once per frame and before the " "physics step. Consider using signals instead." msgstr "" "如果給定的 [Area3D] 與此 [Area3D] 相交或重疊,則返回 [code]true[/code],否則" "返回 [code]false[/code]。\n" "[b]注意:[/b]測試結果不反映物件移動後的即時狀態。出於性能原因,重疊列表每影格" "只會在物理反覆運算前更新一次。請考慮使用訊號。" #: doc/classes/Area3D.xml msgid "" "Returns [code]true[/code] if the given physics body intersects or overlaps " "this [Area3D], [code]false[/code] otherwise.\n" "[b]Note:[/b] The result of this test is not immediate after moving objects. " "For performance, list of overlaps is updated once per frame and before the " "physics step. Consider using signals instead.\n" "The [param body] argument can either be a [PhysicsBody3D] or a [GridMap] " "instance. While GridMaps are not physics body themselves, they register " "their tiles with collision shapes as a virtual physics body." msgstr "" "如果給定的物理物體與此 [Area3D] 相交或重疊,則返回 [code]true[/code],否則返" "回 [code]false[/code]。\n" "[b]注意:[/b]測試結果不反映物件移動後的即時狀態。出於性能原因,重疊列表每影格" "只會在物理反覆運算前更新一次。請考慮使用訊號。\n" "參數 [param body] 可以是 [PhysicsBody3D] 實例,也可以是 [GridMap] 實例。" "GridMap 雖然不是物理物體,但會把圖塊的碰撞形狀註冊為虛擬物理物體。" #: doc/classes/Area3D.xml msgid "" "The rate at which objects stop spinning in this area. Represents the angular " "velocity lost per second.\n" "See [member ProjectSettings.physics/3d/default_angular_damp] for more " "details about damping." msgstr "" "物體在此區域停止旋轉的速度。代表每秒損失的角速度.\n" "關於阻尼的更多細節,見 [member ProjectSettings.physics/3d/" "default_angular_damp]。" #: doc/classes/Area3D.xml msgid "" "The area's gravity intensity (in meters per second squared). This value " "multiplies the gravity direction. This is useful to alter the force of " "gravity without altering its direction." msgstr "" "該區域的重力強度(以米每平方秒為單位)。這個值是重力向量的倍數。這對於改變重" "力大小而不改變其方向很有用。" #: doc/classes/Area3D.xml msgid "" "The distance at which the gravity strength is equal to [member gravity]. For " "example, on a planet 100 meters in radius with a surface gravity of 4.0 m/" "s², set the [member gravity] to 4.0 and the unit distance to 100.0. The " "gravity will have falloff according to the inverse square law, so in the " "example, at 200 meters from the center the gravity will be 1.0 m/s² (twice " "the distance, 1/4th the gravity), at 50 meters it will be 16.0 m/s² (half " "the distance, 4x the gravity), and so on.\n" "The above is true only when the unit distance is a positive number. When " "this is set to 0.0, the gravity will be constant regardless of distance." msgstr "" "重力強度等於 [member gravity] 的距離。例如,在一個半徑為 100 米、表面重力為 " "4.0 m/s² 的行星上,將 [member gravity] 設定為 4.0,將單位距離設定為 100.0。重" "力會根據平方反比定律衰減,因此在該範例中,距中心 200 米處的重力將為 1.0 m/s²" "(距離的兩倍,重力的 1/4),在 50 米處為 16.0 m/s²(距離的一半,重力的 4 " "倍),依此類推。\n" "僅當單位距離為正數時,上述情況才成立。當該屬性被設定為 0.0 時,無論距離如何," "重力都將保持不變。" #: doc/classes/Area3D.xml msgid "" "The rate at which objects stop moving in this area. Represents the linear " "velocity lost per second.\n" "See [member ProjectSettings.physics/3d/default_linear_damp] for more details " "about damping." msgstr "" "實體在此區域減速的速率。代表每秒損失的線速度。\n" "關於阻尼的更多細節,見[member ProjectSettings.physics/3d/" "default_linear_damp]。" #: doc/classes/Area3D.xml msgid "" "The area's priority. Higher priority areas are processed first. The " "[World3D]'s physics is always processed last, after all areas." msgstr "" "該區域的優先順序。將優先處理優先順序較高的區域。[World3D] 的物理始終在所有區" "域之後處理。" #: doc/classes/Area3D.xml msgid "" "The degree to which this area applies reverb to its associated audio. Ranges " "from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision." msgstr "" "該區域對其相關音訊套用混響的程度。範圍從 [code]0[/code] 到 [code]1[/code],精" "度為 [code]0.1[/code]。" #: doc/classes/Area3D.xml msgid "If [code]true[/code], the area applies reverb to its associated audio." msgstr "如果為 [code]true[/code],該區域會將混響套用於其關聯音訊。" #: doc/classes/Area3D.xml msgid "The name of the reverb bus to use for this area's associated audio." msgstr "用於該區域關聯音訊的混響匯流排的名稱。" #: doc/classes/Area3D.xml msgid "" "The degree to which this area's reverb is a uniform effect. Ranges from " "[code]0[/code] to [code]1[/code] with [code]0.1[/code] precision." msgstr "" "該區域的混響效果均勻的程度。範圍從 [code]0[/code] 到 [code]1[/code],精度為 " "[code]0.1[/code]。" #: doc/classes/Area3D.xml msgid "" "The exponential rate at which wind force decreases with distance from its " "origin.\n" "[b]Note:[/b] This wind force only applies to [SoftBody3D] nodes. Other " "physics bodies are currently not affected by wind." msgstr "" "風力隨與源點距離增加而呈指數遞減的速率。\n" "[b]注意:[/b] 風力僅作用於 [SoftBody3D] 節點,其他物理物體目前不受影響。" #: doc/classes/Area3D.xml msgid "" "The magnitude of area-specific wind force.\n" "[b]Note:[/b] This wind force only applies to [SoftBody3D] nodes. Other " "physics bodies are currently not affected by wind." msgstr "" "此區域專屬風力的強度大小。\n" "[b]注意:[/b] 風力僅作用於 [SoftBody3D] 節點,其他物理物體目前不受影響。" #: doc/classes/Area3D.xml msgid "" "The [Node3D] which is used to specify the direction and origin of an area-" "specific wind force. The direction is opposite to the z-axis of the " "[Node3D]'s local transform, and its origin is the origin of the [Node3D]'s " "local transform.\n" "[b]Note:[/b] This wind force only applies to [SoftBody3D] nodes. Other " "physics bodies are currently not affected by wind." msgstr "" "用以指定此區域風力方向與來源的 [Node3D]。風向與該節點局部轉換的 z 軸相反,風" "源則位於其局部原點。\n" "[b]注意:[/b] 風力僅作用於 [SoftBody3D] 節點,其他物理物體目前不受影響。" #: doc/classes/Area3D.xml msgid "" "Emitted when a [Shape3D] of the received [param area] enters a shape of this " "area. Requires [member monitoring] to be set to [code]true[/code].\n" "[param local_shape_index] and [param area_shape_index] contain indices of " "the interacting shapes from this area and the other area, respectively. " "[param area_rid] contains the [RID] of the other area. These values can be " "used with the [PhysicsServer3D].\n" "[b]Example:[/b] Get the [CollisionShape3D] node from the shape index:\n" "[codeblocks]\n" "[gdscript]\n" "var other_shape_owner = area.shape_find_owner(area_shape_index)\n" "var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "當接收到的 [param area] 中的某個 [Shape3D] 進入此區域的某個形狀時觸發。必須" "將 [member monitoring] 設為 [code]true[/code]。\n" "[param local_shape_index] 與 [param area_shape_index] 分別為此區域與對方區域" "中互動形狀的索引;[param area_rid] 為對方區域的 [RID]。這些值可與 " "[PhysicsServer3D] 配合使用。\n" "[b]範例:[/b] 依形狀索引取得 [CollisionShape3D] 節點:\n" "[codeblocks]\n" "[gdscript]\n" "var other_shape_owner = area.shape_find_owner(area_shape_index)\n" "var other_shape_node = area.shape_owner_get_owner(other_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/Area3D.xml msgid "" "Emitted when a [Shape3D] of the received [param area] exits a shape of this " "area. Requires [member monitoring] to be set to [code]true[/code].\n" "See also [signal area_shape_entered]." msgstr "" "當接收的 [param area] 的 [Shape3D] 退出此區域的形狀時發出。需要 [member " "monitoring] 被設定為 [code]true[/code]。\n" "另見 [signal area_shape_entered]。" #: doc/classes/Area3D.xml msgid "" "Emitted when the received [param body] enters this area. [param body] can be " "a [PhysicsBody3D] or a [GridMap]. [GridMap]s are detected if their " "[MeshLibrary] has collision shapes configured. Requires [member monitoring] " "to be set to [code]true[/code]." msgstr "" "當接收到的 [param body] 進入這個區域時發出。[param body] 可以是一個 " "[PhysicsBody3D] 或一個 [GridMap]。如果 [GridMap] 的 [MeshLibrary] 配置了碰撞" "形狀就會被偵測到。需要將 [member monitoring] 設定為 [code]true[/code] 。" #: doc/classes/Area3D.xml msgid "" "Emitted when the received [param body] exits this area. [param body] can be " "a [PhysicsBody3D] or a [GridMap]. [GridMap]s are detected if their " "[MeshLibrary] has collision shapes configured. Requires [member monitoring] " "to be set to [code]true[/code]." msgstr "" "當接收到的 [param body] 離開這個區域時發出的。[param body] 可以是一個 " "[PhysicsBody3D] 或一個 [GridMap]。如果 [GridMap] 的 [MeshLibrary] 配置了碰撞" "形狀,就會被偵測到。要求 [member monitoring] 被設定為 [code]true[/code] 。" #: doc/classes/Area3D.xml msgid "" "Emitted when a [Shape3D] of the received [param body] enters a shape of this " "area. [param body] can be a [PhysicsBody3D] or a [GridMap]. [GridMap]s are " "detected if their [MeshLibrary] has collision shapes configured. Requires " "[member monitoring] to be set to [code]true[/code].\n" "[param local_shape_index] and [param body_shape_index] contain indices of " "the interacting shapes from this area and the interacting body, " "respectively. [param body_rid] contains the [RID] of the body. These values " "can be used with the [PhysicsServer3D].\n" "[b]Example:[/b] Get the [CollisionShape3D] node from the shape index:\n" "[codeblocks]\n" "[gdscript]\n" "var body_shape_owner = body.shape_find_owner(body_shape_index)\n" "var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "當接收到的 [param body](可為 [PhysicsBody3D] 或 [GridMap],其中 [GridMap] 必" "須在其 [MeshLibrary] 中設定碰撞形狀)之 [Shape3D] 進入此區域的某個形狀時觸" "發。必須將 [member monitoring] 設為 [code]true[/code]。\n" "[param local_shape_index] 與 [param body_shape_index] 分別為此區域與該物體中" "互動形狀的索引;[param body_rid] 為該物體的 [RID]。這些值可與 " "[PhysicsServer3D] 配合使用。\n" "[b]範例:[/b] 依形狀索引取得 [CollisionShape3D] 節點:\n" "[codeblocks]\n" "[gdscript]\n" "var body_shape_owner = body.shape_find_owner(body_shape_index)\n" "var body_shape_node = body.shape_owner_get_owner(body_shape_owner)\n" "\n" "var local_shape_owner = shape_find_owner(local_shape_index)\n" "var local_shape_node = shape_owner_get_owner(local_shape_owner)\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/Area3D.xml msgid "" "Emitted when a [Shape3D] of the received [param body] exits a shape of this " "area. [param body] can be a [PhysicsBody3D] or a [GridMap]. [GridMap]s are " "detected if their [MeshLibrary] has collision shapes configured. Requires " "[member monitoring] to be set to [code]true[/code].\n" "See also [signal body_shape_entered]." msgstr "" "當接收到的物體 [param body] 中的某個 [Shape3D] 離開此區域中的某個形狀時發出。" "[param body] 可以是 [PhysicsBody3D] 或 [GridMap]。[GridMap] 的 [MeshLibrary] " "配置有碰撞形狀時才能夠被偵測到。要求將 [member monitoring] 設定為 " "[code]true[/code]。\n" "另見 [signal body_shape_entered]。" #: doc/classes/Array.xml msgid "A built-in data structure that holds a sequence of elements." msgstr "內建的資料結構,可儲存一連串元素。" #: doc/classes/Array.xml #, fuzzy msgid "" "An array data structure that can contain a sequence of elements of any " "[Variant] type by default. Values can optionally be constrained to a " "specific type by creating a [i]typed array[/i]. Elements are accessed by a " "numerical index starting at [code]0[/code]. Negative indices are used to " "count from the back ([code]-1[/code] is the last element, [code]-2[/code] is " "the second to last, etc.).\n" "[codeblocks]\n" "[gdscript]\n" "var array = [\"First\", 2, 3, \"Last\"]\n" "print(array[0]) # Prints \"First\"\n" "print(array[2]) # Prints 3\n" "print(array[-1]) # Prints \"Last\"\n" "\n" "array[1] = \"Second\"\n" "print(array[1]) # Prints \"Second\"\n" "print(array[-3]) # Prints \"Second\"\n" "\n" "# This typed array can only contain integers.\n" "# Attempting to add any other type will result in an error.\n" "var typed_array: Array[int] = [1, 2, 3]\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array array = [\"First\", 2, 3, \"Last\"];\n" "GD.Print(array[0]); // Prints \"First\"\n" "GD.Print(array[2]); // Prints 3\n" "GD.Print(array[^1]); // Prints \"Last\"\n" "\n" "array[1] = \"Second\";\n" "GD.Print(array[1]); // Prints \"Second\"\n" "GD.Print(array[^3]); // Prints \"Second\"\n" "\n" "// This typed array can only contain integers.\n" "// Attempting to add any other type will result in an error.\n" "Godot.Collections.Array typedArray = [1, 2, 3];\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] Arrays are always passed by [b]reference[/b]. To get a copy of " "an array that can be modified independently of the original array, use " "[method duplicate].\n" "[b]Note:[/b] Erasing elements while iterating over arrays is [b]not[/b] " "supported and will result in unpredictable behavior.\n" "[b]Differences between packed arrays, typed arrays, and untyped arrays:[/b] " "Packed arrays are generally faster to iterate on and modify compared to a " "typed array of the same type (e.g. [PackedInt64Array] versus [code]Array[int]" "[/code]). Also, packed arrays consume less memory. As a downside, packed " "arrays are less flexible as they don't offer as many convenience methods " "such as [method Array.map]. Typed arrays are in turn faster to iterate on " "and modify than untyped arrays." msgstr "" "通用陣列,可容納任意 [Variant] 型別的元素。元素以從 [code]0[/code] 開始的數值" "索引存取。負索引用於從尾端反向計數([code]-1[/code] 為最後一個元素、" "[code]-2[/code] 為倒數第二個,如此類推)。\n" "[codeblocks]\n" "[gdscript]\n" "var array = [\"First\", 2, 3, \"Last\"]\n" "print(array[0]) # 輸出 \"First\"\n" "print(array[2]) # 輸出 3\n" "print(array[-1]) # 輸出 \"Last\"\n" "\n" "array[1] = \"Second\"\n" "print(array[1]) # 輸出 \"Second\"\n" "print(array[-3]) # 輸出 \"Second\"\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array array = [\"First\", 2, 3, \"Last\"];\n" "GD.Print(array[0]); // 輸出 \"First\"\n" "GD.Print(array[2]); // 輸出 3\n" "GD.Print(array[^1]); // 輸出 \"Last\"\n" "\n" "array[1] = \"Second\";\n" "GD.Print(array[1]); // 輸出 \"Second\"\n" "GD.Print(array[^3]); // 輸出 \"Second\"\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 陣列一律以 [b]參照[/b] 傳遞。若需可獨立於原始陣列修改的副本,請" "使用 [method duplicate]。\n" "[b]注意:[/b] 於迭代陣列時刪除元素[b]不被支援[/b],將導致不可預期的行為。\n" "[b]Packed 陣列、型別化陣列與未型別化陣列差異:[/b] 相較同型別的型別化陣列" "(如 [code]Array[int][/code]),Packed 陣列(如 [PackedInt64Array])在迭代與" "修改時通常更快且佔用更少記憶體,缺點是缺乏如 [method Array.map] 等便利方法。" "型別化陣列則比未型別化陣列更快。" #: doc/classes/Array.xml msgid "Constructs an empty [Array]." msgstr "建構空的 [Array]。" #: doc/classes/Array.xml msgid "" "Creates a typed array from the [param base] array. A typed array can only " "contain elements of the given type, or that inherit from the given class, as " "described by this constructor's parameters:\n" "- [param type] is the built-in [Variant] type, as one the [enum " "Variant.Type] constants.\n" "- [param class_name] is the built-in class name (see [method " "Object.get_class]).\n" "- [param script] is the associated script. It must be a [Script] instance or " "[code]null[/code].\n" "If [param type] is not [constant TYPE_OBJECT], [param class_name] must be an " "empty [StringName] and [param script] must be [code]null[/code].\n" "[codeblock]\n" "class_name Sword\n" "extends Node\n" "\n" "class Stats:\n" "\tpass\n" "\n" "func _ready():\n" "\tvar a = Array([], TYPE_INT, \"\", null) # Array[int]\n" "\tvar b = Array([], TYPE_OBJECT, \"Node\", null) # Array[Node]\n" "\tvar c = Array([], TYPE_OBJECT, \"Node\", Sword) # Array[Sword]\n" "\tvar d = Array([], TYPE_OBJECT, \"RefCounted\", Stats) # Array[Stats]\n" "[/codeblock]\n" "The [param base] array's elements are converted when necessary. If this is " "not possible or [param base] is already typed, this constructor fails and " "returns an empty [Array].\n" "In GDScript, this constructor is usually not necessary, as it is possible to " "create a typed array through static typing:\n" "[codeblock]\n" "var numbers: Array[float] = []\n" "var children: Array[Node] = [$Node, $Sprite2D, $RigidBody3D]\n" "\n" "var integers: Array[int] = [0.2, 4.5, -2.0]\n" "print(integers) # Prints [0, 4, -2]\n" "[/codeblock]" msgstr "" "從 [param base] 陣列建立一個「型別化陣列」。型別化陣列只能包含指定型別的元" "素,或繼承自指定類別的元素,具體由建構子的參數決定:\n" "- [param type]:內建 [Variant] 型別,使用 [enum Variant.Type] 常數之一。\n" "- [param class_name]:內建類別名稱(參見 [method Object.get_class])。\n" "- [param script]:關聯的腳本,必須是 [Script] 實例或 [code]null[/code]。\n" "若 [param type] 不是 [constant TYPE_OBJECT],則 [param class_name] 必須為空" "的 [StringName],且 [param script] 必須為 [code]null[/code]。\n" "[codeblock]\n" "class_name Sword\n" "extends Node\n" "\n" "class Stats:\n" "\tpass\n" "\n" "func _ready():\n" "\tvar a = Array([], TYPE_INT, \"\", null) # Array[int]\n" "\tvar b = Array([], TYPE_OBJECT, \"Node\", null) # Array[Node]\n" "\tvar c = Array([], TYPE_OBJECT, \"Node\", Sword) # Array[Sword]\n" "\tvar d = Array([], TYPE_OBJECT, \"RefCounted\", Stats) # Array[Stats]\n" "[/codeblock]\n" "必要時會轉換 [param base] 陣列中的元素;若無法轉換,或 [param base] 已是型別" "化陣列,則建構子會失敗並回傳空的 [Array]。\n" "在 GDScript 中通常不需要呼叫此建構子,因為可透過靜態型別直接建立型別化陣" "列:\n" "[codeblock]\n" "var numbers: Array[float] = []\n" "var children: Array[Node] = [$Node, $Sprite2D, $RigidBody3D]\n" "\n" "var integers: Array[int] = [0.2, 4.5, -2.0]\n" "print(integers) # 輸出 [0, 4, -2]\n" "[/codeblock]" #: doc/classes/Array.xml msgid "" "Returns the same array as [param from]. If you need a copy of the array, use " "[method duplicate]." msgstr "回傳與 [param from] 相同的陣列。若需副本,請使用 [method duplicate]。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedByteArray]." msgstr "從 [PackedByteArray] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedColorArray]." msgstr "從 [PackedColorArray] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedFloat32Array]." msgstr "從 [PackedFloat32Array] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedFloat64Array]." msgstr "從 [PackedFloat64Array] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedInt32Array]." msgstr "從 [PackedInt32Array] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedInt64Array]." msgstr "從 [PackedInt64Array] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedStringArray]." msgstr "從 [PackedStringArray] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedVector2Array]." msgstr "從 [PackedVector2Array] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedVector3Array]." msgstr "從 [PackedVector3Array] 建構陣列。" #: doc/classes/Array.xml msgid "Constructs an array from a [PackedVector4Array]." msgstr "從 [PackedVector4Array] 建構陣列。" #: doc/classes/Array.xml msgid "" "Calls the given [Callable] on each element in the array and returns " "[code]true[/code] if the [Callable] returns [code]true[/code] for [i]all[/i] " "elements in the array. If the [Callable] returns [code]false[/code] for one " "array element or more, this method returns [code]false[/code].\n" "The [param method] should take one [Variant] parameter (the current array " "element) and return a [bool].\n" "[codeblocks]\n" "[gdscript]\n" "func greater_than_5(number):\n" "\treturn number > 5\n" "\n" "func _ready():\n" "\tprint([6, 10, 6].all(greater_than_5)) # Prints true (3/3 elements evaluate " "to true).\n" "\tprint([4, 10, 4].all(greater_than_5)) # Prints false (1/3 elements " "evaluate to true).\n" "\tprint([4, 4, 4].all(greater_than_5)) # Prints false (0/3 elements " "evaluate to true).\n" "\tprint([].all(greater_than_5)) # Prints true (0/0 elements evaluate " "to true).\n" "\n" "\t# Same as the first line above, but using a lambda function.\n" "\tprint([6, 10, 6].all(func(element): return element > 5)) # Prints true\n" "[/gdscript]\n" "[csharp]\n" "private static bool GreaterThan5(int number)\n" "{\n" "\treturn number > 5;\n" "}\n" "\n" "public override void _Ready()\n" "{\n" "\t// Prints True (3/3 elements evaluate to true).\n" "\tGD.Print(new Godot.Collections.Array>int< { 6, 10, " "6 }.All(GreaterThan5));\n" "\t// Prints False (1/3 elements evaluate to true).\n" "\tGD.Print(new Godot.Collections.Array>int< { 4, 10, " "4 }.All(GreaterThan5));\n" "\t// Prints False (0/3 elements evaluate to true).\n" "\tGD.Print(new Godot.Collections.Array>int< { 4, 4, 4 }.All(GreaterThan5));\n" "\t// Prints True (0/0 elements evaluate to true).\n" "\tGD.Print(new Godot.Collections.Array>int< { }.All(GreaterThan5));\n" "\n" "\t// Same as the first line above, but using a lambda function.\n" "\tGD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(element => " "element > 5)); // Prints True\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "See also [method any], [method filter], [method map] and [method reduce].\n" "[b]Note:[/b] Unlike relying on the size of an array returned by [method " "filter], this method will return as early as possible to improve performance " "(especially with large arrays).\n" "[b]Note:[/b] For an empty array, this method [url=https://en.wikipedia.org/" "wiki/Vacuous_truth]always[/url] returns [code]true[/code]." msgstr "" "對陣列中的每個元素呼叫指定的 [Callable]。若該 [Callable] 對陣列中 [i]所有[/" "i] 元素皆回傳 [code]true[/code],本方法便回傳 [code]true[/code];只要有任一元" "素回傳 [code]false[/code],就會回傳 [code]false[/code]。\n" "[param method] 必須接受一個 [Variant] 參數(目前的陣列元素)並回傳 [bool]。\n" "[codeblocks]\n" "[gdscript]\n" "func greater_than_5(number):\n" "\treturn number > 5\n" "\n" "func _ready():\n" "\tprint([6, 10, 6].all(greater_than_5)) # 印出 true(3/3 個元素為 true)\n" "\tprint([4, 10, 4].all(greater_than_5)) # 印出 false(1/3 個元素為 true)\n" "\tprint([4, 4, 4].all(greater_than_5)) # 印出 false(0/3 個元素為 true)\n" "\tprint([].all(greater_than_5)) # 印出 true(0/0 個元素為 true)\n" "\n" "\t# 與上方第一行相同,但以 Lambda 撰寫。\n" "\tprint([6, 10, 6].all(func(element): return element > 5)) # 印出 true\n" "[/gdscript]\n" "[csharp]\n" "private static bool GreaterThan5(int number)\n" "{\n" "\treturn number > 5;\n" "}\n" "\n" "public override void _Ready()\n" "{\n" "\t// 印出 True(3/3 個元素為 true)。\n" "\tGD.Print(new Godot.Collections.Array { 6, 10, " "6 }.All(GreaterThan5));\n" "\t// 印出 False(1/3 個元素為 true)。\n" "\tGD.Print(new Godot.Collections.Array { 4, 10, " "4 }.All(GreaterThan5));\n" "\t// 印出 False(0/3 個元素為 true)。\n" "\tGD.Print(new Godot.Collections.Array { 4, 4, 4 }.All(GreaterThan5));\n" "\t// 印出 True(0/0 個元素為 true)。\n" "\tGD.Print(new Godot.Collections.Array { }.All(GreaterThan5));\n" "\n" "\t// 與上方第一行相同,但以 Lambda 撰寫。\n" "\tGD.Print(new Godot.Collections.Array { 6, 10, 6 }.All(element => " "element > 5)); // 印出 True\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "另請參閱 [method any]、[method filter]、[method map] 與 [method reduce]。\n" "[b]注意:[/b]與依賴 [method filter] 回傳陣列大小的作法不同,此方法會在第一時" "間就結束,以提升效能(大量陣列尤然)。\n" "[b]注意:[/b]對空陣列來說,此方法[url=https://en.wikipedia.org/wiki/" "Vacuous_truth]永遠[/url]回傳 [code]true[/code]。" #: doc/classes/Array.xml msgid "" "Calls the given [Callable] on each element in the array and returns " "[code]true[/code] if the [Callable] returns [code]true[/code] for [i]one or " "more[/i] elements in the array. If the [Callable] returns [code]false[/code] " "for all elements in the array, this method returns [code]false[/code].\n" "The [param method] should take one [Variant] parameter (the current array " "element) and return a [bool].\n" "[codeblock]\n" "func greater_than_5(number):\n" "\treturn number > 5\n" "\n" "func _ready():\n" "\tprint([6, 10, 6].any(greater_than_5)) # Prints true (3 elements evaluate " "to true).\n" "\tprint([4, 10, 4].any(greater_than_5)) # Prints true (1 elements evaluate " "to true).\n" "\tprint([4, 4, 4].any(greater_than_5)) # Prints false (0 elements evaluate " "to true).\n" "\tprint([].any(greater_than_5)) # Prints false (0 elements evaluate " "to true).\n" "\n" "\t# Same as the first line above, but using a lambda function.\n" "\tprint([6, 10, 6].any(func(number): return number > 5)) # Prints true\n" "[/codeblock]\n" "See also [method all], [method filter], [method map] and [method reduce].\n" "[b]Note:[/b] Unlike relying on the size of an array returned by [method " "filter], this method will return as early as possible to improve performance " "(especially with large arrays).\n" "[b]Note:[/b] For an empty array, this method always returns [code]false[/" "code]." msgstr "" "對陣列中的每個元素呼叫指定的 [Callable]。若該 [Callable] 對陣列中 [i]至少一個" "[/i] 元素回傳 [code]true[/code],本方法便回傳 [code]true[/code];若所有元素皆" "回傳 [code]false[/code],則回傳 [code]false[/code]。\n" "[param method] 必須接受一個 [Variant] 參數(目前的陣列元素)並回傳 [bool]。\n" "[codeblock]\n" "func greater_than_5(number):\n" "\treturn number > 5\n" "\n" "func _ready():\n" "\tprint([6, 10, 6].any(greater_than_5)) # 印出 true(3 個元素為 true)\n" "\tprint([4, 10, 4].any(greater_than_5)) # 印出 true(1 個元素為 true)\n" "\tprint([4, 4, 4].any(greater_than_5)) # 印出 false(0 個元素為 true)\n" "\tprint([].any(greater_than_5)) # 印出 false(0 個元素為 true)\n" "\n" "\t# 與上方第一行相同,但以 Lambda 撰寫。\n" "\tprint([6, 10, 6].any(func(number): return number > 5)) # 印出 true\n" "[/codeblock]\n" "另請參閱 [method all]、[method filter]、[method map] 與 [method reduce]。\n" "[b]注意:[/b]與依賴 [method filter] 回傳陣列大小的作法不同,此方法會在第一時" "間就結束,以提升效能(大量陣列尤然)。\n" "[b]注意:[/b]對空陣列來說,本方法一律回傳 [code]false[/code]。" #: doc/classes/Array.xml msgid "" "Appends [param value] at the end of the array (alias of [method push_back])." msgstr "於陣列尾端附加 [param value]([method push_back] 的別名)。" #: doc/classes/Array.xml msgid "" "Appends another [param array] at the end of this array.\n" "[codeblock]\n" "var numbers = [1, 2, 3]\n" "var extra = [4, 5, 6]\n" "numbers.append_array(extra)\n" "print(numbers) # Prints [1, 2, 3, 4, 5, 6]\n" "[/codeblock]" msgstr "" "將另一個 [param array] 追加到本陣列尾端。\n" "[codeblock]\n" "var numbers = [1, 2, 3]\n" "var extra = [4, 5, 6]\n" "numbers.append_array(extra)\n" "print(numbers) # 印出 [1, 2, 3, 4, 5, 6]\n" "[/codeblock]" #: doc/classes/Array.xml msgid "" "Assigns elements of another [param array] into the array. Resizes the array " "to match [param array]. Performs type conversions if the array is typed." msgstr "" "將另一個 [param array] 的元素指派至此陣列,並自動調整大小以符合 [param " "array]。若此陣列已有型別限制,則會自動執行型別轉換。" #: doc/classes/Array.xml msgid "" "Returns the last element of the array. If the array is empty, fails and " "returns [code]null[/code]. See also [method front].\n" "[b]Note:[/b] Unlike with the [code][][/code] operator ([code]array[-1][/" "code]), an error is generated without stopping project execution." msgstr "" "回傳陣列最後一個元素。若陣列為空,則失敗並回傳 [code]null[/code]。另見 " "[method front]。\n" "[b]注意:[/b]與直接使用 [code]array[-1][/code] 取值不同,若陣列為空,這個方法" "只會產生錯誤訊息,不會中斷專案執行。" #: doc/classes/Array.xml msgid "" "Returns the index of [param value] in the sorted array. If it cannot be " "found, returns where [param value] should be inserted to keep the array " "sorted. The algorithm used is [url=https://en.wikipedia.org/wiki/" "Binary_search_algorithm]binary search[/url].\n" "If [param before] is [code]true[/code] (as by default), the returned index " "comes before all existing elements equal to [param value] in the array.\n" "[codeblock]\n" "var numbers = [2, 4, 8, 10]\n" "var idx = numbers.bsearch(7)\n" "\n" "numbers.insert(idx, 7)\n" "print(numbers) # Prints [2, 4, 7, 8, 10]\n" "\n" "var fruits = [\"Apple\", \"Lemon\", \"Lemon\", \"Orange\"]\n" "print(fruits.bsearch(\"Lemon\", true)) # Prints 1, points at the first " "\"Lemon\".\n" "print(fruits.bsearch(\"Lemon\", false)) # Prints 3, points at \"Orange\".\n" "[/codeblock]\n" "[b]Note:[/b] Calling [method bsearch] on an [i]unsorted[/i] array will " "result in unexpected behavior. Use [method sort] before calling this method." msgstr "" "回傳已排序陣列中 [param value] 的索引;若找不到,則回傳 [param value] 應插入" "的位置以維持排序。內部演算法使用[url=https://en.wikipedia.org/wiki/" "Binary_search_algorithm]二分搜尋[/url]。\n" "若 [param before] 為 [code]true[/code](預設),則傳回的索引會位於陣列中所有" "與 [param value] 相等元素之前。\n" "[codeblock]\n" "var numbers = [2, 4, 8, 10]\n" "var idx = numbers.bsearch(7)\n" "numbers.insert(idx, 7)\n" "print(numbers) # 印出 [2, 4, 7, 8, 10]\n" "\n" "var fruits = [\"Apple\", \"Lemon\", \"Lemon\", \"Orange\"]\n" "print(fruits.bsearch(\"Lemon\", true)) # 印出 1,指向第一個 \"Lemon\"\n" "print(fruits.bsearch(\"Lemon\", false)) # 印出 3,指向 \"Orange\"\n" "[/codeblock]\n" "[b]注意:[/b]在[i]未排序[/i]的陣列上呼叫 [method bsearch] 會得到不可預期的結" "果,請先使用 [method sort]。" #: doc/classes/Array.xml msgid "" "Returns the index of [param value] in the sorted array. If it cannot be " "found, returns where [param value] should be inserted to keep the array " "sorted (using [param func] for the comparisons). The algorithm used is " "[url=https://en.wikipedia.org/wiki/Binary_search_algorithm]binary search[/" "url].\n" "Similar to [method sort_custom], [param func] is called as many times as " "necessary, receiving one array element and [param value] as arguments. The " "function should return [code]true[/code] if the array element should be " "[i]behind[/i] [param value], otherwise it should return [code]false[/code].\n" "If [param before] is [code]true[/code] (as by default), the returned index " "comes before all existing elements equal to [param value] in the array.\n" "[codeblock]\n" "func sort_by_amount(a, b):\n" "\tif a[1] < b[1]:\n" "\t\treturn true\n" "\treturn false\n" "\n" "func _ready():\n" "\tvar my_items = [[\"Tomato\", 2], [\"Kiwi\", 5], [\"Rice\", 9]]\n" "\n" "\tvar apple = [\"Apple\", 5]\n" "\t# \"Apple\" is inserted before \"Kiwi\".\n" "\tmy_items.insert(my_items.bsearch_custom(apple, sort_by_amount, true), " "apple)\n" "\n" "\tvar banana = [\"Banana\", 5]\n" "\t# \"Banana\" is inserted after \"Kiwi\".\n" "\tmy_items.insert(my_items.bsearch_custom(banana, sort_by_amount, false), " "banana)\n" "\n" "\t# Prints [[\"Tomato\", 2], [\"Apple\", 5], [\"Kiwi\", 5], [\"Banana\", 5], " "[\"Rice\", 9]]\n" "\tprint(my_items)\n" "[/codeblock]\n" "[b]Note:[/b] Calling [method bsearch_custom] on an [i]unsorted[/i] array " "will result in unexpected behavior. Use [method sort_custom] with [param " "func] before calling this method." msgstr "" "回傳已排序陣列中 [param value] 的索引;若找不到,則使用自訂比較函式 [param " "func] 計算 [param value] 應插入的位置以維持排序。內部演算法同樣為" "[url=https://en.wikipedia.org/wiki/Binary_search_algorithm]二分搜尋[/url]。\n" "[param func] 的呼叫方式與 [method sort_custom] 相同,每次會傳入一個陣列元素" "與 [param value] 供比較;若該陣列元素應位於 [param value][i]之後[/i]則回傳 " "[code]true[/code],否則回傳 [code]false[/code]。\n" "若 [param before] 為 [code]true[/code](預設),傳回索引會位於所有與 [param " "value] 相等之元素之前。\n" "[codeblock]\n" "func sort_by_amount(a, b):\n" "\treturn a[1] < b[1]\n" "\n" "func _ready():\n" "\tvar my_items = [[\"Tomato\", 2], [\"Kiwi\", 5], [\"Rice\", 9]]\n" "\tvar apple = [\"Apple\", 5]\n" "\tvar banana = [\"Banana\", 5]\n" "\tmy_items.insert(my_items.bsearch_custom(apple, sort_by_amount, true), " "apple) # 插入 Apple 於 Kiwi 之前\n" "\tmy_items.insert(my_items.bsearch_custom(banana, sort_by_amount, false), " "banana) # 插入 Banana 於 Kiwi 之後\n" "\tprint(my_items) # 印出 [[\"Tomato\", 2], [\"Apple\", 5], [\"Kiwi\", 5], " "[\"Banana\", 5], [\"Rice\", 9]]\n" "[/codeblock]\n" "[b]注意:[/b]在[i]未排序[/i]的陣列上呼叫 [method bsearch_custom] 會得到不可預" "期的結果,請先搭配 [method sort_custom] 使用。" #: doc/classes/Array.xml msgid "" "Removes all elements from the array. This is equivalent to using [method " "resize] with a size of [code]0[/code]." msgstr "" "清除陣列的所有元素;等同於呼叫 [method resize] 並將大小設為 [code]0[/code]。" #: doc/classes/Array.xml msgid "" "Returns the number of times an element is in the array.\n" "To count how many elements in an array satisfy a condition, see [method " "reduce]." msgstr "" "回傳指定元素在陣列中出現的次數。\n" "若需要統計符合條件的元素數量,可使用 [method reduce] 來實作。" #: doc/classes/Array.xml msgid "" "Returns a new copy of the array.\n" "By default, a [b]shallow[/b] copy is returned: all nested [Array], " "[Dictionary], and [Resource] elements are shared with the original array. " "Modifying any of those in one array will also affect them in the other.\n" "If [param deep] is [code]true[/code], a [b]deep[/b] copy is returned: all " "nested arrays and dictionaries are also duplicated (recursively). Any " "[Resource] is still shared with the original array, though." msgstr "" "回傳此陣列的複製品。\n" "預設為[b]淺層[/b]複製:巢狀的 [Array]、[Dictionary] 與 [Resource] 皆與原陣列" "共用;因此在其中一份內修改這些巢狀物件會同時影響另一份。\n" "若將 [param deep] 設為 [code]true[/code],則會進行[b]深層[/b]複製:巢狀陣列與" "字典都會被遞迴複製。但 [Resource] 依然是共用的。" #: doc/classes/Array.xml #, fuzzy msgid "" "Duplicates this array, deeply, like [method duplicate] when passing " "[code]true[/code], with extra control over how subresources are handled.\n" "[param deep_subresources_mode] must be one of the values from [enum " "Resource.DeepDuplicateMode]. By default, only internal resources will be " "duplicated (recursively)." msgstr "" "深層複製此陣列,行為同 [method duplicate][code](true)[/code],另外可控制子資" "源的處理方式。\n" "[param deep_subresources_mode] 必須為 [enum " "Resource.ResourceDeepDuplicateMode] 的其中一個值;預設僅會遞迴複製內部資源。" #: doc/classes/Array.xml msgid "" "Finds and removes the first occurrence of [param value] from the array. If " "[param value] does not exist in the array, nothing happens. To remove an " "element by index, use [method remove_at] instead.\n" "[b]Note:[/b] This method shifts every element's index after the removed " "[param value] back, which may have a noticeable performance cost, especially " "on larger arrays.\n" "[b]Note:[/b] Erasing elements while iterating over arrays is [b]not[/b] " "supported and will result in unpredictable behavior." msgstr "" "尋找並移除陣列中第一個與 [param value] 相符的元素;若不存在則不做任何事。若要" "依索引移除元素,請改用 [method remove_at]。\n" "[b]注意:[/b]此方法會將被移除位置之後的所有元素索引往前平移,在大型陣列上可能" "造成明顯開銷。\n" "[b]注意:[/b]在迴圈遍歷陣列時同時移除元素並不被支援,可能導致不可預期的行為。" #: doc/classes/Array.xml msgid "" "Assigns the given [param value] to all elements in the array.\n" "This method can often be combined with [method resize] to create an array " "with a given size and initialized elements:\n" "[codeblocks]\n" "[gdscript]\n" "var array = []\n" "array.resize(5)\n" "array.fill(2)\n" "print(array) # Prints [2, 2, 2, 2, 2]\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array array = [];\n" "array.Resize(5);\n" "array.Fill(2);\n" "GD.Print(array); // Prints [2, 2, 2, 2, 2]\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] If [param value] is a [Variant] passed by reference ([Object]-" "derived, [Array], [Dictionary], etc.), the array will be filled with " "references to the same [param value], which are not duplicates." msgstr "" "將陣列中的所有元素皆設成指定的 [param value]。\n" "常與 [method resize] 搭配,用於建立指定大小並已初始化的陣列:\n" "[codeblocks]\n" "[gdscript]\n" "var array = []\n" "array.resize(5)\n" "array.fill(2)\n" "print(array) # 印出 [2, 2, 2, 2, 2]\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array array = [];\n" "array.Resize(5);\n" "array.Fill(2);\n" "GD.Print(array); // 印出 [2, 2, 2, 2, 2]\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b]若 [param value] 為參照型別(衍生自 [Object]、[Array]、" "[Dictionary]…),整個陣列將會持有同一個物件的參照,而非複本。" #: doc/classes/Array.xml msgid "" "Calls the given [Callable] on each element in the array and returns a new, " "filtered [Array].\n" "The [param method] receives one of the array elements as an argument, and " "should return [code]true[/code] to add the element to the filtered array, or " "[code]false[/code] to exclude it.\n" "[codeblock]\n" "func is_even(number):\n" "\treturn number % 2 == 0\n" "\n" "func _ready():\n" "\tprint([1, 4, 5, 8].filter(is_even)) # Prints [4, 8]\n" "\n" "\t# Same as above, but using a lambda function.\n" "\tprint([1, 4, 5, 8].filter(func(number): return number % 2 == 0))\n" "[/codeblock]\n" "See also [method any], [method all], [method map] and [method reduce]." msgstr "" "對陣列中的每個元素呼叫指定的 [Callable],並依其回傳值產生新的過濾後陣列。\n" "[param method] 會收到一個陣列元素,當其回傳 [code]true[/code] 時該元素會被保" "留;回傳 [code]false[/code] 時則被排除。\n" "[codeblock]\n" "func is_even(number):\n" "\treturn number % 2 == 0\n" "\n" "func _ready():\n" "\tprint([1, 4, 5, 8].filter(is_even)) # 印出 [4, 8]\n" "\n" "\t# 與上例相同,但以 Lambda 撰寫。\n" "\tprint([1, 4, 5, 8].filter(func(number): return number % 2 == 0))\n" "[/codeblock]\n" "另請參閱 [method any]、[method all]、[method map] 與 [method reduce]。" #: doc/classes/Array.xml msgid "" "Returns the index of the [b]first[/b] occurrence of [param what] in this " "array, or [code]-1[/code] if there are none. The search's start can be " "specified with [param from], continuing to the end of the array.\n" "[b]Note:[/b] If you just want to know whether the array contains [param " "what], use [method has] ([code]Contains[/code] in C#). In GDScript, you may " "also use the [code]in[/code] operator.\n" "[b]Note:[/b] For performance reasons, the search is affected by [param " "what]'s [enum Variant.Type]. For example, [code]7[/code] ([int]) and " "[code]7.0[/code] ([float]) are not considered equal for this method." msgstr "" "回傳 [param what] 在陣列中[b]第一次[/b]出現的索引;若不存在則回傳 [code]-1[/" "code]。可以用 [param from] 指定起始索引,搜尋將持續到陣列結尾。\n" "[b]注意:[/b]若只想知道陣列是否包含 [param what],可使用 [method has](C# 中" "為 `Contains`),或在 GDScript 使用 [code]in[/code] 運算子。\n" "[b]注意:[/b]基於效能考量,搜尋行為會受 [param what] 的 [enum Variant.Type] " "影響,例如 [code]7[/code](int)與 [code]7.0[/code](float)在此方法裡並不相" "等。" #: doc/classes/Array.xml msgid "" "Returns the index of the [b]first[/b] element in the array that causes " "[param method] to return [code]true[/code], or [code]-1[/code] if there are " "none. The search's start can be specified with [param from], continuing to " "the end of the array.\n" "[param method] is a callable that takes an element of the array, and returns " "a [bool].\n" "[b]Note:[/b] If you just want to know whether the array contains " "[i]anything[/i] that satisfies [param method], use [method any].\n" "[codeblocks]\n" "[gdscript]\n" "func is_even(number):\n" "\treturn number % 2 == 0\n" "\n" "func _ready():\n" "\tprint([1, 3, 4, 7].find_custom(is_even.bind())) # Prints 2\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "回傳陣列中第一個令 [param method] 回傳 [code]true[/code] 的元素索引;若無則回" "傳 [code]-1[/code]。可以用 [param from] 指定起始索引,搜尋將持續到陣列結" "尾。\n" "[param method] 為可呼叫物件,接收一個陣列元素並回傳 [bool]。\n" "[b]注意:[/b]若只想知道陣列中是否存在任何符合條件的元素,可改用 [method " "any]。\n" "[codeblocks]\n" "[gdscript]\n" "func is_even(number):\n" "\treturn number % 2 == 0\n" "\n" "func _ready():\n" "\tprint([1, 3, 4, 7].find_custom(is_even.bind())) # 印出 2\n" "[/gdscript]\n" "[/codeblocks]" #: doc/classes/Array.xml msgid "" "Returns the first element of the array. If the array is empty, fails and " "returns [code]null[/code]. See also [method back].\n" "[b]Note:[/b] Unlike with the [code][][/code] operator ([code]array[0][/" "code]), an error is generated without stopping project execution." msgstr "" "回傳陣列第一個元素。若陣列為空則失敗並回傳 [code]null[/code]。另見 [method " "back]。\n" "[b]注意:[/b]與直接使用 [code]array[0][/code] 取值不同,若陣列為空,此方法僅" "會產生錯誤訊息而不會中斷專案執行。" #: doc/classes/Array.xml #, fuzzy msgid "" "Returns the element at the given [param index] in the array. If [param " "index] is out-of-bounds or negative, this method fails and returns " "[code]null[/code].\n" "This method is similar (but not identical) to the [code][][/code] operator. " "Most notably, when this method fails, it doesn't pause project execution if " "run from the editor." msgstr "" "回傳位於 [param index] 的元素。若索引超出範圍或為負值,將失敗並回傳 " "[code]null[/code]。\n" "此方法與 [code][][/code] 運算子功能相似,但當失敗時(例如越界),在編輯器執行" "專案時不會暫停執行。" #: doc/classes/Array.xml msgid "" "Returns the built-in [Variant] type of the typed array as a [enum " "Variant.Type] constant. If the array is not typed, returns [constant " "TYPE_NIL]. See also [method is_typed]." msgstr "" "回傳此型別化陣列的內建 [Variant] 型別,為 [enum Variant.Type] 常數。若陣列未" "設定型別,則回傳 [constant TYPE_NIL]。另見 [method is_typed]。" #: doc/classes/Array.xml msgid "" "Returns the [b]built-in[/b] class name of the typed array, if the built-in " "[Variant] type [constant TYPE_OBJECT]. Otherwise, returns an empty " "[StringName]. See also [method is_typed] and [method Object.get_class]." msgstr "" "若此型別化陣列的內建 [Variant] 型別為 [constant TYPE_OBJECT],則回傳其[b]內建" "[/b]類別名稱,否則回傳空的 [StringName]。另見 [method is_typed] 與 [method " "Object.get_class]。" #: doc/classes/Array.xml msgid "" "Returns the [Script] instance associated with this typed array, or " "[code]null[/code] if it does not exist. See also [method is_typed]." msgstr "" "回傳與此型別化陣列關聯的 [Script] 實例;若不存在則為 [code]null[/code]。另見 " "[method is_typed]。" #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if the array contains the given [param value].\n" "[codeblocks]\n" "[gdscript]\n" "print([\"inside\", 7].has(\"inside\")) # Prints true\n" "print([\"inside\", 7].has(\"outside\")) # Prints false\n" "print([\"inside\", 7].has(7)) # Prints true\n" "print([\"inside\", 7].has(\"7\")) # Prints false\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array arr = [\"inside\", 7];\n" "// By C# convention, this method is renamed to `Contains`.\n" "GD.Print(arr.Contains(\"inside\")); // Prints True\n" "GD.Print(arr.Contains(\"outside\")); // Prints False\n" "GD.Print(arr.Contains(7)); // Prints True\n" "GD.Print(arr.Contains(\"7\")); // Prints False\n" "[/csharp]\n" "[/codeblocks]\n" "In GDScript, this is equivalent to the [code]in[/code] operator:\n" "[codeblock]\n" "if 4 in [2, 4, 6, 8]:\n" "\tprint(\"4 is here!\") # Will be printed.\n" "[/codeblock]\n" "[b]Note:[/b] For performance reasons, the search is affected by the [param " "value]'s [enum Variant.Type]. For example, [code]7[/code] ([int]) and " "[code]7.0[/code] ([float]) are not considered equal for this method." msgstr "" "若陣列中包含指定的 [param value] 則回傳 [code]true[/code]。\n" "[codeblocks]\n" "[gdscript]\n" "print([\"inside\", 7].has(\"inside\")) # 印出 true\n" "print([\"inside\", 7].has(\"outside\")) # 印出 false\n" "print([\"inside\", 7].has(7)) # 印出 true\n" "print([\"inside\", 7].has(\"7\")) # 印出 false\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array arr = [\"inside\", 7];\n" "GD.Print(arr.Contains(\"inside\")); // 印出 True\n" "GD.Print(arr.Contains(\"outside\")); // 印出 False\n" "GD.Print(arr.Contains(7)); // 印出 True\n" "GD.Print(arr.Contains(\"7\")); // 印出 False\n" "[/csharp]\n" "[/codeblocks]\n" "在 GDScript 中,也可使用 [code]in[/code] 運算子:\n" "[codeblock]\n" "if 4 in [2, 4, 6, 8]:\n" "\tprint(\"4 is here!\")\n" "[/codeblock]\n" "[b]注意:[/b]基於效能考量,搜尋行為會受 [param value] 的 [enum Variant.Type] " "影響,例如 [code]7[/code](int)與 [code]7.0[/code](float)在此方法裡並不相" "等。" #: doc/classes/Array.xml #, fuzzy msgid "" "Returns a hashed 32-bit integer value representing the array and its " "contents.\n" "[b]Note:[/b] Arrays with equal hash values are [i]not[/i] guaranteed to be " "the same, as a result of hash collisions. On the contrary, arrays with " "different hash values are guaranteed to be different." msgstr "" "回傳一個代表此陣列及其內容的 32 位雜湊值。\n" "[b]注意:[/b]雜湊碰撞的緣故,雜湊值相同的陣列[i]不一定[/i]相同;但雜湊值不同" "的陣列一定不同。" #: doc/classes/Array.xml msgid "" "Inserts a new element ([param value]) at a given index ([param position]) in " "the array. [param position] should be between [code]0[/code] and the array's " "[method size]. If negative, [param position] is considered relative to the " "end of the array.\n" "Returns [constant OK] on success, or one of the other [enum Error] constants " "if this method fails.\n" "[b]Note:[/b] Every element's index after [param position] needs to be " "shifted forward, which may have a noticeable performance cost, especially on " "larger arrays." msgstr "" "在索引 [param position] 處插入新元素 ([param value])。合法範圍為 0 到陣列 " "[method size] 之間;若為負值則代表自陣列尾端反向計數。\n" "成功時回傳 [constant OK];失敗時則回傳其他 [enum Error] 常數。\n" "[b]注意:[/b]插入後,[param position] 之後的所有元素索引都需往後平移,對大型" "陣列可能造成明顯效能成本。" #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if the array is empty ([code][][/code]). See also " "[method size]." msgstr "" "若陣列為空([code][][/code])則回傳 [code]true[/code]。另見 [method size]。" #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if the array is read-only. See [method " "make_read_only].\n" "In GDScript, arrays are automatically read-only if declared with the " "[code]const[/code] keyword." msgstr "" "若陣列為唯讀狀態則回傳 [code]true[/code]。請參考 [method make_read_only]。\n" "在 GDScript 中,使用 [code]const[/code] 宣告的陣列會自動成為唯讀。" #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if this array is typed the same as the given " "[param array]. See also [method is_typed]." msgstr "" "若此陣列與指定的 [param array] 具備相同型別限制則回傳 [code]true[/code]。另" "見 [method is_typed]。" #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if the array is typed. Typed arrays can only " "contain elements of a specific type, as defined by the typed array " "constructor. The methods of a typed array are still expected to return a " "generic [Variant].\n" "In GDScript, it is possible to define a typed array with static typing:\n" "[codeblock]\n" "var numbers: Array[float] = [0.2, 4.2, -2.0]\n" "print(numbers.is_typed()) # Prints true\n" "[/codeblock]" msgstr "" "若陣列已設定型別限制則回傳 [code]true[/code]。型別化陣列僅能包含指定型別的元" "素,但其方法仍預期回傳通用的 [Variant]。\n" "在 GDScript 中,可透過靜態型別語法建立型別化陣列:\n" "[codeblock]\n" "var numbers: Array[float] = [0.2, 4.2, -2.0]\n" "print(numbers.is_typed()) # 印出 true\n" "[/codeblock]" #: doc/classes/Array.xml msgid "" "Makes the array read-only. The array's elements cannot be overridden with " "different values, and their order cannot change. Does not apply to nested " "elements, such as dictionaries.\n" "In GDScript, arrays are automatically read-only if declared with the " "[code]const[/code] keyword." msgstr "" "將此陣列設為唯讀,之後無法改變元素值或調整順序。此設定不會遞迴套用至巢狀物件" "(例如字典)。\n" "在 GDScript 中,使用 [code]const[/code] 宣告的陣列預設即為唯讀。" #: doc/classes/Array.xml msgid "" "Calls the given [Callable] for each element in the array and returns a new " "array filled with values returned by the [param method].\n" "The [param method] should take one [Variant] parameter (the current array " "element) and can return any [Variant].\n" "[codeblock]\n" "func double(number):\n" "\treturn number * 2\n" "\n" "func _ready():\n" "\tprint([1, 2, 3].map(double)) # Prints [2, 4, 6]\n" "\n" "\t# Same as above, but using a lambda function.\n" "\tprint([1, 2, 3].map(func(element): return element * 2))\n" "[/codeblock]\n" "See also [method filter], [method reduce], [method any] and [method all]." msgstr "" "對陣列中的每個元素呼叫指定的 [Callable],並以其回傳值產生新陣列。\n" "[param method] 必須接受一個 [Variant] 參數(目前的陣列元素),並可回傳任何型" "別的 [Variant]。\n" "[codeblock]\n" "func double(number):\n" "\treturn number * 2\n" "\n" "func _ready():\n" "\tprint([1, 2, 3].map(double)) # 印出 [2, 4, 6]\n" "\n" "\t# 與上例相同,但以 Lambda 撰寫。\n" "\tprint([1, 2, 3].map(func(element): return element * 2))\n" "[/codeblock]\n" "另請參閱 [method filter]、[method reduce]、[method any] 與 [method all]。" #: doc/classes/Array.xml msgid "" "Returns the maximum value contained in the array, if all elements can be " "compared. Otherwise, returns [code]null[/code]. See also [method min].\n" "To find the maximum value using a custom comparator, you can use [method " "reduce]." msgstr "" "若陣列中的所有元素皆可比較,則回傳其中的最大值;否則回傳 [code]null[/code]。" "另見 [method min]。\n" "若需透過自訂比較器尋找最大值,可使用 [method reduce]。" #: doc/classes/Array.xml msgid "" "Returns the minimum value contained in the array, if all elements can be " "compared. Otherwise, returns [code]null[/code]. See also [method max]." msgstr "" "若陣列中的所有元素皆可比較,則回傳其中的最小值;否則回傳 [code]null[/code]。" "另見 [method max]。" #: doc/classes/Array.xml msgid "" "Returns a random element from the array. Generates an error and returns " "[code]null[/code] if the array is empty.\n" "[codeblocks]\n" "[gdscript]\n" "# May print 1, 2, 3.25, or \"Hi\".\n" "print([1, 2, 3.25, \"Hi\"].pick_random())\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array array = [1, 2, 3.25f, \"Hi\"];\n" "GD.Print(array.PickRandom()); // May print 1, 2, 3.25, or \"Hi\".\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] Like many similar functions in the engine (such as [method " "@GlobalScope.randi] or [method shuffle]), this method uses a common, global " "random seed. To get a predictable outcome from this method, see [method " "@GlobalScope.seed]." msgstr "" "自陣列中隨機回傳一個元素。若陣列為空,將產生錯誤並回傳 [code]null[/code]。\n" "[codeblocks]\n" "[gdscript]\n" "# 可能印出 1、2、3.25 或 \"Hi\"。\n" "print([1, 2, 3.25, \"Hi\"].pick_random())\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array array = [1, 2, 3.25f, \"Hi\"];\n" "GD.Print(array.PickRandom()); // 可能印出 1、2、3.25 或 \"Hi\"。\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b]與引擎中其他隨機函式(如 [method @GlobalScope.randi] 或 [method " "shuffle])相同,本方法使用全域亂數種子。若需可預期的結果,請參考 [method " "@GlobalScope.seed]。" #: doc/classes/Array.xml msgid "" "Removes and returns the element of the array at index [param position]. If " "negative, [param position] is considered relative to the end of the array. " "Returns [code]null[/code] if the array is empty. If [param position] is out " "of bounds, an error message is also generated.\n" "[b]Note:[/b] This method shifts every element's index after [param position] " "back, which may have a noticeable performance cost, especially on larger " "arrays." msgstr "" "移除並回傳索引為 [param position] 的元素。若 [param position] 為負值,則自陣" "列尾端反向計算。若陣列為空則回傳 [code]null[/code];若索引越界,則同時輸出錯" "誤訊息。\n" "[b]注意:[/b]移除後,[param position] 之後的所有元素索引都需往前平移,在大型" "陣列上可能造成明顯效能成本。" #: doc/classes/Array.xml msgid "" "Removes and returns the last element of the array. Returns [code]null[/code] " "if the array is empty, without generating an error. See also [method " "pop_front]." msgstr "" "移除並回傳陣列最後一個元素。若陣列為空則回傳 [code]null[/code] 而不產生錯誤。" "另見 [method pop_front]。" #: doc/classes/Array.xml msgid "" "Removes and returns the first element of the array. Returns [code]null[/" "code] if the array is empty, without generating an error. See also [method " "pop_back].\n" "[b]Note:[/b] This method shifts every other element's index back, which may " "have a noticeable performance cost, especially on larger arrays." msgstr "" "移除並回傳陣列第一個元素。若陣列為空則回傳 [code]null[/code] 而不產生錯誤。另" "見 [method pop_back]。\n" "[b]注意:[/b]此方法會將其餘元素索引往前平移,對大型陣列可能產生明顯效能成本。" #: doc/classes/Array.xml msgid "" "Appends an element at the end of the array. See also [method push_front]." msgstr "將元素追加於陣列尾端。另見 [method push_front]。" #: doc/classes/Array.xml msgid "" "Adds an element at the beginning of the array. See also [method push_back].\n" "[b]Note:[/b] This method shifts every other element's index forward, which " "may have a noticeable performance cost, especially on larger arrays." msgstr "" "於陣列開頭插入一個元素。另見 [method push_back]。\n" "[b]注意:[/b]插入後其餘元素索引將往後平移,對大型陣列可能產生明顯效能成本。" #: doc/classes/Array.xml msgid "" "Calls the given [Callable] for each element in array, accumulates the result " "in [param accum], then returns it.\n" "The [param method] takes two arguments: the current value of [param accum] " "and the current array element. If [param accum] is [code]null[/code] (as by " "default), the iteration will start from the second element, with the first " "one used as initial value of [param accum].\n" "[codeblock]\n" "func sum(accum, number):\n" "\treturn accum + number\n" "\n" "func _ready():\n" "\tprint([1, 2, 3].reduce(sum, 0)) # Prints 6\n" "\tprint([1, 2, 3].reduce(sum, 10)) # Prints 16\n" "\n" "\t# Same as above, but using a lambda function.\n" "\tprint([1, 2, 3].reduce(func(accum, number): return accum + number, 10))\n" "[/codeblock]\n" "If [method max] is not desirable, this method may also be used to implement " "a custom comparator:\n" "[codeblock]\n" "func _ready():\n" "\tvar arr = [Vector2i(5, 0), Vector2i(3, 4), Vector2i(1, 2)]\n" "\n" "\tvar longest_vec = arr.reduce(func(max, vec): return vec if " "is_length_greater(vec, max) else max)\n" "\tprint(longest_vec) # Prints (3, 4)\n" "\n" "func is_length_greater(a, b):\n" "\treturn a.length() > b.length()\n" "[/codeblock]\n" "This method can also be used to count how many elements in an array satisfy " "a certain condition, similar to [method count]:\n" "[codeblock]\n" "func is_even(number):\n" "\treturn number % 2 == 0\n" "\n" "func _ready():\n" "\tvar arr = [1, 2, 3, 4, 5]\n" "\t# If the current element is even, increment count, otherwise leave count " "the same.\n" "\tvar even_count = arr.reduce(func(count, next): return count + 1 if " "is_even(next) else count, 0)\n" "\tprint(even_count) # Prints 2\n" "[/codeblock]\n" "See also [method map], [method filter], [method any], and [method all]." msgstr "" "對陣列中的每個元素呼叫指定的 [Callable],以 [param accum] 累計並於結束後回" "傳。\n" "[param method] 會接收兩個參數:目前的累計值 [param accum] 與目前元素。若 " "[param accum] 為 [code]null[/code](預設),則從第二個元素開始迴圈,並以第一" "個元素做為初始值。\n" "[codeblock]\n" "func sum(accum, number):\n" "\treturn accum + number\n" "\n" "func _ready():\n" "\tprint([1, 2, 3].reduce(sum, 0)) # 印出 6\n" "\tprint([1, 2, 3].reduce(sum, 10)) # 印出 16\n" "\n" "\t# 與上例相同,但以 Lambda 撰寫。\n" "\tprint([1, 2, 3].reduce(func(accum, number): return accum + number, 10))\n" "[/codeblock]\n" "除了可取代 [method max] 自訂比較器外,也能用來計算符合條件的元素數量(類似 " "[method count]):\n" "[codeblock]\n" "func is_even(number):\n" "\treturn number % 2 == 0\n" "\n" "func _ready():\n" "\tvar arr = [1, 2, 3, 4, 5]\n" "\tvar even_count = arr.reduce(func(count, next): return count + 1 if " "is_even(next) else count, 0)\n" "\tprint(even_count) # 印出 2\n" "[/codeblock]\n" "另請參閱 [method map]、[method filter]、[method any] 與 [method all]。" #: doc/classes/Array.xml #, fuzzy msgid "" "Removes the element from the array at the given index ([param position]). If " "the index is out of bounds, this method fails. If the index is negative, " "[param position] is considered relative to the end of the array.\n" "If you need to return the removed element, use [method pop_at]. To remove an " "element by value, use [method erase] instead.\n" "[b]Note:[/b] This method shifts every element's index after [param position] " "back, which may have a noticeable performance cost, especially on larger " "arrays." msgstr "" "依索引 [param position] 移除陣列中的元素。若索引越界則失敗;若為負值則代表自" "陣列尾端反向計數。\n" "若需要取回被移除的元素,請改用 [method pop_at];若要依值移除,請使用 [method " "erase]。\n" "[b]注意:[/b]移除後,[param position] 之後的所有元素索引皆往前平移,對大型陣" "列可能產生明顯效能成本。\n" "[b]注意:[/b][param position] 不能為負值。如需從陣列尾端反向刪除,可用 " "[code]arr.remove_at(arr.size() - (i + 1))[/code];若要刪除最後一個元素,可改" "用 [code]arr.resize(arr.size() - 1)[/code]。" #: doc/classes/Array.xml msgid "" "Sets the array's number of elements to [param size]. If [param size] is " "smaller than the array's current size, the elements at the end are removed. " "If [param size] is greater, new default elements (usually [code]null[/code]) " "are added, depending on the array's type.\n" "Returns [constant OK] on success, or one of the following [enum Error] " "constants if this method fails: [constant ERR_LOCKED] if the array is read-" "only, [constant ERR_INVALID_PARAMETER] if the size is negative, or [constant " "ERR_OUT_OF_MEMORY] if allocations fail. Use [method size] to find the actual " "size of the array after resize.\n" "[b]Note:[/b] Calling this method once and assigning the new values is faster " "than calling [method append] for every new element." msgstr "" "將陣列長度設為 [param size]。若新大小小於目前大小,尾端元素會被移除;若大於目" "前大小,則依陣列型別新增預設值(通常為 [code]null[/code])。\n" "成功時回傳 [constant OK]。若失敗則可能回傳:陣列唯讀時為 [constant " "ERR_LOCKED];[param size] 為負值時為 [constant ERR_INVALID_PARAMETER];記憶體" "配置失敗時為 [constant ERR_OUT_OF_MEMORY]。可使用 [method size] 取得實際大" "小。\n" "[b]注意:[/b]一次呼叫本方法並批次指定新值,效能優於逐一 [method append] 新元" "素。" #: doc/classes/Array.xml msgid "Reverses the order of all elements in the array." msgstr "將陣列元素順序反轉。" #: doc/classes/Array.xml msgid "" "Returns the index of the [b]last[/b] occurrence of [param what] in this " "array, or [code]-1[/code] if there are none. The search's start can be " "specified with [param from], continuing to the beginning of the array. This " "method is the reverse of [method find]." msgstr "" "回傳 [param what] 在陣列中[b]最後一次[/b]出現的索引;若不存在則回傳 " "[code]-1[/code]。可使用 [param from] 指定搜尋起點,搜尋方向會往陣列開頭進行。" "本方法與 [method find] 相反。" #: doc/classes/Array.xml msgid "" "Returns the index of the [b]last[/b] element of the array that causes [param " "method] to return [code]true[/code], or [code]-1[/code] if there are none. " "The search's start can be specified with [param from], continuing to the " "beginning of the array. This method is the reverse of [method find_custom]." msgstr "" "回傳陣列中最後一個令 [param method] 回傳 [code]true[/code] 的元素索引;若無則" "回傳 [code]-1[/code]。可用 [param from] 指定搜尋起點,搜尋方向會往陣列開頭進" "行。本方法與 [method find_custom] 相反。" #: doc/classes/Array.xml msgid "" "Sets the value of the element at the given [param index] to the given [param " "value]. This will not change the size of the array, it only changes the " "value at an index already in the array. This is the same as using the [code]" "[][/code] operator ([code]array[index] = value[/code])." msgstr "" "將索引為 [param index] 的元素設為 [param value]。此操作不會改變陣列大小,只會" "覆寫既有索引的值;效果與使用 [code]array[index] = value[/code] 相同。" #: doc/classes/Array.xml msgid "" "Shuffles all elements of the array in a random order.\n" "[b]Note:[/b] Like many similar functions in the engine (such as [method " "@GlobalScope.randi] or [method pick_random]), this method uses a common, " "global random seed. To get a predictable outcome from this method, see " "[method @GlobalScope.seed]." msgstr "" "將陣列元素隨機重新排列。\n" "[b]注意:[/b]與引擎中其他隨機函式(如 [method @GlobalScope.randi] 或 [method " "pick_random])相同,本方法使用全域亂數種子。若需可預期的結果,請參考 [method " "@GlobalScope.seed]。" #: doc/classes/Array.xml msgid "" "Returns the number of elements in the array. Empty arrays ([code][][/code]) " "always return [code]0[/code]. See also [method is_empty]." msgstr "" "回傳陣列元素數量。空陣列([code][][/code])一律回傳 [code]0[/code]。另見 " "[method is_empty]。" #: doc/classes/Array.xml msgid "" "Returns a new [Array] containing this array's elements, from index [param " "begin] (inclusive) to [param end] (exclusive), every [param step] elements.\n" "If either [param begin] or [param end] are negative, their value is relative " "to the end of the array.\n" "If [param step] is negative, this method iterates through the array in " "reverse, returning a slice ordered backwards. For this to work, [param " "begin] must be greater than [param end].\n" "If [param deep] is [code]true[/code], all nested [Array] and [Dictionary] " "elements in the slice are duplicated from the original, recursively. See " "also [method duplicate].\n" "[codeblock]\n" "var letters = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\"]\n" "\n" "print(letters.slice(0, 2)) # Prints [\"A\", \"B\"]\n" "print(letters.slice(2, -2)) # Prints [\"C\", \"D\"]\n" "print(letters.slice(-2, 6)) # Prints [\"E\", \"F\"]\n" "\n" "print(letters.slice(0, 6, 2)) # Prints [\"A\", \"C\", \"E\"]\n" "print(letters.slice(4, 1, -1)) # Prints [\"E\", \"D\", \"C\"]\n" "[/codeblock]" msgstr "" "回傳此陣列的切片新陣列,範圍從索引 [param begin](含)到 [param end](不" "含),並以 [param step] 為間隔選取元素。\n" "若 [param begin] 或 [param end] 為負值,則視為自陣列尾端反向計數。\n" "若 [param step] 為負值,切片方向將反轉,且 [param begin] 必須大於 [param " "end] 才能正常運作。\n" "若將 [param deep] 設為 [code]true[/code],切片中的巢狀 [Array] 與 " "[Dictionary] 會被遞迴複製;詳見 [method duplicate]。\n" "[codeblock]\n" "var letters = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\"]\n" "print(letters.slice(0, 2)) # 印出 [\"A\", \"B\"]\n" "print(letters.slice(2, -2)) # 印出 [\"C\", \"D\"]\n" "print(letters.slice(-2, 6)) # 印出 [\"E\", \"F\"]\n" "print(letters.slice(0, 6, 2)) # 印出 [\"A\", \"C\", \"E\"]\n" "print(letters.slice(4, 1, -1)) # 印出 [\"E\", \"D\", \"C\"]\n" "[/codeblock]" #: doc/classes/Array.xml msgid "" "Sorts the array in ascending order. The final order is dependent on the " "\"less than\" ([code]<[/code]) comparison between elements.\n" "[codeblocks]\n" "[gdscript]\n" "var numbers = [10, 5, 2.5, 8]\n" "numbers.sort()\n" "print(numbers) # Prints [2.5, 5, 8, 10]\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array numbers = [10, 5, 2.5, 8];\n" "numbers.Sort();\n" "GD.Print(numbers); // Prints [2.5, 5, 8, 10]\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/" "wiki/Sorting_algorithm#Stability]stable[/url]. This means that equivalent " "elements (such as [code]2[/code] and [code]2.0[/code]) may have their order " "changed when calling [method sort]." msgstr "" "將陣列依遞增順序排序,排序結果取決於元素之間的「小於」([code]<[/code]) 比" "較。\n" "[codeblocks]\n" "[gdscript]\n" "var numbers = [10, 5, 2.5, 8]\n" "numbers.sort()\n" "print(numbers) # 印出 [2.5, 5, 8, 10]\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array numbers = [10, 5, 2.5, 8];\n" "numbers.Sort();\n" "GD.Print(numbers); // 印出 [2.5, 5, 8, 10]\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b]此排序演算法並非[url=https://en.wikipedia.org/wiki/" "Sorting_algorithm#Stability]穩定排序[/url],等值元素(如 [code]2[/code] 與 " "[code]2.0[/code])的相對順序可能改變。" #: doc/classes/Array.xml msgid "" "Sorts the array using a custom [Callable].\n" "[param func] is called as many times as necessary, receiving two array " "elements as arguments. The function should return [code]true[/code] if the " "first element should be moved [i]before[/i] the second one, otherwise it " "should return [code]false[/code].\n" "[codeblock]\n" "func sort_ascending(a, b):\n" "\tif a[1] < b[1]:\n" "\t\treturn true\n" "\treturn false\n" "\n" "func _ready():\n" "\tvar my_items = [[\"Tomato\", 5], [\"Apple\", 9], [\"Rice\", 4]]\n" "\tmy_items.sort_custom(sort_ascending)\n" "\tprint(my_items) # Prints [[\"Rice\", 4], [\"Tomato\", 5], [\"Apple\", 9]]\n" "\n" "\t# Sort descending, using a lambda function.\n" "\tmy_items.sort_custom(func(a, b): return a[1] > b[1])\n" "\tprint(my_items) # Prints [[\"Apple\", 9], [\"Tomato\", 5], [\"Rice\", 4]]\n" "[/codeblock]\n" "It may also be necessary to use this method to sort strings by natural " "order, with [method String.naturalnocasecmp_to], as in the following " "example:\n" "[codeblock]\n" "var files = [\"newfile1\", \"newfile2\", \"newfile10\", \"newfile11\"]\n" "files.sort_custom(func(a, b): return a.naturalnocasecmp_to(b) < 0)\n" "print(files) # Prints [\"newfile1\", \"newfile2\", \"newfile10\", " "\"newfile11\"]\n" "[/codeblock]\n" "[b]Note:[/b] In C#, this method is not supported.\n" "[b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/" "wiki/Sorting_algorithm#Stability]stable[/url]. This means that values " "considered equal may have their order changed when calling this method.\n" "[b]Note:[/b] You should not randomize the return value of [param func], as " "the heapsort algorithm expects a consistent result. Randomizing the return " "value will result in unexpected behavior." msgstr "" "使用自訂 [Callable] 進行排序。\n" "[param func] 會在需要時多次被呼叫,並傳入兩個陣列元素作比較;若第一個元素應位" "於第二個元素[i]之前[/i]則回傳 [code]true[/code],否則回傳 [code]false[/" "code]。\n" "[codeblock]\n" "func sort_ascending(a, b):\n" "\treturn a[1] < b[1]\n" "\n" "func _ready():\n" "\tvar my_items = [[\"Tomato\", 5], [\"Apple\", 9], [\"Rice\", 4]]\n" "\tmy_items.sort_custom(sort_ascending)\n" "\tprint(my_items) # 印出 [[\"Rice\", 4], [\"Tomato\", 5], [\"Apple\", 9]]\n" "\n" "\t# 使用 Lambda 以遞減排序。\n" "\tmy_items.sort_custom(func(a, b): return a[1] > b[1])\n" "\tprint(my_items) # 印出 [[\"Apple\", 9], [\"Tomato\", 5], [\"Rice\", 4]]\n" "[/codeblock]\n" "若需照人類自然排序比較字串,可搭配 [method String.naturalnocasecmp_to]:\n" "[codeblock]\n" "var files = [\"newfile1\", \"newfile2\", \"newfile10\", \"newfile11\"]\n" "files.sort_custom(func(a, b): return a.naturalnocasecmp_to(b) < 0)\n" "print(files) # 印出 [\"newfile1\", \"newfile2\", \"newfile10\", " "\"newfile11\"]\n" "[/codeblock]\n" "[b]注意:[/b]C# 不支援此方法。\n" "[b]注意:[/b]此排序演算法並非穩定排序,等值元素的相對順序可能改變。\n" "[b]注意:[/b]請勿讓 [param func] 的回傳值隨機變動,否則 heapsort 需要的一致性" "將被破壞並導致不可預期結果。" #: doc/classes/Array.xml msgid "" "Returns [code]true[/code] if the array's size or its elements are different " "than [param right]'s." msgstr "若本陣列的大小或元素與 [param right] 不同則回傳 [code]true[/code]。" #: doc/classes/Array.xml msgid "" "Appends the [param right] array to the left operand, creating a new [Array]. " "This is also known as an array concatenation.\n" "[codeblocks]\n" "[gdscript]\n" "var array1 = [\"One\", 2]\n" "var array2 = [3, \"Four\"]\n" "print(array1 + array2) # Prints [\"One\", 2, 3, \"Four\"]\n" "[/gdscript]\n" "[csharp]\n" "// Note that concatenation is not possible with C#'s native Array type.\n" "Godot.Collections.Array array1 = [\"One\", 2];\n" "Godot.Collections.Array array2 = [3, \"Four\"];\n" "GD.Print(array1 + array2); // Prints [\"One\", 2, 3, \"Four\"]\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] For existing arrays, [method append_array] is much more " "efficient than concatenation and assignment with the [code]+=[/code] " "operator." msgstr "" "將右運算元 [param right] 追加至左運算元,產生新的 [Array](亦即陣列串接)。\n" "[codeblocks]\n" "[gdscript]\n" "var array1 = [\"One\", 2]\n" "var array2 = [3, \"Four\"]\n" "print(array1 + array2) # 印出 [\"One\", 2, 3, \"Four\"]\n" "[/gdscript]\n" "[csharp]\n" "Godot.Collections.Array array1 = [\"One\", 2];\n" "Godot.Collections.Array array2 = [3, \"Four\"];\n" "GD.Print(array1 + array2); // 印出 [\"One\", 2, 3, \"Four\"]\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b]對既有陣列,就地呼叫 [method append_array] 的效率遠高於使用 " "[code]+=[/code] 串接並重新指派。" #: doc/classes/Array.xml msgid "" "Compares the elements of both arrays in order, starting from index [code]0[/" "code] and ending on the last index in common between both arrays. For each " "pair of elements, returns [code]true[/code] if this array's element is less " "than [param right]'s, [code]false[/code] if this element is greater. " "Otherwise, continues to the next pair.\n" "If all searched elements are equal, returns [code]true[/code] if this " "array's size is less than [param right]'s, otherwise returns [code]false[/" "code]." msgstr "" "依序比較兩個陣列的元素(由索引 0 開始,直到兩陣列共同的最後一個索引)。若某對" "元素首次出現差異,當本陣列元素小於 [param right] 的元素時回傳 [code]true[/" "code],反之回傳 [code]false[/code];若元素相等則繼續比較下一對。\n" "若所有比較過的元素皆相等,則比較陣列長度:若本陣列長度小於 [param right],回" "傳 [code]true[/code];否則回傳 [code]false[/code]。" #: doc/classes/Array.xml msgid "" "Compares the elements of both arrays in order, starting from index [code]0[/" "code] and ending on the last index in common between both arrays. For each " "pair of elements, returns [code]true[/code] if this array's element is less " "than [param right]'s, [code]false[/code] if this element is greater. " "Otherwise, continues to the next pair.\n" "If all searched elements are equal, returns [code]true[/code] if this " "array's size is less or equal to [param right]'s, otherwise returns " "[code]false[/code]." msgstr "" "依序比較兩陣列元素。若本陣列元素第一次出現小於 [param right] 的情況,立即回" "傳 [code]true[/code];若大於則回傳 [code]false[/code];相等則繼續比較。\n" "若全部比較結果皆相等,則比較陣列長度:若本陣列長度小於或等於 [param right]," "回傳 [code]true[/code],否則回傳 [code]false[/code]。" #: doc/classes/Array.xml msgid "" "Compares the left operand [Array] against the [param right] [Array]. Returns " "[code]true[/code] if the sizes and contents of the arrays are equal, " "[code]false[/code] otherwise." msgstr "" "比較左右兩個陣列。若大小與內容皆相同則回傳 [code]true[/code],否則回傳 " "[code]false[/code]。" #: doc/classes/Array.xml msgid "" "Compares the elements of both arrays in order, starting from index [code]0[/" "code] and ending on the last index in common between both arrays. For each " "pair of elements, returns [code]true[/code] if this array's element is " "greater than [param right]'s, [code]false[/code] if this element is less. " "Otherwise, continues to the next pair.\n" "If all searched elements are equal, returns [code]true[/code] if this " "array's size is greater than [param right]'s, otherwise returns [code]false[/" "code]." msgstr "" "依序比較兩陣列元素。若本陣列元素第一次出現大於 [param right] 的情況,立即回" "傳 [code]true[/code];若小於則回傳 [code]false[/code];相等則繼續比較。\n" "若全部比較結果皆相等,則比較陣列長度:若本陣列長度大於 [param right],回傳 " "[code]true[/code],否則回傳 [code]false[/code]。" #: doc/classes/Array.xml msgid "" "Compares the elements of both arrays in order, starting from index [code]0[/" "code] and ending on the last index in common between both arrays. For each " "pair of elements, returns [code]true[/code] if this array's element is " "greater than [param right]'s, [code]false[/code] if this element is less. " "Otherwise, continues to the next pair.\n" "If all searched elements are equal, returns [code]true[/code] if this " "array's size is greater or equal to [param right]'s, otherwise returns " "[code]false[/code]." msgstr "" "依序比較兩陣列元素。若本陣列元素第一次出現大於 [param right] 的情況,立即回" "傳 [code]true[/code];若小於則回傳 [code]false[/code];相等則繼續比較。\n" "若全部比較結果皆相等,則比較陣列長度:若本陣列長度大於或等於 [param right]," "回傳 [code]true[/code],否則回傳 [code]false[/code]。" #: doc/classes/Array.xml msgid "" "Returns the [Variant] element at the specified [param index]. Arrays start " "at index 0. If [param index] is greater or equal to [code]0[/code], the " "element is fetched starting from the beginning of the array. If [param " "index] is a negative value, the element is fetched starting from the end. " "Accessing an array out-of-bounds will cause a run-time error, pausing the " "project execution if run from the editor." msgstr "" "回傳位於 [param index] 的 [Variant] 元素,索引自 0 起算。若 [param index] 大" "於等於 0,則自陣列開頭計算;若為負值,則自陣列尾端反向計算。若索引越界,將於" "執行階段產生錯誤,並在編輯器中中斷專案執行。" #: doc/classes/ArrayMesh.xml msgid "" "[Mesh] type that provides utility for constructing a surface from arrays." msgstr "[Mesh] 型別,可用來從陣列建構曲面。" #: doc/classes/ArrayMesh.xml msgid "" "The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes " "as arrays.\n" "The most basic example is the creation of a single triangle:\n" "[codeblocks]\n" "[gdscript]\n" "var vertices = PackedVector3Array()\n" "vertices.push_back(Vector3(0, 1, 0))\n" "vertices.push_back(Vector3(1, 0, 0))\n" "vertices.push_back(Vector3(0, 0, 1))\n" "\n" "# Initialize the ArrayMesh.\n" "var arr_mesh = ArrayMesh.new()\n" "var arrays = []\n" "arrays.resize(Mesh.ARRAY_MAX)\n" "arrays[Mesh.ARRAY_VERTEX] = vertices\n" "\n" "# Create the Mesh.\n" "arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)\n" "var m = MeshInstance3D.new()\n" "m.mesh = arr_mesh\n" "[/gdscript]\n" "[csharp]\n" "Vector3[] vertices =\n" "[\n" "\tnew Vector3(0, 1, 0),\n" "\tnew Vector3(1, 0, 0),\n" "\tnew Vector3(0, 0, 1),\n" "];\n" "\n" "// Initialize the ArrayMesh.\n" "var arrMesh = new ArrayMesh();\n" "Godot.Collections.Array arrays = [];\n" "arrays.Resize((int)Mesh.ArrayType.Max);\n" "arrays[(int)Mesh.ArrayType.Vertex] = vertices;\n" "\n" "// Create the Mesh.\n" "arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, arrays);\n" "var m = new MeshInstance3D();\n" "m.Mesh = arrMesh;\n" "[/csharp]\n" "[/codeblocks]\n" "The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown.\n" "See also [ImmediateMesh], [MeshDataTool] and [SurfaceTool] for procedural " "geometry generation.\n" "[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-" "OpenGL/Face-culling]winding order[/url] for front faces of triangle " "primitive modes." msgstr "" "[ArrayMesh] 透過將屬性指定為陣列來建構 [Mesh]。\n" "最基本的範例是建立一個三角形:\n" "[codeblocks]\n" "[gdscript]\n" "var vertices = PackedVector3Array()\n" "vertices.push_back(Vector3(0, 1, 0))\n" "vertices.push_back(Vector3(1, 0, 0))\n" "vertices.push_back(Vector3(0, 0, 1))\n" "\n" "# 初始化 ArrayMesh。\n" "var arr_mesh = ArrayMesh.new()\n" "var arrays = []\n" "arrays.resize(Mesh.ARRAY_MAX)\n" "arrays[Mesh.ARRAY_VERTEX] = vertices\n" "\n" "# 建立 Mesh。\n" "arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)\n" "var m = MeshInstance3D.new()\n" "m.mesh = arr_mesh\n" "[/gdscript]\n" "[csharp]\n" "Vector3[] vertices =\n" "[\n" "\tnew Vector3(0, 1, 0),\n" "\tnew Vector3(1, 0, 0),\n" "\tnew Vector3(0, 0, 1),\n" "];\n" "\n" "// 初始化 ArrayMesh。\n" "var arrMesh = new ArrayMesh();\n" "Godot.Collections.Array arrays = [];\n" "arrays.Resize((int)Mesh.ArrayType.Max);\n" "arrays[(int)Mesh.ArrayType.Vertex] = vertices;\n" "\n" "// 建立 Mesh。\n" "arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, arrays);\n" "var m = new MeshInstance3D();\n" "m.Mesh = arrMesh;\n" "[/csharp]\n" "[/codeblocks]\n" "此 [MeshInstance3D] 已可加入 [SceneTree] 進行顯示。\n" "如需程式化幾何產生,亦可參考 [ImmediateMesh]、[MeshDataTool] 與 " "[SurfaceTool]。\n" "[b]注意:[/b]Godot 在三角形圖元模式的正面使用順時針 [url=https://" "learnopengl.com/Advanced-OpenGL/Face-culling]繞線順序[/url]。" #: doc/classes/ArrayMesh.xml msgid "Procedural geometry using the ArrayMesh" msgstr "使用 ArrayMesh 進行程式化幾何" #: doc/classes/ArrayMesh.xml msgid "" "Adds name for a blend shape that will be added with [method " "add_surface_from_arrays]. Must be called before surface is added." msgstr "" "為將透過 [method add_surface_from_arrays] 加入的混合形狀設定名稱。必須在加入" "曲面前呼叫。" #: doc/classes/ArrayMesh.xml doc/classes/ImporterMesh.xml msgid "" "Creates a new surface. [method Mesh.get_surface_count] will become the " "[code]surf_idx[/code] for this new surface.\n" "Surfaces are created to be rendered using a [param primitive], which may be " "any of the values defined in [enum Mesh.PrimitiveType].\n" "The [param arrays] argument is an array of arrays. Each of the [constant " "Mesh.ARRAY_MAX] elements contains an array with some of the mesh data for " "this surface as described by the corresponding member of [enum " "Mesh.ArrayType] or [code]null[/code] if it is not used by the surface. For " "example, [code]arrays[0][/code] is the array of vertices. That first vertex " "sub-array is always required; the others are optional. Adding an index array " "puts this surface into \"index mode\" where the vertex and other arrays " "become the sources of data and the index array defines the vertex order. All " "sub-arrays must have the same length as the vertex array (or be an exact " "multiple of the vertex array's length, when multiple elements of a sub-array " "correspond to a single vertex) or be empty, except for [constant " "Mesh.ARRAY_INDEX] if it is used.\n" "The [param blend_shapes] argument is an array of vertex data for each blend " "shape. Each element is an array of the same structure as [param arrays], but " "[constant Mesh.ARRAY_VERTEX], [constant Mesh.ARRAY_NORMAL], and [constant " "Mesh.ARRAY_TANGENT] are set if and only if they are set in [param arrays] " "and all other entries are [code]null[/code].\n" "The [param lods] argument is a dictionary with [float] keys and " "[PackedInt32Array] values. Each entry in the dictionary represents an LOD " "level of the surface, where the value is the [constant Mesh.ARRAY_INDEX] " "array to use for the LOD level and the key is roughly proportional to the " "distance at which the LOD stats being used. I.e., increasing the key of an " "LOD also increases the distance that the objects has to be from the camera " "before the LOD is used.\n" "The [param flags] argument is the bitwise OR of, as required: One value of " "[enum Mesh.ArrayCustomFormat] left shifted by " "[code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code] for each custom channel in use, " "[constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE], [constant " "Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS], or [constant " "Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY].\n" "[b]Note:[/b] When using indices, it is recommended to only use points, " "lines, or triangles." msgstr "" "建立新的曲面。[method Mesh.get_surface_count] 的返回值將成為此曲面的 " "[code]surf_idx[/code]。\n" "曲面會以 [param primitive] 指定的圖元型別進行繪製,可為 [enum " "Mesh.PrimitiveType] 中的任一值。\n" "[param arrays] 是「陣列的陣列」。在 [constant Mesh.ARRAY_MAX] 個元素中,每個" "元素要嘛包含由 [enum Mesh.ArrayType] 相對應成員所描述的曲面資料,要嘛為未使用" "時的 [code]null[/code]。例如,[code]arrays[0][/code] 為頂點陣列;此子陣列為必" "填,其餘則為可選。若加上索引陣列,即會進入「索引模式」,此時頂點與其他陣列成" "為資料來源,而索引陣列決定頂點次序。除非使用 [constant Mesh.ARRAY_INDEX],否" "則所有子陣列長度必須等於頂點陣列長度(或為其整數倍,當一個頂點對應多個子陣列" "元素時),或保持空陣列。\n" "[param blend_shapes] 是每個混合形狀的頂點資料陣列。其結構與 [param arrays] 相" "同,但僅當 [param arrays] 內有設定 [constant Mesh.ARRAY_VERTEX]、[constant " "Mesh.ARRAY_NORMAL] 或 [constant Mesh.ARRAY_TANGENT] 時,對應項目才會被設定;" "其餘皆為 [code]null[/code]。\n" "[param lods] 為字典,鍵值為 [float]、內容為 [PackedInt32Array]。每一項代表此" "曲面的一級 LOD,其中值為該 LOD 使用的 [constant Mesh.ARRAY_INDEX] 陣列,鍵值" "大致對應開始啟用該 LOD 的距離;鍵越大,啟用距離亦越遠。\n" "[param flags] 為多個旗標的位元 OR:對於每個使用中的自訂通道,將 [enum " "Mesh.ArrayCustomFormat] 的值左移 [code]ARRAY_FORMAT_CUSTOMn_SHIFT[/code];亦" "可加入 [constant Mesh.ARRAY_FLAG_USE_DYNAMIC_UPDATE]、[constant " "Mesh.ARRAY_FLAG_USE_8_BONE_WEIGHTS]、[constant " "Mesh.ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY]。\n" "[b]注意:[/b]使用索引時建議僅使用點、線或三角形圖元。" #: doc/classes/ArrayMesh.xml msgid "Removes all blend shapes from this [ArrayMesh]." msgstr "移除此 [ArrayMesh] 的所有混合形狀。" #: doc/classes/ArrayMesh.xml msgid "Removes all surfaces from this [ArrayMesh]." msgstr "移除此 [ArrayMesh] 的所有曲面。" #: doc/classes/ArrayMesh.xml msgid "Returns the number of blend shapes that the [ArrayMesh] holds." msgstr "回傳此 [ArrayMesh] 包含的混合形狀數量。" #: doc/classes/ArrayMesh.xml doc/classes/ImporterMesh.xml msgid "Returns the name of the blend shape at this index." msgstr "回傳此索引處混合形狀的名稱。" #: doc/classes/ArrayMesh.xml msgid "" "Performs a UV unwrap on the [ArrayMesh] to prepare the mesh for lightmapping." msgstr "對 [ArrayMesh] 執行 UV 展開,以便進行光照貼圖。" #: doc/classes/ArrayMesh.xml msgid "Regenerates tangents for each of the [ArrayMesh]'s surfaces." msgstr "重新產生此 [ArrayMesh] 每個曲面的切線。" #: doc/classes/ArrayMesh.xml msgid "Sets the name of the blend shape at this index." msgstr "設定此索引處混合形狀的名稱。" #: doc/classes/ArrayMesh.xml msgid "" "Returns the index of the first surface with this name held within this " "[ArrayMesh]. If none are found, -1 is returned." msgstr "回傳此 [ArrayMesh] 中第一個具有指定名稱的曲面索引;若無則回傳 -1。" #: doc/classes/ArrayMesh.xml msgid "" "Returns the length in indices of the index array in the requested surface " "(see [method add_surface_from_arrays])." msgstr "" "回傳所指定曲面之索引陣列的索引數量(參見 [method add_surface_from_arrays])。" #: doc/classes/ArrayMesh.xml msgid "" "Returns the length in vertices of the vertex array in the requested surface " "(see [method add_surface_from_arrays])." msgstr "" "回傳所指定曲面之頂點陣列的頂點數量(參見 [method add_surface_from_arrays])。" #: doc/classes/ArrayMesh.xml msgid "" "Returns the format mask of the requested surface (see [method " "add_surface_from_arrays])." msgstr "回傳所指定曲面的格式遮罩(參見 [method add_surface_from_arrays])。" #: doc/classes/ArrayMesh.xml doc/classes/ImporterMesh.xml msgid "Gets the name assigned to this surface." msgstr "取得此曲面設定的名稱。" #: doc/classes/ArrayMesh.xml msgid "" "Returns the primitive type of the requested surface (see [method " "add_surface_from_arrays])." msgstr "回傳所指定曲面的圖元型別(參見 [method add_surface_from_arrays])。" #: doc/classes/ArrayMesh.xml doc/classes/RenderingServer.xml msgid "" "Removes the surface at the given index from the Mesh, shifting surfaces with " "higher index down by one." msgstr "從 Mesh 中移除指定索引的曲面,並將較高索引的曲面依序下移一位。" #: doc/classes/ArrayMesh.xml doc/classes/ImporterMesh.xml msgid "Sets a name for a given surface." msgstr "為指定曲面設定名稱。" #: doc/classes/ArrayMesh.xml msgid "The blend shape mode." msgstr "混合形狀模式。" #: doc/classes/ArrayMesh.xml doc/classes/PrimitiveMesh.xml msgid "" "Overrides the [AABB] with one defined by user for use with frustum culling. " "Especially useful to avoid unexpected culling when using a shader to offset " "vertices." msgstr "" "使用使用者自訂的 [AABB] 取代預設值,供視錐剔除使用。當著色器會偏移頂點時,可" "避免被意外剔除。" #: doc/classes/ArrayMesh.xml msgid "" "An optional mesh which can be used for rendering shadows and the depth " "prepass. Can be used to increase performance by supplying a mesh with fused " "vertices and only vertex position data (without normals, UVs, colors, " "etc.).\n" "[b]Note:[/b] This mesh must have exactly the same vertex positions as the " "source mesh (including the source mesh's LODs, if present). If vertex " "positions differ, then the mesh will not draw correctly." msgstr "" "可選的網格,可用於陰影與深度預傳(depth prepass)的繪製。若提供僅包含融合後頂" "點且只有頂點位置資料(無法線、UV、顏色等)的網格,可提升效能。\n" "[b]注意:[/b]此網格的頂點位置必須與來源網格完全一致(若來源網格有 LOD 亦須相" "同),否則將無法正確繪製。" #: doc/classes/ArrayOccluder3D.xml msgid "" "3D polygon shape for use with occlusion culling in [OccluderInstance3D]." msgstr "用於 [OccluderInstance3D] 遮擋剔除的 3D 多邊形形狀。" #: doc/classes/ArrayOccluder3D.xml msgid "" "[ArrayOccluder3D] stores an arbitrary 3D polygon shape that can be used by " "the engine's occlusion culling system. This is analogous to [ArrayMesh], but " "for occluders.\n" "See [OccluderInstance3D]'s documentation for instructions on setting up " "occlusion culling." msgstr "" "[ArrayOccluder3D] 儲存可供引擎遮擋剔除系統使用的任意 3D 多邊形形狀,概念上類" "似於 [ArrayMesh],但專用於遮擋物。\n" "設定方法請參閱 [OccluderInstance3D] 文件。" #: doc/classes/ArrayOccluder3D.xml doc/classes/BoxOccluder3D.xml #: doc/classes/Occluder3D.xml doc/classes/OccluderInstance3D.xml #: doc/classes/PolygonOccluder3D.xml doc/classes/QuadOccluder3D.xml #: doc/classes/SphereOccluder3D.xml msgid "Occlusion culling" msgstr "遮擋剔除" #: doc/classes/ArrayOccluder3D.xml msgid "" "Sets [member indices] and [member vertices], while updating the final " "occluder only once after both values are set." msgstr "" "同時設定 [member indices] 與 [member vertices],並於兩者皆完成後僅更新一次最" "終遮擋物。" #: doc/classes/ArrayOccluder3D.xml msgid "" "The occluder's index position. Indices determine which points from the " "[member vertices] array should be drawn, and in which order.\n" "[b]Note:[/b] The occluder is always updated after setting this value. If " "creating occluders procedurally, consider using [method set_arrays] instead " "to avoid updating the occluder twice when it's created." msgstr "" "遮擋物的索引位置。索引決定應從 [member vertices] 陣列繪出哪些點及其繪製順" "序。\n" "[b]注意:[/b]設定此值後遮擋物會立即更新。若以程式化方式建立遮擋物,建議改用 " "[method set_arrays] 以避免建立過程中更新兩次。" #: doc/classes/ArrayOccluder3D.xml msgid "" "The occluder's vertex positions in local 3D coordinates.\n" "[b]Note:[/b] The occluder is always updated after setting this value. If " "creating occluders procedurally, consider using [method set_arrays] instead " "to avoid updating the occluder twice when it's created." msgstr "" "遮擋物在本地 3D 座標中的頂點位置。\n" "[b]注意:[/b]設定此值後遮擋物會立即更新。若以程式化方式建立遮擋物,建議改用 " "[method set_arrays] 以避免建立過程中更新兩次。" #: doc/classes/AspectRatioContainer.xml msgid "A container that preserves the proportions of its child controls." msgstr "保留子控制項長寬比的容器。" #: doc/classes/AspectRatioContainer.xml msgid "" "A container type that arranges its child controls in a way that preserves " "their proportions automatically when the container is resized. Useful when a " "container has a dynamic size and the child nodes must adjust their sizes " "accordingly without losing their aspect ratios." msgstr "" "一種容器類型,會在容器大小改變時自動保持子控制項比例。當容器尺寸為動態,且子" "節點必須隨之調整大小而又不能失去長寬比時特別實用。" #: doc/classes/AspectRatioContainer.xml doc/classes/BoxContainer.xml #: doc/classes/CenterContainer.xml doc/classes/Container.xml #: doc/classes/FlowContainer.xml doc/classes/GridContainer.xml #: doc/classes/HBoxContainer.xml doc/classes/HFlowContainer.xml #: doc/classes/HSplitContainer.xml doc/classes/MarginContainer.xml #: doc/classes/PanelContainer.xml doc/classes/ScrollContainer.xml #: doc/classes/SplitContainer.xml doc/classes/TabContainer.xml #: doc/classes/VBoxContainer.xml doc/classes/VFlowContainer.xml #: doc/classes/VSplitContainer.xml msgid "Using Containers" msgstr "使用容器" #: doc/classes/AspectRatioContainer.xml msgid "Specifies the horizontal relative position of child controls." msgstr "指定子控制項的水平相對位置。" #: doc/classes/AspectRatioContainer.xml msgid "Specifies the vertical relative position of child controls." msgstr "指定子控制項的垂直相對位置。" #: doc/classes/AspectRatioContainer.xml msgid "" "The aspect ratio to enforce on child controls. This is the width divided by " "the height. The ratio depends on the [member stretch_mode]." msgstr "" "對子控制項強制套用的長寬比,為寬度除以高度,其實際效果取決於 [member " "stretch_mode]。" #: doc/classes/AspectRatioContainer.xml msgid "The stretch mode used to align child controls." msgstr "用來對齊子控制項的拉伸模式。" #: doc/classes/AspectRatioContainer.xml msgid "" "The height of child controls is automatically adjusted based on the width of " "the container." msgstr "子控制項的高度會根據容器寬度自動調整。" #: doc/classes/AspectRatioContainer.xml msgid "" "The width of child controls is automatically adjusted based on the height of " "the container." msgstr "子控制項的寬度會根據容器高度自動調整。" #: doc/classes/AspectRatioContainer.xml msgid "" "The bounding rectangle of child controls is automatically adjusted to fit " "inside the container while keeping the aspect ratio." msgstr "子控制項的邊界矩形會自動調整以符合容器,同時保持長寬比。" #: doc/classes/AspectRatioContainer.xml msgid "" "The width and height of child controls is automatically adjusted to make " "their bounding rectangle cover the entire area of the container while " "keeping the aspect ratio.\n" "When the bounding rectangle of child controls exceed the container's size " "and [member Control.clip_contents] is enabled, this allows to show only the " "container's area restricted by its own bounding rectangle." msgstr "" "子控制項的寬度與高度會自動調整,使其邊界矩形在保持長寬比的同時覆蓋整個容器區" "域。\n" "當子控制項的邊界矩形超出容器大小,且啟用 [member Control.clip_contents] 時," "僅會顯示受自身邊界矩形限制的容器區域。" #: doc/classes/AspectRatioContainer.xml msgid "" "Aligns child controls with the beginning (left or top) of the container." msgstr "將子控制項與容器的起始處(左側或上方)對齊。" #: doc/classes/AspectRatioContainer.xml msgid "Aligns child controls with the center of the container." msgstr "將子控制項與容器中心對齊。" #: doc/classes/AspectRatioContainer.xml msgid "Aligns child controls with the end (right or bottom) of the container." msgstr "將子控制項與容器的末端(右側或底部)對齊。" #: doc/classes/AStar2D.xml msgid "" "An implementation of A* for finding the shortest path between two vertices " "on a connected graph in 2D space." msgstr "A* 的實作,可用於搜尋 2D 空間連通圖上兩頂點間的最短路徑。" #: doc/classes/AStar2D.xml msgid "" "An implementation of the A* algorithm, used to find the shortest path " "between two vertices on a connected graph in 2D space.\n" "See [AStar3D] for a more thorough explanation on how to use this class. " "[AStar2D] is a wrapper for [AStar3D] that enforces 2D coordinates." msgstr "" "A* 演算法的實作,用於在 2D 空間連通圖上尋找兩頂點之間的最短路徑。\n" "更完整的用法請參考 [AStar3D]。 [AStar2D] 為 [AStar3D] 的封裝,專門處理 2D 座" "標。" #: doc/classes/AStar2D.xml doc/classes/AStarGrid2D.xml #: doc/classes/PackedVector2Array.xml msgid "Grid-based Navigation with AStarGrid2D Demo" msgstr "使用 AStarGrid2D 的網格導航範例" #: doc/classes/AStar2D.xml msgid "" "Called when computing the cost between two connected points.\n" "Note that this function is hidden in the default [AStar2D] class." msgstr "" "在計算兩個連接點之間的代價時呼叫。\n" "此函式在預設的 [AStar2D] 類別中為隱藏。" #: doc/classes/AStar2D.xml msgid "" "Called when estimating the cost between a point and the path's ending " "point.\n" "Note that this function is hidden in the default [AStar2D] class." msgstr "" "在估計某點到路徑終點的代價時呼叫。\n" "此函式在預設的 [AStar2D] 類別中為隱藏。" #: doc/classes/AStar2D.xml #, fuzzy msgid "" "Called when neighboring enters processing and if [member " "neighbor_filter_enabled] is [code]true[/code]. If [code]true[/code] is " "returned the point will not be processed.\n" "Note that this function is hidden in the default [AStar2D] class." msgstr "" "在計算兩個連接點之間的代價時呼叫。\n" "此函式在預設的 [AStar2D] 類別中為隱藏。" #: doc/classes/AStar2D.xml msgid "" "Adds a new point at the given position with the given identifier. The [param " "id] must be 0 or larger, and the [param weight_scale] must be 0.0 or " "greater.\n" "The [param weight_scale] is multiplied by the result of [method " "_compute_cost] when determining the overall cost of traveling across a " "segment from a neighboring point to this point. Thus, all else being equal, " "the algorithm prefers points with lower [param weight_scale]s to form a " "path.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(1, 0), 4) # Adds the point (1, 0) with " "weight_scale 4 and id 1\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(1, 0), 4); // Adds the point (1, 0) with " "weight_scale 4 and id 1\n" "[/csharp]\n" "[/codeblocks]\n" "If there already exists a point for the given [param id], its position and " "weight scale are updated to the given values." msgstr "" "在指定位置以指定識別碼新增一個點。[param id] 必須大於等於 0,[param " "weight_scale] 必須大於等於 0.0。\n" "在計算從相鄰點移動到此點之線段的總代價時,會把 [param weight_scale] 乘上 " "[method _compute_cost] 的結果。因此,在其他條件相同時,演算法傾向選擇 [param " "weight_scale] 較小的點來組成路徑。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(1, 0), 4) # 新增點 (1, 0),權重係數 4,ID 1\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(1, 0), 4); // 新增點 (1, 0),權重係數 4,ID 1\n" "[/csharp]\n" "[/codeblocks]\n" "若指定 [param id] 已存在,則會更新該點的位置與權重係數。" #: doc/classes/AStar2D.xml msgid "" "Returns whether there is a connection/segment between the given points. If " "[param bidirectional] is [code]false[/code], returns whether movement from " "[param id] to [param to_id] is possible through this segment." msgstr "" "檢查給定兩點之間是否存在連線/線段。若 [param bidirectional] 為 [code]false[/" "code],則僅判斷是否可自 [param id] 經由此線段移動至 [param to_id]。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "Clears all the points and segments." msgstr "清除所有點與線段。" #: doc/classes/AStar2D.xml msgid "" "Creates a segment between the given points. If [param bidirectional] is " "[code]false[/code], only movement from [param id] to [param to_id] is " "allowed, not the reverse direction.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(1, 1))\n" "astar.add_point(2, Vector2(0, 5))\n" "astar.connect_points(1, 2, false)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(1, 1));\n" "astar.AddPoint(2, new Vector2(0, 5));\n" "astar.ConnectPoints(1, 2, false);\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "在兩點之間建立線段。若 [param bidirectional] 為 [code]false[/code],僅允許自 " "[param id] 移動到 [param to_id],反向則不行。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(1, 1))\n" "astar.add_point(2, Vector2(0, 5))\n" "astar.connect_points(1, 2, false)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(1, 1));\n" "astar.AddPoint(2, new Vector2(0, 5));\n" "astar.ConnectPoints(1, 2, false);\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Deletes the segment between the given points. If [param bidirectional] is " "[code]false[/code], only movement from [param id] to [param to_id] is " "prevented, and a unidirectional segment possibly remains." msgstr "" "刪除兩點之間的線段。若 [param bidirectional] 為 [code]false[/code],僅會阻止" "自 [param id] 到 [param to_id] 的移動,原有的單向線段可能仍保留。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "Returns the next available point ID with no point associated to it." msgstr "取得下一個尚未使用的點 ID。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Returns the ID of the closest point to [param to_position], optionally " "taking disabled points into account. Returns [code]-1[/code] if there are no " "points in the points pool.\n" "[b]Note:[/b] If several points are the closest to [param to_position], the " "one with the smallest ID will be returned, ensuring a deterministic result." msgstr "" "回傳最接近 [param to_position] 的點之 ID,可選擇是否納入已停用的點。若點池為" "空則回傳 [code]-1[/code]。\n" "[b]注意:[/b] 若有多個點同樣最接近,將回傳最小 ID 的點,以確保結果一致。" #: doc/classes/AStar2D.xml msgid "" "Returns the closest position to [param to_position] that resides inside a " "segment between two connected points.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(0, 0))\n" "astar.add_point(2, Vector2(0, 5))\n" "astar.connect_points(1, 2)\n" "var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Returns (0, " "3)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(0, 0));\n" "astar.AddPoint(2, new Vector2(0, 5));\n" "astar.ConnectPoints(1, 2);\n" "Vector2 res = astar.GetClosestPositionInSegment(new Vector2(3, 3)); // " "Returns (0, 3)\n" "[/csharp]\n" "[/codeblocks]\n" "The result is in the segment that goes from [code]y = 0[/code] to [code]y = " "5[/code]. It's the closest position in the segment to the given point." msgstr "" "回傳位於兩連接點線段內、最接近 [param to_position] 的座標。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(0, 0))\n" "astar.add_point(2, Vector2(0, 5))\n" "astar.connect_points(1, 2)\n" "var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # 回傳 (0, " "3)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(0, 0));\n" "astar.AddPoint(2, new Vector2(0, 5));\n" "astar.ConnectPoints(1, 2);\n" "Vector2 res = astar.GetClosestPositionInSegment(new Vector2(3, 3)); // 回傳 " "(0, 3)\n" "[/csharp]\n" "[/codeblocks]\n" "此結果位於 [code]y = 0[/code] 到 [code]y = 5[/code] 的線段中,並且是該線段中" "最靠近指定點的位置。" #: doc/classes/AStar2D.xml msgid "" "Returns an array with the IDs of the points that form the path found by " "AStar2D between the given points. The array is ordered from the starting " "point to the ending point of the path.\n" "If there is no valid path to the target, and [param allow_partial_path] is " "[code]true[/code], returns a path to the point closest to the target that " "can be reached.\n" "[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " "to_id] is disabled the search may take an unusually long time to finish.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(0, 0))\n" "astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1\n" "astar.add_point(3, Vector2(1, 1))\n" "astar.add_point(4, Vector2(2, 0))\n" "\n" "astar.connect_points(1, 2, false)\n" "astar.connect_points(2, 3, false)\n" "astar.connect_points(4, 3, false)\n" "astar.connect_points(1, 4, false)\n" "\n" "var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(0, 0));\n" "astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1\n" "astar.AddPoint(3, new Vector2(1, 1));\n" "astar.AddPoint(4, new Vector2(2, 0));\n" "\n" "astar.ConnectPoints(1, 2, false);\n" "astar.ConnectPoints(2, 3, false);\n" "astar.ConnectPoints(4, 3, false);\n" "astar.ConnectPoints(1, 4, false);\n" "long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" "[/csharp]\n" "[/codeblocks]\n" "If you change the 2nd point's weight to 3, then the result will be [code][1, " "4, 3][/code] instead, because now even though the distance is longer, it's " "\"easier\" to get through point 4 than through point 2." msgstr "" "返回一個陣列,內含 AStar2D 在給定兩點之間尋找之路徑上的所有點 ID。陣列的順序" "會按照路徑從起點排到終點。\n" "若找不到通往目標的有效路徑且 [param allow_partial_path] 為 [code]true[/" "code],則會回傳一條通往最接近目標、且可抵達之點的路徑。\n" "[b]注意:[/b] 當 [param allow_partial_path] 為 [code]true[/code] 且 [param " "to_id] 被停用時,搜尋可能需要異常久的時間才能結束。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(0, 0))\n" "astar.add_point(2, Vector2(0, 1), 1) # 預設權重為 1\n" "astar.add_point(3, Vector2(1, 1))\n" "astar.add_point(4, Vector2(2, 0))\n" "\n" "astar.connect_points(1, 2, false)\n" "astar.connect_points(2, 3, false)\n" "astar.connect_points(4, 3, false)\n" "astar.connect_points(1, 4, false)\n" "\n" "var res = astar.get_id_path(1, 3) # 回傳 [1, 2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(0, 0));\n" "astar.AddPoint(2, new Vector2(0, 1), 1); // 預設權重為 1\n" "astar.AddPoint(3, new Vector2(1, 1));\n" "astar.AddPoint(4, new Vector2(2, 0));\n" "\n" "astar.ConnectPoints(1, 2, false);\n" "astar.ConnectPoints(2, 3, false);\n" "astar.ConnectPoints(4, 3, false);\n" "astar.ConnectPoints(1, 4, false);\n" "long[] res = astar.GetIdPath(1, 3); // 回傳 [1, 2, 3]\n" "[/csharp]\n" "[/codeblocks]\n" "如果把第 2 點的權重係數改成 3,結果就會變成 [code][1, 4, 3][/code],因為雖然" "距離較長,但通過點 4 的代價比點 2 更低。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Returns the capacity of the structure backing the points, useful in " "conjunction with [method reserve_space]." msgstr "回傳儲存點資料結構的容量,可配合 [method reserve_space] 使用。" #: doc/classes/AStar2D.xml msgid "" "Returns an array with the IDs of the points that form the connection with " "the given point.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(0, 0))\n" "astar.add_point(2, Vector2(0, 1))\n" "astar.add_point(3, Vector2(1, 1))\n" "astar.add_point(4, Vector2(2, 0))\n" "\n" "astar.connect_points(1, 2, true)\n" "astar.connect_points(1, 3, true)\n" "\n" "var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(0, 0));\n" "astar.AddPoint(2, new Vector2(0, 1));\n" "astar.AddPoint(3, new Vector2(1, 1));\n" "astar.AddPoint(4, new Vector2(2, 0));\n" "\n" "astar.ConnectPoints(1, 2, true);\n" "astar.ConnectPoints(1, 3, true);\n" "\n" "long[] neighbors = astar.GetPointConnections(1); // Returns [2, 3]\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳與指定點相連之點的 ID 陣列。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar2D.new()\n" "astar.add_point(1, Vector2(0, 0))\n" "astar.add_point(2, Vector2(0, 1))\n" "astar.add_point(3, Vector2(1, 1))\n" "astar.add_point(4, Vector2(2, 0))\n" "\n" "astar.connect_points(1, 2, true)\n" "astar.connect_points(1, 3, true)\n" "\n" "var neighbors = astar.get_point_connections(1) # 回傳 [2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar2D();\n" "astar.AddPoint(1, new Vector2(0, 0));\n" "astar.AddPoint(2, new Vector2(0, 1));\n" "astar.AddPoint(3, new Vector2(1, 1));\n" "astar.AddPoint(4, new Vector2(2, 0));\n" "\n" "astar.ConnectPoints(1, 2, true);\n" "astar.ConnectPoints(1, 3, true);\n" "\n" "long[] neighbors = astar.GetPointConnections(1); // 回傳 [2, 3]\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "Returns the number of points currently in the points pool." msgstr "回傳目前點池中的點數。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "Returns an array of all point IDs." msgstr "回傳所有點 ID 的陣列。" #: doc/classes/AStar2D.xml #, fuzzy msgid "" "Returns an array with the points that are in the path found by AStar2D " "between the given points. The array is ordered from the starting point to " "the ending point of the path.\n" "If there is no valid path to the target, and [param allow_partial_path] is " "[code]true[/code], returns a path to the point closest to the target that " "can be reached.\n" "[b]Note:[/b] This method is not thread-safe; it can only be used from a " "single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " "access to one thread to avoid race conditions.\n" "Additionally, when [param allow_partial_path] is [code]true[/code] and " "[param to_id] is disabled the search may take an unusually long time to " "finish." msgstr "" "返回一個陣列,其中包含 AStar2D 在給定兩點之間找到之路徑的所有座標 " "([Vector2])。陣列的順序會按照路徑從起點排到終點。\n" "若找不到通往目標的有效路徑且 [param allow_partial_path] 為 [code]true[/" "code],則會回傳一條通往最接近目標、且可抵達之點的路徑。\n" "[b]注意:[/b] 此方法並非執行緒安全,若於 [Thread] 中呼叫,將回傳空陣列並輸出" "錯誤訊息。\n" "此外,當 [param allow_partial_path] 為 [code]true[/code] 且 [param to_id] 被" "停用時,搜尋可能需要異常久的時間才能完成。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml doc/classes/AStarGrid2D.xml msgid "Returns the position of the point associated with the given [param id]." msgstr "回傳與指定 [param id] 相關聯之點的位置。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml doc/classes/AStarGrid2D.xml msgid "" "Returns the weight scale of the point associated with the given [param id]." msgstr "回傳與指定 [param id] 相關聯之點的權重係數。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "Returns whether a point associated with the given [param id] exists." msgstr "檢查是否存在與指定 [param id] 相關聯的點。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Returns whether a point is disabled or not for pathfinding. By default, all " "points are enabled." msgstr "檢查指定點在尋路時是否被停用;預設所有點均啟用。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Removes the point associated with the given [param id] from the points pool." msgstr "自點池中移除與指定 [param id] 相關聯的點。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Reserves space internally for [param num_nodes] points. Useful if you're " "adding a known large number of points at once, such as points on a grid." msgstr "" "在內部為 [param num_nodes] 個點預先保留空間;當一次加入大量已知點數(如網格上" "的所有點)時特別有用。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Disables or enables the specified point for pathfinding. Useful for making a " "temporary obstacle." msgstr "啟用或停用指定點的尋路功能,可用來製作臨時障礙物。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "Sets the [param position] for the point with the given [param id]." msgstr "為具有指定 [param id] 的點設定新位置 [param position]。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml msgid "" "Sets the [param weight_scale] for the point with the given [param id]. The " "[param weight_scale] is multiplied by the result of [method _compute_cost] " "when determining the overall cost of traveling across a segment from a " "neighboring point to this point." msgstr "" "為具有指定 [param id] 的點設定 [param weight_scale]。在計算從鄰近點移動至此點" "之線段的總代價時,會把 [param weight_scale] 乘上 [method _compute_cost] 的結" "果。" #: doc/classes/AStar2D.xml doc/classes/AStar3D.xml #, fuzzy msgid "" "If [code]true[/code] enables the filtering of neighbors via [method " "_filter_neighbor]." msgstr "如果為 [code]true[/code],啟用指定的旗標。" #: doc/classes/AStar3D.xml msgid "" "An implementation of A* for finding the shortest path between two vertices " "on a connected graph in 3D space." msgstr "A* 的一種實作,用於尋找 3D 空間中連接圖中的兩個頂點之間的最短路徑。" #: doc/classes/AStar3D.xml msgid "" "A* (A star) is a computer algorithm used in pathfinding and graph traversal, " "the process of plotting short paths among vertices (points), passing through " "a given set of edges (segments). It enjoys widespread use due to its " "performance and accuracy. Godot's A* implementation uses points in 3D space " "and Euclidean distances by default.\n" "You must add points manually with [method add_point] and create segments " "manually with [method connect_points]. Once done, you can test if there is a " "path between two points with the [method are_points_connected] function, get " "a path containing indices by [method get_id_path], or one containing actual " "coordinates with [method get_point_path].\n" "It is also possible to use non-Euclidean distances. To do so, create a " "script that extends [AStar3D] and override the methods [method " "_compute_cost] and [method _estimate_cost]. Both should take two point IDs " "and return the distance between the corresponding points.\n" "[b]Example:[/b] Use Manhattan distance instead of Euclidean distance:\n" "[codeblocks]\n" "[gdscript]\n" "class_name MyAStar3D\n" "extends AStar3D\n" "\n" "func _compute_cost(u, v):\n" "\tvar u_pos = get_point_position(u)\n" "\tvar v_pos = get_point_position(v)\n" "\treturn abs(u_pos.x - v_pos.x) + abs(u_pos.y - v_pos.y) + abs(u_pos.z - " "v_pos.z)\n" "\n" "func _estimate_cost(u, v):\n" "\tvar u_pos = get_point_position(u)\n" "\tvar v_pos = get_point_position(v)\n" "\treturn abs(u_pos.x - v_pos.x) + abs(u_pos.y - v_pos.y) + abs(u_pos.z - " "v_pos.z)\n" "[/gdscript]\n" "[csharp]\n" "using Godot;\n" "\n" "[GlobalClass]\n" "public partial class MyAStar3D : AStar3D\n" "{\n" "\tpublic override float _ComputeCost(long fromId, long toId)\n" "\t{\n" "\t\tVector3 fromPoint = GetPointPosition(fromId);\n" "\t\tVector3 toPoint = GetPointPosition(toId);\n" "\n" "\t\treturn Mathf.Abs(fromPoint.X - toPoint.X) + Mathf.Abs(fromPoint.Y - " "toPoint.Y) + Mathf.Abs(fromPoint.Z - toPoint.Z);\n" "\t}\n" "\n" "\tpublic override float _EstimateCost(long fromId, long toId)\n" "\t{\n" "\t\tVector3 fromPoint = GetPointPosition(fromId);\n" "\t\tVector3 toPoint = GetPointPosition(toId);\n" "\t\treturn Mathf.Abs(fromPoint.X - toPoint.X) + Mathf.Abs(fromPoint.Y - " "toPoint.Y) + Mathf.Abs(fromPoint.Z - toPoint.Z);\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "[method _estimate_cost] should return a lower bound of the distance, i.e. " "[code]_estimate_cost(u, v) <= _compute_cost(u, v)[/code]. This serves as a " "hint to the algorithm because the custom [method _compute_cost] might be " "computation-heavy. If this is not the case, make [method _estimate_cost] " "return the same value as [method _compute_cost] to provide the algorithm " "with the most accurate information.\n" "If the default [method _estimate_cost] and [method _compute_cost] methods " "are used, or if the supplied [method _estimate_cost] method returns a lower " "bound of the cost, then the paths returned by A* will be the lowest-cost " "paths. Here, the cost of a path equals the sum of the [method _compute_cost] " "results of all segments in the path multiplied by the [code]weight_scale[/" "code]s of the endpoints of the respective segments. If the default methods " "are used and the [code]weight_scale[/code]s of all points are set to " "[code]1.0[/code], then this equals the sum of Euclidean distances of all " "segments in the path." msgstr "" "A*(A Star)是一種用於路徑尋找(pathfinding)與圖遍歷(graph traversal)的電" "腦演算法,可在頂點(點)之間,沿著一組指定邊(線段)規劃最短路徑。因其效能與" "準確度而被廣泛使用。Godot 的 A* 實作預設在 3D 空間中使用點並以歐氏距離計" "算。\n" "你必須先使用 [method add_point] 手動加入點,再用 [method connect_points] 手動" "建立線段。完成後,可透過 [method are_points_connected] 檢查兩點之間是否存在路" "徑,利用 [method get_id_path] 取得由索引組成的路徑,或使用 [method " "get_point_path] 取得包含實際座標的路徑。\n" "亦可改用非歐氏距離。若要這麼做,請撰寫一個繼承自 [AStar3D] 的腳本,並覆寫 " "[method _compute_cost] 與 [method _estimate_cost] 兩個方法。這兩個方法皆應接" "收兩個點的 ID,並回傳這兩點之間的距離。\n" "[b]範例:[/b] 使用曼哈頓距離取代歐氏距離:\n" "[codeblocks]\n" "[gdscript]\n" "class_name MyAStar3D\n" "extends AStar3D\n" "\n" "func _compute_cost(u, v):\n" "\tvar u_pos = get_point_position(u)\n" "\tvar v_pos = get_point_position(v)\n" "\treturn abs(u_pos.x - v_pos.x) + abs(u_pos.y - v_pos.y) + abs(u_pos.z - " "v_pos.z)\n" "\n" "func _estimate_cost(u, v):\n" "\tvar u_pos = get_point_position(u)\n" "\tvar v_pos = get_point_position(v)\n" "\treturn abs(u_pos.x - v_pos.x) + abs(u_pos.y - v_pos.y) + abs(u_pos.z - " "v_pos.z)\n" "[/gdscript]\n" "[csharp]\n" "using Godot;\n" "\n" "[GlobalClass]\n" "public partial class MyAStar3D : AStar3D\n" "{\n" "\tpublic override float _ComputeCost(long fromId, long toId)\n" "\t{\n" "\t\tVector3 fromPoint = GetPointPosition(fromId);\n" "\t\tVector3 toPoint = GetPointPosition(toId);\n" "\t\treturn Mathf.Abs(fromPoint.X - toPoint.X) + Mathf.Abs(fromPoint.Y - " "toPoint.Y) + Mathf.Abs(fromPoint.Z - toPoint.Z);\n" "\t}\n" "\n" "\tpublic override float _EstimateCost(long fromId, long toId)\n" "\t{\n" "\t\tVector3 fromPoint = GetPointPosition(fromId);\n" "\t\tVector3 toPoint = GetPointPosition(toId);\n" "\t\treturn Mathf.Abs(fromPoint.X - toPoint.X) + Mathf.Abs(fromPoint.Y - " "toPoint.Y) + Mathf.Abs(fromPoint.Z - toPoint.Z);\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "[method _estimate_cost] 應傳回距離的下界,即 [code]_estimate_cost(u, v) <= " "_compute_cost(u, v)[/code]。這能為演算法提供提示,因為自訂的 [method " "_compute_cost] 可能計算量較大。若非如此,請讓 [method _estimate_cost] 回傳與 " "[method _compute_cost] 相同的值,以提供演算法最準確的資訊。\n" "若使用預設的 [method _estimate_cost] 與 [method _compute_cost],或自訂 " "[method _estimate_cost] 的回傳值確實為成本下界,則 A* 回傳的路徑即為最低成本" "路徑。此處,路徑成本等於路徑中所有線段的 [method _compute_cost] 結果乘以各線" "段端點的 [code]weight_scale[/code] 後的總和。若使用預設方法且所有點的 " "[code]weight_scale[/code] 均為 [code]1.0[/code],則成本即為路徑中各線段之歐氏" "距離總和。" #: doc/classes/AStar3D.xml msgid "" "Called when computing the cost between two connected points.\n" "Note that this function is hidden in the default [AStar3D] class." msgstr "" "計算兩個連接點之間成本時呼叫。\n" "注意:此函式在預設的 [AStar3D] 類別中為隱藏。" #: doc/classes/AStar3D.xml msgid "" "Called when estimating the cost between a point and the path's ending " "point.\n" "Note that this function is hidden in the default [AStar3D] class." msgstr "" "估算某點與路徑終點之間成本時呼叫。\n" "注意:此函式在預設的 [AStar3D] 類別中為隱藏。" #: doc/classes/AStar3D.xml #, fuzzy msgid "" "Called when neighboring point enters processing and if [member " "neighbor_filter_enabled] is [code]true[/code]. If [code]true[/code] is " "returned the point will not be processed.\n" "Note that this function is hidden in the default [AStar3D] class." msgstr "" "計算兩個連接點之間成本時呼叫。\n" "注意:此函式在預設的 [AStar3D] 類別中為隱藏。" #: doc/classes/AStar3D.xml msgid "" "Adds a new point at the given position with the given identifier. The [param " "id] must be 0 or larger, and the [param weight_scale] must be 0.0 or " "greater.\n" "The [param weight_scale] is multiplied by the result of [method " "_compute_cost] when determining the overall cost of traveling across a " "segment from a neighboring point to this point. Thus, all else being equal, " "the algorithm prefers points with lower [param weight_scale]s to form a " "path.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with " "weight_scale 4 and id 1\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(1, 0, 0), 4); // Adds the point (1, 0, 0) with " "weight_scale 4 and id 1\n" "[/csharp]\n" "[/codeblocks]\n" "If there already exists a point for the given [param id], its position and " "weight scale are updated to the given values." msgstr "" "在給定的位置新增一個點並指定其識別碼。 [param id] 必須大於等於 0,[param " "weight_scale] 必須大於等於 0.0。\n" "在計算從鄰近點移動至此點的段落總成本時,會將 [method _compute_cost] 的結果乘" "以 [param weight_scale]。因此在其他條件相同時,演算法傾向選擇擁有較低 [param " "weight_scale] 的點來組成路徑。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(1, 0, 0), 4) # 新增點 (1, 0, 0),weight_scale 為 " "4,id 為 1\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(1, 0, 0), 4); // 新增點 (1, 0, 0)," "weight_scale 為 4,id 為 1\n" "[/csharp]\n" "[/codeblocks]\n" "若同一 [param id] 已存在點,則其位置與權重比例會被更新為新的值。" #: doc/classes/AStar3D.xml msgid "" "Returns whether the two given points are directly connected by a segment. If " "[param bidirectional] is [code]false[/code], returns whether movement from " "[param id] to [param to_id] is possible through this segment." msgstr "" "返回兩個給定點是否透過線段直接連接。如果 [param bidirectional] 為 " "[code]false[/code],則僅檢查是否能從 [param id] 移動至 [param to_id]。" #: doc/classes/AStar3D.xml msgid "" "Creates a segment between the given points. If [param bidirectional] is " "[code]false[/code], only movement from [param id] to [param to_id] is " "allowed, not the reverse direction.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(1, 1, 0))\n" "astar.add_point(2, Vector3(0, 5, 0))\n" "astar.connect_points(1, 2, false)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(1, 1, 0));\n" "astar.AddPoint(2, new Vector3(0, 5, 0));\n" "astar.ConnectPoints(1, 2, false);\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "在兩個指定點之間建立線段。若 [param bidirectional] 為 [code]false[/code],則" "僅允許從 [param id] 移動至 [param to_id],反向則不允許。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(1, 1, 0))\n" "astar.add_point(2, Vector3(0, 5, 0))\n" "astar.connect_points(1, 2, false)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(1, 1, 0));\n" "astar.AddPoint(2, new Vector3(0, 5, 0));\n" "astar.ConnectPoints(1, 2, false);\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AStar3D.xml msgid "" "Returns the closest position to [param to_position] that resides inside a " "segment between two connected points.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(0, 0, 0))\n" "astar.add_point(2, Vector3(0, 5, 0))\n" "astar.connect_points(1, 2)\n" "var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns " "(0, 3, 0)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(0, 0, 0));\n" "astar.AddPoint(2, new Vector3(0, 5, 0));\n" "astar.ConnectPoints(1, 2);\n" "Vector3 res = astar.GetClosestPositionInSegment(new Vector3(3, 3, 0)); // " "Returns (0, 3, 0)\n" "[/csharp]\n" "[/codeblocks]\n" "The result is in the segment that goes from [code]y = 0[/code] to [code]y = " "5[/code]. It's the closest position in the segment to the given point." msgstr "" "返回位於兩個連接點之間線段中、最靠近 [param to_position] 的位置。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(0, 0, 0))\n" "astar.add_point(2, Vector3(0, 5, 0))\n" "astar.connect_points(1, 2)\n" "var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # 回傳 (0, " "3, 0)\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(0, 0, 0));\n" "astar.AddPoint(2, new Vector3(0, 5, 0));\n" "astar.ConnectPoints(1, 2);\n" "Vector3 res = astar.GetClosestPositionInSegment(new Vector3(3, 3, 0)); // 回" "傳 (0, 3, 0)\n" "[/csharp]\n" "[/codeblocks]\n" "此結果位於 [code]y = 0[/code] 至 [code]y = 5[/code] 的線段上,為該線段中最接" "近給定點的位置。" #: doc/classes/AStar3D.xml msgid "" "Returns an array with the IDs of the points that form the path found by " "AStar3D between the given points. The array is ordered from the starting " "point to the ending point of the path.\n" "If there is no valid path to the target, and [param allow_partial_path] is " "[code]true[/code], returns a path to the point closest to the target that " "can be reached.\n" "[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " "to_id] is disabled the search may take an unusually long time to finish.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(0, 0, 0))\n" "astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\n" "astar.add_point(3, Vector3(1, 1, 0))\n" "astar.add_point(4, Vector3(2, 0, 0))\n" "\n" "astar.connect_points(1, 2, false)\n" "astar.connect_points(2, 3, false)\n" "astar.connect_points(4, 3, false)\n" "astar.connect_points(1, 4, false)\n" "\n" "var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(0, 0, 0));\n" "astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1\n" "astar.AddPoint(3, new Vector3(1, 1, 0));\n" "astar.AddPoint(4, new Vector3(2, 0, 0));\n" "astar.ConnectPoints(1, 2, false);\n" "astar.ConnectPoints(2, 3, false);\n" "astar.ConnectPoints(4, 3, false);\n" "astar.ConnectPoints(1, 4, false);\n" "long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" "[/csharp]\n" "[/codeblocks]\n" "If you change the 2nd point's weight to 3, then the result will be [code][1, " "4, 3][/code] instead, because now even though the distance is longer, it's " "\"easier\" to get through point 4 than through point 2." msgstr "" "返回一個陣列,包含 AStar3D 在給定兩點之間找到的路徑上各點的 ID。陣列按起點到" "終點排序。\n" "若不存在通往目標的有效路徑且 [param allow_partial_path] 為 [code]true[/" "code],則會回傳通往最接近目標且可到達之點的路徑。\n" "[b]注意:[/b]當 [param allow_partial_path] 為 [code]true[/code] 且 [param " "to_id] 已被停用時,搜尋可能需要異常長的時間才能完成。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(0, 0, 0))\n" "astar.add_point(2, Vector3(0, 1, 0), 1) # 預設權重為 1\n" "astar.add_point(3, Vector3(1, 1, 0))\n" "astar.add_point(4, Vector3(2, 0, 0))\n" "\n" "astar.connect_points(1, 2, false)\n" "astar.connect_points(2, 3, false)\n" "astar.connect_points(4, 3, false)\n" "astar.connect_points(1, 4, false)\n" "\n" "var res = astar.get_id_path(1, 3) # 回傳 [1, 2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(0, 0, 0));\n" "astar.AddPoint(2, new Vector3(0, 1, 0), 1); // 預設權重為 1\n" "astar.AddPoint(3, new Vector3(1, 1, 0));\n" "astar.AddPoint(4, new Vector3(2, 0, 0));\n" "astar.ConnectPoints(1, 2, false);\n" "astar.ConnectPoints(2, 3, false);\n" "astar.ConnectPoints(4, 3, false);\n" "astar.ConnectPoints(1, 4, false);\n" "long[] res = astar.GetIdPath(1, 3); // 回傳 [1, 2, 3]\n" "[/csharp]\n" "[/codeblocks]\n" "若將第 2 個點的權重改為 3,則結果會變為 [code][1, 4, 3][/code],因為即便距離" "較長,透過點 4 的「成本」仍低於透過點 2。" #: doc/classes/AStar3D.xml msgid "" "Returns an array with the IDs of the points that form the connection with " "the given point.\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(0, 0, 0))\n" "astar.add_point(2, Vector3(0, 1, 0))\n" "astar.add_point(3, Vector3(1, 1, 0))\n" "astar.add_point(4, Vector3(2, 0, 0))\n" "\n" "astar.connect_points(1, 2, true)\n" "astar.connect_points(1, 3, true)\n" "\n" "var neighbors = astar.get_point_connections(1) # Returns [2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(0, 0, 0));\n" "astar.AddPoint(2, new Vector3(0, 1, 0));\n" "astar.AddPoint(3, new Vector3(1, 1, 0));\n" "astar.AddPoint(4, new Vector3(2, 0, 0));\n" "astar.ConnectPoints(1, 2, true);\n" "astar.ConnectPoints(1, 3, true);\n" "\n" "long[] neighbors = astar.GetPointConnections(1); // Returns [2, 3]\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回一個陣列,包含與指定點直接相連之點的 ID。\n" "[codeblocks]\n" "[gdscript]\n" "var astar = AStar3D.new()\n" "astar.add_point(1, Vector3(0, 0, 0))\n" "astar.add_point(2, Vector3(0, 1, 0))\n" "astar.add_point(3, Vector3(1, 1, 0))\n" "astar.add_point(4, Vector3(2, 0, 0))\n" "\n" "astar.connect_points(1, 2, true)\n" "astar.connect_points(1, 3, true)\n" "\n" "var neighbors = astar.get_point_connections(1) # 回傳 [2, 3]\n" "[/gdscript]\n" "[csharp]\n" "var astar = new AStar3D();\n" "astar.AddPoint(1, new Vector3(0, 0, 0));\n" "astar.AddPoint(2, new Vector3(0, 1, 0));\n" "astar.AddPoint(3, new Vector3(1, 1, 0));\n" "astar.AddPoint(4, new Vector3(2, 0, 0));\n" "astar.ConnectPoints(1, 2, true);\n" "astar.ConnectPoints(1, 3, true);\n" "\n" "long[] neighbors = astar.GetPointConnections(1); // 回傳 [2, 3]\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/AStar3D.xml #, fuzzy msgid "" "Returns an array with the points that are in the path found by AStar3D " "between the given points. The array is ordered from the starting point to " "the ending point of the path.\n" "If there is no valid path to the target, and [param allow_partial_path] is " "[code]true[/code], returns a path to the point closest to the target that " "can be reached.\n" "[b]Note:[/b] This method is not thread-safe; it can only be used from a " "single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " "access to one thread to avoid race conditions.\n" "Additionally, when [param allow_partial_path] is [code]true[/code] and " "[param to_id] is disabled the search may take an unusually long time to " "finish." msgstr "" "返回一個陣列,包含 AStar3D 在指定兩點間找到的路徑座標。陣列按起點至終點排" "序。\n" "若不存在通往目標的有效路徑且 [param allow_partial_path] 為 [code]true[/" "code],則回傳通往最接近目標且可到達之點的路徑。\n" "[b]注意:[/b]此方法並非執行緒安全;若從 [Thread] 呼叫,將回傳空陣列並輸出錯誤" "訊息。\n" "此外,當 [param allow_partial_path] 為 [code]true[/code] 且 [param to_id] 已" "被停用時,搜尋可能需要異常長的時間才能完成。" #: doc/classes/AStarGrid2D.xml msgid "" "An implementation of A* for finding the shortest path between two points on " "a partial 2D grid." msgstr "A* 的一種實作,用於尋找疏鬆 2D 網格中兩點之間的最短路徑。" #: doc/classes/AStarGrid2D.xml msgid "" "[AStarGrid2D] is a variant of [AStar2D] that is specialized for partial 2D " "grids. It is simpler to use because it doesn't require you to manually " "create points and connect them together. This class also supports multiple " "types of heuristics, modes for diagonal movement, and a jumping mode to " "speed up calculations.\n" "To use [AStarGrid2D], you only need to set the [member region] of the grid, " "optionally set the [member cell_size], and then call the [method update] " "method:\n" "[codeblocks]\n" "[gdscript]\n" "var astar_grid = AStarGrid2D.new()\n" "astar_grid.region = Rect2i(0, 0, 32, 32)\n" "astar_grid.cell_size = Vector2(16, 16)\n" "astar_grid.update()\n" "print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # Prints [(0, " "0), (1, 1), (2, 2), (3, 3), (3, 4)]\n" "print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # Prints " "[(0, 0), (16, 16), (32, 32), (48, 48), (48, 64)]\n" "[/gdscript]\n" "[csharp]\n" "AStarGrid2D astarGrid = new AStarGrid2D();\n" "astarGrid.Region = new Rect2I(0, 0, 32, 32);\n" "astarGrid.CellSize = new Vector2I(16, 16);\n" "astarGrid.Update();\n" "GD.Print(astarGrid.GetIdPath(Vector2I.Zero, new Vector2I(3, 4))); // Prints " "[(0, 0), (1, 1), (2, 2), (3, 3), (3, 4)]\n" "GD.Print(astarGrid.GetPointPath(Vector2I.Zero, new Vector2I(3, 4))); // " "Prints [(0, 0), (16, 16), (32, 32), (48, 48), (48, 64)]\n" "[/csharp]\n" "[/codeblocks]\n" "To remove a point from the pathfinding grid, it must be set as \"solid\" " "with [method set_point_solid]." msgstr "" "[AStarGrid2D] 是 [AStar2D] 的變體,專門用於部分 2D 網格。由於不需手動建立並連" "接點,使用上更為簡單。此類同時支援多種啟發式、對角線移動模式,並提供跳點模式" "以加速運算。\n" "要使用 [AStarGrid2D],只需設定網格的 [member region],必要時設定 [member " "cell_size],然後呼叫 [method update]:\n" "[codeblocks]\n" "[gdscript]\n" "var astar_grid = AStarGrid2D.new()\n" "astar_grid.region = Rect2i(0, 0, 32, 32)\n" "astar_grid.cell_size = Vector2(16, 16)\n" "astar_grid.update()\n" "print(astar_grid.get_id_path(Vector2i(0, 0), Vector2i(3, 4))) # 會輸出 [(0, " "0), (1, 1), (2, 2), (3, 3), (3, 4)]\n" "print(astar_grid.get_point_path(Vector2i(0, 0), Vector2i(3, 4))) # 會輸出 " "[(0, 0), (16, 16), (32, 32), (48, 48), (48, 64)]\n" "[/gdscript]\n" "[csharp]\n" "AStarGrid2D astarGrid = new AStarGrid2D();\n" "astarGrid.Region = new Rect2I(0, 0, 32, 32);\n" "astarGrid.CellSize = new Vector2I(16, 16);\n" "astarGrid.Update();\n" "GD.Print(astarGrid.GetIdPath(Vector2I.Zero, new Vector2I(3, 4))); // 會輸出 " "[(0, 0), (1, 1), (2, 2), (3, 3), (3, 4)]\n" "GD.Print(astarGrid.GetPointPath(Vector2I.Zero, new Vector2I(3, 4))); // 會輸" "出 [(0, 0), (16, 16), (32, 32), (48, 48), (48, 64)]\n" "[/csharp]\n" "[/codeblocks]\n" "若要從尋路網格中移除某點,必須先使用 [method set_point_solid] 將其標記為「實" "心」。" #: doc/classes/AStarGrid2D.xml msgid "" "Called when computing the cost between two connected points.\n" "Note that this function is hidden in the default [AStarGrid2D] class." msgstr "" "計算兩個連接點之間成本時呼叫。\n" "注意:此函式在預設的 [AStarGrid2D] 類別中為隱藏。" #: doc/classes/AStarGrid2D.xml msgid "" "Called when estimating the cost between a point and the path's ending " "point.\n" "Note that this function is hidden in the default [AStarGrid2D] class." msgstr "" "估算某點與路徑終點之間成本時呼叫。\n" "注意:此函式在預設的 [AStarGrid2D] 類別中為隱藏。" #: doc/classes/AStarGrid2D.xml msgid "" "Clears the grid and sets the [member region] to [code]Rect2i(0, 0, 0, 0)[/" "code]." msgstr "清空網格並將 [member region] 設為 [code]Rect2i(0, 0, 0, 0)[/code]。" #: doc/classes/AStarGrid2D.xml msgid "" "Fills the given [param region] on the grid with the specified value for the " "solid flag.\n" "[b]Note:[/b] Calling [method update] is not needed after the call of this " "function." msgstr "" "將指定的 [param region] 區域填入所給的實心標記值。\n" "[b]注意:[/b]呼叫此函式後無需再次呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "Fills the given [param region] on the grid with the specified value for the " "weight scale.\n" "[b]Note:[/b] Calling [method update] is not needed after the call of this " "function." msgstr "" "為網格中指定的 [param region] 設定給定的權重比例。\n" "[b]注意:[/b]呼叫此函式後無需再次呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "Returns an array with the IDs of the points that form the path found by " "AStar2D between the given points. The array is ordered from the starting " "point to the ending point of the path.\n" "If there is no valid path to the target, and [param allow_partial_path] is " "[code]true[/code], returns a path to the point closest to the target that " "can be reached.\n" "[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " "to_id] is solid the search may take an unusually long time to finish." msgstr "" "返回一個陣列,包含 AStar2D 在指定兩點之間找到的路徑上各點的 ID。陣列按起點到" "終點排序。\n" "若不存在通往目標的有效路徑且 [param allow_partial_path] 為 [code]true[/" "code],則回傳通往最接近目標且可到達之點的路徑。\n" "[b]注意:[/b]當 [param allow_partial_path] 為 [code]true[/code] 且 [param " "to_id] 為實心時,搜尋可能需要異常長的時間才能完成。" #: doc/classes/AStarGrid2D.xml msgid "" "Returns an array of dictionaries with point data ([code]id[/code]: " "[Vector2i], [code]position[/code]: [Vector2], [code]solid[/code]: [bool], " "[code]weight_scale[/code]: [float]) within a [param region]." msgstr "" "返回一個陣列,內容為位於 [param region] 內各點的資料字典([code]id[/code]: " "[Vector2i]、[code]position[/code]: [Vector2]、[code]solid[/code]: [bool]、" "[code]weight_scale[/code]: [float])。" #: doc/classes/AStarGrid2D.xml #, fuzzy msgid "" "Returns an array with the points that are in the path found by [AStarGrid2D] " "between the given points. The array is ordered from the starting point to " "the ending point of the path.\n" "If there is no valid path to the target, and [param allow_partial_path] is " "[code]true[/code], returns a path to the point closest to the target that " "can be reached.\n" "[b]Note:[/b] This method is not thread-safe; it can only be used from a " "single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " "access to one thread to avoid race conditions.\n" "Additionally, when [param allow_partial_path] is [code]true[/code] and " "[param to_id] is solid the search may take an unusually long time to finish." msgstr "" "返回一個陣列,包含 [AStarGrid2D] 在指定兩點之間找到的路徑座標。陣列按起點至終" "點排序。\n" "若不存在通往目標的有效路徑且 [param allow_partial_path] 為 [code]true[/" "code],將回傳通往最接近目標且可到達之點的路徑。\n" "[b]注意:[/b]此方法並非執行緒安全;若從 [Thread] 呼叫,將回傳空陣列並輸出錯誤" "訊息。\n" "此外,當 [param allow_partial_path] 為 [code]true[/code] 且 [param to_id] 為" "實心時,搜尋可能需要異常長的時間才能完成。" #: doc/classes/AStarGrid2D.xml msgid "" "Indicates that the grid parameters were changed and [method update] needs to " "be called." msgstr "指出網格參數已變更,需要呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "Returns [code]true[/code] if the [param x] and [param y] is a valid grid " "coordinate (id), i.e. if it is inside [member region]. Equivalent to " "[code]region.has_point(Vector2i(x, y))[/code]." msgstr "" "若 [param x] 與 [param y] 組成的座標位於 [member region] 內,則回傳 " "[code]true[/code];相當於 [code]region.has_point(Vector2i(x, y))[/code]。" #: doc/classes/AStarGrid2D.xml msgid "" "Returns [code]true[/code] if the [param id] vector is a valid grid " "coordinate, i.e. if it is inside [member region]. Equivalent to " "[code]region.has_point(id)[/code]." msgstr "" "若向量 [param id] 位於 [member region] 內,則回傳 [code]true[/code];相當於 " "[code]region.has_point(id)[/code]。" #: doc/classes/AStarGrid2D.xml msgid "" "Returns [code]true[/code] if a point is disabled for pathfinding. By " "default, all points are enabled." msgstr "若某點被停用於尋路,則回傳 [code]true[/code]。預設所有點皆為啟用狀態。" #: doc/classes/AStarGrid2D.xml msgid "" "Disables or enables the specified point for pathfinding. Useful for making " "an obstacle. By default, all points are enabled.\n" "[b]Note:[/b] Calling [method update] is not needed after the call of this " "function." msgstr "" "啟用或停用指定點的尋路功能,可用於製造障礙物。預設所有點皆啟用。\n" "[b]注意:[/b]呼叫此函式後無需再次呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "Sets the [param weight_scale] for the point with the given [param id]. The " "[param weight_scale] is multiplied by the result of [method _compute_cost] " "when determining the overall cost of traveling across a segment from a " "neighboring point to this point.\n" "[b]Note:[/b] Calling [method update] is not needed after the call of this " "function." msgstr "" "設定指定 [param id] 點的 [param weight_scale]。在計算從鄰近點移動至此點的段落" "成本時,會將 [method _compute_cost] 的結果乘以此值。\n" "[b]注意:[/b]呼叫此函式後無需再次呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "Updates the internal state of the grid according to the parameters to " "prepare it to search the path. Needs to be called if parameters like [member " "region], [member cell_size] or [member offset] are changed. [method " "is_dirty] will return [code]true[/code] if this is the case and this needs " "to be called.\n" "[b]Note:[/b] All point data (solidity and weight scale) will be cleared." msgstr "" "根據目前參數更新網格內部狀態,以便進行路徑搜尋。若變更了 [member region]、" "[member cell_size] 或 [member offset] 等參數,必須呼叫此方法。當需要更新時, " "[method is_dirty] 會回傳 [code]true[/code]。\n" "[b]注意:[/b]此操作會清除所有點的實心與權重比例資料。" #: doc/classes/AStarGrid2D.xml msgid "" "The cell shape. Affects how the positions are placed in the grid. If " "changed, [method update] needs to be called before finding the next path." msgstr "" "格形類型,決定點在網格中的放置方式。若變更此屬性,搜尋下一條路徑前需呼叫 " "[method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "The size of the point cell which will be applied to calculate the resulting " "point position returned by [method get_point_path]. If changed, [method " "update] needs to be called before finding the next path." msgstr "" "格子的實際尺寸,用於計算 [method get_point_path] 回傳的座標。若變更此屬性,搜" "尋下一條路徑前需呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "The default [enum Heuristic] which will be used to calculate the cost " "between two points if [method _compute_cost] was not overridden." msgstr "" "預設 [enum Heuristic],當未覆寫 [method _compute_cost] 時,用以計算兩點間成" "本。" #: doc/classes/AStarGrid2D.xml msgid "" "The default [enum Heuristic] which will be used to calculate the cost " "between the point and the end point if [method _estimate_cost] was not " "overridden." msgstr "" "預設 [enum Heuristic],當未覆寫 [method _estimate_cost] 時,用以計算目前點與" "終點之間的成本。" #: doc/classes/AStarGrid2D.xml msgid "" "A specific [enum DiagonalMode] mode which will force the path to avoid or " "accept the specified diagonals." msgstr "指定的 [enum DiagonalMode],用於強制路徑避免或允許特定對角線。" #: doc/classes/AStarGrid2D.xml msgid "" "Enables or disables jumping to skip up the intermediate points and speeds up " "the searching algorithm.\n" "[b]Note:[/b] Currently, toggling it on disables the consideration of weight " "scaling in pathfinding." msgstr "" "啟用或停用跳點功能以略過中繼點並加速搜尋演算法。\n" "[b]注意:[/b]目前啟用此功能後,尋路時將不考慮權重比例。" #: doc/classes/AStarGrid2D.xml msgid "" "The offset of the grid which will be applied to calculate the resulting " "point position returned by [method get_point_path]. If changed, [method " "update] needs to be called before finding the next path." msgstr "" "網格的位移量,用於計算 [method get_point_path] 回傳的座標。若變更此屬性,搜尋" "下一條路徑前需呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "The region of grid cells available for pathfinding. If changed, [method " "update] needs to be called before finding the next path." msgstr "" "可供尋路使用的網格區域。若變更此屬性,搜尋下一條路徑前需呼叫 [method " "update]。" #: doc/classes/AStarGrid2D.xml msgid "Use [member region] instead." msgstr "請改用 [member region]。" #: doc/classes/AStarGrid2D.xml msgid "" "The size of the grid (number of cells of size [member cell_size] on each " "axis). If changed, [method update] needs to be called before finding the " "next path." msgstr "" "網格尺寸(各軸上、邊長為 [member cell_size] 的格數)。若變更此屬性,搜尋下一" "條路徑前需呼叫 [method update]。" #: doc/classes/AStarGrid2D.xml msgid "" "The [url=https://en.wikipedia.org/wiki/Euclidean_distance]Euclidean " "heuristic[/url] to be used for the pathfinding using the following formula:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "result = sqrt(dx * dx + dy * dy)\n" "[/codeblock]\n" "[b]Note:[/b] This is also the internal heuristic used in [AStar3D] and " "[AStar2D] by default (with the inclusion of possible z-axis coordinate)." msgstr "" "[url=https://zh.wikipedia.org/wiki/歐幾里得距離]歐氏啟發式[/url],公式如" "下:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "result = sqrt(dx * dx + dy * dy)\n" "[/codeblock]\n" "[b]注意:[/b]這也是 [AStar3D] 與 [AStar2D] 預設使用的內部啟發式(含可能的 z " "軸)。" #: doc/classes/AStarGrid2D.xml msgid "" "The [url=https://en.wikipedia.org/wiki/Taxicab_geometry]Manhattan heuristic[/" "url] to be used for the pathfinding using the following formula:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "result = dx + dy\n" "[/codeblock]\n" "[b]Note:[/b] This heuristic is intended to be used with 4-side orthogonal " "movements, provided by setting the [member diagonal_mode] to [constant " "DIAGONAL_MODE_NEVER]." msgstr "" "[url=https://zh.wikipedia.org/wiki/曼哈頓距離]曼哈頓啟發式[/url],公式如" "下:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "result = dx + dy\n" "[/codeblock]\n" "[b]注意:[/b]此啟發式預期搭配僅允許四向正交移動的情況(將 [member " "diagonal_mode] 設為 [constant DIAGONAL_MODE_NEVER])。" #: doc/classes/AStarGrid2D.xml msgid "" "The Octile heuristic to be used for the pathfinding using the following " "formula:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "f = sqrt(2) - 1\n" "result = (dx < dy) ? f * dx + dy : f * dy + dx;\n" "[/codeblock]" msgstr "" "Octile 啟發式,公式如下:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "f = sqrt(2) - 1\n" "result = (dx < dy) ? f * dx + dy : f * dy + dx;\n" "[/codeblock]" #: doc/classes/AStarGrid2D.xml msgid "" "The [url=https://en.wikipedia.org/wiki/Chebyshev_distance]Chebyshev " "heuristic[/url] to be used for the pathfinding using the following formula:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "result = max(dx, dy)\n" "[/codeblock]" msgstr "" "[url=https://zh.wikipedia.org/wiki/切比雪夫距離]切比雪夫啟發式[/url],公式如" "下:\n" "[codeblock]\n" "dx = abs(to_id.x - from_id.x)\n" "dy = abs(to_id.y - from_id.y)\n" "result = max(dx, dy)\n" "[/codeblock]" #: doc/classes/AStarGrid2D.xml msgid "Represents the size of the [enum Heuristic] enum." msgstr "代表 [enum Heuristic] 列舉的大小。" #: doc/classes/AStarGrid2D.xml msgid "" "The pathfinding algorithm will ignore solid neighbors around the target cell " "and allow passing using diagonals." msgstr "尋路演算法將忽略目標格周圍的實心鄰格,允許沿對角線通過。" #: doc/classes/AStarGrid2D.xml msgid "" "The pathfinding algorithm will ignore all diagonals and the way will be " "always orthogonal." msgstr "尋路演算法將完全忽略對角線,路徑僅允許正交移動。" #: doc/classes/AStarGrid2D.xml msgid "" "The pathfinding algorithm will avoid using diagonals if at least two " "obstacles have been placed around the neighboring cells of the specific path " "segment." msgstr "若在特定路段的相鄰格周圍至少有兩個障礙物,尋路演算法將避免使用對角線。" #: doc/classes/AStarGrid2D.xml msgid "" "The pathfinding algorithm will avoid using diagonals if any obstacle has " "been placed around the neighboring cells of the specific path segment." msgstr "若在特定路段的相鄰格周圍存在任意障礙物,尋路演算法將避免使用對角線。" #: doc/classes/AStarGrid2D.xml msgid "Represents the size of the [enum DiagonalMode] enum." msgstr "代表 [enum DiagonalMode] 列舉的大小。" #: doc/classes/AStarGrid2D.xml msgid "Rectangular cell shape." msgstr "矩形格形。" #: doc/classes/AStarGrid2D.xml msgid "" "Diamond cell shape (for isometric look). Cell coordinates layout where the " "horizontal axis goes up-right, and the vertical one goes down-right." msgstr "菱形格形(等角視覺)。格座標佈局:水平軸朝右上,垂直軸朝右下。" #: doc/classes/AStarGrid2D.xml msgid "" "Diamond cell shape (for isometric look). Cell coordinates layout where the " "horizontal axis goes down-right, and the vertical one goes down-left." msgstr "菱形格形(等角視覺)。格座標佈局:水平軸朝右下,垂直軸朝左下。" #: doc/classes/AStarGrid2D.xml msgid "Represents the size of the [enum CellShape] enum." msgstr "代表 [enum CellShape] 列舉的大小。" #: doc/classes/AtlasTexture.xml msgid "A texture that crops out part of another Texture2D." msgstr "從另一個 Texture2D 裁剪出的紋理。" #: doc/classes/AtlasTexture.xml msgid "" "[Texture2D] resource that draws only part of its [member atlas] texture, as " "defined by the [member region]. An additional [member margin] can also be " "set, which is useful for small adjustments.\n" "Multiple [AtlasTexture] resources can be cropped from the same [member " "atlas]. Packing many smaller textures into a singular large texture helps to " "optimize video memory costs and render calls.\n" "[b]Note:[/b] [AtlasTexture] cannot be used in an [AnimatedTexture], and will " "not tile properly in nodes such as [TextureRect] or [Sprite2D]. To tile an " "[AtlasTexture], modify its [member region] instead." msgstr "" "[Texture2D] 資源,只會繪製其 [member atlas] 紋理中由 [member region] 定義的區" "域,並可另外設定 [member margin] 以進行微調。\n" "可以從同一個 [member atlas] 裁剪出多個 [AtlasTexture] 資源。將許多小型紋理打" "包到單一大型紋理中,可減少顯示記憶體占用並降低繪製呼叫次數。\n" "[b]注意:[/b][AtlasTexture] 無法用於 [AnimatedTexture],且在 [TextureRect]、" "[Sprite2D] 等節點中不會正確平鋪。若需平鋪 [AtlasTexture],請改變其 [member " "region]。" #: doc/classes/AtlasTexture.xml msgid "" "The texture that contains the atlas. Can be any type inheriting from " "[Texture2D], including another [AtlasTexture]." msgstr "" "包含該圖集的紋理。可以是任何繼承自 [Texture2D] 的型別,包括其他 " "[AtlasTexture]。" #: doc/classes/AtlasTexture.xml msgid "" "If [code]true[/code], the area outside of the [member region] is clipped to " "avoid bleeding of the surrounding texture pixels." msgstr "" "若為 [code]true[/code],則會裁剪 [member region] 之外的區域,以避免周圍紋理像" "素滲色。" #: doc/classes/AtlasTexture.xml msgid "" "The margin around the [member region]. Useful for small adjustments. If the " "[member Rect2.size] of this property (\"w\" and \"h\" in the editor) is set, " "the drawn texture is resized to fit within the margin." msgstr "" "環繞 [member region] 的邊距,適用於微調。如果設定此屬性的 [member Rect2.size]" "(在編輯器中的「w」與「h」),則繪製的紋理會縮放以符合邊距。" #: doc/classes/AtlasTexture.xml #, fuzzy msgid "" "The region used to draw the [member atlas]. If either dimension of the " "region's size is [code]0[/code], the value from [member atlas] size will be " "used for that axis instead.\n" "[b]Note:[/b] The image size is always an integer, so the actual region size " "is rounded down." msgstr "" "用於繪製 [member atlas] 的區域。若區域大小的任一邊長為 [code]0[/code],則該軸" "會改用 [member atlas] 的尺寸。" #: doc/classes/AudioBusLayout.xml msgid "Stores information about the audio buses." msgstr "儲存音訊匯流排的相關資訊。" #: doc/classes/AudioBusLayout.xml msgid "" "Stores position, muting, solo, bypass, effects, effect position, volume, and " "the connections between buses. See [AudioServer] for usage." msgstr "" "儲存位置、靜音、獨奏、旁通、效果、效果順序、音量,以及匯流排之間的連線。使用" "方法請參閱 [AudioServer]。" #: doc/classes/AudioEffect.xml msgid "Base class for audio effect resources." msgstr "音訊效果資源的基底類別。" #: doc/classes/AudioEffect.xml msgid "" "The base [Resource] for every audio effect. In the editor, an audio effect " "can be added to the current bus layout through the Audio panel. At run-time, " "it is also possible to manipulate audio effects through [method " "AudioServer.add_bus_effect], [method AudioServer.remove_bus_effect], and " "[method AudioServer.get_bus_effect].\n" "When applied on a bus, an audio effect creates a corresponding " "[AudioEffectInstance]. The instance is directly responsible for manipulating " "the sound, based on the original audio effect's properties." msgstr "" "所有音訊效果皆繼承自此 [Resource]。在編輯器中,可於「音訊」面板將效果加入目前" "匯流排配置;執行時亦可透過 [method AudioServer.add_bus_effect]、[method " "AudioServer.remove_bus_effect] 與 [method AudioServer.get_bus_effect] 動態操" "作。\n" "當效果被套用至匯流排時,會建立一個對應的 [AudioEffectInstance],該實例會依據" "原效果的屬性直接處理聲音。" #: doc/classes/AudioEffect.xml doc/classes/AudioEffectAmplify.xml #: doc/classes/AudioEffectBandLimitFilter.xml #: doc/classes/AudioEffectBandPassFilter.xml doc/classes/AudioEffectCapture.xml #: doc/classes/AudioEffectChorus.xml doc/classes/AudioEffectCompressor.xml #: doc/classes/AudioEffectDelay.xml doc/classes/AudioEffectDistortion.xml #: doc/classes/AudioEffectEQ.xml doc/classes/AudioEffectEQ10.xml #: doc/classes/AudioEffectEQ21.xml doc/classes/AudioEffectEQ6.xml #: doc/classes/AudioEffectFilter.xml doc/classes/AudioEffectHardLimiter.xml #: doc/classes/AudioEffectHighPassFilter.xml #: doc/classes/AudioEffectHighShelfFilter.xml #: doc/classes/AudioEffectInstance.xml doc/classes/AudioEffectLimiter.xml #: doc/classes/AudioEffectLowPassFilter.xml #: doc/classes/AudioEffectLowShelfFilter.xml #: doc/classes/AudioEffectNotchFilter.xml doc/classes/AudioEffectPanner.xml #: doc/classes/AudioEffectPhaser.xml doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectReverb.xml doc/classes/AudioEffectStereoEnhance.xml #: doc/classes/AudioServer.xml msgid "Audio buses" msgstr "音訊匯流排" #: doc/classes/AudioEffect.xml doc/classes/AudioEffectRecord.xml #: doc/classes/AudioServer.xml doc/classes/AudioStream.xml #: doc/classes/AudioStreamPlayer.xml msgid "Audio Microphone Record Demo" msgstr "音訊麥克風錄音示範" #: doc/classes/AudioEffect.xml msgid "" "Override this method to customize the [AudioEffectInstance] created when " "this effect is applied on a bus in the editor's Audio panel, or through " "[method AudioServer.add_bus_effect].\n" "[codeblock]\n" "extends AudioEffect\n" "\n" "@export var strength = 4.0\n" "\n" "func _instantiate():\n" "\tvar effect = CustomAudioEffectInstance.new()\n" "\teffect.base = self\n" "\n" "\treturn effect\n" "[/codeblock]\n" "[b]Note:[/b] It is recommended to keep a reference to the original " "[AudioEffect] in the new instance. Depending on the implementation this " "allows the effect instance to listen for changes at run-time and be modified " "accordingly." msgstr "" "覆寫此方法,可自訂在編輯器「音訊」面板或 [method AudioServer.add_bus_effect] " "套用效果時所建立的 [AudioEffectInstance]。\n" "[codeblock]\n" "extends AudioEffect\n" "\n" "@export var strength = 4.0\n" "\n" "func _instantiate():\n" "\tvar effect = CustomAudioEffectInstance.new()\n" "\teffect.base = self\n" "\n" "\treturn effect\n" "[/codeblock]\n" "[b]注意:[/b] 建議在新實例中保留對原 [AudioEffect] 的參考,以便於執行時偵測屬" "性變化並相應調整。" #: doc/classes/AudioEffectAmplify.xml msgid "Adds an amplifying audio effect to an audio bus." msgstr "為音訊匯流排新增一個放大效果。" #: doc/classes/AudioEffectAmplify.xml msgid "Increases or decreases the volume being routed through the audio bus." msgstr "提高或降低通過音訊匯流排的音量。" #: doc/classes/AudioEffectAmplify.xml msgid "" "Amount of amplification in decibels. Positive values make the sound louder, " "negative values make it quieter. Value can range from -80 to 24." msgstr "放大量(dB)。正值使聲音更大,負值則更小,可設定 -80 至 24。" #: doc/classes/AudioEffectAmplify.xml msgid "" "Amount of amplification as a linear value.\n" "[b]Note:[/b] This member modifies [member volume_db] for convenience. The " "returned value is equivalent to the result of [method " "@GlobalScope.db_to_linear] on [member volume_db]. Setting this member is " "equivalent to setting [member volume_db] to the result of [method " "@GlobalScope.linear_to_db] on a value." msgstr "" "以線性值表示的放大量。\n" "[b]注意:[/b] 此屬性為操作便利而同步更新 [member volume_db]。讀取時相當於對 " "[member volume_db] 執行 [method @GlobalScope.db_to_linear];寫入時則以 " "[method @GlobalScope.linear_to_db] 轉換後指定至 [member volume_db]。" #: doc/classes/AudioEffectBandLimitFilter.xml msgid "Adds a band limit filter to the audio bus." msgstr "為音訊匯流排新增一個帶限濾波器。" #: doc/classes/AudioEffectBandLimitFilter.xml msgid "" "Limits the frequencies in a range around the [member " "AudioEffectFilter.cutoff_hz] and allows frequencies outside of this range to " "pass." msgstr "" "限制 [member AudioEffectFilter.cutoff_hz] 周圍頻段的頻率,允許範圍外的頻率通" "過。" #: doc/classes/AudioEffectBandPassFilter.xml msgid "Adds a band pass filter to the audio bus." msgstr "為音訊匯流排新增一個帶通濾波器。" #: doc/classes/AudioEffectBandPassFilter.xml msgid "" "Attenuates the frequencies inside of a range around the [member " "AudioEffectFilter.cutoff_hz] and cuts frequencies outside of this band." msgstr "" "衰減 [member AudioEffectFilter.cutoff_hz] 周圍頻段內的頻率,並削減範圍外的頻" "率。" #: doc/classes/AudioEffectCapture.xml msgid "Captures audio from an audio bus in real-time." msgstr "即時擷取音訊匯流排的音訊。" #: doc/classes/AudioEffectCapture.xml msgid "" "AudioEffectCapture is an AudioEffect which copies all audio frames from the " "attached audio effect bus into its internal ring buffer.\n" "Application code should consume these audio frames from this ring buffer " "using [method get_buffer] and process it as needed, for example to capture " "data from an [AudioStreamMicrophone], implement application-defined effects, " "or to transmit audio over the network. When capturing audio data from a " "microphone, the format of the samples will be stereo 32-bit floating-point " "PCM.\n" "Unlike [AudioEffectRecord], this effect only returns the raw audio samples " "instead of encoding them into an [AudioStream]." msgstr "" "AudioEffectCapture 會將附加匯流排的所有音訊影格複製到其內部環形緩衝區。\n" "程式可透過 [method get_buffer] 從該緩衝區取出影格並自行處理,例如擷取 " "[AudioStreamMicrophone] 資料、實作自訂效果或透過網路傳輸。從麥克風擷取時,樣" "本格式為雙聲道 32 位元浮點 PCM。\n" "與 [AudioEffectRecord] 不同,本效果僅回傳原始樣本,不會封裝成 [AudioStream]。" #: doc/classes/AudioEffectCapture.xml msgid "" "Returns [code]true[/code] if at least [param frames] audio frames are " "available to read in the internal ring buffer." msgstr "" "若內部環形緩衝區中至少有 [param frames] 個影格可讀,則回傳 [code]true[/" "code]。" #: doc/classes/AudioEffectCapture.xml msgid "" "Clears the internal ring buffer.\n" "[b]Note:[/b] Calling this during a capture can cause the loss of samples " "which causes popping in the playback." msgstr "" "清空內部環形緩衝區。\n" "[b]注意:[/b] 擷取過程中呼叫此方法可能導致樣本遺失,播放時會出現爆音。" #: doc/classes/AudioEffectCapture.xml msgid "" "Gets the next [param frames] audio samples from the internal ring buffer.\n" "Returns a [PackedVector2Array] containing exactly [param frames] audio " "samples if available, or an empty [PackedVector2Array] if insufficient data " "was available.\n" "The samples are signed floating-point PCM between [code]-1[/code] and " "[code]1[/code]. You will have to scale them if you want to use them as 8 or " "16-bit integer samples. ([code]v = 0x7fff * samples[0].x[/code])" msgstr "" "自環形緩衝區取出接下來的 [param frames] 個音訊樣本。\n" "若資料足夠,回傳含有精確 [param frames] 個樣本的 [PackedVector2Array];否則回" "傳空陣列。\n" "樣本為範圍 [code]-1[/code]~[code]1[/code] 的有號浮點 PCM,若欲轉為 8 或 16 " "位整數,需自行縮放(例如 [code]v = 0x7fff * samples[0].x[/code])。" #: doc/classes/AudioEffectCapture.xml msgid "Returns the total size of the internal ring buffer in frames." msgstr "回傳內部環形緩衝區的總大小(影格數)。" #: doc/classes/AudioEffectCapture.xml msgid "" "Returns the number of audio frames discarded from the audio bus due to full " "buffer." msgstr "回傳因緩衝區已滿而被丟棄的影格數。" #: doc/classes/AudioEffectCapture.xml msgid "" "Returns the number of frames available to read using [method get_buffer]." msgstr "回傳可透過 [method get_buffer] 讀取的影格數。" #: doc/classes/AudioEffectCapture.xml msgid "Returns the number of audio frames inserted from the audio bus." msgstr "回傳自音訊匯流排寫入的影格總數。" #: doc/classes/AudioEffectCapture.xml msgid "" "Length of the internal ring buffer, in seconds. Setting the buffer length " "will have no effect if already initialized." msgstr "內部環形緩衝區長度(秒)。若已初始化,重新設定將無效。" #: doc/classes/AudioEffectChorus.xml msgid "Adds a chorus audio effect." msgstr "新增合唱音訊效果。" #: doc/classes/AudioEffectChorus.xml msgid "" "Adds a chorus audio effect. The effect applies a filter with voices to " "duplicate the audio source and manipulate it through the filter." msgstr "新增合唱效果,透過多重聲部濾波器複製並處理音訊來源。" #: doc/classes/AudioEffectChorus.xml msgid "The effect's raw signal." msgstr "效果的原始訊號比例。" #: doc/classes/AudioEffectChorus.xml msgid "The voice's cutoff frequency." msgstr "聲部的截止頻率。" #: doc/classes/AudioEffectChorus.xml msgid "The voice's signal delay." msgstr "聲部的訊號延遲。" #: doc/classes/AudioEffectChorus.xml msgid "The voice filter's depth." msgstr "聲部濾波深度。" #: doc/classes/AudioEffectChorus.xml msgid "The voice's volume." msgstr "聲部音量。" #: doc/classes/AudioEffectChorus.xml msgid "The voice's pan level." msgstr "聲部聲像。" #: doc/classes/AudioEffectChorus.xml msgid "The voice's filter rate." msgstr "聲部濾波速率。" #: doc/classes/AudioEffectChorus.xml msgid "The number of voices in the effect." msgstr "聲部數量。" #: doc/classes/AudioEffectChorus.xml msgid "The effect's processed signal." msgstr "效果的處理後訊號比例。" #: doc/classes/AudioEffectCompressor.xml msgid "" "Adds a compressor audio effect to an audio bus.\n" "Reduces sounds that exceed a certain threshold level, smooths out the " "dynamics and increases the overall volume." msgstr "" "為音訊匯流排新增壓縮效果。\n" "壓縮超過指定閾值的聲音,平滑動態並提高整體音量。" #: doc/classes/AudioEffectCompressor.xml #, fuzzy msgid "" "Dynamic range compressor reduces the level of the sound when the amplitude " "goes over a certain threshold in Decibels. One of the main uses of a " "compressor is to increase the dynamic range by clipping as little as " "possible (when sound goes over 0dB).\n" "Compressor has many uses in the mix:\n" "- In the Master bus to compress the whole output (although an " "[AudioEffectHardLimiter] is probably better).\n" "- In voice channels to ensure they sound as balanced as possible.\n" "- Sidechained. This can reduce the sound level sidechained with another " "audio bus for threshold detection. This technique is common in video game " "mixing to the level of music and SFX while voices are being heard.\n" "- Accentuates transients by using a wider attack, making effects sound more " "punchy." msgstr "" "動態範圍壓縮器會在振幅超過指定門檻(dB)時降低音量。其主要用途之一是在盡量避" "免削波(超過 0 dB)下提高動態範圍。\n" "壓縮器在混音中的常見用途:\n" "- 加在 Master 匯流排以壓縮整體輸出(有時 [AudioEffectLimiter] 更適合)。\n" "- 加在人聲通道,確保聽感均衡。\n" "- 側鏈:透過另一匯流排作門檻偵測來壓抑其聲音。遊戲中常用於語音出現時降低音樂" "/音效。\n" "- 使用較長的 Attack 來加強瞬態,使聲音更有衝擊感。" #: doc/classes/AudioEffectCompressor.xml msgid "" "Compressor's reaction time when the signal exceeds the threshold, in " "microseconds. Value can range from 20 to 2000." msgstr "訊號超出門檻時壓縮器的反應時間(µs),可設 20–2000。" #: doc/classes/AudioEffectCompressor.xml msgid "Gain applied to the output signal." msgstr "輸出訊號增益。" #: doc/classes/AudioEffectCompressor.xml msgid "" "Balance between original signal and effect signal. Value can range from 0 " "(totally dry) to 1 (totally wet)." msgstr "原始訊號與效果訊號的混合比例,0 為全乾、1 為全濕。" #: doc/classes/AudioEffectCompressor.xml msgid "" "Amount of compression applied to the audio once it passes the threshold " "level. The higher the ratio, the more the loud parts of the audio will be " "compressed. Value can range from 1 to 48." msgstr "音訊超過門檻後套用的壓縮比,值越高壓縮越強,可設 1–48。" #: doc/classes/AudioEffectCompressor.xml msgid "" "Compressor's delay time to stop reducing the signal after the signal level " "falls below the threshold, in milliseconds. Value can range from 20 to 2000." msgstr "當訊號跌破門檻後停止壓縮的延遲時間(ms),可設 20–2000。" #: doc/classes/AudioEffectCompressor.xml msgid "Reduce the sound level using another audio bus for threshold detection." msgstr "使用其他匯流排作門檻偵測以降低本匯流排音量。" #: doc/classes/AudioEffectCompressor.xml msgid "" "The level above which compression is applied to the audio. Value can range " "from -60 to 0." msgstr "開始壓縮的門檻(dB),可設 -60 至 0。" #: doc/classes/AudioEffectDelay.xml msgid "" "Adds a delay audio effect to an audio bus. Plays input signal back after a " "period of time.\n" "Two tap delay and feedback options." msgstr "" "為音訊匯流排新增延遲效果。於指定時間後回放輸入訊號。\n" "支援雙 Tap 與回饋設定。" #: doc/classes/AudioEffectDelay.xml msgid "" "Plays input signal back after a period of time. The delayed signal may be " "played back multiple times to create the sound of a repeating, decaying " "echo. Delay effects range from a subtle echo effect to a pronounced blending " "of previous sounds with new sounds." msgstr "" "延遲會在一段時間後回放輸入訊號,可多次回放形成衰減回聲。效果可從輕微迴響到明" "顯混合舊聲與新聲。" #: doc/classes/AudioEffectDelay.xml msgid "" "Output percent of original sound. At 0, only delayed sounds are output. " "Value can range from 0 to 1." msgstr "原始聲音在輸出中的比例;0 為純延遲聲,可設 0–1。" #: doc/classes/AudioEffectDelay.xml msgid "If [code]true[/code], feedback is enabled." msgstr "若為 [code]true[/code],啟用回饋。" #: doc/classes/AudioEffectDelay.xml msgid "Feedback delay time in milliseconds." msgstr "回饋延遲(ms)。" #: doc/classes/AudioEffectDelay.xml msgid "Sound level for feedback." msgstr "回饋音量。" #: doc/classes/AudioEffectDelay.xml msgid "" "Low-pass filter for feedback, in Hz. Frequencies below this value are " "filtered out of the source signal." msgstr "回饋所用的低通濾波器(Hz),低於此值者將被過濾。" #: doc/classes/AudioEffectDelay.xml msgid "If [code]true[/code], the first tap will be enabled." msgstr "若為 [code]true[/code],啟用第一 Tap。" #: doc/classes/AudioEffectDelay.xml msgid "First tap delay time in milliseconds." msgstr "第一 Tap 延遲(ms)。" #: doc/classes/AudioEffectDelay.xml msgid "Sound level for the first tap." msgstr "第一 Tap 音量。" #: doc/classes/AudioEffectDelay.xml msgid "" "Pan position for the first tap. Value can range from -1 (fully left) to 1 " "(fully right)." msgstr "第一 Tap 聲像,-1 為全左、1 為全右。" #: doc/classes/AudioEffectDelay.xml msgid "If [code]true[/code], the second tap will be enabled." msgstr "若為 [code]true[/code],啟用第二 Tap。" #: doc/classes/AudioEffectDelay.xml msgid "Second tap delay time in milliseconds." msgstr "第二 Tap 延遲(ms)。" #: doc/classes/AudioEffectDelay.xml msgid "Sound level for the second tap." msgstr "第二 Tap 音量。" #: doc/classes/AudioEffectDelay.xml msgid "" "Pan position for the second tap. Value can range from -1 (fully left) to 1 " "(fully right)." msgstr "第二 Tap 聲像,-1 為全左、1 為全右。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Adds a distortion audio effect to an Audio bus.\n" "Modifies the sound to make it distorted." msgstr "" "為音訊匯流排新增失真效果。\n" "改變聲波形以產生失真。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Different types are available: clip, tan, lo-fi (bit crushing), overdrive, " "or waveshape.\n" "By distorting the waveform the frequency content changes, which will often " "make the sound \"crunchy\" or \"abrasive\". For games, it can simulate sound " "coming from some saturated device or speaker very efficiently." msgstr "" "可選類型:削頂、正切、Lo-Fi(比特破碎)、Overdrive、Waveshape。\n" "失真會改變波形與頻譜,常帶來「破裂」或「粗糙」質感;在遊戲中能高效模擬設備或" "喇叭飽和的聲音。" #: doc/classes/AudioEffectDistortion.xml msgid "Distortion power. Value can range from 0 to 1." msgstr "失真強度,可設 0–1。" #: doc/classes/AudioEffectDistortion.xml msgid "" "High-pass filter, in Hz. Frequencies higher than this value will not be " "affected by the distortion. Value can range from 1 to 20000." msgstr "高通濾波器(Hz),高於此頻率者不受失真影響;可設 1–20000。" #: doc/classes/AudioEffectDistortion.xml msgid "Distortion type." msgstr "失真類型。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Increases or decreases the volume after the effect, in decibels. Value can " "range from -80 to 24." msgstr "效果後增減的音量(dB),可設 -80 至 24。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Increases or decreases the volume before the effect, in decibels. Value can " "range from -60 to 60." msgstr "效果前增減的音量(dB),可設 -60 至 60。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Digital distortion effect which cuts off peaks at the top and bottom of the " "waveform." msgstr "削頂式數位失真,截去波形上下峰值。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Low-resolution digital distortion effect (bit depth reduction). You can use " "it to emulate the sound of early digital audio devices." msgstr "低解析度數位失真(位元深度降低),常用於模擬早期數位設備的聲音。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Emulates the warm distortion produced by a field effect transistor, which is " "commonly used in solid-state musical instrument amplifiers. The [member " "drive] property has no effect in this mode." msgstr "" "模擬場效電晶體產生的溫暖失真(固態器材常見)。此模式下 [member drive] 無效。" #: doc/classes/AudioEffectDistortion.xml msgid "" "Waveshaper distortions are used mainly by electronic musicians to achieve an " "extra-abrasive sound." msgstr "波形塑形失真常被電子音樂人用來打造更粗糙的聲音。" #: doc/classes/AudioEffectEQ.xml msgid "" "Base class for audio equalizers. Gives you control over frequencies.\n" "Use it to create a custom equalizer if [AudioEffectEQ6], [AudioEffectEQ10] " "or [AudioEffectEQ21] don't fit your needs." msgstr "" "等化器基底類別,可用於控制不同頻率。\n" "若 [AudioEffectEQ6]、[AudioEffectEQ10] 或 [AudioEffectEQ21] 不符需求,可繼承" "本類自製等化器。" #: doc/classes/AudioEffectEQ.xml msgid "" "AudioEffectEQ gives you control over frequencies. Use it to compensate for " "existing deficiencies in audio. AudioEffectEQs are useful on the Master bus " "to completely master a mix and give it more character. They are also useful " "when a game is run on a mobile device, to adjust the mix to that kind of " "speakers (it can be added but disabled when headphones are plugged)." msgstr "" "AudioEffectEQ 能精確控制各頻段,用於補償音訊缺陷。在 Master 匯流排上進行總體" "處理或針對行動裝置喇叭調整混音時十分實用(可在偵測到耳機時停用)。" #: doc/classes/AudioEffectEQ.xml msgid "Returns the number of bands of the equalizer." msgstr "回傳等化器的頻段數。" #: doc/classes/AudioEffectEQ.xml msgid "Returns the band's gain at the specified index, in dB." msgstr "取得指定索引之頻段增益(dB)。" #: doc/classes/AudioEffectEQ.xml msgid "Sets band's gain at the specified index, in dB." msgstr "設定指定索引之頻段增益(dB)。" #: doc/classes/AudioEffectEQ10.xml msgid "" "Adds a 10-band equalizer audio effect to an Audio bus. Gives you control " "over frequencies from 31 Hz to 16000 Hz.\n" "Each frequency can be modulated between -60/+24 dB." msgstr "" "為音訊匯流排新增 10 段等化器,控制 31–16000 Hz 的頻率。\n" "每段可調整 -60 至 +24 dB。" #: doc/classes/AudioEffectEQ10.xml msgid "" "Frequency bands:\n" "Band 1: 31 Hz\n" "Band 2: 62 Hz\n" "Band 3: 125 Hz\n" "Band 4: 250 Hz\n" "Band 5: 500 Hz\n" "Band 6: 1000 Hz\n" "Band 7: 2000 Hz\n" "Band 8: 4000 Hz\n" "Band 9: 8000 Hz\n" "Band 10: 16000 Hz\n" "See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ21]." msgstr "" "頻段:\n" "1:31 Hz\n" "2:62 Hz\n" "3:125 Hz\n" "4:250 Hz\n" "5:500 Hz\n" "6:1000 Hz\n" "7:2000 Hz\n" "8:4000 Hz\n" "9:8000 Hz\n" "10:16000 Hz\n" "另見 [AudioEffectEQ]、[AudioEffectEQ6]、[AudioEffectEQ21]。" #: doc/classes/AudioEffectEQ21.xml msgid "" "Adds a 21-band equalizer audio effect to an Audio bus. Gives you control " "over frequencies from 22 Hz to 22000 Hz.\n" "Each frequency can be modulated between -60/+24 dB." msgstr "" "為音訊匯流排新增 21 段等化器,控制 22–22000 Hz 的頻率。\n" "每段可調整 -60 至 +24 dB。" #: doc/classes/AudioEffectEQ21.xml msgid "" "Frequency bands:\n" "Band 1: 22 Hz\n" "Band 2: 32 Hz\n" "Band 3: 44 Hz\n" "Band 4: 63 Hz\n" "Band 5: 90 Hz\n" "Band 6: 125 Hz\n" "Band 7: 175 Hz\n" "Band 8: 250 Hz\n" "Band 9: 350 Hz\n" "Band 10: 500 Hz\n" "Band 11: 700 Hz\n" "Band 12: 1000 Hz\n" "Band 13: 1400 Hz\n" "Band 14: 2000 Hz\n" "Band 15: 2800 Hz\n" "Band 16: 4000 Hz\n" "Band 17: 5600 Hz\n" "Band 18: 8000 Hz\n" "Band 19: 11000 Hz\n" "Band 20: 16000 Hz\n" "Band 21: 22000 Hz\n" "See also [AudioEffectEQ], [AudioEffectEQ6], [AudioEffectEQ10]." msgstr "" "頻段:\n" "1:22 Hz\n" "2:32 Hz\n" "3:44 Hz\n" "4:63 Hz\n" "5:90 Hz\n" "6:125 Hz\n" "7:175 Hz\n" "8:250 Hz\n" "9:350 Hz\n" "10:500 Hz\n" "11:700 Hz\n" "12:1000 Hz\n" "13:1400 Hz\n" "14:2000 Hz\n" "15:2800 Hz\n" "16:4000 Hz\n" "17:5600 Hz\n" "18:8000 Hz\n" "19:11000 Hz\n" "20:16000 Hz\n" "21:22000 Hz\n" "另見 [AudioEffectEQ]、[AudioEffectEQ6]、[AudioEffectEQ10]。" #: doc/classes/AudioEffectEQ6.xml msgid "" "Adds a 6-band equalizer audio effect to an audio bus. Gives you control over " "frequencies from 32 Hz to 10000 Hz.\n" "Each frequency can be modulated between -60/+24 dB." msgstr "" "為音訊匯流排新增 6 段等化器,控制 32–10000 Hz 的頻率。\n" "每段可調整 -60 至 +24 dB。" #: doc/classes/AudioEffectEQ6.xml msgid "" "Frequency bands:\n" "Band 1: 32 Hz\n" "Band 2: 100 Hz\n" "Band 3: 320 Hz\n" "Band 4: 1000 Hz\n" "Band 5: 3200 Hz\n" "Band 6: 10000 Hz\n" "See also [AudioEffectEQ], [AudioEffectEQ10], [AudioEffectEQ21]." msgstr "" "頻段:\n" "1:32 Hz\n" "2:100 Hz\n" "3:320 Hz\n" "4:1000 Hz\n" "5:3200 Hz\n" "6:10000 Hz\n" "另見 [AudioEffectEQ]、[AudioEffectEQ10]、[AudioEffectEQ21]。" #: doc/classes/AudioEffectFilter.xml msgid "Adds a filter to the audio bus." msgstr "為音訊匯流排新增濾波器。" #: doc/classes/AudioEffectFilter.xml msgid "Allows frequencies other than the [member cutoff_hz] to pass." msgstr "允許 [member cutoff_hz] 以外的頻率通過。" #: doc/classes/AudioEffectFilter.xml msgid "Threshold frequency for the filter, in Hz." msgstr "濾波閾值頻率(Hz)。" #: doc/classes/AudioEffectFilter.xml msgid "" "Steepness of the cutoff curve in dB per octave, also known as the order of " "the filter. Higher orders have a more aggressive cutoff." msgstr "截止曲線的斜率(dB/Oct),亦即濾波器階數;階數越高,截止越陡峭。" #: doc/classes/AudioEffectFilter.xml msgid "Gain amount of the frequencies after the filter." msgstr "經濾波後頻率的增益量。" #: doc/classes/AudioEffectFilter.xml msgid "Amount of boost in the frequency range near the cutoff frequency." msgstr "靠近截止頻率處的提升量。" #: doc/classes/AudioEffectFilter.xml msgid "Cutting off at 6dB per octave." msgstr "每八度 6 dB 截止。" #: doc/classes/AudioEffectFilter.xml msgid "Cutting off at 12dB per octave." msgstr "每八度 12 dB 截止。" #: doc/classes/AudioEffectFilter.xml msgid "Cutting off at 18dB per octave." msgstr "每八度 18 dB 截止。" #: doc/classes/AudioEffectFilter.xml msgid "Cutting off at 24dB per octave." msgstr "每八度 24 dB 截止。" #: doc/classes/AudioEffectHardLimiter.xml msgid "Adds a hard limiter audio effect to an Audio bus." msgstr "為音訊匯流排新增硬限制器效果。" #: doc/classes/AudioEffectHardLimiter.xml msgid "" "A limiter is an effect designed to disallow sound from going over a given dB " "threshold. Hard limiters predict volume peaks, and will smoothly apply gain " "reduction when a peak crosses the ceiling threshold to prevent clipping and " "distortion. It preserves the waveform and prevents it from crossing the " "ceiling threshold. Adding one in the Master bus is recommended as a safety " "measure to prevent sudden volume peaks from occurring, and to prevent " "distortion caused by clipping." msgstr "" "限制器能阻止音量超過指定門檻。硬限制器會預測峰值,於碰觸天花板前平順地降低增" "益,避免削波與失真;並維持波形不超出門檻。建議在 Master 匯流排加入一個硬限制" "器,作為防止突波與削波失真的保護機制。" #: doc/classes/AudioEffectHardLimiter.xml msgid "" "The waveform's maximum allowed value, in decibels. This value can range from " "[code]-24.0[/code] to [code]0.0[/code].\n" "The default value of [code]-0.3[/code] prevents potential inter-sample peaks " "(ISP) from crossing over 0 dB, which can cause slight distortion on some " "older hardware." msgstr "" "波形允許的最大值(分貝)。可設定範圍為 [code]-24.0[/code] 到 [code]0.0[/" "code]。\n" "預設值 [code]-0.3[/code] 可防止跨取樣峰值 (ISP) 超過 0 dB,避免部分舊硬體產生" "輕微失真。" #: doc/classes/AudioEffectHardLimiter.xml msgid "Gain to apply before limiting, in decibels." msgstr "限制前的前級增益(dB)。" #: doc/classes/AudioEffectHardLimiter.xml msgid "Time it takes in seconds for the gain reduction to fully release." msgstr "增益完全復原所需時間(秒)。" #: doc/classes/AudioEffectHighPassFilter.xml msgid "Adds a high-pass filter to the audio bus." msgstr "為音訊匯流排新增高通濾波器。" #: doc/classes/AudioEffectHighPassFilter.xml msgid "" "Cuts frequencies lower than the [member AudioEffectFilter.cutoff_hz] and " "allows higher frequencies to pass." msgstr "" "削減低於 [member AudioEffectFilter.cutoff_hz] 的頻率,允許更高頻率通過。" #: doc/classes/AudioEffectHighShelfFilter.xml msgid "Adds a high-shelf filter to the audio bus." msgstr "為音訊匯流排新增高架濾波器。" #: doc/classes/AudioEffectHighShelfFilter.xml msgid "Reduces all frequencies above the [member AudioEffectFilter.cutoff_hz]." msgstr "降低所有高於 [member AudioEffectFilter.cutoff_hz] 的頻率。" #: doc/classes/AudioEffectInstance.xml msgid "Manipulates the audio it receives for a given effect." msgstr "處理對應效果所接收的音訊。" #: doc/classes/AudioEffectInstance.xml msgid "" "An audio effect instance manipulates the audio it receives for a given " "effect. This instance is automatically created by an [AudioEffect] when it " "is added to a bus, and should usually not be created directly. If necessary, " "it can be fetched at run-time with [method " "AudioServer.get_bus_effect_instance]." msgstr "" "音訊效果實例會針對對應效果處理其接收的音訊。該實例於 [AudioEffect] 加入匯流排" "時自動建立,一般不應手動建立;如有需要,可於執行時透過 [method " "AudioServer.get_bus_effect_instance] 取得。" #: doc/classes/AudioEffectInstance.xml msgid "" "Called by the [AudioServer] to process this effect. When [method " "_process_silence] is not overridden or it returns [code]false[/code], this " "method is called only when the bus is active.\n" "[b]Note:[/b] It is not useful to override this method in GDScript or C#. " "Only GDExtension can take advantage of it." msgstr "" "此方法由 [AudioServer] 呼叫以處理此效果。若未覆寫 [method _process_silence] " "或其回傳值為 [code]false[/code],僅當匯流排處於作用狀態時才會被呼叫。\n" "[b]注意:[/b] 在 GDScript 或 C# 中覆寫本方法並無實際效益;只有以 GDExtension " "實作時才能發揮效用。" #: doc/classes/AudioEffectInstance.xml msgid "" "Override this method to customize the processing behavior of this effect " "instance.\n" "Should return [code]true[/code] to force the [AudioServer] to always call " "[method _process], even if the bus has been muted or cannot otherwise be " "heard." msgstr "" "覆寫此方法可自訂此效果實例的處理行為。\n" "若回傳 [code]true[/code],將強制 [AudioServer] 無論匯流排是否靜音或不可聽見," "都持續呼叫 [method _process]。" #: doc/classes/AudioEffectLimiter.xml msgid "Use [AudioEffectHardLimiter] instead." msgstr "請改用 [AudioEffectHardLimiter]。" #: doc/classes/AudioEffectLimiter.xml msgid "Adds a soft-clip limiter audio effect to an Audio bus." msgstr "為音訊匯流排新增軟削波限制器效果。" #: doc/classes/AudioEffectLimiter.xml msgid "" "A limiter is similar to a compressor, but it's less flexible and designed to " "disallow sound going over a given dB threshold. Adding one in the Master bus " "is always recommended to reduce the effects of clipping.\n" "Soft clipping starts to reduce the peaks a little below the threshold level " "and progressively increases its effect as the input level increases such " "that the threshold is never exceeded." msgstr "" "限制器類似壓縮器,但較固定,目的在阻止音量超過門檻。建議於 Master 匯流排加" "入,以降低削波影響。\n" "軟削波會在接近門檻前開始壓低峰值,隨輸入增大而逐漸加強,確保不會越界。" #: doc/classes/AudioEffectLimiter.xml msgid "" "The waveform's maximum allowed value, in decibels. Value can range from -20 " "to -0.1." msgstr "波形允許的最大值(dB),可設 -20 至 -0.1。" #: doc/classes/AudioEffectLimiter.xml msgid "" "Applies a gain to the limited waves, in decibels. Value can range from 0 to " "6." msgstr "對被限制後的波形加上的增益(dB),可設 0–6。" #: doc/classes/AudioEffectLimiter.xml msgid "" "Threshold from which the limiter begins to be active, in decibels. Value can " "range from -30 to 0." msgstr "限制器開始作用的門檻(dB),可設 -30 至 0。" #: doc/classes/AudioEffectLowPassFilter.xml msgid "Adds a low-pass filter to the audio bus." msgstr "為音訊匯流排新增低通濾波器。" #: doc/classes/AudioEffectLowPassFilter.xml msgid "" "Cuts frequencies higher than the [member AudioEffectFilter.cutoff_hz] and " "allows lower frequencies to pass." msgstr "" "削減高於 [member AudioEffectFilter.cutoff_hz] 的頻率,允許更低頻率通過。" #: doc/classes/AudioEffectLowShelfFilter.xml msgid "Adds a low-shelf filter to the audio bus." msgstr "為音訊匯流排新增低架濾波器。" #: doc/classes/AudioEffectLowShelfFilter.xml msgid "Reduces all frequencies below the [member AudioEffectFilter.cutoff_hz]." msgstr "降低所有低於 [member AudioEffectFilter.cutoff_hz] 的頻率。" #: doc/classes/AudioEffectNotchFilter.xml msgid "Adds a notch filter to the Audio bus." msgstr "為音訊匯流排新增陷波濾波器。" #: doc/classes/AudioEffectNotchFilter.xml msgid "" "Attenuates frequencies in a narrow band around the [member " "AudioEffectFilter.cutoff_hz] and cuts frequencies outside of this range." msgstr "" "衰減 [member AudioEffectFilter.cutoff_hz] 附近窄頻段,並削減範圍外頻率。" #: doc/classes/AudioEffectPanner.xml msgid "Adds a panner audio effect to an audio bus. Pans sound left or right." msgstr "為音訊匯流排新增聲像效果,可將聲音左右移動。" #: doc/classes/AudioEffectPanner.xml msgid "" "Determines how much of an audio signal is sent to the left and right buses." msgstr "決定輸出到左/右匯流排的訊號比例。" #: doc/classes/AudioEffectPanner.xml msgid "Pan position. Value can range from -1 (fully left) to 1 (fully right)." msgstr "聲像位置。值的範圍可從 -1(最左)到 1(最右)。" #: doc/classes/AudioEffectPhaser.xml msgid "" "Adds a phaser audio effect to an audio bus.\n" "Combines the original signal with a copy that is slightly out of phase with " "the original." msgstr "" "向音訊匯流排新增移相器效果。\n" "將原始訊號與其帶有些微相位差的副本混合。" #: doc/classes/AudioEffectPhaser.xml msgid "" "Combines phase-shifted signals with the original signal. The movement of the " "phase-shifted signals is controlled using a low-frequency oscillator." msgstr "將相移訊號與原始訊號混合。相移訊號的移動由低頻振盪器 (LFO) 控制。" #: doc/classes/AudioEffectPhaser.xml msgid "" "Determines how high the filter frequencies sweep. Low value will primarily " "affect bass frequencies. High value can sweep high into the treble. Value " "can range from [code]0.1[/code] to [code]4.0[/code]." msgstr "" "決定濾波器掃描的最高頻率。較低值主要影響低頻,較高值可掃描至高音。取值範圍為 " "[code]0.1[/code] 至 [code]4.0[/code]。" #: doc/classes/AudioEffectPhaser.xml msgid "Output percent of modified sound. Value can range from 0.1 to 0.9." msgstr "修改後聲音的輸出百分比。取值範圍為 0.1 到 0.9。" #: doc/classes/AudioEffectPhaser.xml msgid "" "Determines the maximum frequency affected by the LFO modulations, in Hz. " "Value can range from 10 to 10000." msgstr "決定受 LFO 調變影響的最大頻率(Hz),範圍 10–10000。" #: doc/classes/AudioEffectPhaser.xml msgid "" "Determines the minimum frequency affected by the LFO modulations, in Hz. " "Value can range from 10 to 10000." msgstr "決定受 LFO 調變影響的最小頻率(Hz),範圍 10–10000。" #: doc/classes/AudioEffectPhaser.xml msgid "" "Adjusts the rate in Hz at which the effect sweeps up and down across the " "frequency range." msgstr "以 Hz 為單位調整效果於頻率範圍內上下掃描的速率。" #: doc/classes/AudioEffectPitchShift.xml msgid "" "Adds a pitch-shifting audio effect to an audio bus.\n" "Raises or lowers the pitch of original sound." msgstr "" "為音訊匯流排新增音高位移效果。\n" "可提升或降低原始聲音的音高。" #: doc/classes/AudioEffectPitchShift.xml msgid "" "Allows modulation of pitch independently of tempo. All frequencies can be " "increased/decreased with minimal effect on transients." msgstr "可在不改變速度的情況下調變音高;所有頻率皆可升降,且對瞬態的影響極小。" #: doc/classes/AudioEffectPitchShift.xml msgid "" "The size of the [url=https://en.wikipedia.org/wiki/" "Fast_Fourier_transform]Fast Fourier transform[/url] buffer. Higher values " "smooth out the effect over time, but have greater latency. The effects of " "this higher latency are especially noticeable on sounds that have sudden " "amplitude changes." msgstr "" "[url=https://en.wikipedia.org/wiki/Fast_Fourier_transform]快速傅立葉轉換[/" "url]緩衝區大小。數值越高效果隨時間越平滑,但延遲也越大;此延遲對瞬間振幅變化" "的聲音尤為明顯。" #: doc/classes/AudioEffectPitchShift.xml msgid "" "The oversampling factor to use. Higher values result in better quality, but " "are more demanding on the CPU and may cause audio cracking if the CPU can't " "keep up." msgstr "" "過取樣係數。值越高音質越好,但 CPU 負擔也越重,若處理不及可能導致爆音。" #: doc/classes/AudioEffectPitchShift.xml msgid "" "The pitch scale to use. [code]1.0[/code] is the default pitch and plays " "sounds unaffected. [member pitch_scale] can range from [code]0.0[/code] " "(infinitely low pitch, inaudible) to [code]16[/code] (16 times higher than " "the initial pitch)." msgstr "" "音高縮放倍率。[code]1.0[/code] 為預設音高且不改變播放。[member pitch_scale] " "取值範圍為 [code]0.0[/code](無限低,聽不見)到 [code]16[/code](高出原音高 " "16 倍)。" #: doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "Use a buffer of 256 samples for the Fast Fourier transform. Lowest latency, " "but least stable over time." msgstr "使用 256 個取樣點進行快速傅立葉轉換。延遲最低,但長時間穩定性最差。" #: doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "Use a buffer of 512 samples for the Fast Fourier transform. Low latency, but " "less stable over time." msgstr "使用 512 個取樣點進行快速傅立葉轉換。延遲低,但長時間穩定性較差。" #: doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "Use a buffer of 1024 samples for the Fast Fourier transform. This is a " "compromise between latency and stability over time." msgstr "使用 1024 個取樣點進行快速傅立葉轉換。延遲與穩定性折衷。" #: doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "Use a buffer of 2048 samples for the Fast Fourier transform. High latency, " "but stable over time." msgstr "使用 2048 個取樣點進行快速傅立葉轉換。延遲高,但穩定。" #: doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "Use a buffer of 4096 samples for the Fast Fourier transform. Highest " "latency, but most stable over time." msgstr "使用 4096 個取樣點進行快速傅立葉轉換。延遲最高,但穩定性最佳。" #: doc/classes/AudioEffectPitchShift.xml #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "Represents the size of the [enum FFTSize] enum." msgstr "代表 [enum FFTSize] 列舉的大小。" #: doc/classes/AudioEffectRecord.xml msgid "Audio effect used for recording the sound from an audio bus." msgstr "用於錄製音訊匯流排輸出的音訊效果。" #: doc/classes/AudioEffectRecord.xml msgid "" "Allows the user to record the sound from an audio bus into an " "[AudioStreamWAV]. When used on the \"Master\" audio bus, this includes all " "audio output by Godot.\n" "Unlike [AudioEffectCapture], this effect encodes the recording with the " "given format (8-bit, 16-bit, or compressed) instead of giving access to the " "raw audio samples.\n" "Can be used (with an [AudioStreamMicrophone]) to record from a microphone.\n" "[b]Note:[/b] [member ProjectSettings.audio/driver/enable_input] must be " "[code]true[/code] for audio input to work. See also that setting's " "description for caveats related to permissions and operating system privacy " "settings." msgstr "" "可將音訊匯流排的聲音錄製成 [AudioStreamWAV]。若用於「Master」匯流排,將包含 " "Godot 全部音訊輸出。\n" "與 [AudioEffectCapture] 不同,此效果會依指定格式(8-bit、16-bit 或壓縮)編碼" "錄音,而非提供原始取樣資料。\n" "亦可搭配 [AudioStreamMicrophone] 進行麥克風錄音。\n" "[b]注意:[/b]必須將 [member ProjectSettings.audio/driver/enable_input] 設為 " "[code]true[/code] 才能使用音訊輸入。更多權限及作業系統隱私限制請參閱該設定說" "明。" #: doc/classes/AudioEffectRecord.xml doc/classes/AudioStreamMicrophone.xml msgid "Recording with microphone" msgstr "使用麥克風錄音" #: doc/classes/AudioEffectRecord.xml msgid "Returns the recorded sample." msgstr "返回錄製的樣本。" #: doc/classes/AudioEffectRecord.xml msgid "Returns whether the recording is active or not." msgstr "返回錄音是否啟動。" #: doc/classes/AudioEffectRecord.xml msgid "" "If [code]true[/code], the sound will be recorded. Note that restarting the " "recording will remove the previously recorded sample." msgstr "若為 [code]true[/code] 則開始錄音;重新開始會刪除先前錄得的樣本。" #: doc/classes/AudioEffectRecord.xml msgid "Specifies the format in which the sample will be recorded." msgstr "指定錄音所使用的格式。" #: doc/classes/AudioEffectReverb.xml msgid "Adds a reverberation audio effect to an Audio bus." msgstr "向音訊匯流排新增混響效果。" #: doc/classes/AudioEffectReverb.xml msgid "" "Simulates the sound of acoustic environments such as rooms, concert halls, " "caverns, or an open spaces." msgstr "模擬房間、音樂廳、洞穴或開放空間等聲學環境。" #: doc/classes/AudioEffectReverb.xml msgid "" "Defines how reflective the imaginary room's walls are. Value can range from " "0 to 1." msgstr "定義虛擬房間牆面的反射度,取值 0–1。" #: doc/classes/AudioEffectReverb.xml msgid "" "Output percent of original sound. At 0, only modified sound is outputted. " "Value can range from 0 to 1." msgstr "原始聲音的輸出百分比;0 時僅輸出處理後的聲音。取值 0–1。" #: doc/classes/AudioEffectReverb.xml msgid "" "High-pass filter passes signals with a frequency higher than a certain " "cutoff frequency and attenuates signals with frequencies lower than the " "cutoff frequency. Value can range from 0 to 1." msgstr "高通濾波器會通過高於截止頻率的訊號並衰減低於該頻率的訊號。取值 0–1。" #: doc/classes/AudioEffectReverb.xml msgid "Output percent of predelay. Value can range from 0 to 1." msgstr "預延遲輸出百分比,取值 0–1。" #: doc/classes/AudioEffectReverb.xml msgid "" "Time between the original signal and the early reflections of the reverb " "signal, in milliseconds." msgstr "原始訊號與混響早期反射間的時間(毫秒)。" #: doc/classes/AudioEffectReverb.xml msgid "" "Dimensions of simulated room. Bigger means more echoes. Value can range from " "0 to 1." msgstr "模擬房間尺寸,越大回聲越多。取值 0–1。" #: doc/classes/AudioEffectReverb.xml msgid "" "Widens or narrows the stereo image of the reverb tail. 1 means fully widens. " "Value can range from 0 to 1." msgstr "調整混響尾音的立體聲寬度;1 為最寬。取值 0–1。" #: doc/classes/AudioEffectReverb.xml msgid "" "Output percent of modified sound. At 0, only original sound is outputted. " "Value can range from 0 to 1." msgstr "處理後聲音的輸出百分比;0 時僅輸出原始聲音。取值 0–1。" #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "Audio effect that can be used for real-time audio visualizations." msgstr "可用於即時音訊視覺化的音訊效果。" #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "This audio effect does not affect sound output, but can be used for real-" "time audio visualizations.\n" "This resource configures an [AudioEffectSpectrumAnalyzerInstance], which " "performs the actual analysis at runtime. An instance can be obtained with " "[method AudioServer.get_bus_effect_instance].\n" "See also [AudioStreamGenerator] for procedurally generating sounds." msgstr "" "此效果不會改變聲音輸出,但可用於即時音訊視覺化。\n" "該資源會配置一個 [AudioEffectSpectrumAnalyzerInstance],於執行時進行實際分" "析,可透過 [method AudioServer.get_bus_effect_instance] 取得。\n" "若需程式化產生聲音,請參閱 [AudioStreamGenerator]。" #: doc/classes/AudioEffectSpectrumAnalyzer.xml #: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml #: doc/classes/AudioServer.xml doc/classes/AudioStream.xml #: doc/classes/AudioStreamPlayer.xml doc/classes/CanvasItem.xml msgid "Audio Spectrum Visualizer Demo" msgstr "音訊頻譜視覺化範例" #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "The length of the buffer to keep (in seconds). Higher values keep data " "around for longer, but require more memory." msgstr "緩衝區保留時長(秒)。值越大資料保存越久,但佔用記憶體越多。" #: doc/classes/AudioEffectSpectrumAnalyzer.xml msgid "" "The size of the [url=https://en.wikipedia.org/wiki/" "Fast_Fourier_transform]Fast Fourier transform[/url] buffer. Higher values " "smooth out the spectrum analysis over time, but have greater latency. The " "effects of this higher latency are especially noticeable with sudden " "amplitude changes." msgstr "" "[url=https://en.wikipedia.org/wiki/Fast_Fourier_transform]快速傅立葉轉換[/" "url]緩衝區大小。值越高頻譜分析隨時間越平滑,但延遲也越大;突發振幅變化時此延" "遲特別明顯。" #: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml msgid "Queryable instance of an [AudioEffectSpectrumAnalyzer]." msgstr "可查詢的 [AudioEffectSpectrumAnalyzer] 執行個體。" #: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml msgid "" "The runtime part of an [AudioEffectSpectrumAnalyzer], which can be used to " "query the magnitude of a frequency range on its host bus.\n" "An instance of this class can be obtained with [method " "AudioServer.get_bus_effect_instance]." msgstr "" "[AudioEffectSpectrumAnalyzer] 的執行階段部分,可用於查詢其所在匯流排上指定頻" "率範圍的能量大小。\n" "可透過 [method AudioServer.get_bus_effect_instance] 取得此類別的實體。" #: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml msgid "" "Returns the magnitude of the frequencies from [param from_hz] to [param " "to_hz] in linear energy as a Vector2. The [code]x[/code] component of the " "return value represents the left stereo channel, and [code]y[/code] " "represents the right channel.\n" "[param mode] determines how the frequency range will be processed." msgstr "" "返回 [param from_hz] 到 [param to_hz] 頻率範圍的線性能量大小,型別為 " "Vector2。其中 [code]x[/code] 表左聲道,[code]y[/code] 表右聲道。\n" "[param mode] 決定該頻率範圍的處理方式。" #: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml msgid "Use the average value across the frequency range as magnitude." msgstr "使用該頻率範圍的平均值作為幅度。" #: doc/classes/AudioEffectSpectrumAnalyzerInstance.xml msgid "Use the maximum value of the frequency range as magnitude." msgstr "使用該頻率範圍的最大值作為幅度。" #: doc/classes/AudioEffectStereoEnhance.xml msgid "" "An audio effect that can be used to adjust the intensity of stereo panning." msgstr "可用於調整立體聲聲像強度的音訊效果。" #: doc/classes/AudioEffectStereoEnhance.xml msgid "" "Amplifies the difference between stereo channels, increasing or decreasing " "existing panning. A value of 0.0 will downmix stereo to mono. Does not " "affect a mono signal." msgstr "" "放大左右聲道差異以增強或減弱原有的聲像;0.0 會將立體聲下混為單聲道。對單聲道" "訊號無效。" #: doc/classes/AudioEffectStereoEnhance.xml msgid "" "Widens sound stage through phase shifting in conjunction with [member " "time_pullout_ms]. Just pans sound to the left channel if [member " "time_pullout_ms] is 0." msgstr "" "與 [member time_pullout_ms] 搭配透過相位偏移擴展音場;若 [member " "time_pullout_ms] 為 0,僅將聲音平移至左聲道。" #: doc/classes/AudioEffectStereoEnhance.xml msgid "" "Widens sound stage through phase shifting in conjunction with [member " "surround]. Just delays the right channel if [member surround] is 0." msgstr "" "與 [member surround] 搭配透過相位偏移擴展音場;若 [member surround] 為 0,僅" "延遲右聲道。" #: doc/classes/AudioListener2D.xml doc/classes/AudioListener3D.xml msgid "Overrides the location sounds are heard from." msgstr "覆寫聽音位置。" #: doc/classes/AudioListener2D.xml msgid "" "Once added to the scene tree and enabled using [method make_current], this " "node will override the location sounds are heard from. Only one " "[AudioListener2D] can be current. Using [method make_current] will disable " "the previous [AudioListener2D].\n" "If there is no active [AudioListener2D] in the current [Viewport], center of " "the screen will be used as a hearing point for the audio. [AudioListener2D] " "needs to be inside [SceneTree] to function." msgstr "" "當加入場景樹並透過 [method make_current] 啟用後,此節點將覆寫聽音位置;任一時" "刻僅能有一個 [AudioListener2D] 為目前使用。呼叫 [method make_current] 會停用" "先前的 [AudioListener2D]。\n" "若目前 [Viewport] 中沒有啟用的 [AudioListener2D],則以螢幕中心作為聽音點。必" "須將 [AudioListener2D] 置於 [SceneTree] 內才能運作。" #: doc/classes/AudioListener2D.xml msgid "" "Disables the [AudioListener2D]. If it's not set as current, this method will " "have no effect." msgstr "停用 [AudioListener2D];若其非目前使用則此方法無效。" #: doc/classes/AudioListener2D.xml msgid "" "Returns [code]true[/code] if this [AudioListener2D] is currently active." msgstr "若此 [AudioListener2D] 目前啟用,返回 [code]true[/code]。" #: doc/classes/AudioListener2D.xml msgid "" "Makes the [AudioListener2D] active, setting it as the hearing point for the " "sounds. If there is already another active [AudioListener2D], it will be " "disabled.\n" "This method will have no effect if the [AudioListener2D] is not added to " "[SceneTree]." msgstr "" "將此 [AudioListener2D] 設為啟用並成為聽音點;若已存在其他啟用之 " "[AudioListener2D],則會被停用。\n" "若此節點未加入 [SceneTree],本方法無效。" #: doc/classes/AudioListener3D.xml msgid "" "Once added to the scene tree and enabled using [method make_current], this " "node will override the location sounds are heard from. This can be used to " "listen from a location different from the [Camera3D]." msgstr "" "加入場景樹並透過 [method make_current] 啟用後,此節點將覆寫聽音位置,可用於從" "與 [Camera3D] 不同的位置聽取聲音。" #: doc/classes/AudioListener3D.xml msgid "Disables the listener to use the current camera's listener instead." msgstr "停用此監聽器,改用目前相機的監聽器。" #: doc/classes/AudioListener3D.xml msgid "Returns the listener's global orthonormalized [Transform3D]." msgstr "返回監聽器的全域正交化 [Transform3D]。" #: doc/classes/AudioListener3D.xml msgid "" "Returns [code]true[/code] if the listener was made current using [method " "make_current], [code]false[/code] otherwise.\n" "[b]Note:[/b] There may be more than one AudioListener3D marked as " "\"current\" in the scene tree, but only the one that was made current last " "will be used." msgstr "" "若監聽器透過 [method make_current] 設為目前則返回 [code]true[/code],否則返" "回 [code]false[/code]。\n" "[b]注意:[/b]場景樹中可同時標記多個 AudioListener3D 為「目前」,但僅最後設定" "者實際生效。" #: doc/classes/AudioListener3D.xml msgid "Enables the listener. This will override the current camera's listener." msgstr "啟用此監聽器,並覆寫目前相機的監聽器。" #: doc/classes/AudioListener3D.xml #, fuzzy msgid "" "If not [constant DOPPLER_TRACKING_DISABLED], this listener will simulate the " "[url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/url] for " "objects changed in particular [code]_process[/code] methods.\n" "[b]Note:[/b] The Doppler effect will only be heard on [AudioStreamPlayer3D]s " "if [member AudioStreamPlayer3D.doppler_tracking] is not set to [constant " "AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED]." msgstr "" "如果不是 [constant DOPPLER_TRACKING_DISABLED],此相機將為在 [code]_process[/" "code] 中變化的物件類比[url=https://zh.wikipedia.org/wiki/" "%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效應[/url]。可能的值見 " "[enum DopplerTracking]。" #: doc/classes/AudioListener3D.xml doc/classes/Camera3D.xml msgid "" "Disables [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" "url] simulation (default)." msgstr "" "禁用[url=https://en.wikipedia.org/wiki/Doppler_effect]多普勒效應[/url]模擬" "(預設)。" #: doc/classes/AudioListener3D.xml #, fuzzy msgid "" "Simulate [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" "url] by tracking positions of objects that are changed in [code]_process[/" "code]. Changes in the relative velocity of this listener compared to those " "objects affect how audio is perceived (changing the audio's [member " "AudioStreamPlayer3D.pitch_scale])." msgstr "" "通過追蹤在 [code]_process[/code] 中改變的物體位置來類比[url=https://" "zh.wikipedia.org/wiki/%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效" "應[/url]。與這些物體相比,該相機的相對速度的變化會影響音訊的感知方式(改變音" "訊的 [member AudioStreamPlayer3D.pitch_scale])。" #: doc/classes/AudioListener3D.xml #, fuzzy msgid "" "Simulate [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" "url] by tracking positions of objects that are changed in " "[code]_physics_process[/code]. Changes in the relative velocity of this " "listener compared to those objects affect how audio is perceived (changing " "the audio's [member AudioStreamPlayer3D.pitch_scale])." msgstr "" "通過追蹤在 [code]_process[/code] 中改變的物體位置來類比[url=https://" "zh.wikipedia.org/wiki/%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效" "應[/url]。與這些物體相比,該相機的相對速度的變化會影響音訊的感知方式(改變音" "訊的 [member AudioStreamPlayer3D.pitch_scale])。" #: doc/classes/AudioSample.xml msgid "Base class for audio samples." msgstr "音訊樣本的基底類別。" #: doc/classes/AudioSamplePlayback.xml msgid "Meta class for playing back audio samples." msgstr "用於播放音訊樣本的元類別。" #: doc/classes/AudioServer.xml msgid "Server interface for low-level audio access." msgstr "低階音訊存取的伺服器介面。" #: doc/classes/AudioServer.xml msgid "" "[AudioServer] is a low-level server interface for audio access. It is in " "charge of creating sample data (playable audio) as well as its playback via " "a voice interface." msgstr "" "[AudioServer] 為低階音訊存取伺服器介面,負責建立樣本資料(可播放音訊)並透過" "語音介面進行播放。" #: doc/classes/AudioServer.xml doc/classes/AudioStreamPlayer.xml msgid "Audio Device Changer Demo" msgstr "音訊裝置切換範例" #: doc/classes/AudioServer.xml msgid "Adds a bus at [param at_position]." msgstr "在 [param at_position] 處新增匯流排。" #: doc/classes/AudioServer.xml msgid "" "Adds an [AudioEffect] effect to the bus [param bus_idx] at [param " "at_position]." msgstr "" "於索引 [param bus_idx] 的匯流排上、位置 [param at_position] 新增 " "[AudioEffect] 效果。" #: doc/classes/AudioServer.xml msgid "Generates an [AudioBusLayout] using the available buses and effects." msgstr "使用現有匯流排與效果產生 [AudioBusLayout]。" #: doc/classes/AudioServer.xml msgid "Returns the number of channels of the bus at index [param bus_idx]." msgstr "返回索引 [param bus_idx] 的匯流排通道數。" #: doc/classes/AudioServer.xml msgid "" "Returns the [AudioEffect] at position [param effect_idx] in bus [param " "bus_idx]." msgstr "" "返回索引 [param bus_idx] 匯流排上位置 [param effect_idx] 的 [AudioEffect]。" #: doc/classes/AudioServer.xml msgid "Returns the number of effects on the bus at [param bus_idx]." msgstr "返回索引 [param bus_idx] 的匯流排所掛載效果數量。" #: doc/classes/AudioServer.xml msgid "" "Returns the [AudioEffectInstance] assigned to the given bus and effect " "indices (and optionally channel)." msgstr "返回指定匯流排及效果索引(可選通道)的 [AudioEffectInstance]。" #: doc/classes/AudioServer.xml msgid "" "Returns the index of the bus with the name [param bus_name]. Returns " "[code]-1[/code] if no bus with the specified name exist." msgstr "" "返回名稱為 [param bus_name] 的匯流排索引;若不存在則返回 [code]-1[/code]。" #: doc/classes/AudioServer.xml msgid "Returns the name of the bus with the index [param bus_idx]." msgstr "返回索引 [param bus_idx] 的匯流排名稱。" #: doc/classes/AudioServer.xml msgid "" "Returns the peak volume of the left speaker at bus index [param bus_idx] and " "channel index [param channel]." msgstr "" "返回匯流排索引 [param bus_idx]、通道索引 [param channel] 的左聲道峰值音量。" #: doc/classes/AudioServer.xml msgid "" "Returns the peak volume of the right speaker at bus index [param bus_idx] " "and channel index [param channel]." msgstr "" "返回匯流排索引 [param bus_idx]、通道索引 [param channel] 的右聲道峰值音量。" #: doc/classes/AudioServer.xml msgid "" "Returns the name of the bus that the bus at index [param bus_idx] sends to." msgstr "返回索引 [param bus_idx] 的匯流排所送出的目標匯流排名稱。" #: doc/classes/AudioServer.xml msgid "Returns the volume of the bus at index [param bus_idx] in dB." msgstr "返回索引 [param bus_idx] 的匯流排音量(dB)。" #: doc/classes/AudioServer.xml msgid "" "Returns the volume of the bus at index [param bus_idx] as a linear value.\n" "[b]Note:[/b] The returned value is equivalent to the result of [method " "@GlobalScope.db_to_linear] on the result of [method get_bus_volume_db]." msgstr "" "以線性值返回索引 [param bus_idx] 的匯流排音量。\n" "[b]注意:[/b]返回值等同於將 [method get_bus_volume_db] 的結果傳入 [method " "@GlobalScope.db_to_linear] 的結果。" #: doc/classes/AudioServer.xml msgid "" "Returns the name of the current audio driver. The default usually depends on " "the operating system, but may be overridden via the [code]--audio-driver[/" "code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]command " "line argument[/url]. [code]--headless[/code] also automatically sets the " "audio driver to [code]Dummy[/code]. See also [member ProjectSettings.audio/" "driver/driver]." msgstr "" "返回目前使用的音訊驅動名稱。預設值取決於作業系統,可透過 [code]--audio-" "driver[/code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]指令" "列參數[/url] 覆寫。使用 [code]--headless[/code] 也會自動將音訊驅動設為 " "[code]Dummy[/code]。另見 [member ProjectSettings.audio/driver/driver]。" #: doc/classes/AudioServer.xml msgid "" "Returns the absolute size of the microphone input buffer. This is set to a " "multiple of the audio latency and can be used to estimate the minimum rate " "at which the frames need to be fetched." msgstr "" #: doc/classes/AudioServer.xml msgid "" "Returns the names of all audio input devices detected on the system.\n" "[b]Note:[/b] [member ProjectSettings.audio/driver/enable_input] must be " "[code]true[/code] for audio input to work. See also that setting's " "description for caveats related to permissions and operating system privacy " "settings." msgstr "" "返回系統偵測到的所有音訊輸入裝置名稱。\n" "[b]注意:[/b]必須將 [member ProjectSettings.audio/driver/enable_input] 設為 " "[code]true[/code] 才能啟用音訊輸入。更多權限與作業系統隱私限制請參閱該設定說" "明。" #: doc/classes/AudioServer.xml msgid "" "Returns a [PackedVector2Array] containing exactly [param frames] audio " "samples from the internal microphone buffer if available, otherwise returns " "an empty [PackedVector2Array].\n" "The buffer is filled at the rate of [method get_input_mix_rate] frames per " "second when [method set_input_device_active] has successfully been set to " "[code]true[/code].\n" "The samples are signed floating-point PCM values between [code]-1[/code] and " "[code]1[/code]." msgstr "" #: doc/classes/AudioServer.xml #, fuzzy msgid "" "Returns the number of frames available to read using [method " "get_input_frames]." msgstr "回傳可透過 [method get_buffer] 讀取的影格數。" #: doc/classes/AudioServer.xml msgid "Returns the sample rate at the input of the [AudioServer]." msgstr "返回 [AudioServer] 輸入的取樣率。" #: doc/classes/AudioServer.xml msgid "Returns the sample rate at the output of the [AudioServer]." msgstr "返回 [AudioServer] 輸出的取樣率。" #: doc/classes/AudioServer.xml msgid "Returns the names of all audio output devices detected on the system." msgstr "返回系統偵測到的所有音訊輸出裝置名稱。" #: doc/classes/AudioServer.xml msgid "" "Returns the audio driver's effective output latency. This is based on " "[member ProjectSettings.audio/driver/output_latency], but the exact returned " "value will differ depending on the operating system and audio driver.\n" "[b]Note:[/b] This can be expensive; it is not recommended to call [method " "get_output_latency] every frame." msgstr "" "返回音訊驅動的有效輸出延遲。此值基於 [member ProjectSettings.audio/driver/" "output_latency],但最終結果會依作業系統與驅動不同而異。\n" "[b]注意:[/b]此呼叫成本較高,請勿於每影格呼叫 [method get_output_latency]。" #: doc/classes/AudioServer.xml msgid "Returns the speaker configuration." msgstr "返回揚聲器配置。" #: doc/classes/AudioServer.xml msgid "Returns the relative time since the last mix occurred." msgstr "返回距離上次混音的相對時間。" #: doc/classes/AudioServer.xml msgid "Returns the relative time until the next mix occurs." msgstr "返回距離下次混音的剩餘時間。" #: doc/classes/AudioServer.xml msgid "" "If [code]true[/code], the bus at index [param bus_idx] is bypassing effects." msgstr "若為 [code]true[/code],索引 [param bus_idx] 的匯流排將繞過所有效果。" #: doc/classes/AudioServer.xml msgid "" "If [code]true[/code], the effect at index [param effect_idx] on the bus at " "index [param bus_idx] is enabled." msgstr "" "若為 [code]true[/code],索引 [param bus_idx] 匯流排上索引 [param effect_idx] " "的效果為啟用狀態。" #: doc/classes/AudioServer.xml msgid "If [code]true[/code], the bus at index [param bus_idx] is muted." msgstr "若為 [code]true[/code],索引 [param bus_idx] 的匯流排將被靜音。" #: doc/classes/AudioServer.xml msgid "If [code]true[/code], the bus at index [param bus_idx] is in solo mode." msgstr "若為 [code]true[/code],索引 [param bus_idx] 的匯流排將進入獨奏模式。" #: doc/classes/AudioServer.xml msgid "" "If [code]true[/code], the stream is registered as a sample. The engine will " "not have to register it before playing the sample.\n" "If [code]false[/code], the stream will have to be registered before playing " "it. To prevent lag spikes, register the stream as sample with [method " "register_stream_as_sample]." msgstr "" "若為 [code]true[/code],此串流將被註冊為樣本,播放前無需再註冊。\n" "若為 [code]false[/code],播放前必須先註冊;為避免延遲尖峰,可預先呼叫 " "[method register_stream_as_sample]。" #: doc/classes/AudioServer.xml msgid "" "Locks the audio driver's main loop.\n" "[b]Note:[/b] Remember to unlock it afterwards." msgstr "" "鎖定音訊驅動主迴圈。\n" "[b]注意:[/b]請務必於操作完畢後解鎖。" #: doc/classes/AudioServer.xml msgid "Moves the bus from index [param index] to index [param to_index]." msgstr "將匯流排從索引 [param index] 移至索引 [param to_index]。" #: doc/classes/AudioServer.xml msgid "" "Forces the registration of a stream as a sample.\n" "[b]Note:[/b] Lag spikes may occur when calling this method, especially on " "single-threaded builds. It is suggested to call this method while loading " "assets, where the lag spike could be masked, instead of registering the " "sample right before it needs to be played." msgstr "" "強制將串流註冊為樣本。\n" "[b]注意:[/b]在單執行緒版本中呼叫此方法可能造成延遲尖峰。建議於載入資源階段執" "行,以避免在播放前才註冊造成卡頓。" #: doc/classes/AudioServer.xml msgid "Removes the bus at index [param index]." msgstr "移除索引 [param index] 的匯流排。" #: doc/classes/AudioServer.xml msgid "" "Removes the effect at index [param effect_idx] from the bus at index [param " "bus_idx]." msgstr "自索引 [param bus_idx] 的匯流排移除索引 [param effect_idx] 的效果。" #: doc/classes/AudioServer.xml msgid "Overwrites the currently used [AudioBusLayout]." msgstr "覆寫目前使用的 [AudioBusLayout]。" #: doc/classes/AudioServer.xml msgid "Sets the name of the bus at index [param bus_idx] to [param name]." msgstr "將索引 [param bus_idx] 的匯流排名稱設為 [param name]。" #: doc/classes/AudioServer.xml msgid "" "Connects the output of the bus at [param bus_idx] to the bus named [param " "send]." msgstr "將索引 [param bus_idx] 匯流排的輸出連接到名為 [param send] 的匯流排。" #: doc/classes/AudioServer.xml msgid "" "Sets the volume in decibels of the bus at index [param bus_idx] to [param " "volume_db]." msgstr "將索引 [param bus_idx] 的匯流排音量設為 [param volume_db] dB。" #: doc/classes/AudioServer.xml msgid "" "Sets the volume as a linear value of the bus at index [param bus_idx] to " "[param volume_linear].\n" "[b]Note:[/b] Using this method is equivalent to calling [method " "set_bus_volume_db] with the result of [method @GlobalScope.linear_to_db] on " "a value." msgstr "" "將索引 [param bus_idx] 的匯流排音量設為線性值 [param volume_linear]。\n" "[b]注意:[/b]此方法等同於先將值傳入 [method @GlobalScope.linear_to_db],再呼" "叫 [method set_bus_volume_db]。" #: doc/classes/AudioServer.xml msgid "" "If set to [code]true[/code], all instances of [AudioStreamPlayback] will " "call [method AudioStreamPlayback._tag_used_streams] every mix step.\n" "[b]Note:[/b] This is enabled by default in the editor, as it is used by " "editor plugins for the audio stream previews." msgstr "" "若設為 [code]true[/code],所有 [AudioStreamPlayback] 執行個體將於每次混音時呼" "叫 [method AudioStreamPlayback._tag_used_streams]。\n" "[b]注意:[/b]編輯器預設啟用此選項,以供外掛進行音訊預覽。" #: doc/classes/AudioServer.xml msgid "" "If [param active] is [code]true[/code], starts the microphone input stream " "specified by [member input_device] or returns an error if it failed.\n" "If [param active] is [code]false[/code], stops the input stream if it is " "running." msgstr "" #: doc/classes/AudioServer.xml msgid "Swaps the position of two effects in bus [param bus_idx]." msgstr "交換索引 [param bus_idx] 匯流排中兩個效果的位置。" #: doc/classes/AudioServer.xml msgid "" "Unlocks the audio driver's main loop. (After locking it, you should always " "unlock it.)" msgstr "解鎖音訊驅動主迴圈。(鎖定後務必解鎖。)" #: doc/classes/AudioServer.xml msgid "Number of available audio buses." msgstr "可用音訊匯流排數量。" #: doc/classes/AudioServer.xml msgid "" "Name of the current device for audio input (see [method " "get_input_device_list]). On systems with multiple audio inputs (such as " "analog, USB and HDMI audio), this can be used to select the audio input " "device. The value [code]\"Default\"[/code] will record audio on the system-" "wide default audio input. If an invalid device name is set, the value will " "be reverted back to [code]\"Default\"[/code].\n" "[b]Note:[/b] [member ProjectSettings.audio/driver/enable_input] must be " "[code]true[/code] for audio input to work. See also that setting's " "description for caveats related to permissions and operating system privacy " "settings." msgstr "" "目前音訊輸入裝置名稱(參見 [method get_input_device_list])。當系統具有多個輸" "入(例如類比、USB、HDMI)時,可藉此選擇輸入裝置;[code]\"Default\"[/code] 會" "使用系統預設輸入。若設定無效名稱,將還原為 [code]\"Default\"[/code]。\n" "[b]注意:[/b]必須將 [member ProjectSettings.audio/driver/enable_input] 設為 " "[code]true[/code] 才能啟用音訊輸入。隱私與權限相關限制請參閱該設定說明。" #: doc/classes/AudioServer.xml msgid "" "Name of the current device for audio output (see [method " "get_output_device_list]). On systems with multiple audio outputs (such as " "analog, USB and HDMI audio), this can be used to select the audio output " "device. The value [code]\"Default\"[/code] will play audio on the system-" "wide default audio output. If an invalid device name is set, the value will " "be reverted back to [code]\"Default\"[/code]." msgstr "" "目前音訊輸出裝置名稱(參見 [method get_output_device_list])。當系統具有多個" "輸出(例如類比、USB、HDMI)時,可藉此選擇輸出裝置;[code]\"Default\"[/code] " "會使用系統預設輸出。若設定無效名稱,將還原為 [code]\"Default\"[/code]。" #: doc/classes/AudioServer.xml msgid "" "Scales the rate at which audio is played (i.e. setting it to [code]0.5[/" "code] will make the audio be played at half its speed). See also [member " "Engine.time_scale] to affect the general simulation speed, which is " "independent from [member AudioServer.playback_speed_scale]." msgstr "" "調整音訊播放速度比例(如設為 [code]0.5[/code] 則音訊以半速播放)。如需改變整" "體模擬速度,請參閱 [member Engine.time_scale];兩者彼此獨立。" #: doc/classes/AudioServer.xml msgid "Emitted when an audio bus is added, deleted, or moved." msgstr "當音訊匯流排被新增、刪除或移動時發出。" #: doc/classes/AudioServer.xml msgid "" "Emitted when the audio bus at [param bus_index] is renamed from [param " "old_name] to [param new_name]." msgstr "" "當索引 [param bus_index] 的音訊匯流排由 [param old_name] 重新命名為 [param " "new_name] 時發出。" #: doc/classes/AudioServer.xml msgid "Two or fewer speakers were detected." msgstr "偵測到兩個或更少的揚聲器。" #: doc/classes/AudioServer.xml msgid "A 3.1 channel surround setup was detected." msgstr "偵測到 3.1 聲道環繞配置。" #: doc/classes/AudioServer.xml msgid "A 5.1 channel surround setup was detected." msgstr "偵測到 5.1 聲道環繞配置。" #: doc/classes/AudioServer.xml msgid "A 7.1 channel surround setup was detected." msgstr "偵測到 7.1 聲道環繞配置。" #: doc/classes/AudioServer.xml msgid "" "The playback will be considered of the type declared at [member " "ProjectSettings.audio/general/default_playback_type]." msgstr "" "播放將依 [member ProjectSettings.audio/general/default_playback_type] 所宣告" "的類型處理。" #: doc/classes/AudioServer.xml msgid "Force the playback to be considered as a stream." msgstr "強制將播放視為串流。" #: doc/classes/AudioServer.xml msgid "" "Force the playback to be considered as a sample. This can provide lower " "latency and more stable playback (with less risk of audio crackling), at the " "cost of having less flexibility.\n" "[b]Note:[/b] Only currently supported on the web platform.\n" "[b]Note:[/b] [AudioEffect]s are not supported when playback is considered as " "a sample." msgstr "" "強制將播放視為樣本,可降低延遲並提升穩定性(減少爆音風險),但靈活度較低。\n" "[b]注意:[/b]目前僅網頁平台支援此功能。\n" "[b]注意:[/b]當播放被視為樣本時,不支援 [AudioEffect]。" #: doc/classes/AudioServer.xml msgid "Represents the size of the [enum PlaybackType] enum." msgstr "代表 [enum PlaybackType] 列舉的大小。" #: doc/classes/AudioStream.xml msgid "Base class for audio streams." msgstr "音訊流的基底類別。" #: doc/classes/AudioStream.xml msgid "" "Base class for audio streams. Audio streams are used for sound effects and " "music playback, and support WAV (via [AudioStreamWAV]) and Ogg (via " "[AudioStreamOggVorbis]) file formats." msgstr "" "音訊流的基底類別。音訊流用於音效與音樂播放,支援 WAV(透過 [AudioStreamWAV])" "與 Ogg(透過 [AudioStreamOggVorbis])格式。" #: doc/classes/AudioStream.xml doc/classes/AudioStreamPlayer.xml #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "Audio streams" msgstr "音訊流" #: doc/classes/AudioStream.xml doc/classes/AudioStreamGenerator.xml #: doc/classes/AudioStreamGeneratorPlayback.xml #: doc/classes/AudioStreamPlayback.xml doc/classes/AudioStreamPlayer.xml msgid "Audio Generator Demo" msgstr "音訊產生器範例" #: doc/classes/AudioStream.xml msgid "Override this method to return the bar beats of this stream." msgstr "覆寫此方法以返回此串流的小節拍數。" #: doc/classes/AudioStream.xml msgid "" "Overridable method. Should return the total number of beats of this audio " "stream. Used by the engine to determine the position of every beat.\n" "Ideally, the returned value should be based off the stream's sample rate " "([member AudioStreamWAV.mix_rate], for example)." msgstr "" "可覆寫的方法,應返回此音訊串流的總拍數,供引擎計算各拍位置。\n" "理想情況下,該值應以串流的取樣率(如 [member AudioStreamWAV.mix_rate])為基礎" "計算。" #: doc/classes/AudioStream.xml msgid "" "Overridable method. Should return the tempo of this audio stream, in beats " "per minute (BPM). Used by the engine to determine the position of every " "beat.\n" "Ideally, the returned value should be based off the stream's sample rate " "([member AudioStreamWAV.mix_rate], for example)." msgstr "" "可覆寫的方法,應返回此音訊串流的速度 (BPM),供引擎計算各拍位置。\n" "理想情況下,該值應以串流的取樣率(如 [member AudioStreamWAV.mix_rate])為基礎" "計算。" #: doc/classes/AudioStream.xml msgid "" "Override this method to customize the returned value of [method get_length]. " "Should return the length of this audio stream, in seconds." msgstr "" "覆寫此方法以自訂 [method get_length] 的返回值;應返回此音訊串流的長度(秒)。" #: doc/classes/AudioStream.xml msgid "" "Return the controllable parameters of this stream. This array contains " "dictionaries with a property info description format (see [method " "Object.get_property_list]). Additionally, the default value for this " "parameter must be added tho each dictionary in \"default_value\" field." msgstr "" "傳回此串流可控制的參數。此陣列包含採用屬性資訊描述格式的字典(參見 [method " "Object.get_property_list])。此外,必須在每個字典的 「default_value」欄位中加" "入該參數的預設值。" #: doc/classes/AudioStream.xml msgid "" "Override this method to customize the name assigned to this audio stream. " "Unused by the engine." msgstr "重寫此方法以自訂此音訊流所使用的名稱(引擎本身不會使用)。" #: doc/classes/AudioStream.xml msgid "" "Override this method to customize the tags for this audio stream. Should " "return a [Dictionary] of strings with the tag as the key and its content as " "the value.\n" "Commonly used tags include [code]title[/code], [code]artist[/code], " "[code]album[/code], [code]tracknumber[/code], and [code]date[/code]." msgstr "" "重寫此方法以自訂此音訊流的標籤。應回傳一個以標籤為鍵、內容為值的 " "[Dictionary] 字串字典。\n" "常見的標籤包含 [code]title[/code]、[code]artist[/code]、[code]album[/code]、" "[code]tracknumber[/code] 與 [code]date[/code]。" #: doc/classes/AudioStream.xml msgid "" "Override this method to return [code]true[/code] if this stream has a loop." msgstr "重寫此方法,若此串流具有循環則回傳 [code]true[/code]。" #: doc/classes/AudioStream.xml msgid "" "Override this method to customize the returned value of [method " "instantiate_playback]. Should return a new [AudioStreamPlayback] created " "when the stream is played (such as by an [AudioStreamPlayer])." msgstr "" "重寫此方法以自訂 [method instantiate_playback] 的回傳值。應建立並回傳一個於串" "流被播放時產生的新 [AudioStreamPlayback](例如由 [AudioStreamPlayer] 觸發)。" #: doc/classes/AudioStream.xml msgid "" "Override this method to customize the returned value of [method " "is_monophonic]. Should return [code]true[/code] if this audio stream only " "supports one channel." msgstr "" "重寫此方法以自訂 [method is_monophonic] 的回傳值。若此音訊流僅支援單聲道,應" "回傳 [code]true[/code]。" #: doc/classes/AudioStream.xml msgid "" "Returns if the current [AudioStream] can be used as a sample. Only static " "streams can be sampled." msgstr "回傳目前的 [AudioStream] 是否可用作取樣。僅靜態串流可被取樣。" #: doc/classes/AudioStream.xml msgid "Generates an [AudioSample] based on the current stream." msgstr "依據目前的串流產生一個新的 [AudioSample]。" #: doc/classes/AudioStream.xml msgid "" "Returns the length of the audio stream in seconds. If this stream is an " "[AudioStreamRandomizer], returns the length of the last played stream. If " "this stream has an indefinite length (such as for [AudioStreamGenerator] and " "[AudioStreamMicrophone]), returns [code]0.0[/code]." msgstr "" #: doc/classes/AudioStream.xml msgid "" "Returns a newly created [AudioStreamPlayback] intended to play this audio " "stream. Useful for when you want to extend [method _instantiate_playback] " "but call [method instantiate_playback] from an internally held AudioStream " "subresource. An example of this can be found in the source code for " "[code]AudioStreamRandomPitch::instantiate_playback[/code]." msgstr "" "傳回一個新建立的 [AudioStreamPlayback],用於播放此音訊流。當你想覆寫 [method " "_instantiate_playback],但需要從內部持有的 AudioStream 子資源呼叫 [method " "instantiate_playback] 時特別有用。範例可參考 " "[code]AudioStreamRandomPitch::instantiate_playback[/code] 的原始程式碼。" #: doc/classes/AudioStream.xml msgid "" "Returns [code]true[/code] if the stream is a collection of other streams, " "[code]false[/code] otherwise." msgstr "" "若此串流是其他串流的集合則回傳 [code]true[/code],否則回傳 [code]false[/" "code]。" #: doc/classes/AudioStream.xml msgid "" "Returns [code]true[/code] if this audio stream only supports one channel " "([i]monophony[/i]), or [code]false[/code] if the audio stream supports two " "or more channels ([i]polyphony[/i])." msgstr "" "若此音訊流僅支援單聲道([i]monophony[/i])則回傳 [code]true[/code];若支援兩" "個以上聲道([i]polyphony[/i])則回傳 [code]false[/code]。" #: doc/classes/AudioStream.xml msgid "Signal to be emitted to notify when the parameter list changed." msgstr "當參數清單變更時發出此訊號。" #: doc/classes/AudioStreamGenerator.xml msgid "An audio stream with utilities for procedural sound generation." msgstr "提供程式式聲音生成工具的音訊流。" #: doc/classes/AudioStreamGenerator.xml msgid "" "[AudioStreamGenerator] is a type of audio stream that does not play back " "sounds on its own; instead, it expects a script to generate audio data for " "it. See also [AudioStreamGeneratorPlayback].\n" "Here's a sample on how to use it to generate a sine wave:\n" "[codeblocks]\n" "[gdscript]\n" "var playback # Will hold the AudioStreamGeneratorPlayback.\n" "@onready var sample_hz = $AudioStreamPlayer.stream.mix_rate\n" "var pulse_hz = 440.0 # The frequency of the sound wave.\n" "var phase = 0.0\n" "\n" "func _ready():\n" "\t$AudioStreamPlayer.play()\n" "\tplayback = $AudioStreamPlayer.get_stream_playback()\n" "\tfill_buffer()\n" "\n" "func fill_buffer():\n" "\tvar increment = pulse_hz / sample_hz\n" "\tvar frames_available = playback.get_frames_available()\n" "\n" "\tfor i in range(frames_available):\n" "\t\tplayback.push_frame(Vector2.ONE * sin(phase * TAU))\n" "\t\tphase = fmod(phase + increment, 1.0)\n" "[/gdscript]\n" "[csharp]\n" "[Export] public AudioStreamPlayer Player { get; set; }\n" "\n" "private AudioStreamGeneratorPlayback _playback; // Will hold the " "AudioStreamGeneratorPlayback.\n" "private float _sampleHz;\n" "private float _pulseHz = 440.0f; // The frequency of the sound wave.\n" "private double phase = 0.0;\n" "\n" "public override void _Ready()\n" "{\n" "\tif (Player.Stream is AudioStreamGenerator generator) // Type as a " "generator to access MixRate.\n" "\t{\n" "\t\t_sampleHz = generator.MixRate;\n" "\t\tPlayer.Play();\n" "\t\t_playback = (AudioStreamGeneratorPlayback)Player.GetStreamPlayback();\n" "\t\tFillBuffer();\n" "\t}\n" "}\n" "\n" "public void FillBuffer()\n" "{\n" "\tfloat increment = _pulseHz / _sampleHz;\n" "\tint framesAvailable = _playback.GetFramesAvailable();\n" "\n" "\tfor (int i = 0; i < framesAvailable; i++)\n" "\t{\n" "\t\t_playback.PushFrame(Vector2.One * (float)Mathf.Sin(phase * Mathf.Tau));\n" "\t\tphase = Mathf.PosMod(phase + increment, 1.0);\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "In the example above, the \"AudioStreamPlayer\" node must use an " "[AudioStreamGenerator] as its stream. The [code]fill_buffer[/code] function " "provides audio data for approximating a sine wave.\n" "See also [AudioEffectSpectrumAnalyzer] for performing real-time audio " "spectrum analysis.\n" "[b]Note:[/b] Due to performance constraints, this class is best used from C# " "or from a compiled language via GDExtension. If you still want to use this " "class from GDScript, consider using a lower [member mix_rate] such as 11,025 " "Hz or 22,050 Hz." msgstr "" "[AudioStreamGenerator] 是一種音訊流,本身不會播放聲音;它需要程式碼為其產生音" "訊資料。另請參閱 [AudioStreamGeneratorPlayback]。\n" "以下示範如何使用它來產生正弦波:\n" "[codeblocks]\n" "[gdscript]\n" "var playback # 用來保存 AudioStreamGeneratorPlayback。\n" "@onready var sample_hz = $AudioStreamPlayer.stream.mix_rate\n" "var pulse_hz = 440.0 # 聲波頻率。\n" "var phase = 0.0\n" "\n" "func _ready():\n" "\t$AudioStreamPlayer.play()\n" "\tplayback = $AudioStreamPlayer.get_stream_playback()\n" "\tfill_buffer()\n" "\n" "func fill_buffer():\n" "\tvar increment = pulse_hz / sample_hz\n" "\tvar frames_available = playback.get_frames_available()\n" "\n" "\tfor i in range(frames_available):\n" "\t\tplayback.push_frame(Vector2.ONE * sin(phase * TAU))\n" "\t\tphase = fmod(phase + increment, 1.0)\n" "[/gdscript]\n" "[csharp]\n" "[Export] public AudioStreamPlayer Player { get; set; }\n" "\n" "private AudioStreamGeneratorPlayback _playback; // 保存 " "AudioStreamGeneratorPlayback。\n" "private float _sampleHz;\n" "private float _pulseHz = 440.0f; // 聲波頻率。\n" "private double phase = 0.0;\n" "\n" "public override void _Ready()\n" "{\n" "\tif (Player.Stream is AudioStreamGenerator generator) // 轉型為 generator 以" "存取 MixRate。\n" "\t{\n" "\t\t_sampleHz = generator.MixRate;\n" "\t\tPlayer.Play();\n" "\t\t_playback = (AudioStreamGeneratorPlayback)Player.GetStreamPlayback();\n" "\t\tFillBuffer();\n" "\t}\n" "}\n" "\n" "public void FillBuffer()\n" "{\n" "\tfloat increment = _pulseHz / _sampleHz;\n" "\tint framesAvailable = _playback.GetFramesAvailable();\n" "\n" "\tfor (int i = 0; i < framesAvailable; i++)\n" "\t{\n" "\t\t_playback.PushFrame(Vector2.One * (float)Mathf.Sin(phase * Mathf.Tau));\n" "\t\tphase = Mathf.PosMod(phase + increment, 1.0);\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "在上述範例中,「AudioStreamPlayer」節點必須將 [AudioStreamGenerator] 設為其串" "流來源。[code]fill_buffer[/code] 函式會產生近似正弦波的音訊資料。\n" "若要進行即時音訊頻譜分析,請參閱 [AudioEffectSpectrumAnalyzer]。\n" "[b]注意:[/b] 受效能限制,建議在 C# 或透過 GDExtension 的編譯語言中使用此類" "別。若仍需在 GDScript 中使用,請考慮將 [member mix_rate] 降至 11,025 Hz 或 " "22,050 Hz。" #: doc/classes/AudioStreamGenerator.xml msgid "" "The length of the buffer to generate (in seconds). Lower values result in " "less latency, but require the script to generate audio data faster, " "resulting in increased CPU usage and more risk for audio cracking if the CPU " "can't keep up." msgstr "" "要產生的緩衝長度(秒)。較低的值延遲更小,但腳本必須更快地生成音訊資料,增加 " "CPU 使用率,若處理不及恐導致破音。" #: doc/classes/AudioStreamGenerator.xml msgid "" "The sample rate to use (in Hz). Higher values are more demanding for the CPU " "to generate, but result in better quality.\n" "In games, common sample rates in use are [code]11025[/code], [code]16000[/" "code], [code]22050[/code], [code]32000[/code], [code]44100[/code], and " "[code]48000[/code].\n" "According to the [url=https://en.wikipedia.org/wiki/" "Nyquist%E2%80%93Shannon_sampling_theorem]Nyquist-Shannon sampling theorem[/" "url], there is no quality difference to human hearing when going past 40,000 " "Hz (since most humans can only hear up to ~20,000 Hz, often less). If you " "are generating lower-pitched sounds such as voices, lower sample rates such " "as [code]32000[/code] or [code]22050[/code] may be usable with no loss in " "quality.\n" "[b]Note:[/b] [AudioStreamGenerator] is not automatically resampling input " "data, to produce expected result [member mix_rate_mode] should match the " "sampling rate of input data.\n" "[b]Note:[/b] If you are using [AudioEffectCapture] as the source of your " "data, set [member mix_rate_mode] to [constant MIX_RATE_INPUT] or [constant " "MIX_RATE_OUTPUT] to automatically match current [AudioServer] mixing rate." msgstr "" "使用的取樣率(Hz)。取樣率越高,CPU 負擔越重,但音質越好。\n" "遊戲中常見的取樣率有 [code]11025[/code]、[code]16000[/code]、[code]22050[/" "code]、[code]32000[/code]、[code]44100[/code] 及 [code]48000[/code]。\n" "依據 [url=https://zh.wikipedia.org/wiki/奈奎斯特–香農取樣定理]奈奎斯特–香農取" "樣定理[/url],超過 40,000 Hz 對人耳已無聽覺差異(大多數人僅能聽到約 20,000 " "Hz)。若產生如人聲等低頻音,可使用 [code]32000[/code] 或 [code]22050[/code] " "而不影響品質。\n" "[b]注意:[/b][AudioStreamGenerator] 不會自動重新取樣輸入資料,為得到預期結" "果,[member mix_rate_mode] 應與輸入資料的取樣率一致。\n" "[b]注意:[/b]若以 [AudioEffectCapture] 作為資料來源,請將 [member " "mix_rate_mode] 設為 [constant MIX_RATE_INPUT] 或 [constant MIX_RATE_OUTPUT] " "以自動配合目前 [AudioServer] 的混音速率。" #: doc/classes/AudioStreamGenerator.xml msgid "" "Mixing rate mode. If set to [constant MIX_RATE_CUSTOM], [member mix_rate] is " "used, otherwise current [AudioServer] mixing rate is used." msgstr "" "混音速率模式。若設為 [constant MIX_RATE_CUSTOM] 則使用 [member mix_rate];否" "則使用目前的 [AudioServer] 混音速率。" #: doc/classes/AudioStreamGenerator.xml msgid "Current [AudioServer] output mixing rate." msgstr "目前 [AudioServer] 的輸出混音速率。" #: doc/classes/AudioStreamGenerator.xml msgid "Current [AudioServer] input mixing rate." msgstr "目前 [AudioServer] 的輸入混音速率。" #: doc/classes/AudioStreamGenerator.xml msgid "Custom mixing rate, specified by [member mix_rate]." msgstr "由 [member mix_rate] 指定的自訂混音速率。" #: doc/classes/AudioStreamGenerator.xml msgid "Maximum value for the mixing rate mode enum." msgstr "混音速率模式列舉的最大值。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "Plays back audio generated using [AudioStreamGenerator]." msgstr "播放使用 [AudioStreamGenerator] 生成的音訊。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "" "This class is meant to be used with [AudioStreamGenerator] to play back the " "generated audio in real-time." msgstr "此類旨在與 [AudioStreamGenerator] 一起使用以即時播放生成的音訊。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "Godot 3.2 will get new audio features" msgstr "Godot 3.2 將獲得新的音訊功能" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "" "Returns [code]true[/code] if a buffer of the size [param amount] can be " "pushed to the audio sample data buffer without overflowing it, [code]false[/" "code] otherwise." msgstr "" "如果可以將大小為 [param amount] 的緩衝區推送到音訊取樣資料緩衝區而不會使其溢" "出,則返回 [code]true[/code],否則返回 [code]false[/code]。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "Clears the audio sample data buffer." msgstr "清除音訊樣本資料緩衝區。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "" "Returns the number of frames that can be pushed to the audio sample data " "buffer without overflowing it. If the result is [code]0[/code], the buffer " "is full." msgstr "" "返回能夠推送到音訊取樣資料緩衝區而不使其溢出的影格數。如果結果為 [code]0[/" "code],則緩衝區已滿。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "" "Returns the number of times the playback skipped due to a buffer underrun in " "the audio sample data. This value is reset at the start of the playback." msgstr "" "傳回因音訊樣本資料緩衝不足而導致播放跳幀的次數。此值會在播放開始時重設。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "" "Pushes several audio data frames to the buffer. This is usually more " "efficient than [method push_frame] in C# and compiled languages via " "GDExtension, but [method push_buffer] may be [i]less[/i] efficient in " "GDScript." msgstr "" "將多個音訊資料影格推送到緩衝區。這通常比 C# 中的以及通過 GDExtension 編譯的語" "言中的 [method push_frame] 效率更高,但在 GDScript 中的 [method push_buffer] " "的效率可能[i]更低[/i]。" #: doc/classes/AudioStreamGeneratorPlayback.xml msgid "" "Pushes a single audio data frame to the buffer. This is usually less " "efficient than [method push_buffer] in C# and compiled languages via " "GDExtension, but [method push_frame] may be [i]more[/i] efficient in " "GDScript." msgstr "" "將單個音訊資料影格推送到緩衝區。這通常比 C# 中的以及通過 GDExtension 編譯的語" "言中的 [method push_buffer] 效率更低,但在 GDScript 中的 [method push_frame] " "的效率可能[i]更高[/i]。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Audio stream that can playback music interactively, combining clips and a " "transition table." msgstr "可互動播放音樂的音訊串流,結合片段與轉場表。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "This is an audio stream that can playback music interactively, combining " "clips and a transition table. Clips must be added first, and then the " "transition rules via the [method add_transition]. Additionally, this stream " "exports a property parameter to control the playback via " "[AudioStreamPlayer], [AudioStreamPlayer2D], or [AudioStreamPlayer3D].\n" "The way this is used is by filling a number of clips, then configuring the " "transition table. From there, clips are selected for playback and the music " "will smoothly go from the current to the new one while using the " "corresponding transition rule defined in the transition table." msgstr "" "這是一種可互動播放音樂的音訊串流,能結合片段與轉場表。必須先加入片段,再透過 " "[method add_transition] 設定轉場規則。此外,此串流會匯出一個屬性,讓你可透過 " "[AudioStreamPlayer]、[AudioStreamPlayer2D] 或 [AudioStreamPlayer3D] 來控制播" "放。\n" "使用方式為先填入多個片段,再設定轉場表。之後會依轉場表中定義的規則選擇片段播" "放,音樂將會從目前片段順暢地銜接到下一個片段。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Add a transition between two clips. Provide the indices of the source and " "destination clips, or use the [constant CLIP_ANY] constant to indicate that " "transition happens to/from any clip to this one.\n" "* [param from_time] indicates the moment in the current clip the transition " "will begin after triggered.\n" "* [param to_time] indicates the time in the next clip that the playback will " "start from.\n" "* [param fade_mode] indicates how the fade will happen between clips. If " "unsure, just use [constant FADE_AUTOMATIC] which uses the most common type " "of fade for each situation.\n" "* [param fade_beats] indicates how many beats the fade will take. Using " "decimals is allowed.\n" "* [param use_filler_clip] indicates that there will be a filler clip used " "between the source and destination clips.\n" "* [param filler_clip] the index of the filler clip.\n" "* If [param hold_previous] is used, then this clip will be remembered. This " "can be used together with [constant AUTO_ADVANCE_RETURN_TO_HOLD] to return " "to this clip after another is done playing." msgstr "" "在兩個片段之間加入轉場。請傳入來源與目的片段的索引,或使用常數 [constant " "CLIP_ANY] 表示自/向任何片段的轉場。\n" "* [param from_time]:觸發後,轉場在目前片段的何時開始。\n" "* [param to_time]:下一個片段從何處開始播放。\n" "* [param fade_mode]:片段間的淡入淡出方式。如無特別需求,使用 [constant " "FADE_AUTOMATIC] 即可,這會依情況選擇最常用的淡化模式。\n" "* [param fade_beats]:淡入淡出將持續多少拍,可使用小數。\n" "* [param use_filler_clip]:是否在來源與目的片段之間插入填充片段。\n" "* [param filler_clip]:填充片段的索引。\n" "* 若指定 [param hold_previous],則此片段會被記住,可與 [constant " "AUTO_ADVANCE_RETURN_TO_HOLD] 搭配,在其他片段播放完後回到此片段。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Erase a transition by providing [param from_clip] and [param to_clip] clip " "indices. [constant CLIP_ANY] can be used for either argument or both." msgstr "" "提供 [param from_clip] 與 [param to_clip] 的片段索引即可刪除轉場。兩者皆可使" "用 [constant CLIP_ANY]。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Return whether a clip has auto-advance enabled. See [method " "set_clip_auto_advance]." msgstr "返回指定片段是否啟用自動前進。參見 [method set_clip_auto_advance]。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Return the clip towards which the clip referenced by [param clip_index] will " "auto-advance to." msgstr "返回索引為 [param clip_index] 的片段將自動前進到的目標片段索引。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Return the name of a clip." msgstr "返回片段的名稱。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Return the [AudioStream] associated with a clip." msgstr "返回與片段關聯的 [AudioStream]。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Return the time (in beats) for a transition (see [method add_transition])." msgstr "返回轉場所需的時間(拍數)(參見 [method add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Return the mode for a transition (see [method add_transition])." msgstr "返回轉場的模式(參見 [method add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Return the filler clip for a transition (see [method add_transition])." msgstr "返回轉場所使用的填充片段(參見 [method add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Return the source time position for a transition (see [method " "add_transition])." msgstr "返回轉場的來源時間位置(參見 [method add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Return the list of transitions (from, to interleaved)." msgstr "返回轉場清單(來源與目的交錯排列)。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Return the destination time position for a transition (see [method " "add_transition])." msgstr "返回轉場的目的時間位置(參見 [method add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Returns [code]true[/code] if a given transition exists (was added via " "[method add_transition])." msgstr "" "若指定的轉場已存在(由 [method add_transition] 新增),則返回 [code]true[/" "code]。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Return whether a transition uses the [i]hold previous[/i] functionality (see " "[method add_transition])." msgstr "" "返回轉場是否使用 [i]保持前一片段[/i] 功能(參見 [method add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Return whether a transition uses the [i]filler clip[/i] functionality (see " "[method add_transition])." msgstr "" "返回轉場是否使用 [i]填充片段[/i] 功能(參見 [method add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Set whether a clip will auto-advance by changing the auto-advance mode." msgstr "設定片段的自動前進模式。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Set the index of the next clip towards which this clip will auto advance to " "when finished. If the clip being played loops, then auto-advance will be " "ignored." msgstr "" "設定此片段播畢後將自動前進到的下一個片段索引。若該片段會循環播放,則自動前進" "將被忽略。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Set the name of the current clip (for easier identification)." msgstr "設定目前片段的名稱(便於辨識)。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Set the [AudioStream] associated with the current clip." msgstr "設定目前片段關聯的 [AudioStream]。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Amount of clips contained in this interactive player." msgstr "此互動播放器包含的片段數量。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Index of the initial clip, which will be played first when this stream is " "played." msgstr "初始片段的索引,串流開始播放時會先播放此片段。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Start transition as soon as possible, don't wait for any specific time " "position." msgstr "儘快開始轉場,不等待特定時間位置。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Transition when the clip playback position reaches the next beat." msgstr "當播放位置到達下一拍時進行轉場。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Transition when the clip playback position reaches the next bar." msgstr "當播放位置到達下一小節時進行轉場。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Transition when the current clip finished playing." msgstr "當目前片段播放結束時進行轉場。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Transition to the same position in the destination clip. This is useful when " "both clips have exactly the same length and the music should fade between " "them." msgstr "" "轉場到目的片段的相同位置。當兩片段長度完全相同且需要在它們之間淡化時很有用。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Transition to the start of the destination clip." msgstr "轉場到目的片段的開始。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Do not use fade for the transition. This is useful when transitioning from a " "clip-end to clip-beginning, and each clip has their begin/end." msgstr "" "轉場時不使用淡入淡出。適用於片段結尾接片段開頭,且各片段本身已有開場/結尾的" "情況。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Use a fade-in in the next clip, let the current clip finish." msgstr "讓目前片段播畢,並在下一個片段使用淡入。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Use a fade-out in the current clip, the next clip will start by itself." msgstr "在目前片段使用淡出,下一個片段將自行開始。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Use a cross-fade between clips." msgstr "在片段之間使用交叉淡化。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Use automatic fade logic depending on the transition from/to. It is " "recommended to use this by default." msgstr "依來源/目的自動選擇淡化邏輯。建議預設使用此模式。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Disable auto-advance (default)." msgstr "停用自動前進(預設)。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "Enable auto-advance, a clip must be specified." msgstr "啟用自動前進,必須指定片段。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "Enable auto-advance, but instead of specifying a clip, the playback will " "return to hold (see [method add_transition])." msgstr "" "啟用自動前進,但不指定片段,而是回到保持的片段(參見 [method " "add_transition])。" #: modules/interactive_music/doc_classes/AudioStreamInteractive.xml msgid "" "This constant describes that any clip is valid for a specific transition as " "either source or destination." msgstr "此常數表示在特定轉場中,任何片段都可作為來源或目的。" #: doc/classes/AudioStreamMicrophone.xml msgid "Plays real-time audio input data." msgstr "播放即時音訊輸入資料。" #: doc/classes/AudioStreamMicrophone.xml msgid "" "When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] " "plays back microphone input in real-time. This can be used in conjunction " "with [AudioEffectCapture] to process the data or save it.\n" "[b]Note:[/b] [member ProjectSettings.audio/driver/enable_input] must be " "[code]true[/code] for audio input to work. See also that setting's " "description for caveats related to permissions and operating system privacy " "settings." msgstr "" "當直接在 [AudioStreamPlayer] 節點中使用時,[AudioStreamMicrophone] 會即時播放" "麥克風的輸入。這可以配合 [AudioEffectCapture] 使用,以處理資料或保存資料。\n" "[b]注意:[/b][member ProjectSettings.audio/driver/enable_input] 必須為 " "[code]true[/code] 音訊輸入才能正常工作。另請參閱該設定的說明,瞭解與許可權和" "操作系統隱私設定相關的注意事項。" #: doc/classes/AudioStreamMicrophone.xml msgid "Audio Mic Record Demo" msgstr "音訊麥克風錄音演示" #: modules/mp3/doc_classes/AudioStreamMP3.xml msgid "MP3 audio stream driver." msgstr "MP3 音訊串流驅動程式。" #: modules/mp3/doc_classes/AudioStreamMP3.xml msgid "" "MP3 audio stream driver. See [member data] if you want to load an MP3 file " "at run-time.\n" "[b]Note:[/b] This class can optionally support legacy MP1 and MP2 formats, " "provided that the engine is compiled with the " "[code]minimp3_extra_formats=yes[/code] SCons option. These extra formats are " "not enabled by default." msgstr "" "MP3 音訊串流驅動程式。如果想在執行時載入 MP3 檔案,請參考 [member data]。\n" "[b]注意:[/b] 只要在編譯引擎時加入 [code]minimp3_extra_formats=yes[/code] 這" "個 SCons 參數,本類別便能選擇性地支援舊式的 MP1 及 MP2 格式;這些額外格式預設" "為停用。" #: modules/mp3/doc_classes/AudioStreamMP3.xml msgid "" "Creates a new [AudioStreamMP3] instance from the given buffer. The buffer " "must contain MP3 data." msgstr "" "從給定的緩衝區建立新的 [AudioStreamMP3] 實例。該緩衝區必須包含 MP3 資料。" #: modules/mp3/doc_classes/AudioStreamMP3.xml msgid "" "Creates a new [AudioStreamMP3] instance from the given file path. The file " "must be in MP3 format." msgstr "" "從給定的檔案路徑建立新的 [AudioStreamMP3] 實例。該檔案必須為 MP3 格式。" #: modules/mp3/doc_classes/AudioStreamMP3.xml msgid "" "Contains the audio data in bytes.\n" "You can load a file without having to import it beforehand using the code " "snippet below. Keep in mind that this snippet loads the whole file into " "memory and may not be ideal for huge files (hundreds of megabytes or more).\n" "[codeblocks]\n" "[gdscript]\n" "func load_mp3(path):\n" "\tvar file = FileAccess.open(path, FileAccess.READ)\n" "\tvar sound = AudioStreamMP3.new()\n" "\tsound.data = file.get_buffer(file.get_length())\n" "\treturn sound\n" "[/gdscript]\n" "[csharp]\n" "public AudioStreamMP3 LoadMP3(string path)\n" "{\n" "\tusing var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n" "\tvar sound = new AudioStreamMP3();\n" "\tsound.Data = file.GetBuffer(file.GetLength());\n" "\treturn sound;\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "包含以位元組為單位的音訊資料。\n" "你可以使用下列程式碼片段在執行時載入檔案,而無須事先匯入。請注意,此程式碼會" "將整個檔案一次載入至記憶體,對於超大檔案(數百 MB 以上)並不合適。\n" "[codeblocks]\n" "[gdscript]\n" "func load_mp3(path):\n" "\tvar file = FileAccess.open(path, FileAccess.READ)\n" "\tvar sound = AudioStreamMP3.new()\n" "\tsound.data = file.get_buffer(file.get_length())\n" "\treturn sound\n" "[/gdscript]\n" "[csharp]\n" "public AudioStreamMP3 LoadMP3(string path)\n" "{\n" "\tusing var file = FileAccess.Open(path, FileAccess.ModeFlags.Read);\n" "\tvar sound = new AudioStreamMP3();\n" "\tsound.Data = file.GetBuffer(file.GetLength());\n" "\treturn sound;\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: modules/mp3/doc_classes/AudioStreamMP3.xml msgid "" "If [code]true[/code], the stream will automatically loop when it reaches the " "end." msgstr "若為 [code]true[/code],當串流播放到結尾時會自動迴圈。" #: modules/mp3/doc_classes/AudioStreamMP3.xml #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml msgid "Time in seconds at which the stream starts after being looped." msgstr "迴圈後串流重新開始的時間(秒)。" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml msgid "A class representing an Ogg Vorbis audio stream." msgstr "用於表示 Ogg Vorbis 音訊串流的類別。" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml msgid "" "The AudioStreamOggVorbis class is a specialized [AudioStream] for handling " "Ogg Vorbis file formats. It offers functionality for loading and playing " "back Ogg Vorbis files, as well as managing looping and other playback " "properties. This class is part of the audio stream system, which also " "supports WAV files through the [AudioStreamWAV] class." msgstr "" "AudioStreamOggVorbis 類別是專門用於處理 Ogg Vorbis 檔案格式的 [AudioStream]。" "它提供載入與播放 Ogg Vorbis 檔案的功能,並能管理循環與其他播放屬性。此類別隸" "屬於音訊串流系統的一部分,該系統亦透過 [AudioStreamWAV] 類別支援 WAV 檔案。" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml #: doc/classes/AudioStreamWAV.xml doc/classes/FileAccess.xml #: doc/classes/FontFile.xml modules/gltf/doc_classes/GLTFAccessor.xml #: modules/gltf/doc_classes/GLTFAnimation.xml #: modules/gltf/doc_classes/GLTFBufferView.xml #: modules/gltf/doc_classes/GLTFCamera.xml #: modules/gltf/doc_classes/GLTFDocument.xml #: modules/gltf/doc_classes/GLTFDocumentExtension.xml #: modules/gltf/doc_classes/GLTFDocumentExtensionConvertImporterMesh.xml #: modules/gltf/doc_classes/GLTFLight.xml modules/gltf/doc_classes/GLTFMesh.xml #: modules/gltf/doc_classes/GLTFNode.xml #: modules/gltf/doc_classes/GLTFPhysicsBody.xml #: modules/gltf/doc_classes/GLTFPhysicsShape.xml #: modules/gltf/doc_classes/GLTFSkeleton.xml #: modules/gltf/doc_classes/GLTFSkin.xml #: modules/gltf/doc_classes/GLTFSpecGloss.xml #: modules/gltf/doc_classes/GLTFState.xml #: modules/gltf/doc_classes/GLTFTexture.xml #: modules/gltf/doc_classes/GLTFTextureSampler.xml doc/classes/Image.xml #: doc/classes/VideoStream.xml msgid "Runtime file loading and saving" msgstr "執行時檔案載入與儲存" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml #: modules/vorbis/doc_classes/ResourceImporterOggVorbis.xml msgid "" "Creates a new [AudioStreamOggVorbis] instance from the given buffer. The " "buffer must contain Ogg Vorbis data." msgstr "" "從指定的緩衝區建立新的 [AudioStreamOggVorbis] 實例。緩衝區必須包含 Ogg " "Vorbis 資料。" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml #: modules/vorbis/doc_classes/ResourceImporterOggVorbis.xml msgid "" "Creates a new [AudioStreamOggVorbis] instance from the given file path. The " "file must be in Ogg Vorbis format." msgstr "" "從指定的檔案路徑建立新的 [AudioStreamOggVorbis] 實例。該檔案必須為 Ogg " "Vorbis 格式。" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml msgid "" "If [code]true[/code], the audio will play again from the specified [member " "loop_offset] once it is done playing. Useful for ambient sounds and " "background music." msgstr "" "如果為 [code]true[/code],音訊播放完畢後會從 [member loop_offset] 指定的位置" "重新開始。適用於環境聲效與背景音樂。" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml msgid "Contains the raw Ogg data for this stream." msgstr "包含此串流的原始 Ogg 資料。" #: modules/vorbis/doc_classes/AudioStreamOggVorbis.xml msgid "" "Contains user-defined tags if found in the Ogg Vorbis data.\n" "Commonly used tags include [code]title[/code], [code]artist[/code], " "[code]album[/code], [code]tracknumber[/code], and [code]date[/code] " "([code]date[/code] does not have a standard date format).\n" "[b]Note:[/b] No tag is [i]guaranteed[/i] to be present in every file, so " "make sure to account for the keys not always existing." msgstr "" "若在 Ogg Vorbis 資料中找到,則包含使用者自訂的標籤。\n" "常見標籤包括 [code]title[/code]、[code]artist[/code]、[code]album[/code]、" "[code]tracknumber[/code] 與 [code]date[/code]([code]date[/code] 沒有統一的日" "期格式)。\n" "[b]注意:[/b] 並非所有檔案都[i]保證[/i]具有這些標籤,因此請務必考慮鍵值可能不" "存在的情況。" #: doc/classes/AudioStreamPlayback.xml msgid "Meta class for playing back audio." msgstr "用於播放音訊的元類。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Can play, loop, pause a scroll through audio. See [AudioStream] and " "[AudioStreamOggVorbis] for usage." msgstr "" "可播放、循環及暫停音訊。使用方式請參閱 [AudioStream] 與 " "[AudioStreamOggVorbis]。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Overridable method. Should return how many times this audio stream has " "looped. Most built-in playbacks always return [code]0[/code]." msgstr "" "可覆寫的方法。應回傳此音訊流已循環的次數。大多數內建播放通常回傳 [code]0[/" "code]。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Return the current value of a playback parameter by name (see [method " "AudioStream._get_parameter_list])." msgstr "" "依名稱回傳播放參數的目前值(參見 [method AudioStream._get_parameter_list])。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Overridable method. Should return the current progress along the audio " "stream, in seconds." msgstr "可覆寫的方法。應回傳音訊流目前的播放進度(秒)。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Overridable method. Should return [code]true[/code] if this playback is " "active and playing its audio stream." msgstr "" "可覆寫的方法。若此播放實例處於啟動並正在播放音訊流時,應回傳 [code]true[/" "code]。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Override this method to customize how the audio stream is mixed. This method " "is called even if the playback is not active.\n" "[b]Note:[/b] It is not useful to override this method in GDScript or C#. " "Only GDExtension can take advantage of it." msgstr "" "重寫此方法以自訂混音行為,即便播放未啟動也會呼叫。\n" "[b]注意:[/b] 在 GDScript 或 C# 中覆寫此方法並無實際用途;僅 GDExtension 可以" "利用。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Override this method to customize what happens when seeking this audio " "stream at the given [param position], such as by calling [method " "AudioStreamPlayer.seek]." msgstr "" "重寫此方法以自訂在尋位至指定 [param position] 時的行為,例如由 [method " "AudioStreamPlayer.seek] 觸發。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Set the current value of a playback parameter by name (see [method " "AudioStream._get_parameter_list])." msgstr "" "依名稱設定播放參數的目前值(參見 [method AudioStream._get_parameter_list])。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Override this method to customize what happens when the playback starts at " "the given position, such as by calling [method AudioStreamPlayer.play]." msgstr "" "重寫此方法以自訂播放自指定位置開始(例如呼叫 [method " "AudioStreamPlayer.play])時的行為。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Override this method to customize what happens when the playback is stopped, " "such as by calling [method AudioStreamPlayer.stop]." msgstr "" "重寫此方法以自訂停止播放(例如呼叫 [method AudioStreamPlayer.stop])時的行" "為。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Overridable method. Called whenever the audio stream is mixed if the " "playback is active and [method " "AudioServer.set_enable_tagging_used_audio_streams] has been set to " "[code]true[/code]. Editor plugins may use this method to \"tag\" the current " "position along the audio stream and display it in a preview." msgstr "" "可覆寫的方法。當播放啟動且 [method " "AudioServer.set_enable_tagging_used_audio_streams] 為 [code]true[/code] 時," "每次混音都會呼叫。編輯器外掛可透過此方法標記音訊流當前位置並於預覽中顯示。" #: doc/classes/AudioStreamPlayback.xml msgid "Returns the number of times the stream has looped." msgstr "回傳此串流已循環的次數。" #: doc/classes/AudioStreamPlayback.xml msgid "Returns the current position in the stream, in seconds." msgstr "回傳串流目前的位置(秒)。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Returns the [AudioSamplePlayback] associated with this [AudioStreamPlayback] " "for playing back the audio sample of this stream." msgstr "" "回傳與此 [AudioStreamPlayback] 關聯、用於播放此串流取樣的 " "[AudioSamplePlayback]。" #: doc/classes/AudioStreamPlayback.xml msgid "Returns [code]true[/code] if the stream is playing." msgstr "若串流正在播放則回傳 [code]true[/code]。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Mixes up to [param frames] of audio from the stream from the current " "position, at a rate of [param rate_scale], advancing the stream.\n" "Returns a [PackedVector2Array] where each element holds the left and right " "channel volume levels of each frame.\n" "[b]Note:[/b] Can return fewer frames than requested, make sure to use the " "size of the return value." msgstr "" "自目前位置起,依 [param rate_scale] 速度混音最多 [param frames] 個影格並推進" "串流。\n" "回傳的 [PackedVector2Array] 中,每個元素包含該影格左右聲道的音量。\n" "[b]注意:[/b] 實際回傳的影格數可能少於要求值,請使用回傳陣列的長度做後續處" "理。" #: doc/classes/AudioStreamPlayback.xml msgid "Seeks the stream at the given [param time], in seconds." msgstr "將串流尋位至指定 [param time](秒)。" #: doc/classes/AudioStreamPlayback.xml msgid "" "Associates [AudioSamplePlayback] to this [AudioStreamPlayback] for playing " "back the audio sample of this stream." msgstr "" "將 [AudioSamplePlayback] 關聯到此 [AudioStreamPlayback] 以播放該串流的取樣。" #: doc/classes/AudioStreamPlayback.xml msgid "Starts the stream from the given [param from_pos], in seconds." msgstr "自指定的 [param from_pos](秒)開始播放串流。" #: doc/classes/AudioStreamPlayback.xml msgid "Stops the stream." msgstr "停止串流播放。" #: modules/interactive_music/doc_classes/AudioStreamPlaybackInteractive.xml msgid "Playback component of [AudioStreamInteractive]." msgstr "[AudioStreamInteractive] 的播放元件。" #: modules/interactive_music/doc_classes/AudioStreamPlaybackInteractive.xml msgid "" "Playback component of [AudioStreamInteractive]. Contains functions to change " "the currently played clip." msgstr "[AudioStreamInteractive] 的播放元件,包含用於切換當前播放片段的函式。" #: modules/interactive_music/doc_classes/AudioStreamPlaybackInteractive.xml msgid "" "Return the index of the currently playing clip. You can use this to get the " "name of the currently playing clip with [method " "AudioStreamInteractive.get_clip_name].\n" "[b]Example:[/b] Get the currently playing clip name from inside an " "[AudioStreamPlayer] node.\n" "[codeblocks]\n" "[gdscript]\n" "var playing_clip_name = " "stream.get_clip_name(get_stream_playback().get_current_clip_index())\n" "[/gdscript]\n" "[/codeblocks]" msgstr "" "返回目前正在播放的片段索引。可搭配 [method " "AudioStreamInteractive.get_clip_name] 取得當前片段名稱。\n" "[b]範例:[/b] 在 [AudioStreamPlayer] 節點中取得目前播放片段的名稱。\n" "[codeblocks]\n" "[gdscript]\n" "var playing_clip_name = " "stream.get_clip_name(get_stream_playback().get_current_clip_index())\n" "[/gdscript]\n" "[/codeblocks]" #: modules/interactive_music/doc_classes/AudioStreamPlaybackInteractive.xml msgid "Switch to a clip (by index)." msgstr "切換至指定索引的片段。" #: modules/interactive_music/doc_classes/AudioStreamPlaybackInteractive.xml msgid "Switch to a clip (by name)." msgstr "切換至指定名稱的片段。" #: modules/interactive_music/doc_classes/AudioStreamPlaybackPlaylist.xml msgid "Playback class used for [AudioStreamPlaylist]." msgstr "供 [AudioStreamPlaylist] 使用的播放類別。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "Playback instance for [AudioStreamPolyphonic]." msgstr "[AudioStreamPolyphonic] 的播放實例。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "" "Playback instance for [AudioStreamPolyphonic]. After setting the " "[code]stream[/code] property of [AudioStreamPlayer], [AudioStreamPlayer2D], " "or [AudioStreamPlayer3D], the playback instance can be obtained by calling " "[method AudioStreamPlayer.get_stream_playback], [method " "AudioStreamPlayer2D.get_stream_playback] or [method " "AudioStreamPlayer3D.get_stream_playback] methods." msgstr "" "[AudioStreamPolyphonic] 的播放實例。設定 [AudioStreamPlayer]、" "[AudioStreamPlayer2D] 或 [AudioStreamPlayer3D] 的 [code]stream[/code] 屬性" "後,可透過 [method AudioStreamPlayer.get_stream_playback]、[method " "AudioStreamPlayer2D.get_stream_playback] 或 [method " "AudioStreamPlayer3D.get_stream_playback] 取得播放實例。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "" "Returns [code]true[/code] if the stream associated with the given integer ID " "is still playing. Check [method play_stream] for information on when this ID " "becomes invalid." msgstr "" "若與指定整數 ID 關聯的串流仍在播放則回傳 [code]true[/code]。關於此 ID 何時失" "效請參考 [method play_stream]。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "" "Play an [AudioStream] at a given offset, volume, pitch scale, playback type, " "and bus. Playback starts immediately.\n" "The return value is a unique integer ID that is associated to this playback " "stream and which can be used to control it.\n" "This ID becomes invalid when the stream ends (if it does not loop), when the " "[AudioStreamPlaybackPolyphonic] is stopped, or when [method stop_stream] is " "called.\n" "This function returns [constant INVALID_ID] if the amount of streams " "currently playing equals [member AudioStreamPolyphonic.polyphony]. If you " "need a higher amount of maximum polyphony, raise this value." msgstr "" "以指定的偏移、音量、音高倍率、播放型態及匯流排播放一段 [AudioStream],播放會" "立即開始。\n" "此函式會回傳一個獨一無二的整數 ID,可用來控制該播放串流。\n" "當串流結束(未循環)、[AudioStreamPlaybackPolyphonic] 被停止,或呼叫 [method " "stop_stream] 時,該 ID 將失效。\n" "若同時播放的串流數已達 [member AudioStreamPolyphonic.polyphony],本函式將回" "傳 [constant INVALID_ID]。如需更高的最大複音數,請提高此屬性值。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "" "Change the stream pitch scale. The [param stream] argument is an integer ID " "returned by [method play_stream]." msgstr "" "修改串流的音高倍率。[param stream] 為 [method play_stream] 回傳的整數 ID。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "" "Change the stream volume (in db). The [param stream] argument is an integer " "ID returned by [method play_stream]." msgstr "" "修改串流音量(dB)。[param stream] 為 [method play_stream] 回傳的整數 ID。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "" "Stop a stream. The [param stream] argument is an integer ID returned by " "[method play_stream], which becomes invalid after calling this function." msgstr "" "停止指定串流。[param stream] 為 [method play_stream] 回傳的整數 ID,呼叫後即" "失效。" #: doc/classes/AudioStreamPlaybackPolyphonic.xml msgid "" "Returned by [method play_stream] in case it could not allocate a stream for " "playback." msgstr "當無法再分配播放串流時,[method play_stream] 會回傳此值。" #: doc/classes/AudioStreamPlayer.xml msgid "A node for audio playback." msgstr "用於音訊播放的節點。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The [AudioStreamPlayer] node plays an audio stream non-positionally. It is " "ideal for user interfaces, menus, or background music.\n" "To use this node, [member stream] needs to be set to a valid [AudioStream] " "resource. Playing more than one sound at the same time is also supported, " "see [member max_polyphony].\n" "If you need to play audio at a specific position, use [AudioStreamPlayer2D] " "or [AudioStreamPlayer3D] instead." msgstr "" "[AudioStreamPlayer] 節點可播放非定位的音訊,適合用於 UI、選單或背景音樂。\n" "使用時請先將 [member stream] 設為有效的 [AudioStream] 資源。本節點也支援同時" "播放多段音訊,詳見 [member max_polyphony]。\n" "若需在特定位置播放,請改用 [AudioStreamPlayer2D] 或 [AudioStreamPlayer3D]。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Returns the position in the [AudioStream] of the latest sound, in seconds. " "Returns [code]0.0[/code] if no sounds are playing.\n" "[b]Note:[/b] The position is not always accurate, as the [AudioServer] does " "not mix audio every processed frame. To get more accurate results, add " "[method AudioServer.get_time_since_last_mix] to the returned position.\n" "[b]Note:[/b] This method always returns [code]0.0[/code] if the [member " "stream] is an [AudioStreamInteractive], since it can have multiple clips " "playing at once." msgstr "" "回傳最近一次播放音效在 [AudioStream] 中的位置(秒)。若目前無任何音效播放則回" "傳 [code]0.0[/code]。\n" "[b]注意:[/b] 由於 [AudioServer] 並非每個處理影格都進行混音,該位置不一定精" "確。若需更精準,請將 [method AudioServer.get_time_since_last_mix] 加到回傳值" "上。\n" "[b]注意:[/b] 若 [member stream] 為 [AudioStreamInteractive](可能同時播放多" "段片段),本方法恒回傳 [code]0.0[/code]。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Returns the latest [AudioStreamPlayback] of this node, usually the most " "recently created by [method play]. If no sounds are playing, this method " "fails and returns an empty playback." msgstr "" "回傳此節點最新產生的 [AudioStreamPlayback](通常由 [method play] 建立)。若無" "音效播放則回傳空播放實例。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Returns [code]true[/code] if any sound is active, even if [member " "stream_paused] is set to [code]true[/code]. See also [member playing] and " "[method get_stream_playback]." msgstr "" "若有任何音效處於活動狀態則回傳 [code]true[/code],即使 [member " "stream_paused] 為 [code]true[/code]。另見 [member playing] 與 [method " "get_stream_playback]。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Plays a sound from the beginning, or the given [param from_position] in " "seconds." msgstr "從開頭或指定的 [param from_position](秒)開始播放音效。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Restarts all sounds to be played from the given [param to_position], in " "seconds. Does nothing if no sounds are playing." msgstr "" "將所有正在播放的音效重新定位至 [param to_position](秒)並繼續播放;若無音效" "播放則不動作。" #: doc/classes/AudioStreamPlayer.xml msgid "Stops all sounds from this node." msgstr "停止此節點的所有音效。" #: doc/classes/AudioStreamPlayer.xml msgid "" "If [code]true[/code], this node calls [method play] when entering the tree." msgstr "若為 [code]true[/code],該節點進入場景樹時會自動呼叫 [method play]。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The target bus name. All sounds from this node will be playing on this bus.\n" "[b]Note:[/b] At runtime, if no bus with the given name exists, all sounds " "will fall back on [code]\"Master\"[/code]. See also [method " "AudioServer.get_bus_name]." msgstr "" "目標匯流排名稱。此節點的所有音效將於該匯流排播放。\n" "[b]注意:[/b] 執行時若找不到同名匯流排,將退回至 [code]\"Master\"[/code]。另" "見 [method AudioServer.get_bus_name]。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The maximum number of sounds this node can play at the same time. Calling " "[method play] after this value is reached will cut off the oldest sounds." msgstr "" "此節點可同時播放的最大音效數量。達上限後再次呼叫 [method play] 會截斷最早播放" "的音效。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The mix target channels. Has no effect when two speakers or less are " "detected (see [enum AudioServer.SpeakerMode])." msgstr "" "混音目標聲道。若僅偵測到兩個或更少揚聲器時無效(參見 [enum " "AudioServer.SpeakerMode])。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The audio's pitch and tempo, as a multiplier of the [member stream]'s sample " "rate. A value of [code]2.0[/code] doubles the audio's pitch, while a value " "of [code]0.5[/code] halves the pitch." msgstr "" "音訊的音高與節奏倍率,相對於 [member stream] 的取樣率。[code]2.0[/code] 代表" "音高變兩倍,[code]0.5[/code] 則為一半。" #: doc/classes/AudioStreamPlayer.xml doc/classes/AudioStreamPlayer2D.xml #: doc/classes/AudioStreamPlayer3D.xml msgid "" "The playback type of the stream player. If set other than to the default " "value, it will force that playback type." msgstr "串流播放器的播放型態。若設定為非預設值,將強制使用該型態。" #: doc/classes/AudioStreamPlayer.xml msgid "" "If [code]true[/code], this node is playing sounds. Setting this property has " "the same effect as [method play] and [method stop]." msgstr "" "若為 [code]true[/code],此節點正在播放音效。設定此屬性與呼叫 [method play] " "或 [method stop] 效果相同。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The [AudioStream] resource to be played. Setting this property stops all " "currently playing sounds. If left empty, the [AudioStreamPlayer] does not " "work." msgstr "" "要播放的 [AudioStream] 資源。設定時會停止目前所有正在播放的音效。若留空,此 " "[AudioStreamPlayer] 將無法運作。" #: doc/classes/AudioStreamPlayer.xml msgid "" "If [code]true[/code], the sounds are paused. Setting [member stream_paused] " "to [code]false[/code] resumes all sounds.\n" "[b]Note:[/b] This property is automatically changed when exiting or entering " "the tree, or this node is paused (see [member Node.process_mode])." msgstr "" "若為 [code]true[/code],音效將暫停。將 [member stream_paused] 設為 " "[code]false[/code] 可恢復播放。\n" "[b]注意:[/b] 離開/進入場景樹或節點被暫停(見 [member Node.process_mode])" "時,此屬性會自動變更。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Volume of sound, in decibels. This is an offset of the [member stream]'s " "volume.\n" "[b]Note:[/b] To convert between decibel and linear energy (like most volume " "sliders do), use [member volume_linear], or [method " "@GlobalScope.db_to_linear] and [method @GlobalScope.linear_to_db]." msgstr "" "音量(dB),為 [member stream] 音量的偏移量。\n" "[b]注意:[/b] 若需在分貝與線性能量間轉換,可使用 [member volume_linear],或 " "[method @GlobalScope.db_to_linear] / [method @GlobalScope.linear_to_db]。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Volume of sound, as a linear value.\n" "[b]Note:[/b] This member modifies [member volume_db] for convenience. The " "returned value is equivalent to the result of [method " "@GlobalScope.db_to_linear] on [member volume_db]. Setting this member is " "equivalent to setting [member volume_db] to the result of [method " "@GlobalScope.linear_to_db] on a value." msgstr "" "音量(線性值)。\n" "[b]注意:[/b] 此屬性便於操作,會同步修改 [member volume_db]。回傳值等同於對 " "[member volume_db] 執行 [method @GlobalScope.db_to_linear] 的結果;設定此屬性" "亦等同於將 [member volume_db] 設為對應值的 [method " "@GlobalScope.linear_to_db] 結果。" #: doc/classes/AudioStreamPlayer.xml msgid "" "Emitted when a sound finishes playing without interruptions. This signal is " "[i]not[/i] emitted when calling [method stop], or when exiting the tree " "while sounds are playing." msgstr "" "當音效自然播放完畢且未被打斷時發出。呼叫 [method stop] 或離開場景樹時不會觸" "發。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The audio will be played only on the first channel. This is the default." msgstr "音訊僅會在第一個聲道播放(預設值)。" #: doc/classes/AudioStreamPlayer.xml msgid "The audio will be played on all surround channels." msgstr "音訊將在所有環繞聲聲道播放。" #: doc/classes/AudioStreamPlayer.xml msgid "" "The audio will be played on the second channel, which is usually the center." msgstr "音訊將在第二個聲道(通常為中央聲道)播放。" #: doc/classes/AudioStreamPlayer2D.xml msgid "Plays positional sound in 2D space." msgstr "在 2D 空間播放具位置感的音訊。" #: doc/classes/AudioStreamPlayer2D.xml msgid "" "Plays audio that is attenuated with distance to the listener.\n" "By default, audio is heard from the screen center. This can be changed by " "adding an [AudioListener2D] node to the scene and enabling it by calling " "[method AudioListener2D.make_current] on it.\n" "See also [AudioStreamPlayer] to play a sound non-positionally.\n" "[b]Note:[/b] Hiding an [AudioStreamPlayer2D] node does not disable its audio " "output. To temporarily disable an [AudioStreamPlayer2D]'s audio output, set " "[member volume_db] to a very low value like [code]-100[/code] (which isn't " "audible to human hearing)." msgstr "" "播放隨與接收者距離衰減的音訊。\n" "預設情況下,聲音自螢幕中心傳來。可在場景中加入 [AudioListener2D] 並呼叫 " "[method AudioListener2D.make_current] 來變更此位置。\n" "若需非定位播放,請參考 [AudioStreamPlayer]。\n" "[b]注意:[/b] 隱藏 [AudioStreamPlayer2D] 節點不會停止其音訊輸出。若要暫時關閉" "輸出,請將 [member volume_db] 設為如 [code]-100[/code] 的極低值(人耳聽不" "見)。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "Returns the position in the [AudioStream]." msgstr "回傳在 [AudioStream] 中的位置。" #: doc/classes/AudioStreamPlayer2D.xml msgid "" "Returns the [AudioStreamPlayback] object associated with this " "[AudioStreamPlayer2D]." msgstr "回傳與此 [AudioStreamPlayer2D] 相關聯的 [AudioStreamPlayback] 物件。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "" "Returns whether the [AudioStreamPlayer] can return the [AudioStreamPlayback] " "object or not." msgstr "回傳此 [AudioStreamPlayer] 是否能取得 [AudioStreamPlayback] 物件。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "" "Queues the audio to play on the next physics frame, from the given position " "[param from_position], in seconds." msgstr "將音訊排入佇列,於下個物理影格自 [param from_position](秒)開始播放。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "Sets the position from which audio will be played, in seconds." msgstr "設定音訊開始播放的位置(秒)。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "Stops the audio." msgstr "停止音訊。" #: doc/classes/AudioStreamPlayer2D.xml msgid "" "Determines which [Area2D] layers affect the sound for reverb and audio bus " "effects. Areas can be used to redirect [AudioStream]s so that they play in a " "certain audio bus. An example of how you might use this is making a " "\"water\" area so that sounds played in the water are redirected through an " "audio bus to make them sound like they are being played underwater." msgstr "" "決定哪些 [Area2D] 分層會影響混響及匯流排效果。可利用區域將 [AudioStream] 重新" "導向至特定匯流排,例如建立「水域」區域,使水中播放的聲音經過專用匯流排處理," "聽起來像在水下。" #: doc/classes/AudioStreamPlayer2D.xml msgid "The volume is attenuated over distance with this as an exponent." msgstr "以此值為指數,使音量隨距離衰減。" #: doc/classes/AudioStreamPlayer2D.xml msgid "If [code]true[/code], audio plays when added to scene tree." msgstr "若為 [code]true[/code],加入場景樹時即開始播放音訊。" #: doc/classes/AudioStreamPlayer2D.xml msgid "" "Bus on which this audio is playing.\n" "[b]Note:[/b] When setting this property, keep in mind that no validation is " "performed to see if the given name matches an existing bus. This is because " "audio bus layouts might be loaded after this property is set. If this given " "name can't be resolved at runtime, it will fall back to [code]\"Master\"[/" "code]." msgstr "" "此音訊所屬匯流排。\n" "[b]注意:[/b] 設定時不會檢查名稱是否存在,因為匯流排佈局可能稍後才載入。若運" "行時無法解析名稱,將退回至 [code]\"Master\"[/code]。" #: doc/classes/AudioStreamPlayer2D.xml msgid "Maximum distance from which audio is still hearable." msgstr "音訊仍可聽見的最遠距離。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "" "The maximum number of sounds this node can play at the same time. Playing " "additional sounds after this value is reached will cut off the oldest sounds." msgstr "此節點同時可播放的最大音效數。超過後播放新音效會截斷最舊的音效。" #: doc/classes/AudioStreamPlayer2D.xml msgid "" "Scales the panning strength for this node by multiplying the base [member " "ProjectSettings.audio/general/2d_panning_strength] with this factor. Higher " "values will pan audio from left to right more dramatically than lower values." msgstr "" "將本節點的聲像強度設為基準 [member ProjectSettings.audio/general/" "2d_panning_strength] 乘以此係數。值越大,左右聲像移動越顯著。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "" "The pitch and the tempo of the audio, as a multiplier of the audio sample's " "sample rate." msgstr "音訊的音高與節奏倍率,相對於其取樣率。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "" "If [code]true[/code], audio is playing or is queued to be played (see " "[method play])." msgstr "" "若為 [code]true[/code],音訊正在播放或已排入播放佇列(見 [method play])。" #: doc/classes/AudioStreamPlayer2D.xml msgid "The [AudioStream] object to be played." msgstr "要播放的 [AudioStream] 物件。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "" "If [code]true[/code], the playback is paused. You can resume it by setting " "[member stream_paused] to [code]false[/code]." msgstr "" "若為 [code]true[/code] 則播放暫停,將 [member stream_paused] 設為 " "[code]false[/code] 可恢復。" #: doc/classes/AudioStreamPlayer2D.xml msgid "Base volume before attenuation, in decibels." msgstr "衰減前的基礎音量,單位為分貝。" #: doc/classes/AudioStreamPlayer2D.xml msgid "" "Base volume before attenuation, as a linear value.\n" "[b]Note:[/b] This member modifies [member volume_db] for convenience. The " "returned value is equivalent to the result of [method " "@GlobalScope.db_to_linear] on [member volume_db]. Setting this member is " "equivalent to setting [member volume_db] to the result of [method " "@GlobalScope.linear_to_db] on a value." msgstr "" "衰減前的基礎音量,以線性值表示。\n" "[b]注意:[/b]此成員為方便起見會同步修改 [member volume_db]。傳回值與對 " "[member volume_db] 執行 [method @GlobalScope.db_to_linear] 的結果相同。設定此" "成員等同於把 [member volume_db] 設為執行 [method @GlobalScope.linear_to_db] " "後的結果。" #: doc/classes/AudioStreamPlayer2D.xml doc/classes/AudioStreamPlayer3D.xml msgid "Emitted when the audio stops playing." msgstr "當音訊停止播放時發出。" #: doc/classes/AudioStreamPlayer3D.xml msgid "Plays positional sound in 3D space." msgstr "在 3D 空間中播放與位置相關的聲音。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Plays audio with positional sound effects, based on the relative position of " "the audio listener. Positional effects include distance attenuation, " "directionality, and the Doppler effect. For greater realism, a low-pass " "filter is applied to distant sounds. This can be disabled by setting [member " "attenuation_filter_cutoff_hz] to [code]20500[/code].\n" "By default, audio is heard from the camera position. This can be changed by " "adding an [AudioListener3D] node to the scene and enabling it by calling " "[method AudioListener3D.make_current] on it.\n" "See also [AudioStreamPlayer] to play a sound non-positionally.\n" "[b]Note:[/b] Hiding an [AudioStreamPlayer3D] node does not disable its audio " "output. To temporarily disable an [AudioStreamPlayer3D]'s audio output, set " "[member volume_db] to a very low value like [code]-100[/code] (which isn't " "audible to human hearing)." msgstr "" "根據聆聽者的相對位置播放具備空間化效果的音訊。位置效果包含距離衰減、方向性與" "多普勒效應。為了更逼真,系統會對遠處聲音套用低通濾波器;若要停用,將 [member " "attenuation_filter_cutoff_hz] 設為 [code]20500[/code]。\n" "預設情況下,聲音從攝影機位置輸出。你可以在場景中新增 [AudioListener3D] 節點," "並呼叫 [method AudioListener3D.make_current] 來啟用以改變聆聽位置。\n" "若要播放非空間化音效,請參閱 [AudioStreamPlayer]。\n" "[b]注意:[/b] 隱藏 [AudioStreamPlayer3D] 節點不會停止音訊輸出。若需暫時靜音," "可將 [member volume_db] 設為極低值,例如 [code]-100[/code](人耳已無法聽" "見)。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Returns the [AudioStreamPlayback] object associated with this " "[AudioStreamPlayer3D]." msgstr "返回與此 [AudioStreamPlayer3D] 關聯的 [AudioStreamPlayback] 物件。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Determines which [Area3D] layers affect the sound for reverb and audio bus " "effects. Areas can be used to redirect [AudioStream]s so that they play in a " "certain audio bus. An example of how you might use this is making a " "\"water\" area so that sounds played in the water are redirected through an " "audio bus to make them sound like they are being played underwater." msgstr "" "決定哪些 [Area3D] 分層影響混響與音訊匯流排效果。你可以利用區域將 " "[AudioStream] 重新導向至特定匯流排。例如建立「水域」區域,讓水中的聲音透過匯" "流排處理,聽起來像在水下播放。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "The cutoff frequency of the attenuation low-pass filter, in Hz. A sound " "above this frequency is attenuated more than a sound below this frequency. " "To disable this effect, set this to [code]20500[/code] as this frequency is " "above the human hearing limit." msgstr "" "衰減低通濾波器的截止頻率(Hz)。高於此頻率的聲音會比低於此頻率的聲音被更大幅" "度衰減。若要停用,請設為 [code]20500[/code](高於人耳可聽極限)。" #: doc/classes/AudioStreamPlayer3D.xml msgid "Amount how much the filter affects the loudness, in decibels." msgstr "濾波器對響度影響的幅度,單位為分貝。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Decides if audio should get quieter with distance linearly, quadratically, " "logarithmically, or not be affected by distance, effectively disabling " "attenuation." msgstr "" "決定音訊是否隨距離而線性、平方、對數衰減,或完全不受距離影響(即停用衰減)。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "If [code]true[/code], audio plays when the AudioStreamPlayer3D node is added " "to scene tree." msgstr "" "若為 [code]true[/code],當 AudioStreamPlayer3D 節點加入場景樹時即開始播放。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "The bus on which this audio is playing.\n" "[b]Note:[/b] When setting this property, keep in mind that no validation is " "performed to see if the given name matches an existing bus. This is because " "audio bus layouts might be loaded after this property is set. If this given " "name can't be resolved at runtime, it will fall back to [code]\"Master\"[/" "code]." msgstr "" "此音訊播放所在的匯流排。\n" "[b]注意:[/b] 設定時不會驗證名稱是否存在,因為匯流排配置可能稍後才載入。若執" "行期間找不到對應匯流排,將回退至 [code]\"Master\"[/code]。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Decides in which step the Doppler effect should be calculated.\n" "[b]Note:[/b] If [member doppler_tracking] is not [constant " "DOPPLER_TRACKING_DISABLED] but the current [Camera3D]/[AudioListener3D] has " "doppler tracking disabled, the Doppler effect will be heard but will not " "take the movement of the current listener into account. If accurate Doppler " "effect is desired, doppler tracking should be enabled on both the " "[AudioStreamPlayer3D] and the current [Camera3D]/[AudioListener3D]." msgstr "" #: doc/classes/AudioStreamPlayer3D.xml msgid "The angle in which the audio reaches a listener unattenuated." msgstr "聲音在此角度內傳至聽者時不會衰減。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "If [code]true[/code], the audio should be attenuated according to the " "direction of the sound." msgstr "若為 [code]true[/code],將依聲音方向進行衰減。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Attenuation factor used if listener is outside of [member " "emission_angle_degrees] and [member emission_angle_enabled] is set, in " "decibels." msgstr "" "當聽者位於 [member emission_angle_degrees] 之外且 [member " "emission_angle_enabled] 啟用時,採用的衰減係數(分貝)。" #: doc/classes/AudioStreamPlayer3D.xml msgid "Sets the absolute maximum of the sound level, in decibels." msgstr "設定聲音輸出的絕對最大值,單位為分貝。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "The distance past which the sound can no longer be heard at all. Only has an " "effect if set to a value greater than [code]0.0[/code]. [member " "max_distance] works in tandem with [member unit_size]. However, unlike " "[member unit_size] whose behavior depends on the [member attenuation_model], " "[member max_distance] always works in a linear fashion. This can be used to " "prevent the [AudioStreamPlayer3D] from requiring audio mixing when the " "listener is far away, which saves CPU resources." msgstr "" "超過此距離後將完全聽不到聲音。僅在設為大於 [code]0.0[/code] 時生效。[member " "max_distance] 與 [member unit_size] 協同運作;不同於 [member unit_size] 受 " "[member attenuation_model] 影響,[member max_distance] 一律採線性模式。這可避" "免聽者距離過遠時仍需混音,節省 CPU。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Scales the panning strength for this node by multiplying the base [member " "ProjectSettings.audio/general/3d_panning_strength] by this factor. If the " "product is [code]0.0[/code] then stereo panning is disabled and the volume " "is the same for all channels. If the product is [code]1.0[/code] then one of " "the channels will be muted when the sound is located exactly to the left (or " "right) of the listener.\n" "Two speaker stereo arrangements implement the [url=https://" "webaudio.github.io/web-audio-api/#stereopanner-algorithm]WebAudio standard " "for StereoPannerNode Panning[/url] where the volume is cosine of half the " "azimuth angle to the ear.\n" "For other speaker arrangements such as the 5.1 and 7.1 the SPCAP (Speaker-" "Placement Correction Amplitude) algorithm is implemented." msgstr "" "將此節點的聲道平移強度設為 [member ProjectSettings.audio/general/" "3d_panning_strength] 乘以本係數。若乘積為 [code]0.0[/code],則停用立體聲平" "移,所有聲道音量相同;若為 [code]1.0[/code],當聲源位於聽者正左或正右時,將靜" "音其中一個聲道。\n" "兩聲道立體聲配置遵循 [url=https://webaudio.github.io/web-audio-api/" "#stereopanner-algorithm]WebAudio StereoPannerNode[/url] 演算法,以耳朵方位角" "一半的餘弦值計算音量。\n" "至於 5.1、7.1 等其他喇叭配置,則實作 SPCAP(Speaker-Placement Correction " "Amplitude)演算法。" #: doc/classes/AudioStreamPlayer3D.xml msgid "The [AudioStream] resource to be played." msgstr "要播放的 [AudioStream] 資源。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "The factor for the attenuation effect. Higher values make the sound audible " "over a larger distance." msgstr "衰減係數。值越高,聲音可被聽見的距離越遠。" #: doc/classes/AudioStreamPlayer3D.xml msgid "The base sound level before attenuation, in decibels." msgstr "衰減前的基礎聲級,單位為分貝。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "The base sound level before attenuation, as a linear value.\n" "[b]Note:[/b] This member modifies [member volume_db] for convenience. The " "returned value is equivalent to the result of [method " "@GlobalScope.db_to_linear] on [member volume_db]. Setting this member is " "equivalent to setting [member volume_db] to the result of [method " "@GlobalScope.linear_to_db] on a value." msgstr "" "衰減前的基礎聲級,以線性值表示。\n" "[b]注意:[/b]此成員會同步修改 [member volume_db]。傳回值等同於對 [member " "volume_db] 執行 [method @GlobalScope.db_to_linear] 的結果。設定此成員則等同於" "將 [member volume_db] 設為對該值執行 [method @GlobalScope.linear_to_db] 的結" "果。" #: doc/classes/AudioStreamPlayer3D.xml msgid "Attenuation of loudness according to linear distance." msgstr "依線性距離衰減響度。" #: doc/classes/AudioStreamPlayer3D.xml msgid "Attenuation of loudness according to squared distance." msgstr "依平方距離衰減響度。" #: doc/classes/AudioStreamPlayer3D.xml msgid "Attenuation of loudness according to logarithmic distance." msgstr "依對數距離衰減響度。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "No attenuation of loudness according to distance. The sound will still be " "heard positionally, unlike an [AudioStreamPlayer]. [constant " "ATTENUATION_DISABLED] can be combined with a [member max_distance] value " "greater than [code]0.0[/code] to achieve linear attenuation clamped to a " "sphere of a defined size." msgstr "" "響度不隨距離衰減,但仍保留空間定位(不同於 [AudioStreamPlayer])。可將 " "[constant ATTENUATION_DISABLED] 與大於 [code]0.0[/code] 的 [member " "max_distance] 搭配,以線性方式在指定球體範圍內衰減。" #: doc/classes/AudioStreamPlayer3D.xml msgid "Disables doppler tracking." msgstr "停用多普勒追蹤。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Executes doppler tracking during process frames (see [constant " "Node.NOTIFICATION_INTERNAL_PROCESS])." msgstr "" "於邏輯處理影格期間執行多普勒追蹤(見 [constant " "Node.NOTIFICATION_INTERNAL_PROCESS])。" #: doc/classes/AudioStreamPlayer3D.xml msgid "" "Executes doppler tracking during physics frames (see [constant " "Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS])." msgstr "" "於物理影格期間執行多普勒追蹤(見 [constant " "Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS])。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "" "[AudioStream] that includes sub-streams and plays them back like a playlist." msgstr "包含子串流並以播放清單方式播放的 [AudioStream]。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "" "Returns the BPM of the playlist, which can vary depending on the clip being " "played." msgstr "返回播放清單的 BPM,可能隨目前播放的片段而異。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "Returns the stream at playback position index." msgstr "返回指定播放位置索引處的串流。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "Sets the stream at playback position index." msgstr "設定指定播放位置索引處的串流。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "" "Fade time used when a stream ends, when going to the next one. Streams are " "expected to have an extra bit of audio after the end to help with fading." msgstr "" "當一個串流結束並轉到下一個時所使用的淡出時間。建議各串流在結尾保留些許額外音" "訊以利淡出。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "" "If [code]true[/code], the playlist will loop, otherwise the playlist will " "end when the last stream is finished." msgstr "" "若為 [code]true[/code],播放清單將循環播放;否則在最後一個串流播放完畢後停" "止。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "" "If [code]true[/code], the playlist will shuffle each time playback starts " "and each time it loops." msgstr "" "若為 [code]true[/code],每次開始播放或重新循環時播放清單將重新隨機排序。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "Amount of streams in the playlist." msgstr "播放清單中的串流數量。" #: modules/interactive_music/doc_classes/AudioStreamPlaylist.xml msgid "Maximum amount of streams supported in the playlist." msgstr "播放清單可支援的最大串流數量。" #: doc/classes/AudioStreamPolyphonic.xml msgid "" "AudioStream that lets the user play custom streams at any time from code, " "simultaneously using a single player." msgstr "允許使用者透過程式碼隨時播放自訂音訊流,並以單一播放器同時輸出。" #: doc/classes/AudioStreamPolyphonic.xml msgid "" "AudioStream that lets the user play custom streams at any time from code, " "simultaneously using a single player.\n" "Playback control is done via the [AudioStreamPlaybackPolyphonic] instance " "set inside the player, which can be obtained via [method " "AudioStreamPlayer.get_stream_playback], [method " "AudioStreamPlayer2D.get_stream_playback] or [method " "AudioStreamPlayer3D.get_stream_playback] methods. Obtaining the playback " "instance is only valid after the [code]stream[/code] property is set as an " "[AudioStreamPolyphonic] in those players." msgstr "" "允許使用者透過程式碼隨時以單一播放器播放多條自訂音訊流。\n" "播放控制透過播放器內的 [AudioStreamPlaybackPolyphonic] 實例完成,可呼叫 " "[method AudioStreamPlayer.get_stream_playback]、[method " "AudioStreamPlayer2D.get_stream_playback] 或 [method " "AudioStreamPlayer3D.get_stream_playback] 取得。僅當這些播放器的 " "[code]stream[/code] 屬性已設為 [AudioStreamPolyphonic] 時,才能取得該實例。" #: doc/classes/AudioStreamPolyphonic.xml msgid "Maximum amount of simultaneous streams that can be played." msgstr "可同時播放的最大音訊流數量。" #: doc/classes/AudioStreamRandomizer.xml msgid "Wraps a pool of audio streams with pitch and volume shifting." msgstr "以音高與音量偏移封裝一個音訊流池。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Picks a random AudioStream from the pool, depending on the playback mode, " "and applies random pitch shifting and volume shifting during playback." msgstr "" "依播放模式,從池中隨機選擇 AudioStream,並在播放時施加隨機音高與音量偏移。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Insert a stream at the specified index. If the index is less than zero, the " "insertion occurs at the end of the underlying pool." msgstr "在指定索引插入一條音訊流;若索引小於零,則插入至池末端。" #: doc/classes/AudioStreamRandomizer.xml msgid "Returns the stream at the specified index." msgstr "返回指定索引處的音訊流。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Returns the probability weight associated with the stream at the given index." msgstr "返回指定索引處音訊流的機率權重。" #: doc/classes/AudioStreamRandomizer.xml msgid "Move a stream from one index to another." msgstr "將音訊流從一個索引移動到另一個索引。" #: doc/classes/AudioStreamRandomizer.xml msgid "Remove the stream at the specified index." msgstr "移除指定索引處的音訊流。" #: doc/classes/AudioStreamRandomizer.xml msgid "Set the AudioStream at the specified index." msgstr "設定指定索引處的 AudioStream。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Set the probability weight of the stream at the specified index. The higher " "this value, the more likely that the randomizer will choose this stream " "during random playback modes." msgstr "設定指定索引處音訊流的機率權重。值越高,隨機播放模式就越容易選到此流。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Controls how this AudioStreamRandomizer picks which AudioStream to play next." msgstr "控制 AudioStreamRandomizer 決定下一條要播放的 AudioStream 的方式。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "The largest possible frequency multiplier of the random pitch variation. " "Pitch will be randomly chosen within a range of [code skip-lint]1.0 / " "random_pitch[/code] and [code skip-lint]random_pitch[/code]. A value of " "[code]1.0[/code] means no variation. A value of [code]2.0[/code] means pitch " "will be randomized between double and half.\n" "[b]Note:[/b] Setting this property also sets [member random_pitch_semitones]." msgstr "" #: doc/classes/AudioStreamRandomizer.xml msgid "" "The largest possible distance, in semitones, of the random pitch variation. " "A value of [code]0.0[/code] means no variation.\n" "[b]Note:[/b] Setting this property also sets [member random_pitch]." msgstr "" #: doc/classes/AudioStreamRandomizer.xml msgid "" "The intensity of random volume variation. Volume will be increased or " "decreased by a random value up to [code skip-lint]random_volume_offset_db[/" "code]. A value of [code]0.0[/code] means no variation. A value of [code]3.0[/" "code] means volume will be randomized between [code]-3.0 dB[/code] and [code]" "+3.0 dB[/code]." msgstr "" #: doc/classes/AudioStreamRandomizer.xml msgid "The number of streams in the stream pool." msgstr "流池中的音訊流數量。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Pick a stream at random according to the probability weights chosen for each " "stream, but avoid playing the same stream twice in a row whenever possible. " "If only 1 sound is present in the pool, the same sound will always play, " "effectively allowing repeats to occur." msgstr "" "依各流的權重隨機選擇,但盡量避免連續兩次播放同一條流。若池中僅有一條聲音,則" "必然重複播放。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Pick a stream at random according to the probability weights chosen for each " "stream. If only 1 sound is present in the pool, the same sound will always " "play." msgstr "依各流的權重隨機選擇流。若池中僅有一條聲音,則必然重複播放同一聲音。" #: doc/classes/AudioStreamRandomizer.xml msgid "" "Play streams in the order they appear in the stream pool. If only 1 sound is " "present in the pool, the same sound will always play." msgstr "依流池中的順序播放。若池中只剩一條聲音,則始終播放同一聲音。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "" "Stream that can be fitted with sub-streams, which will be played in-sync." msgstr "可裝載子串流並同步播放的串流。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "" "This is a stream that can be fitted with sub-streams, which will be played " "in-sync. The streams begin at exactly the same time when play is pressed, " "and will end when the last of them ends. If one of the sub-streams loops, " "then playback will continue." msgstr "" "這是一種可裝載子串流並同步播放的串流。當開始播放時,所有子串流會在同一時間點" "一併開始,並在最後一個子串流結束時停止。若其中任一子串流設定為循環,播放將持" "續進行。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "Get one of the synchronized streams, by index." msgstr "依索引取得其中一個同步串流。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "Get the volume of one of the synchronized streams, by index." msgstr "依索引取得其中一個同步串流的音量。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "Set one of the synchronized streams, by index." msgstr "依索引設定其中一個同步串流。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "Set the volume of one of the synchronized streams, by index." msgstr "依索引設定其中一個同步串流的音量。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "Set the total amount of streams that will be played back synchronized." msgstr "設定將被同步播放的串流總數量。" #: modules/interactive_music/doc_classes/AudioStreamSynchronized.xml msgid "Maximum amount of streams that can be synchronized." msgstr "可同步的最大串流數量。" #: doc/classes/AudioStreamWAV.xml msgid "Stores audio data loaded from WAV files." msgstr "儲存自 WAV 檔載入的音訊資料。" #: doc/classes/AudioStreamWAV.xml msgid "" "AudioStreamWAV stores sound samples loaded from WAV files. To play the " "stored sound, use an [AudioStreamPlayer] (for non-positional audio) or " "[AudioStreamPlayer2D]/[AudioStreamPlayer3D] (for positional audio). The " "sound can be looped.\n" "This class can also be used to store dynamically-generated PCM audio data. " "See also [AudioStreamGenerator] for procedural audio generation." msgstr "" "AudioStreamWAV 會儲存自 WAV 檔載入的聲音取樣。播放時可使用 " "[AudioStreamPlayer](非空間定位)或 [AudioStreamPlayer2D]/" "[AudioStreamPlayer3D](空間定位)。聲音可設定為循環播放。\n" "此類別亦可用於儲存動態產生的 PCM 音訊。程式化音訊請參閱 " "[AudioStreamGenerator]。" #: doc/classes/AudioStreamWAV.xml msgid "" "Creates a new [AudioStreamWAV] instance from the given buffer. The buffer " "must contain WAV data.\n" "The keys and values of [param options] match the properties of " "[ResourceImporterWAV]. The usage of [param options] is identical to [method " "AudioStreamWAV.load_from_file]." msgstr "" "從給定緩衝區建立新的 [AudioStreamWAV] 實例,緩衝區內容必須為 WAV 資料。\n" "[param options] 的鍵和值對應 [ResourceImporterWAV] 的屬性,其用法與 [method " "AudioStreamWAV.load_from_file] 相同。" #: doc/classes/AudioStreamWAV.xml msgid "" "Creates a new [AudioStreamWAV] instance from the given file path. The file " "must be in WAV format.\n" "The keys and values of [param options] match the properties of " "[ResourceImporterWAV].\n" "[b]Example:[/b] Load the first file dropped as a WAV and play it:\n" "[codeblock]\n" "@onready var audio_player = $AudioStreamPlayer\n" "\n" "func _ready():\n" "\tget_window().files_dropped.connect(_on_files_dropped)\n" "\n" "func _on_files_dropped(files):\n" "\tif files[0].get_extension() == \"wav\":\n" "\t\taudio_player.stream = AudioStreamWAV.load_from_file(files[0], {\n" "\t\t\t\t\"force/max_rate\": true,\n" "\t\t\t\t\"force/max_rate_hz\": 11025\n" "\t\t\t})\n" "\t\taudio_player.play()\n" "[/codeblock]" msgstr "" "從指定檔案路徑建立新的 [AudioStreamWAV] 實例,檔案必須為 WAV 格式。\n" "[param options] 的鍵和值對應 [ResourceImporterWAV] 的屬性。\n" "[b]範例:[/b] 將拖放的第一個檔案載入為 WAV 並播放:\n" "[codeblock]\n" "@onready var audio_player = $AudioStreamPlayer\n" "\n" "func _ready():\n" "\tget_window().files_dropped.connect(_on_files_dropped)\n" "\n" "func _on_files_dropped(files):\n" "\tif files[0].get_extension() == \"wav\":\n" "\t\taudio_player.stream = AudioStreamWAV.load_from_file(files[0], {\n" "\t\t\t\t\"force/max_rate\": true,\n" "\t\t\t\t\"force/max_rate_hz\": 11025\n" "\t\t\t})\n" "\t\taudio_player.play()\n" "[/codeblock]" #: doc/classes/AudioStreamWAV.xml msgid "" "Saves the AudioStreamWAV as a WAV file to [param path]. Samples with IMA " "ADPCM or Quite OK Audio formats can't be saved.\n" "[b]Note:[/b] A [code].wav[/code] extension is automatically appended to " "[param path] if it is missing." msgstr "" "將 AudioStreamWAV 另存為 WAV 檔至 [param path]。使用 IMA ADPCM 或 Quite OK " "Audio 的樣本無法保存。\n" "[b]注意:[/b] 若路徑缺少副檔名,系統會自動附加 [code].wav[/code]。" #: doc/classes/AudioStreamWAV.xml msgid "" "Contains the audio data in bytes.\n" "[b]Note:[/b] If [member format] is set to [constant FORMAT_8_BITS], this " "property expects signed 8-bit PCM data. To convert from unsigned 8-bit PCM, " "subtract 128 from each byte.\n" "[b]Note:[/b] If [member format] is set to [constant FORMAT_QOA], this " "property expects data from a full QOA file." msgstr "" "以位元組形式儲存音訊資料。\n" "[b]注意:[/b] 若 [member format] 為 [constant FORMAT_8_BITS],此屬性應為有號 " "8 位元 PCM;若來源為無號 8 位元 PCM,請對每個位元組減去 128。\n" "[b]注意:[/b] 若 [member format] 為 [constant FORMAT_QOA],此屬性需包含完整 " "QOA 檔的資料。" #: doc/classes/AudioStreamWAV.xml msgid "Audio format." msgstr "音訊格式。" #: doc/classes/AudioStreamWAV.xml msgid "" "The loop start point (in number of samples, relative to the beginning of the " "stream)." msgstr "迴圈起始點(樣本數,相對於串流開頭)。" #: doc/classes/AudioStreamWAV.xml msgid "" "The loop end point (in number of samples, relative to the beginning of the " "stream)." msgstr "迴圈結束點(樣本數,相對於串流開頭)。" #: doc/classes/AudioStreamWAV.xml msgid "The loop mode." msgstr "迴圈模式。" #: doc/classes/AudioStreamWAV.xml msgid "" "The sample rate for mixing this audio. Higher values require more storage " "space, but result in better quality.\n" "In games, common sample rates in use are [code]11025[/code], [code]16000[/" "code], [code]22050[/code], [code]32000[/code], [code]44100[/code], and " "[code]48000[/code].\n" "According to the [url=https://en.wikipedia.org/wiki/" "Nyquist%E2%80%93Shannon_sampling_theorem]Nyquist-Shannon sampling theorem[/" "url], there is no quality difference to human hearing when going past 40,000 " "Hz (since most humans can only hear up to ~20,000 Hz, often less). If you " "are using lower-pitched sounds such as voices, lower sample rates such as " "[code]32000[/code] or [code]22050[/code] may be usable with no loss in " "quality." msgstr "" "此音訊的混音取樣率。取樣率越高佔用空間越大,但品質也越好。\n" "遊戲常見的取樣率包括 [code]11025[/code]、[code]16000[/code]、[code]22050[/" "code]、[code]32000[/code]、[code]44100[/code] 與 [code]48000[/code]。\n" "依 [url=https://zh.wikipedia.org/wiki/奈奎斯特%E2%80%93香農取樣定理]奈奎斯特–" "香農取樣定理[/url],超過 40 kHz 對人耳無額外差異(大多數人只能聽到約 20 kHz " "或更低)。若為人聲等低頻音效,[code]32000[/code] 或 [code]22050[/code] 等較低" "取樣率即可不失真。" #: doc/classes/AudioStreamWAV.xml msgid "If [code]true[/code], audio is stereo." msgstr "若為 [code]true[/code],音訊為立體聲。" #: doc/classes/AudioStreamWAV.xml msgid "" "Contains user-defined tags if found in the WAV data.\n" "Commonly used tags include [code]title[/code], [code]artist[/code], " "[code]album[/code], [code]tracknumber[/code], and [code]date[/code] " "([code]date[/code] does not have a standard date format).\n" "[b]Note:[/b] No tag is [i]guaranteed[/i] to be present in every file, so " "make sure to account for the keys not always existing.\n" "[b]Note:[/b] Only WAV files using a [code]LIST[/code] chunk with an " "identifier of [code]INFO[/code] to encode the tags are currently supported." msgstr "" "如果 WAV 資料中含有自訂標籤,則會存於此屬性。\n" "常見標籤包含 [code]title[/code]、[code]artist[/code]、[code]album[/code]、" "[code]tracknumber[/code] 與 [code]date[/code]([code]date[/code] 無固定格" "式)。\n" "[b]注意:[/b] 不保證每個檔案都含有任何特定標籤,請先檢查鍵值是否存在。\n" "[b]注意:[/b] 目前僅支援使用 [code]LIST[/code] 區塊且識別碼為 [code]INFO[/" "code] 的 WAV 標籤。" #: doc/classes/AudioStreamWAV.xml msgid "8-bit PCM audio codec." msgstr "8 位元 PCM 音訊編碼。" #: doc/classes/AudioStreamWAV.xml msgid "16-bit PCM audio codec." msgstr "16 位元 PCM 音訊編碼。" #: doc/classes/AudioStreamWAV.xml msgid "Audio is lossily compressed as IMA ADPCM." msgstr "音訊以 IMA ADPCM 有損壓縮。" #: doc/classes/AudioStreamWAV.xml msgid "" "Audio is lossily compressed as [url=https://qoaformat.org/]Quite OK Audio[/" "url]." msgstr "音訊以 [url=https://qoaformat.org/]Quite OK Audio[/url] 有損壓縮。" #: doc/classes/AudioStreamWAV.xml msgid "Audio does not loop." msgstr "音訊不循環。" #: doc/classes/AudioStreamWAV.xml msgid "" "Audio loops the data between [member loop_begin] and [member loop_end], " "playing forward only." msgstr "音訊在 [member loop_begin] 與 [member loop_end] 之間循環,僅向前播放。" #: doc/classes/AudioStreamWAV.xml msgid "" "Audio loops the data between [member loop_begin] and [member loop_end], " "playing back and forth." msgstr "音訊在 [member loop_begin] 與 [member loop_end] 之間循環,來回播放。" #: doc/classes/AudioStreamWAV.xml msgid "" "Audio loops the data between [member loop_begin] and [member loop_end], " "playing backward only." msgstr "音訊在 [member loop_begin] 與 [member loop_end] 之間循環,僅向後播放。" #: doc/classes/BackBufferCopy.xml msgid "" "A node that copies a region of the screen to a buffer for access in shader " "code." msgstr "這個節點能夠將螢幕中的某個區域複製到緩衝中,方便著色器程式碼存取。" #: doc/classes/BackBufferCopy.xml msgid "" "Node for back-buffering the currently-displayed screen. The region defined " "in the [BackBufferCopy] node is buffered with the content of the screen it " "covers, or the entire screen according to the [member copy_mode]. It can be " "accessed in shader scripts using the screen texture (i.e. a uniform sampler " "with [code]hint_screen_texture[/code]).\n" "[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), " "anchors and margins won't apply to child [Control]-derived nodes. This can " "be problematic when resizing the window. To avoid this, add [Control]-" "derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of " "adding them as children." msgstr "" "用於對目前顯示畫面進行後緩衝的節點。會依據 [member copy_mode],將 " "[BackBufferCopy] 節點所設定的區域或整個螢幕內容複製到緩衝中。之後可於著色器腳" "本中透過螢幕紋理存取(亦即帶有 [code]hint_screen_texture[/code] 的 uniform 取" "樣器)。\n" "[b]注意:[/b]由於此節點繼承自 [Node2D](而非 [Control]),錨點與邊距不會套用" "到子系 [Control] 節點。視窗大小變更時可能因此產生問題。為避免此情形,請將 " "[Control] 衍生節點作為 [BackBufferCopy] 的[i]同層[/i]節點,而非子節點。" #: doc/classes/BackBufferCopy.xml msgid "Screen-reading shaders" msgstr "螢幕讀取著色器" #: doc/classes/BackBufferCopy.xml msgid "Buffer mode." msgstr "緩衝模式。" #: doc/classes/BackBufferCopy.xml msgid "" "The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is " "[constant COPY_MODE_RECT]." msgstr "" "此 [BackBufferCopy] 所覆蓋的區域。只有當 [member copy_mode] 為 [constant " "COPY_MODE_RECT] 時才會使用。" #: doc/classes/BackBufferCopy.xml msgid "" "Disables the buffering mode. This means the [BackBufferCopy] node will " "directly use the portion of screen it covers." msgstr "" "停用緩衝模式。這代表 [BackBufferCopy] 節點會直接使用它所覆蓋的螢幕區域。" #: doc/classes/BackBufferCopy.xml msgid "[BackBufferCopy] buffers a rectangular region." msgstr "[BackBufferCopy] 會緩衝一個矩形區域。" #: doc/classes/BackBufferCopy.xml msgid "[BackBufferCopy] buffers the entire screen." msgstr "[BackBufferCopy] 會緩衝整個螢幕。" #: doc/classes/BaseButton.xml msgid "Abstract base class for GUI buttons." msgstr "GUI 按鈕的抽象基底類別。" #: doc/classes/BaseButton.xml msgid "" "[BaseButton] is an abstract base class for GUI buttons. It doesn't display " "anything by itself." msgstr "[BaseButton] 是 GUI 按鈕的抽象基底類別,本身不會顯示任何內容。" #: doc/classes/BaseButton.xml msgid "" "Called when the button is pressed. If you need to know the button's pressed " "state (and [member toggle_mode] is active), use [method _toggled] instead." msgstr "" "當按下按鈕時呼叫。如果你需要得知按鈕的按下狀態(且已啟用 [member " "toggle_mode]),請改用 [method _toggled]。" #: doc/classes/BaseButton.xml msgid "" "Called when the button is toggled (only if [member toggle_mode] is active)." msgstr "當按鈕被切換時呼叫(僅在 [member toggle_mode] 啟用時)。" #: doc/classes/BaseButton.xml msgid "" "Returns the visual state used to draw the button. This is useful mainly when " "implementing your own draw code by either overriding _draw() or connecting " "to \"draw\" signal. The visual state of the button is defined by the [enum " "DrawMode] enum." msgstr "" "傳回用於繪製按鈕的視覺狀態。通常於覆寫 _draw() 或連接「draw」訊號,實作自訂繪" "製程式碼時使用。按鈕的視覺狀態由 [enum DrawMode] 列舉定義。" #: doc/classes/BaseButton.xml msgid "" "Returns [code]true[/code] if the mouse has entered the button and has not " "left it yet." msgstr "若滑鼠已進入按鈕且尚未離開,則返回 [code]true[/code]。" #: doc/classes/BaseButton.xml msgid "" "Changes the [member button_pressed] state of the button, without emitting " "[signal toggled]. Use when you just want to change the state of the button " "without sending the pressed event (e.g. when initializing scene). Only works " "if [member toggle_mode] is [code]true[/code].\n" "[b]Note:[/b] This method doesn't unpress other buttons in [member " "button_group]." msgstr "" "變更按鈕的 [member button_pressed] 狀態而不觸發 [signal toggled]。當你只想改" "變狀態而不送出按下事件(例如在初始化場景時)可使用此方法。僅在 [member " "toggle_mode] 為 [code]true[/code] 時有效。\n" "[b]注意:[/b] 這個方法不會將 [member button_group] 內的其他按鈕彈起。" #: doc/classes/BaseButton.xml msgid "Determines when the button is considered clicked." msgstr "決定按鈕被視為已點擊的時機。" #: doc/classes/BaseButton.xml msgid "" "The [ButtonGroup] associated with the button. Not to be confused with node " "groups.\n" "[b]Note:[/b] The button will be configured as a radio button if a " "[ButtonGroup] is assigned to it." msgstr "" "與此按鈕關聯的 [ButtonGroup],不要與「節點群組」混淆。\n" "[b]注意:[/b] 如果為按鈕指定了 [ButtonGroup],它將被設定為單選按鈕。" #: doc/classes/BaseButton.xml msgid "" "Binary mask to choose which mouse buttons this button will respond to.\n" "To allow both left-click and right-click, use [code]MOUSE_BUTTON_MASK_LEFT | " "MOUSE_BUTTON_MASK_RIGHT[/code]." msgstr "" "二進位遮罩,用來指定此按鈕要回應哪些滑鼠鍵。\n" "若要同時允許左鍵與右鍵點擊,請使用 [code]MOUSE_BUTTON_MASK_LEFT | " "MOUSE_BUTTON_MASK_RIGHT[/code]。" #: doc/classes/BaseButton.xml msgid "" "If [code]true[/code], the button's state is pressed. Means the button is " "pressed down or toggled (if [member toggle_mode] is active). Only works if " "[member toggle_mode] is [code]true[/code].\n" "[b]Note:[/b] Changing the value of [member button_pressed] will result in " "[signal toggled] to be emitted. If you want to change the pressed state " "without emitting that signal, use [method set_pressed_no_signal]." msgstr "" "若為 [code]true[/code],表示按鈕處於按下狀態,或在 [member toggle_mode] 啟用" "時處於切換狀態。僅在 [member toggle_mode] 為 [code]true[/code] 時有效。\n" "[b]注意:[/b] 直接修改 [member button_pressed] 會觸發 [signal toggled]。若要" "在不發出該訊號的情況下改變狀態,請使用 [method set_pressed_no_signal]。" #: doc/classes/BaseButton.xml #, fuzzy msgid "" "If [code]true[/code], the button is in disabled state and can't be clicked " "or toggled.\n" "[b]Note:[/b] If the button is disabled while held down, [signal button_up] " "will be emitted." msgstr "若為 [code]true[/code],按鈕會被停用,無法點擊或切換。" #: doc/classes/BaseButton.xml msgid "" "If [code]true[/code], the button stays pressed when moving the cursor " "outside the button while pressing it.\n" "[b]Note:[/b] This property only affects the button's visual appearance. " "Signals will be emitted at the same moment regardless of this property's " "value." msgstr "" "若為 [code]true[/code],按下按鈕後即使將游標移出按鈕區域,按鈕仍保持按下狀" "態。\n" "[b]注意:[/b] 此屬性僅影響視覺效果,訊號的觸發時機不受其影響。" #: doc/classes/BaseButton.xml msgid "[Shortcut] associated to the button." msgstr "與此按鈕關聯的 [Shortcut]。" #: doc/classes/BaseButton.xml msgid "" "If [code]true[/code], the button will highlight for a short amount of time " "when its shortcut is activated. If [code]false[/code] and [member " "toggle_mode] is [code]false[/code], the shortcut will activate without any " "visual feedback." msgstr "" "若為 [code]true[/code],當其快捷鍵被觸發時,按鈕會短暫反白。若為 " "[code]false[/code] 且 [member toggle_mode] 為 [code]false[/code],快捷鍵將在" "無視覺回饋下觸發。" #: doc/classes/BaseButton.xml msgid "" "If [code]true[/code], the button will add information about its shortcut in " "the tooltip.\n" "[b]Note:[/b] This property does nothing when the tooltip control is " "customized using [method Control._make_custom_tooltip]." msgstr "" "若為 [code]true[/code],工具提示會自動附加此按鈕的快捷鍵資訊。\n" "[b]注意:[/b] 若透過 [method Control._make_custom_tooltip] 自訂了工具提示,此" "屬性將不會生效。" #: doc/classes/BaseButton.xml msgid "" "If [code]true[/code], the button is in toggle mode. Makes the button flip " "state between pressed and unpressed each time its area is clicked." msgstr "" "若為 [code]true[/code],按鈕進入切換模式:每次點擊都會在按下/彈起狀態間切" "換。" #: doc/classes/BaseButton.xml msgid "Emitted when the button starts being held down." msgstr "當開始按住按鈕時發出。" #: doc/classes/BaseButton.xml msgid "Emitted when the button stops being held down." msgstr "當停止按住按鈕時發出。" #: doc/classes/BaseButton.xml msgid "" "Emitted when the button is toggled or pressed. This is on [signal " "button_down] if [member action_mode] is [constant ACTION_MODE_BUTTON_PRESS] " "and on [signal button_up] otherwise.\n" "If you need to know the button's pressed state (and [member toggle_mode] is " "active), use [signal toggled] instead." msgstr "" "當按鈕被切換或按下時發出。若 [member action_mode] 為 [constant " "ACTION_MODE_BUTTON_PRESS],則在 [signal button_down] 觸發;否則在 [signal " "button_up] 觸發。\n" "若需知道按鈕目前的按下狀態(且已啟用 [member toggle_mode]),請改用 [signal " "toggled]。" #: doc/classes/BaseButton.xml msgid "" "Emitted when the button was just toggled between pressed and normal states " "(only if [member toggle_mode] is active). The new state is contained in the " "[param toggled_on] argument." msgstr "" "當按鈕於按下與正常狀態間剛完成切換時發出(僅在 [member toggle_mode] 啟用" "時)。新狀態會包含於參數 [param toggled_on] 中。" #: doc/classes/BaseButton.xml msgid "" "The normal state (i.e. not pressed, not hovered, not toggled and enabled) of " "buttons." msgstr "按鈕的正常狀態(未按下、未懸停、未切換且已啟用)。" #: doc/classes/BaseButton.xml msgid "The state of buttons are pressed." msgstr "按鈕被按下的狀態。" #: doc/classes/BaseButton.xml msgid "The state of buttons are hovered." msgstr "按鈕處於滑鼠懸停的狀態。" #: doc/classes/BaseButton.xml msgid "The state of buttons are disabled." msgstr "按鈕處於停用狀態。" #: doc/classes/BaseButton.xml msgid "The state of buttons are both hovered and pressed." msgstr "按鈕同時處於懸停且按下的狀態。" #: doc/classes/BaseButton.xml msgid "Require just a press to consider the button clicked." msgstr "只需按下即可視為已點擊。" #: doc/classes/BaseButton.xml msgid "" "Require a press and a subsequent release before considering the button " "clicked." msgstr "需按下後再釋放才算一次點擊。" #: doc/classes/BaseMaterial3D.xml msgid "Abstract base class for defining the 3D rendering properties of meshes." msgstr "用於定義網格 3D 算繪屬性的抽象基底類別。" #: doc/classes/BaseMaterial3D.xml msgid "" "This class serves as a default material with a wide variety of rendering " "features and properties without the need to write shader code. See the " "tutorial below for details." msgstr "" "此類別提供一個預設材質,具備多種算繪功能與屬性,無須撰寫著色器程式。詳情請見" "下方教學。" #: doc/classes/BaseMaterial3D.xml doc/classes/ORMMaterial3D.xml #: doc/classes/StandardMaterial3D.xml msgid "Standard Material 3D and ORM Material 3D" msgstr "標準 3D 材質與 ORM 3D 材質" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "Returns [code]true[/code] if the specified [param feature] is enabled." msgstr "如果指定的 [param region] 處於暫停狀態,則返回 [code]true[/code]。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "Returns [code]true[/code] if the specified [param flag] is enabled." msgstr "如果指定的 [param link] 處於暫停狀態,則返回 [code]true[/code]。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "Returns the [Texture2D] associated with the specified texture [param param]." msgstr "返回與指定 [enum TextureParam] 關聯的 [Texture2D]。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "If [param enable] is [code]true[/code], enables the specified [param " "feature]. Many features that are available in [BaseMaterial3D] need to be " "enabled before use. This way, the cost for using the feature is only " "incurred when specified. Features can also be enabled by setting their " "corresponding property to [code]true[/code]." msgstr "" "若為 [code]true[/code],啟用指定的 [enum Feature]。[BaseMaterial3D] 中的許多" "功能必須先啟用才能使用,藉此僅在需要時才付出效能成本。亦可透過將對應屬性設為 " "[code]true[/code] 來啟用。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "If [param enable] is [code]true[/code], enables the specified [param flag]. " "Flags are optional behavior that can be turned on and off. Only one flag can " "be enabled at a time with this function, the flag enumerators cannot be bit-" "masked together to enable or disable multiple flags at once. Flags can also " "be enabled by setting their corresponding property to [code]true[/code]." msgstr "" "若為 [code]true[/code],啟用指定旗標。旗標屬於可開關的可選行為;此方法一次只" "能修改一個旗標,列舉值不能組合成位元遮罩一次啟用或停用多個旗標。亦可透過將對" "應屬性設為 [code]true[/code] 來啟用。" #: doc/classes/BaseMaterial3D.xml msgid "Sets the texture for the slot specified by [param param]." msgstr "為由 [param param] 指定的槽位設定紋理。" #: doc/classes/BaseMaterial3D.xml msgid "" "The material's base color.\n" "[b]Note:[/b] If [member detail_enabled] is [code]true[/code] and a [member " "detail_albedo] texture is specified, [member albedo_color] will [i]not[/i] " "modulate the detail texture. This can be used to color partial areas of a " "material by not specifying an albedo texture and using a transparent [member " "detail_albedo] texture instead." msgstr "" "材質的基礎顏色。\n" "[b]注意:[/b] 若 [member detail_enabled] 為 [code]true[/code] 且已設定 " "[member detail_albedo] 紋理,則 [member albedo_color] 將 [i]不會[/i] 調變該細" "節紋理。此技巧可透過不設定反照率紋理、改用帶透明度的 [member detail_albedo] " "來僅為材質部分區域上色。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture to multiply by [member albedo_color]. Used for basic texturing of " "objects.\n" "If the texture appears unexpectedly too dark or too bright, check [member " "albedo_texture_force_srgb]." msgstr "" "會與 [member albedo_color] 相乘的紋理,用於物件的基本貼圖。\n" "若紋理顯得異常過暗或過亮,請檢查 [member albedo_texture_force_srgb] 設定。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "If [code]true[/code], forces a conversion of the [member albedo_texture] " "from nonlinear sRGB encoding to linear encoding. See also [member " "vertex_color_is_srgb].\n" "This should only be enabled when needed (typically when using a " "[ViewportTexture] as [member albedo_texture]). If [member " "albedo_texture_force_srgb] is [code]true[/code] when it shouldn't be, the " "texture will appear to be too dark. If [member albedo_texture_force_srgb] is " "[code]false[/code] when it shouldn't be, the texture will appear to be too " "bright." msgstr "" "若為 [code]true[/code],強制將 [member albedo_texture] 從 sRGB 色域轉換為線性" "色域。另見 [member vertex_color_is_srgb]。\n" "此選項僅在必要時啟用(通常於將 [ViewportTexture] 用作 [member " "albedo_texture] 時)。若不該開啟卻開啟,紋理會顯得過暗;反之亦然則會顯得過" "亮。" #: doc/classes/BaseMaterial3D.xml msgid "" "Enables multichannel signed distance field rendering shader. Use [member " "msdf_pixel_range] and [member msdf_outline_size] to configure MSDF " "parameters." msgstr "" "啟用多通道 Signed Distance Field 算繪著色器。可透過 [member " "msdf_pixel_range] 與 [member msdf_outline_size] 調整 MSDF 參數。" #: doc/classes/BaseMaterial3D.xml doc/classes/Label3D.xml #: doc/classes/SpriteBase3D.xml msgid "Threshold at which antialiasing will be applied on the alpha channel." msgstr "在 Alpha 通道上套用抗鋸齒的臨界值。" #: doc/classes/BaseMaterial3D.xml doc/classes/Label3D.xml #: doc/classes/SpriteBase3D.xml msgid "The type of alpha antialiasing to apply." msgstr "要套用的 Alpha 抗鋸齒類型。" #: doc/classes/BaseMaterial3D.xml doc/classes/Label3D.xml #: doc/classes/SpriteBase3D.xml msgid "" "The hashing scale for Alpha Hash. Recommended values between [code]0[/code] " "and [code]2[/code]." msgstr "" "Alpha Hash 的雜湊比例,建議值介於 [code]0[/code] 與 [code]2[/code] 之間。" #: doc/classes/BaseMaterial3D.xml msgid "" "Threshold at which the alpha scissor will discard values. Higher values will " "result in more pixels being discarded. If the material becomes too opaque at " "a distance, try increasing [member alpha_scissor_threshold]. If the material " "disappears at a distance, try decreasing [member alpha_scissor_threshold]." msgstr "" "Alpha Scissor 剪裁丟棄像素的臨界值;值越高會丟棄越多像素。若遠處材質顯得過於" "不透明,嘗試調高 [member alpha_scissor_threshold];若遠處材質消失,嘗試調低此" "值。" #: doc/classes/BaseMaterial3D.xml msgid "" "The strength of the anisotropy effect. This is multiplied by [member " "anisotropy_flowmap]'s alpha channel if a texture is defined there and the " "texture contains an alpha channel." msgstr "" "各向異性效果的強度。若 [member anisotropy_flowmap] 為含 Alpha 的紋理,則會與" "其 Alpha 通道相乘。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], anisotropy is enabled. Anisotropy changes the shape of " "the specular blob and aligns it to tangent space. This is useful for brushed " "aluminum and hair reflections.\n" "[b]Note:[/b] Mesh tangents are needed for anisotropy to work. If the mesh " "does not contain tangents, the anisotropy effect will appear broken.\n" "[b]Note:[/b] Material anisotropy should not to be confused with anisotropic " "texture filtering, which can be enabled by setting [member texture_filter] " "to [constant TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC]." msgstr "" "若為 [code]true[/code],啟用各向異性。各向異性會改變鏡面高光形狀並依切線空間" "對齊,適合用於拉絲金屬或頭髮反射。\n" "[b]注意:[/b] 網格必須包含切線資料,否則效果會破碎。\n" "[b]注意:[/b] 此處的各向異性與「各向異性紋理過濾」不同,後者可將 [member " "texture_filter] 設為 [constant " "TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC] 來啟用。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture that offsets the tangent map for anisotropy calculations and " "optionally controls the anisotropy effect (if an alpha channel is present). " "The flowmap texture is expected to be a derivative map, with the red channel " "representing distortion on the X axis and green channel representing " "distortion on the Y axis. Values below 0.5 will result in negative " "distortion, whereas values above 0.5 will result in positive distortion.\n" "If present, the texture's alpha channel will be used to multiply the " "strength of the [member anisotropy] effect. Fully opaque pixels will keep " "the anisotropy effect's original strength while fully transparent pixels " "will disable the anisotropy effect entirely. The flowmap texture's blue " "channel is ignored." msgstr "" "用於在各向異性計算中偏移切線,並可(透過 Alpha 通道)控制效果強度的方向圖。此" "紋理應為導數圖:紅通道代表 X 軸扭曲,綠通道代表 Y 軸扭曲;值低於 0.5 為負向扭" "曲,高於 0.5 為正向扭曲。\n" "若存在 Alpha 通道,會與 [member anisotropy] 強度相乘:完全不透明保留原始強" "度,完全透明則完全關閉各向異性。藍通道會被忽略。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], ambient occlusion is enabled. Ambient occlusion " "darkens areas based on the [member ao_texture]." msgstr "" "若為 [code]true[/code],啟用環境遮蔽,會依 [member ao_texture] 使區域變暗。" #: doc/classes/BaseMaterial3D.xml msgid "" "Amount that ambient occlusion affects lighting from lights. If [code]0[/" "code], ambient occlusion only affects ambient light. If [code]1[/code], " "ambient occlusion affects lights just as much as it affects ambient light. " "This can be used to impact the strength of the ambient occlusion effect, but " "typically looks unrealistic." msgstr "" "環境遮蔽對動態光源亮度的影響比例。為 [code]0[/code] 時僅影響環境光;為 " "[code]1[/code] 時對動態光源與環境光影響相同。雖可藉此加強 AO 效果,但通常會降" "低真實感。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], use [code]UV2[/code] coordinates to look up from the " "[member ao_texture]." msgstr "" "若為 [code]true[/code],使用 [code]UV2[/code] 座標讀取 [member ao_texture]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture that defines the amount of ambient occlusion for a given point on " "the object." msgstr "定義物體各處環境遮蔽量的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "" "Specifies the channel of the [member ao_texture] in which the ambient " "occlusion information is stored. This is useful when you store the " "information for multiple effects in a single texture. For example if you " "stored metallic in the red channel, roughness in the blue, and ambient " "occlusion in the green you could reduce the number of textures you use." msgstr "" "指定 [member ao_texture] 中存放環境遮蔽資訊的色彩通道。當多種效果資訊共用同一" "張紋理時相當實用;例如將金屬度放紅通道、粗糙度放藍通道、把 AO 放綠通道,藉此" "減少紋理數量。" #: doc/classes/BaseMaterial3D.xml msgid "" "The color used by the backlight effect. Represents the light passing through " "an object." msgstr "背光效果使用的顏色,代表穿透物體的光線色彩。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the backlight effect is enabled. See also [member " "subsurf_scatter_transmittance_enabled]." msgstr "" "若為 [code]true[/code],啟用背光效果。另見 [member " "subsurf_scatter_transmittance_enabled]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture used to control the backlight effect per-pixel. Added to [member " "backlight]." msgstr "逐像素控制背光量的紋理,最終會與 [member backlight] 值相加。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the bent normal map is enabled. This allows for more " "accurate indirect lighting and specular occlusion." msgstr "" "若為 [code]true[/code],啟用彎曲法線貼圖,可獲得更精確的間接光與鏡面遮蔽。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture that specifies the average direction of incoming ambient light at a " "given pixel. The [member bent_normal_texture] only uses the red and green " "channels; the blue and alpha channels are ignored. The normal read from " "[member bent_normal_texture] is oriented around the surface normal provided " "by the [Mesh].\n" "[b]Note:[/b] A bent normal map is different from a regular normal map. When " "baking a bent normal map make sure to use [b]a cosine distribution[/b] for " "the bent normal map to work correctly.\n" "[b]Note:[/b] The mesh must have both normals and tangents defined in its " "vertex data. Otherwise, the shading produced by the bent normal map will not " "look correct. If creating geometry with [SurfaceTool], you can use [method " "SurfaceTool.generate_normals] and [method SurfaceTool.generate_tangents] to " "automatically generate normals and tangents respectively.\n" "[b]Note:[/b] Godot expects the bent normal map to use X+, Y+, and Z+ " "coordinates. See [url=http://wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " "a comparison of normal map coordinates expected by popular engines." msgstr "" "指定各像素環境光平均入射方向的紋理。[member bent_normal_texture] 僅使用紅、綠" "通道;藍與 Alpha 通道會被忽略。讀取到的法線方向會以網格的表面法線為基準旋" "轉。\n" "[b]注意:[/b] 彎曲法線貼圖與一般法線貼圖不同,烘焙時需使用 [b]餘弦分布[/b] 才" "能正確運作。\n" "[b]注意:[/b] 網格需同時具備法線與切線資料,否則算繪結果將異常。若使用 " "[SurfaceTool] 建立幾何,可透過 [method SurfaceTool.generate_normals] 與 " "[method SurfaceTool.generate_tangents] 自動產生。\n" "[b]注意:[/b] Godot 期望貼圖採用 X+、Y+、Z+ 座標系,詳見 [url=http://" "wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]此頁[/url] 了解各引擎" "差異。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the shader will keep the scale set for the mesh. " "Otherwise, the scale is lost when billboarding. Only applies when [member " "billboard_mode] is not [constant BILLBOARD_DISABLED]." msgstr "" "若為 [code]true[/code],公告板算繪時仍保留網格原有縮放;否則縮放會被忽略。僅" "於 [member billboard_mode] 非 [constant BILLBOARD_DISABLED] 時適用。" #: doc/classes/BaseMaterial3D.xml msgid "" "Controls how the object faces the camera.\n" "[b]Note:[/b] Billboard mode is not suitable for VR because the left-right " "vector of the camera is not horizontal when the screen is attached to your " "head instead of on the table. See [url=https://github.com/godotengine/godot/" "issues/41567]GitHub issue #41567[/url] for details." msgstr "" "控制物件面向相機的方式。\n" "[b]注意:[/b] 公告板模式不適用於 VR,因為頭戴裝置時相機的左右向量並非水平。詳" "情見 [url=https://github.com/godotengine/godot/issues/41567]GitHub Issue " "#41567[/url]。" #: doc/classes/BaseMaterial3D.xml msgid "" "The material's blend mode.\n" "[b]Note:[/b] Values other than [code]Mix[/code] force the object into the " "transparent pipeline." msgstr "" "材質的混合模式。\n" "[b]注意:[/b] 除 [code]Mix[/code] 以外的模式都會將物件強制進入透明算繪流程。" #: doc/classes/BaseMaterial3D.xml msgid "" "Sets the strength of the clearcoat effect. Setting to [code]0[/code] looks " "the same as disabling the clearcoat effect." msgstr "設定清漆層的強度;設為 [code]0[/code] 等同停用清漆效果。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], clearcoat rendering is enabled. Adds a secondary " "transparent pass to the lighting calculation resulting in an added specular " "blob. This makes materials appear as if they have a clear layer on them that " "can be either glossy or rough.\n" "[b]Note:[/b] Clearcoat rendering is not visible if the material's [member " "shading_mode] is [constant SHADING_MODE_UNSHADED]." msgstr "" "若為 [code]true[/code],啟用清漆算繪,於照明中加入透明次通道產生額外高光,使" "材質看起來像有一層光滑或霧面的透明塗層。\n" "[b]注意:[/b] 若材質的 [member shading_mode] 為 [constant " "SHADING_MODE_UNSHADED],則不會顯示清漆效果。" #: doc/classes/BaseMaterial3D.xml msgid "" "Sets the roughness of the clearcoat pass. A higher value results in a " "rougher clearcoat while a lower value results in a smoother clearcoat." msgstr "設定清漆層的粗糙度;值越高越霧面,越低越光滑。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture that defines the strength of the clearcoat effect and the glossiness " "of the clearcoat. Strength is specified in the red channel while glossiness " "is specified in the green channel." msgstr "定義清漆強度與光澤度的紋理;紅通道為強度,綠通道為光澤度。" #: doc/classes/BaseMaterial3D.xml msgid "" "Determines which side of the triangle to cull depending on whether the " "triangle faces towards or away from the camera." msgstr "決定要依三角形面向相機與否來剔除哪一側。" #: doc/classes/BaseMaterial3D.xml msgid "" "Determines when depth rendering takes place. See also [member transparency]." msgstr "決定何時進行深度寫入,另見 [member transparency]。" #: doc/classes/BaseMaterial3D.xml msgid "May be affected by future rendering pipeline changes." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Determines which comparison operator is used when testing depth.\n" "[b]Note:[/b] Changing [member depth_test] to a non-default value only has a " "visible effect when used on a transparent material, or a material that has " "[member depth_draw_mode] set to [constant DEPTH_DRAW_DISABLED]." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture that specifies the color of the detail overlay. [member " "detail_albedo]'s alpha channel is used as a mask, even when the material is " "opaque. To use a dedicated texture as a mask, see [member detail_mask].\n" "[b]Note:[/b] [member detail_albedo] is [i]not[/i] modulated by [member " "albedo_color]." msgstr "" "指定細節覆蓋層顏色的紋理。即使材質為不透明,[member detail_albedo] 的 Alpha " "通道仍作為遮罩;若需使用獨立紋理當遮罩,請參考 [member detail_mask]。\n" "[b]注意:[/b] [member detail_albedo] [i]不會[/i] 受到 [member albedo_color] " "影響。" #: doc/classes/BaseMaterial3D.xml msgid "" "Specifies how the [member detail_albedo] should blend with the current " "[code]ALBEDO[/code]." msgstr "指定 [member detail_albedo] 與現有 [code]ALBEDO[/code] 的混合方式。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], enables the detail overlay. Detail is a second texture " "that gets mixed over the surface of the object based on [member detail_mask] " "and [member detail_albedo]'s alpha channel. This can be used to add " "variation to objects, or to blend between two different albedo/normal " "textures." msgstr "" "若為 [code]true[/code],啟用細節覆蓋。系統會依 [member detail_mask] 與 " "[member detail_albedo] Alpha 通道,在物件表面混合第二張紋理,可用於增加變化或" "在兩組反照率/法線間平滑過渡。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture used to specify how the detail textures get blended with the base " "textures. [member detail_mask] can be used together with [member " "detail_albedo]'s alpha channel (if any)." msgstr "" "指定細節紋理與基礎紋理混合方式的紋理。[member detail_mask] 可與 [member " "detail_albedo] 的 Alpha 通道一併使用。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture that specifies the per-pixel normal of the detail overlay. The " "[member detail_normal] texture only uses the red and green channels; the " "blue and alpha channels are ignored. The normal read from [member " "detail_normal] is oriented around the surface normal provided by the " "[Mesh].\n" "[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. " "See [url=http://wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " "a comparison of normal map coordinates expected by popular engines." msgstr "" "指定細節覆蓋逐像素法線的紋理。[member detail_normal] 僅使用紅、綠通道;藍與 " "Alpha 通道會被忽略。讀取到的法線方向會以網格表面法線為基準旋轉。\n" "[b]注意:[/b] Godot 期望使用 X+、Y+、Z+ 座標系,可參考 [url=http://" "wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]此頁[/url] 了解各引擎" "差異。" #: doc/classes/BaseMaterial3D.xml msgid "" "Specifies whether to use [code]UV[/code] or [code]UV2[/code] for the detail " "layer." msgstr "指定細節層使用 [code]UV[/code] 或 [code]UV2[/code]。" #: doc/classes/BaseMaterial3D.xml msgid "The algorithm used for diffuse light scattering." msgstr "用於漫反射光散射的演算法。" #: doc/classes/BaseMaterial3D.xml msgid "If [code]true[/code], the object receives no ambient light." msgstr "若為 [code]true[/code],物件將不受環境光影響。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the object will not be affected by fog (neither " "volumetric nor depth fog). This is useful for unshaded or transparent " "materials (e.g. particles), which without this setting will be affected even " "if fully transparent." msgstr "" "若為 [code]true[/code],物件不受任何霧效(體積霧或深度霧)影響。對於無陰影或" "全透明材質(例如粒子)特別實用,否則即便完全透明仍會被霧影響。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the object receives no shadow that would otherwise be " "cast onto it." msgstr "若為 [code]true[/code],物件不會接收落在其上的陰影。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], disables specular occlusion even if [member " "ProjectSettings.rendering/reflections/specular_occlusion/enabled] is " "[code]false[/code]." msgstr "" "若為 [code]true[/code],即使全域設定已停用,也依然關閉此材質的鏡面遮蔽。" #: doc/classes/BaseMaterial3D.xml msgid "" "Distance at which the object appears fully opaque.\n" "[b]Note:[/b] If [member distance_fade_max_distance] is less than [member " "distance_fade_min_distance], the behavior will be reversed. The object will " "start to fade away at [member distance_fade_max_distance] and will fully " "disappear once it reaches [member distance_fade_min_distance]." msgstr "" "物件呈現完全不透明時的距離。\n" "[b]注意:[/b] 若 [member distance_fade_max_distance] 小於 [member " "distance_fade_min_distance],行為將反轉:物件會在 max_distance 開始淡出,並於" "到達 min_distance 時完全消失。" #: doc/classes/BaseMaterial3D.xml msgid "" "Distance at which the object starts to become visible. If the object is less " "than this distance away, it will be invisible.\n" "[b]Note:[/b] If [member distance_fade_min_distance] is greater than [member " "distance_fade_max_distance], the behavior will be reversed. The object will " "start to fade away at [member distance_fade_max_distance] and will fully " "disappear once it reaches [member distance_fade_min_distance]." msgstr "" "物件開始變得可見的距離;若距離小於此值,物件將不可見。\n" "[b]注意:[/b] 若 min_distance 大於 max_distance,行為將反轉:物件會在 " "max_distance 開始淡出,並於到達 min_distance 時完全消失。" #: doc/classes/BaseMaterial3D.xml msgid "" "Specifies which type of fade to use. Can be any of the [enum " "DistanceFadeMode]s." msgstr "指定淡入淡出的類型,可為任何 [enum DistanceFadeMode] 值。" #: doc/classes/BaseMaterial3D.xml msgid "The emitted light's color. See [member emission_enabled]." msgstr "發光色彩,詳見 [member emission_enabled]。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the body emits light. Emitting light makes the object " "appear brighter. The object can also cast light on other objects if a " "[VoxelGI], SDFGI, or [LightmapGI] is used and this object is used in baked " "lighting." msgstr "" "若為 [code]true[/code],物件會自體發光,使其看起來更明亮。若場景使用 " "[VoxelGI]、SDFGI 或 [LightmapGI] 且此物件參與光照烘焙,發出的光也會影響其他物" "件。" #: doc/classes/BaseMaterial3D.xml msgid "Multiplier for emitted light. See [member emission_enabled]." msgstr "發光亮度倍率,詳見 [member emission_enabled]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Luminance of emitted light, measured in nits (candela per square meter). " "Only available when [member ProjectSettings.rendering/lights_and_shadows/" "use_physical_light_units] is enabled. The default is roughly equivalent to " "an indoor lightbulb." msgstr "" "發光亮度(nits,cd/m²)。僅在 [member ProjectSettings.rendering/" "lights_and_shadows/use_physical_light_units] 啟用時可用;預設值約等同室內燈" "泡。" #: doc/classes/BaseMaterial3D.xml msgid "Use [code]UV2[/code] to read from the [member emission_texture]." msgstr "使用 [code]UV2[/code] 座標讀取 [member emission_texture]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Sets how [member emission] interacts with [member emission_texture]. Can " "either add or multiply." msgstr "" "設定 [member emission] 與 [member emission_texture] 的組合方式,為加法或乘" "法。" #: doc/classes/BaseMaterial3D.xml msgid "Texture that specifies how much surface emits light at a given point." msgstr "指定各像素發光強度的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the object is rendered at the same size regardless of " "distance. The object's size on screen is the same as if the camera was " "[code]1.0[/code] units away from the object's origin, regardless of the " "actual distance from the camera. The [Camera3D]'s field of view (or [member " "Camera3D.size] when in orthogonal/frustum mode) still affects the size the " "object is drawn at." msgstr "" "若為 [code]true[/code],無論與相機距離多遠,物件都以固定大小呈現;效果相當於" "相機永遠距離物件 1.0 單位。但 [Camera3D] 的視野角(或正交/斜投模式下的 " "[member Camera3D.size])仍會影響螢幕大小。" #: doc/classes/BaseMaterial3D.xml msgid "" "Overrides the [Camera3D]'s field of view angle (in degrees).\n" "[b]Note:[/b] This behaves as if the field of view is set on a [Camera3D] " "with [member Camera3D.keep_aspect] set to [constant Camera3D.KEEP_HEIGHT]. " "Additionally, it may not look correct on a non-perspective camera where the " "field of view setting is ignored." msgstr "" "覆寫 [Camera3D] 的視野角度(度)。\n" "[b]注意:[/b] 行為類似於於一台 [member Camera3D.keep_aspect] 設為 [constant " "Camera3D.KEEP_HEIGHT] 的相機上設定 FOV。若使用非透視相機(FOV 無效)可能無法" "正確顯示。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], enables the vertex grow setting. This can be used to " "create mesh-based outlines using a second material pass and its [member " "cull_mode] set to [constant CULL_FRONT]. See also [member grow_amount].\n" "[b]Note:[/b] Vertex growth cannot create new vertices, which means that " "visible gaps may occur in sharp corners. This can be alleviated by designing " "the mesh to use smooth normals exclusively using [url=http://" "wiki.polycount.com/wiki/Face_weighted_normals]face weighted normals[/url] in " "the 3D authoring software. In this case, grow will be able to join every " "outline together, just like in the original mesh." msgstr "" "若為 [code]true[/code],啟用頂點擴張,可配合第二個材質分段並將 [member " "cull_mode] 設為 [constant CULL_FRONT] 來產生網格外框。另見 [member " "grow_amount]。\n" "[b]注意:[/b] 擴張不會新增頂點,銳角處可能出現縫隙。可於 DCC 軟體使用 " "[url=http://wiki.polycount.com/wiki/Face_weighted_normals]面權重法線[/url] 並" "保持光滑法線以減少破口,讓擴張後的外框能完整閉合。" #: doc/classes/BaseMaterial3D.xml msgid "" "Grows object vertices in the direction of their normals. Only effective if " "[member grow] is [code]true[/code]." msgstr "" "沿頂點法線方向擴張網格;僅當 [member grow] 為 [code]true[/code] 時有效。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], uses parallax occlusion mapping to represent depth in " "the material instead of simple offset mapping (see [member " "heightmap_enabled]). This results in a more convincing depth effect, but is " "much more expensive on the GPU. Only enable this on materials where it makes " "a significant visual difference." msgstr "" "若為 [code]true[/code],使用視差遮蔽貼圖取代單純的偏移貼圖(見 [member " "heightmap_enabled]),以呈現更真實的深度效果,但 GPU 負擔也更高。僅在確實需要" "時啟用。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], height mapping is enabled (also called \"parallax " "mapping\" or \"depth mapping\"). See also [member normal_enabled]. Height " "mapping is a demanding feature on the GPU, so it should only be used on " "materials where it makes a significant visual difference.\n" "[b]Note:[/b] Height mapping is not supported if triplanar mapping is used on " "the same material. The value of [member heightmap_enabled] will be ignored " "if [member uv1_triplanar] is enabled." msgstr "" "若為 [code]true[/code],啟用高度貼圖(亦稱視差貼圖或深度貼圖),另見 [member " "normal_enabled]。此功能對 GPU 耗費較高,僅應用於視覺差異顯著的材質。\n" "[b]注意:[/b] 若同一材質啟用了三平面貼圖([member uv1_triplanar]),則不支援" "高度貼圖,[member heightmap_enabled] 會被忽略。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], flips the mesh's binormal vectors when interpreting " "the height map. If the heightmap effect looks strange when the camera moves " "(even with a reasonable [member heightmap_scale]), try setting this to " "[code]true[/code]." msgstr "" "若為 [code]true[/code],解析高度貼圖時會翻轉網格的副法線。若相機移動時高度效" "果異常(即便已調整 [member heightmap_scale]),可嘗試啟用此選項。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], flips the mesh's tangent vectors when interpreting the " "height map. If the heightmap effect looks strange when the camera moves " "(even with a reasonable [member heightmap_scale]), try setting this to " "[code]true[/code]." msgstr "" "若為 [code]true[/code],解析高度貼圖時會翻轉網格切線。若相機移動時高度效果異" "常(即便已調整 [member heightmap_scale]),可嘗試啟用此選項。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], interprets the height map texture as a depth map, with " "brighter values appearing to be \"lower\" in altitude compared to darker " "values.\n" "This can be enabled for compatibility with some materials authored for Godot " "3.x. This is not necessary if the Invert import option was used to invert " "the depth map in Godot 3.x, in which case [member heightmap_flip_texture] " "should remain [code]false[/code]." msgstr "" "若設為 [code]true[/code],則把高度圖紋理視為深度圖,亮部會顯得「較低」,暗部" "則顯得較高。\n" "此選項用於相容某些為 Godot 3.x 製作的材質;若在 Godot 3.x 導入時已使用" "「Invert」反轉深度圖,則無需啟用,並應讓 [member heightmap_flip_texture] 維" "持 [code]false[/code]。" #: doc/classes/BaseMaterial3D.xml msgid "" "The number of layers to use for parallax occlusion mapping when the camera " "is up close to the material. Higher values result in a more convincing depth " "effect, especially in materials that have steep height changes. Higher " "values have a significant cost on the GPU, so it should only be increased on " "materials where it makes a significant visual difference.\n" "[b]Note:[/b] Only effective if [member heightmap_deep_parallax] is " "[code]true[/code]." msgstr "" "當相機靠近材質時,視差遮蔽貼圖所使用的層數。數值越高,深度效果越真實,特別是" "高度差劇烈的材質;但也會顯著提高 GPU 成本,因此僅在確實有需要時再行提高。\n" "[b]注意:[/b]僅於 [member heightmap_deep_parallax] 為 [code]true[/code] 時生" "效。" #: doc/classes/BaseMaterial3D.xml msgid "" "The number of layers to use for parallax occlusion mapping when the camera " "is far away from the material. Higher values result in a more convincing " "depth effect, especially in materials that have steep height changes. Higher " "values have a significant cost on the GPU, so it should only be increased on " "materials where it makes a significant visual difference.\n" "[b]Note:[/b] Only effective if [member heightmap_deep_parallax] is " "[code]true[/code]." msgstr "" "當相機遠離材質時,視差遮蔽貼圖所使用的層數。數值越高,深度效果越真實,特別是" "高度差劇烈的材質;但也會顯著提高 GPU 成本,因此僅在確實有需要時再行提高。\n" "[b]注意:[/b]僅於 [member heightmap_deep_parallax] 為 [code]true[/code] 時生" "效。" #: doc/classes/BaseMaterial3D.xml msgid "" "The heightmap scale to use for the parallax effect (see [member " "heightmap_enabled]). The default value is tuned so that the highest point " "(value = 255) appears to be 5 cm higher than the lowest point (value = 0). " "Higher values result in a deeper appearance, but may result in artifacts " "appearing when looking at the material from oblique angles, especially when " "the camera moves. Negative values can be used to invert the parallax effect, " "but this is different from inverting the texture using [member " "heightmap_flip_texture] as the material will also appear to be \"closer\" to " "the camera. In most cases, [member heightmap_scale] should be kept to a " "positive value.\n" "[b]Note:[/b] If the height map effect looks strange regardless of this " "value, try adjusting [member heightmap_flip_binormal] and [member " "heightmap_flip_tangent]. See also [member heightmap_texture] for " "recommendations on authoring heightmap textures, as the way the heightmap " "texture is authored affects how [member heightmap_scale] behaves." msgstr "" "控制視差效果強度的高度圖縮放(參見 [member heightmap_enabled])。預設值使最高" "點(255)看起來比最低點(0)高 5 cm。提高此值可加深立體感,但在斜視或移動鏡頭" "時可能產生偽影。設定為負值可反轉視差方向,這與 [member " "heightmap_flip_texture] 的紋理反轉不同──材質同時會顯得「更靠近」鏡頭。一般建" "議保持為正值。\n" "[b]注意:[/b]如高度圖效果異常,可嘗試調整 [member heightmap_flip_binormal] " "與 [member heightmap_flip_tangent]。另見 [member heightmap_texture] 以了解製" "作高度圖的建議,因為製圖方式亦會影響 [member heightmap_scale]。" #: doc/classes/BaseMaterial3D.xml msgid "" "The texture to use as a height map. See also [member heightmap_enabled].\n" "For best results, the texture should be normalized (with [member " "heightmap_scale] reduced to compensate). In [url=https://gimp.org]GIMP[/" "url], this can be done using [b]Colors > Auto > Equalize[/b]. If the texture " "only uses a small part of its available range, the parallax effect may look " "strange, especially when the camera moves.\n" "[b]Note:[/b] To reduce memory usage and improve loading times, you may be " "able to use a lower-resolution heightmap texture as most heightmaps are only " "comprised of low-frequency data." msgstr "" "指定高度圖紋理;亦參見 [member heightmap_enabled]。\n" "為獲得最佳結果,應先將紋理正規化(並相應降低 [member heightmap_scale])。在 " "[url=https://gimp.org]GIMP[/url] 中可透過 [b]Colors > Auto > Equalize[/b] 完" "成。若紋理只使用到亮度範圍的一小部分,鏡頭移動時視差效果可能異常。\n" "[b]注意:[/b]高度圖多為低頻資訊,可使用較低解析度以減少記憶體占用並加速載入。" #: doc/classes/BaseMaterial3D.xml msgid "" "A high value makes the material appear more like a metal. Non-metals use " "their albedo as the diffuse color and add diffuse to the specular " "reflection. With non-metals, the reflection appears on top of the albedo " "color. Metals use their albedo as a multiplier to the specular reflection " "and set the diffuse color to black resulting in a tinted reflection. " "Materials work better when fully metal or fully non-metal, values between " "[code]0[/code] and [code]1[/code] should only be used for blending between " "metal and non-metal sections. To alter the amount of reflection use [member " "roughness]." msgstr "" "數值越高,材質越像金屬。非金屬將反照率做為漫反射顏色,並在鏡面反射中加入漫反" "射,因此反射會覆蓋於反照率之上;金屬則以反照率乘上鏡面反射,並把漫反射設為黑" "色,形成帶色反射。建議材質設定為純金屬或純非金屬;介於 [code]0[/code] 與 " "[code]1[/code] 的值僅用於漸層過渡。要調整反射強度請改變 [member roughness]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Adjusts the strength of specular reflections. Specular reflections are " "composed of scene reflections and the specular lobe which is the bright spot " "that is reflected from light sources. When set to [code]0.0[/code], no " "specular reflections will be visible. This differs from the [constant " "SPECULAR_DISABLED] [enum SpecularMode] as [constant SPECULAR_DISABLED] only " "applies to the specular lobe from the light source.\n" "[b]Note:[/b] Unlike [member metallic], this is not energy-conserving, so it " "should be left at [code]0.5[/code] in most cases. See also [member " "roughness]." msgstr "" "調整鏡面反射強度。鏡面反射由場景反射與來自光源的鏡面亮斑組成;若設為 " "[code]0.0[/code] 則完全不顯示鏡面反射。這與 [constant SPECULAR_DISABLED] 模式" "不同,後者僅停用光源亮斑。\n" "[b]注意:[/b]與 [member metallic] 不同,此值不遵守能量守恆,通常建議保持 " "[code]0.5[/code]。另見 [member roughness]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture used to specify metallic for an object. This is multiplied by " "[member metallic]." msgstr "指定物件金屬度的紋理,會與 [member metallic] 相乘。" #: doc/classes/BaseMaterial3D.xml msgid "" "Specifies the channel of the [member metallic_texture] in which the metallic " "information is stored. This is useful when you store the information for " "multiple effects in a single texture. For example if you stored metallic in " "the red channel, roughness in the blue, and ambient occlusion in the green " "you could reduce the number of textures you use." msgstr "" "設定金屬度資訊位於 [member metallic_texture] 的哪個通道。當多種貼圖資訊合併於" "單張紋理時非常有用,例如:紅色通道放金屬度、藍色放粗糙度、綠色放環境遮蔽,即" "可減少貼圖數量。" #: doc/classes/BaseMaterial3D.xml msgid "The width of the shape outline." msgstr "形狀輪廓寬度。" #: doc/classes/BaseMaterial3D.xml msgid "" "The width of the range around the shape between the minimum and maximum " "representable signed distance." msgstr "形狀周圍最小至最大可表距離範圍的寬度。" #: doc/classes/BaseMaterial3D.xml doc/classes/Label3D.xml #: doc/classes/SpriteBase3D.xml msgid "" "If [code]true[/code], depth testing is disabled and the object will be drawn " "in render order." msgstr "若設為 [code]true[/code],將停用深度測試,物件依繪製順序顯示。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], normal mapping is enabled. This has a slight " "performance cost, especially on mobile GPUs." msgstr "若設為 [code]true[/code],啟用法線貼圖;在行動 GPU 上會稍降效能。" #: doc/classes/BaseMaterial3D.xml msgid "The strength of the normal map's effect." msgstr "法線貼圖強度。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture used to specify the normal at a given pixel. The [member " "normal_texture] only uses the red and green channels; the blue and alpha " "channels are ignored. The normal read from [member normal_texture] is " "oriented around the surface normal provided by the [Mesh].\n" "[b]Note:[/b] The mesh must have both normals and tangents defined in its " "vertex data. Otherwise, the normal map won't render correctly and will only " "appear to darken the whole surface. If creating geometry with [SurfaceTool], " "you can use [method SurfaceTool.generate_normals] and [method " "SurfaceTool.generate_tangents] to automatically generate normals and " "tangents respectively.\n" "[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. " "See [url=http://wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " "a comparison of normal map coordinates expected by popular engines.\n" "[b]Note:[/b] If [member detail_enabled] is [code]true[/code], the [member " "detail_albedo] texture is drawn [i]below[/i] the [member normal_texture]. To " "display a normal map [i]above[/i] the [member detail_albedo] texture, use " "[member detail_normal] instead." msgstr "" "指定每個圖元法線的紋理。[member normal_texture] 僅使用紅、綠通道;藍色與 " "Alpha 會被忽略。讀取到的法線以 [Mesh] 提供的表面法線為基準旋轉。\n" "[b]注意:[/b]網格頂點必須同時具有法線與切線,否則法線貼圖只會使表面變暗而無法" "正常顯示。若使用 [SurfaceTool] 產生幾何,可呼叫 [method " "SurfaceTool.generate_normals] 與 [method SurfaceTool.generate_tangents] 自動" "生成。\n" "[b]注意:[/b] Godot 期望使用 X+、Y+、Z+ 座標系,可參考 [url=http://" "wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]此頁[/url] 了解各引擎" "差異。\n" "[b]注意:[/b]若 [member detail_enabled] 為 [code]true[/code],[member " "detail_albedo] 會繪製在 [member normal_texture][i]之下[/i];如需相反效果,請" "改用 [member detail_normal]。" #: doc/classes/BaseMaterial3D.xml msgid "" "The Occlusion/Roughness/Metallic texture to use. This is a more efficient " "replacement of [member ao_texture], [member roughness_texture] and [member " "metallic_texture] in [ORMMaterial3D]. Ambient occlusion is stored in the red " "channel. Roughness map is stored in the green channel. Metallic map is " "stored in the blue channel. The alpha channel is ignored." msgstr "" "指定遮蔽/粗糙度/金屬度(ORM)紋理,為 [ORMMaterial3D] 中 [member " "ao_texture]、[member roughness_texture] 與 [member metallic_texture] 的更有效" "率替代方案:紅通道存環境遮蔽、綠通道存粗糙度、藍通道存金屬度,Alpha 通道忽" "略。" #: doc/classes/BaseMaterial3D.xml msgid "" "The number of horizontal frames in the particle sprite sheet. Only enabled " "when using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]." msgstr "粒子圖集的水平影格數;僅於 [constant BILLBOARD_PARTICLES] 模式下可用。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], particle animations are looped. Only enabled when " "using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]." msgstr "" "若設為 [code]true[/code],粒子動畫將循環播放;僅於 [constant " "BILLBOARD_PARTICLES] 模式下可用。" #: doc/classes/BaseMaterial3D.xml msgid "" "The number of vertical frames in the particle sprite sheet. Only enabled " "when using [constant BILLBOARD_PARTICLES]. See [member billboard_mode]." msgstr "粒子圖集的垂直影格數;僅於 [constant BILLBOARD_PARTICLES] 模式下可用。" #: doc/classes/BaseMaterial3D.xml msgid "The point size in pixels. See [member use_point_size]." msgstr "點大小(像素);參見 [member use_point_size]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Distance over which the fade effect takes place. The larger the distance the " "longer it takes for an object to fade." msgstr "淡出距離;數值越大,物件完全淡出所需距離越長。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the proximity fade effect is enabled. The proximity " "fade effect fades out each pixel based on its distance to another object." msgstr "" "若設為 [code]true[/code],啟用近距離淡出效果;圖元會依與指定物件的距離逐漸隱" "形。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the refraction effect is enabled. Distorts " "transparency based on light from behind the object.\n" "[b]Note:[/b] Refraction is implemented using the screen texture. Only opaque " "materials will appear in the refraction, since transparent materials do not " "appear in the screen texture." msgstr "" "若設為 [code]true[/code],啟用折射效果,依據物件後方的影像扭曲透明區域。\n" "[b]注意:[/b]折射透過螢幕貼圖實作,僅不透明材質會出現在該貼圖中,因此透明材質" "不會被折射顯示。" #: doc/classes/BaseMaterial3D.xml msgid "The strength of the refraction effect." msgstr "折射強度。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture that controls the strength of the refraction per-pixel. Multiplied " "by [member refraction_scale]." msgstr "控制每圖元折射強度的紋理,會與 [member refraction_scale] 相乘。" #: doc/classes/BaseMaterial3D.xml msgid "" "Specifies the channel of the [member refraction_texture] in which the " "refraction information is stored. This is useful when you store the " "information for multiple effects in a single texture. For example if you " "stored refraction in the red channel, roughness in the blue, and ambient " "occlusion in the green you could reduce the number of textures you use." msgstr "" "設定折射資訊位於 [member refraction_texture] 的哪個通道。可將多種資料整合於單" "張紋理,例如:紅通道折射、藍通道粗糙度、綠通道環境遮蔽,以降低貼圖數量。" #: doc/classes/BaseMaterial3D.xml msgid "Sets the strength of the rim lighting effect." msgstr "邊緣光強度。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], rim effect is enabled. Rim lighting increases the " "brightness at glancing angles on an object.\n" "[b]Note:[/b] Rim lighting is not visible if the material's [member " "shading_mode] is [constant SHADING_MODE_UNSHADED]." msgstr "" "若設為 [code]true[/code],啟用邊緣光效果,使斜視角度下的表面更亮。\n" "[b]注意:[/b]當 [member shading_mode] 設為 [constant SHADING_MODE_UNSHADED] " "時邊緣光不會顯示。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture used to set the strength of the rim lighting effect per-pixel. " "Multiplied by [member rim]." msgstr "控制每圖元邊緣光強度的紋理,會與 [member rim] 相乘。" #: doc/classes/BaseMaterial3D.xml msgid "" "The amount of to blend light and albedo color when rendering rim effect. If " "[code]0[/code] the light color is used, while [code]1[/code] means albedo " "color is used. An intermediate value generally works best." msgstr "" "邊緣光中光源色與反照率混合比率;[code]0[/code] 表示完全使用光源色,[code]1[/" "code] 則完全使用反照率,一般取中間值效果最佳。" #: doc/classes/BaseMaterial3D.xml msgid "" "Surface reflection. A value of [code]0[/code] represents a perfect mirror " "while a value of [code]1[/code] completely blurs the reflection. See also " "[member metallic]." msgstr "" "表面粗糙度;[code]0[/code] 為完全鏡面, [code]1[/code] 則完全模糊。另見 " "[member metallic]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture used to control the roughness per-pixel. Multiplied by [member " "roughness]." msgstr "控制每圖元粗糙度的紋理,會與 [member roughness] 相乘。" #: doc/classes/BaseMaterial3D.xml msgid "" "Specifies the channel of the [member roughness_texture] in which the " "roughness information is stored. This is useful when you store the " "information for multiple effects in a single texture. For example if you " "stored metallic in the red channel, roughness in the blue, and ambient " "occlusion in the green you could reduce the number of textures you use." msgstr "" "設定粗糙度資訊位於 [member roughness_texture] 的哪個通道。可將多種資料整合於" "單張紋理,例如:紅通道金屬度、藍通道粗糙度、綠通道環境遮蔽,以降低貼圖數量。" #: doc/classes/BaseMaterial3D.xml msgid "" "Sets whether the shading takes place, per-pixel, per-vertex or unshaded. Per-" "vertex lighting is faster, making it the best choice for mobile " "applications, however it looks considerably worse than per-pixel. Unshaded " "rendering is the fastest, but disables all interactions with lights." msgstr "" "設定著色方式:逐圖元、逐頂點或無光照。逐頂點光照較快,適合行動裝置,但品質明" "顯不如逐圖元;無光照最快,但完全不受光源影響。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], enables the \"shadow to opacity\" render mode where " "lighting modifies the alpha so shadowed areas are opaque and non-shadowed " "areas are transparent. Useful for overlaying shadows onto a camera feed in " "AR." msgstr "" "若設為 [code]true[/code],啟用「Shadow to Opacity」模式:光照會改寫 Alpha,使" "陰影區域不透明、其它區域透明。可用於在 AR 畫面上覆蓋陰影。" #: doc/classes/BaseMaterial3D.xml msgid "" "The method for rendering the specular blob.\n" "[b]Note:[/b] [member specular_mode] only applies to the specular blob. It " "does not affect specular reflections from the sky, screen-space reflections, " "[VoxelGI], SDFGI or [ReflectionProbe]s. To disable reflections from these " "sources as well, set [member metallic_specular] to [code]0.0[/code] instead." msgstr "" "鏡面亮斑的繪製方式。\n" "[b]注意:[/b][member specular_mode] 僅影響鏡面亮斑,不會影響天空、螢幕空間反" "射、[VoxelGI]、SDFGI 或 [ReflectionProbe] 的反射;若也需停用那些反射,請將 " "[member metallic_specular] 設為 [code]0.0[/code]。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "The primary color of the stencil effect." msgstr "標題文字的顏色。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "The comparison operator to use for stencil masking operations." msgstr "此相機要使用的 [Environment]。" #: doc/classes/BaseMaterial3D.xml msgid "The flags dictating how the stencil operation behaves." msgstr "" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "The stencil effect mode." msgstr "節點的標題。" #: doc/classes/BaseMaterial3D.xml msgid "The outline thickness for [constant STENCIL_MODE_OUTLINE]." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "The stencil reference value (0-255). Typically a power of 2." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], subsurface scattering is enabled. Emulates light that " "penetrates an object's surface, is scattered, and then emerges. Subsurface " "scattering quality is controlled by [member ProjectSettings.rendering/" "environment/subsurface_scattering/subsurface_scattering_quality].\n" "[b]Note:[/b] Subsurface scattering is not supported on viewports that have a " "transparent background (where [member Viewport.transparent_bg] is " "[code]true[/code])." msgstr "" "如果 [code]true[/code],則啟用次表面散射。模擬光線將穿透物體表面、發生散射並" "最終逸出的效果。次表面散射品質由 [member ProjectSettings.rendering/" "environment/subsurface_scattering/subsurface_scattering_quality] 控制。\n" "[b]注意:[/b] 在具有透明背景的視口([member Viewport.transparent_bg] 為 " "[code]true[/code])上不支援次表面散射。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], subsurface scattering will use a special mode " "optimized for the color and density of human skin, such as boosting the " "intensity of the red channel in subsurface scattering." msgstr "" "若設為 [code]true[/code],次表面散射會啟用專為人類皮膚優化的模式,例如增強紅" "色通道。" #: doc/classes/BaseMaterial3D.xml msgid "" "The strength of the subsurface scattering effect. The depth of the effect is " "also controlled by [member ProjectSettings.rendering/environment/" "subsurface_scattering/subsurface_scattering_scale], which is set globally." msgstr "" "次表面散射強度;其深度由全域設定 [member ProjectSettings.rendering/" "environment/subsurface_scattering/subsurface_scattering_scale] 決定。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture used to control the subsurface scattering strength. Stored in the " "red texture channel. Multiplied by [member subsurf_scatter_strength]." msgstr "" "控制次表面散射強度的紋理(紅通道),會與 [member subsurf_scatter_strength] 相" "乘。" #: doc/classes/BaseMaterial3D.xml msgid "The intensity of the subsurface scattering transmittance effect." msgstr "次表面散射透射強度。" #: doc/classes/BaseMaterial3D.xml msgid "" "The color to multiply the subsurface scattering transmittance effect with. " "Ignored if [member subsurf_scatter_skin_mode] is [code]true[/code]." msgstr "" "與次表面散射透射效果相乘的顏色;[member subsurf_scatter_skin_mode] 為 " "[code]true[/code] 時忽略。" #: doc/classes/BaseMaterial3D.xml msgid "The depth of the subsurface scattering transmittance effect." msgstr "次表面散射透射深度。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], enables subsurface scattering transmittance. Only " "effective if [member subsurf_scatter_enabled] is [code]true[/code]. See also " "[member backlight_enabled]." msgstr "" "若設為 [code]true[/code],啟用次表面散射透射;僅在 [member " "subsurf_scatter_enabled] 為 [code]true[/code] 時有效。另見 [member " "backlight_enabled]。" #: doc/classes/BaseMaterial3D.xml msgid "" "The texture to use for multiplying the intensity of the subsurface " "scattering transmittance intensity. See also [member " "subsurf_scatter_texture]. Ignored if [member subsurf_scatter_skin_mode] is " "[code]true[/code]." msgstr "" "用來乘上次表面散射透射強度的紋理;亦參見 [member subsurf_scatter_texture]。" "若 [member subsurf_scatter_skin_mode] 為 [code]true[/code] 則忽略。" #: doc/classes/BaseMaterial3D.xml msgid "" "Filter flags for the texture.\n" "[b]Note:[/b] [member heightmap_texture] is always sampled with linear " "filtering, even if nearest-neighbor filtering is selected here. This is to " "ensure the heightmap effect looks as intended. If you need sharper height " "transitions between pixels, resize the heightmap texture in an image editor " "with nearest-neighbor filtering." msgstr "" "紋理篩選方式。\n" "[b]注意:[/b][member heightmap_texture] 一律使用線性取樣,即使此處選擇最近" "鄰。若需更銳利的高度階梯,請在影像編輯器中以最近鄰縮放高度圖。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], the texture repeats when exceeding the texture's size. " "See [constant FLAG_USE_TEXTURE_REPEAT]." msgstr "" "若設為 [code]true[/code],紋理座標超出範圍時會重複;參見 [constant " "FLAG_USE_TEXTURE_REPEAT]。" #: doc/classes/BaseMaterial3D.xml msgid "" "The material's transparency mode. Some transparency modes will disable " "shadow casting. Any transparency mode other than [constant " "TRANSPARENCY_DISABLED] has a greater performance impact compared to opaque " "rendering. See also [member blend_mode]." msgstr "" "材質透明度模式。部分模式會停用投射陰影;除 [constant TRANSPARENCY_DISABLED] " "外的任何模式都比不透明渲染更耗效能。另見 [member blend_mode]。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code] use [member fov_override] to override the [Camera3D]'s " "field of view angle." msgstr "" "若設為 [code]true[/code],使用 [member fov_override] 覆寫 [Camera3D] 的視野角" "度。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], enables parts of the shader required for " "[GPUParticles3D] trails to function. This also requires using a mesh with " "appropriate skinning, such as [RibbonTrailMesh] or [TubeTrailMesh]. Enabling " "this feature outside of materials used in [GPUParticles3D] meshes will break " "material rendering." msgstr "" "若設為 [code]true[/code],啟用 [GPUParticles3D] 尾跡所需的著色器代碼;需配合 " "[RibbonTrailMesh] 或 [TubeTrailMesh] 等具蒙皮的網格。若在非 [GPUParticles3D] " "網格材質上啟用將導致材質繪製錯誤。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], render point size can be changed.\n" "[b]Note:[/b] This is only effective for objects whose geometry is point-" "based rather than triangle-based. See also [member point_size]." msgstr "" "若設為 [code]true[/code],允許修改繪製點大小。\n" "[b]注意:[/b]僅對以點為單位的幾何(非三角形)有效;另見 [member point_size]。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code] use [member z_clip_scale] to scale the object being " "rendered towards the camera to avoid clipping into things like walls." msgstr "" "若設為 [code]true[/code],透過 [member z_clip_scale] 朝鏡頭縮放物體以避免穿" "牆。" #: doc/classes/BaseMaterial3D.xml msgid "" "How much to offset the [code]UV[/code] coordinates. This amount will be " "added to [code]UV[/code] in the vertex function. This can be used to offset " "a texture. The Z component is used when [member uv1_triplanar] is enabled, " "but it is not used anywhere else." msgstr "" "[code]UV[/code] 偏移量,於頂點函式加至 [code]UV[/code];可用來移動紋理。Z 分" "量僅在啟用 [member uv1_triplanar] 時使用。" #: doc/classes/BaseMaterial3D.xml msgid "" "How much to scale the [code]UV[/code] coordinates. This is multiplied by " "[code]UV[/code] in the vertex function. The Z component is used when [member " "uv1_triplanar] is enabled, but it is not used anywhere else." msgstr "" "[code]UV[/code] 縮放比例,於頂點函式乘上 [code]UV[/code];Z 分量僅在啟用 " "[member uv1_triplanar] 時使用。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], instead of using [code]UV[/code] textures will use a " "triplanar texture lookup to determine how to apply textures. Triplanar uses " "the orientation of the object's surface to blend between texture " "coordinates. It reads from the source texture 3 times, once for each axis " "and then blends between the results based on how closely the pixel aligns " "with each axis. This is often used for natural features to get a realistic " "blend of materials. Because triplanar texturing requires many more texture " "reads per-pixel it is much slower than normal UV texturing. Additionally, " "because it is blending the texture between the three axes, it is unsuitable " "when you are trying to achieve crisp texturing." msgstr "" "若設為 [code]true[/code],不使用 [code]UV[/code],改以三平面取樣決定貼圖方" "式。三平面會根據表面法向對三個軸各取紋理一次,並依像素對軸的對齊度混合結果," "常用於自然地形以獲得平滑過渡。但因每像素需多次取樣,效能遠低於一般 UV;亦因混" "合導致邊緣變軟,不適合需要銳利貼圖的場合。" #: doc/classes/BaseMaterial3D.xml msgid "" "A lower number blends the texture more softly while a higher number blends " "the texture more sharply.\n" "[b]Note:[/b] [member uv1_triplanar_sharpness] is clamped between [code]0.0[/" "code] and [code]150.0[/code] (inclusive) as values outside that range can " "look broken depending on the mesh." msgstr "" "數值越低混合越柔和,數值越高混合越銳利。\n" "[b]注意:[/b][member uv1_triplanar_sharpness] 會被限制於 [code]0.0[/code] 至 " "[code]150.0[/code] 之間,超出範圍可能導致畫面破損。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], triplanar mapping for [code]UV[/code] is calculated in " "world space rather than object local space. See also [member uv1_triplanar]." msgstr "" "若設為 [code]true[/code],[code]UV[/code] 的三平面在世界座標計算;另見 " "[member uv1_triplanar]。" #: doc/classes/BaseMaterial3D.xml msgid "" "How much to offset the [code]UV2[/code] coordinates. This amount will be " "added to [code]UV2[/code] in the vertex function. This can be used to offset " "a texture. The Z component is used when [member uv2_triplanar] is enabled, " "but it is not used anywhere else." msgstr "" "[code]UV2[/code] 偏移量,於頂點函式加至 [code]UV2[/code];可用來移動第二組紋" "理座標。Z 分量僅在啟用 [member uv2_triplanar] 時使用。" #: doc/classes/BaseMaterial3D.xml msgid "" "How much to scale the [code]UV2[/code] coordinates. This is multiplied by " "[code]UV2[/code] in the vertex function. The Z component is used when " "[member uv2_triplanar] is enabled, but it is not used anywhere else." msgstr "" "[code]UV2[/code] 縮放比例,於頂點函式乘上 [code]UV2[/code];Z 分量僅在啟用 " "[member uv2_triplanar] 時使用。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], instead of using [code]UV2[/code] textures will use a " "triplanar texture lookup to determine how to apply textures. Triplanar uses " "the orientation of the object's surface to blend between texture " "coordinates. It reads from the source texture 3 times, once for each axis " "and then blends between the results based on how closely the pixel aligns " "with each axis. This is often used for natural features to get a realistic " "blend of materials. Because triplanar texturing requires many more texture " "reads per-pixel it is much slower than normal UV texturing. Additionally, " "because it is blending the texture between the three axes, it is unsuitable " "when you are trying to achieve crisp texturing." msgstr "" "若設為 [code]true[/code],不使用 [code]UV2[/code],改用三平面取樣。原理與 " "[code]UV[/code] 版本相同,效能成本亦相同,不再贅述。" #: doc/classes/BaseMaterial3D.xml msgid "" "A lower number blends the texture more softly while a higher number blends " "the texture more sharply.\n" "[b]Note:[/b] [member uv2_triplanar_sharpness] is clamped between [code]0.0[/" "code] and [code]150.0[/code] (inclusive) as values outside that range can " "look broken depending on the mesh." msgstr "" "數值越低混合越柔和,數值越高混合越銳利。\n" "[b]注意:[/b][member uv2_triplanar_sharpness] 會被限制於 [code]0.0[/code] 至 " "[code]150.0[/code] 之間,超出範圍可能導致畫面破損。" #: doc/classes/BaseMaterial3D.xml msgid "" "If [code]true[/code], triplanar mapping for [code]UV2[/code] is calculated " "in world space rather than object local space. See also [member " "uv2_triplanar]." msgstr "" "若設為 [code]true[/code],[code]UV2[/code] 的三平面在世界座標計算;另見 " "[member uv2_triplanar]。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "If [code]true[/code], vertex colors are considered to be stored in nonlinear " "sRGB encoding and are converted to linear encoding during rendering. If " "[code]false[/code], vertex colors are considered to be stored in linear " "encoding and are rendered as-is. See also [member " "albedo_texture_force_srgb].\n" "[b]Note:[/b] Only effective when using the Forward+ and Mobile rendering " "methods, not Compatibility." msgstr "" "若設為 [code]true[/code],視頂點色為 sRGB,渲染時轉為線性;若為 [code]false[/" "code] 則視為線性色並直接使用。另見 [member albedo_texture_force_srgb]。\n" "[b]注意:[/b]僅在 Forward+ 與 Mobile 管線有效,Compatibility 無效。" #: doc/classes/BaseMaterial3D.xml msgid "If [code]true[/code], the vertex color is used as albedo color." msgstr "若設為 [code]true[/code],將頂點色用作反照率。" #: doc/classes/BaseMaterial3D.xml msgid "" "Scales the object being rendered towards the camera to avoid clipping into " "things like walls. This is intended to be used for objects that are fixed " "with respect to the camera like player arms, tools, etc. Lighting and " "shadows will continue to work correctly when this setting is adjusted, but " "screen-space effects like SSAO and SSR may break with lower scales. " "Therefore, try to keep this setting as close to [code]1.0[/code] as possible." msgstr "" "將物件朝鏡頭縮放,以避免近距離穿牆;適用於固定在視角上的物件(例如玩家手臂、" "工具)。光照與陰影仍能正常運作,但像 SSAO、SSR 等螢幕空間效果在縮放過小時可能" "失真,因此請盡量接近 [code]1.0[/code]。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel color." msgstr "指定每圖元顏色的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel metallic value." msgstr "指定每圖元金屬度的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel roughness value." msgstr "指定每圖元粗糙度的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel emission color." msgstr "指定每圖元自發光顏色的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel normal vector." msgstr "指定每圖元法向量的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel bent normal vector." msgstr "指定每圖元彎曲法向量的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel rim value." msgstr "指定每圖元邊緣光值的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel clearcoat value." msgstr "指定每圖元透明漆(Clearcoat)值的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "" "Texture specifying per-pixel flowmap direction for use with [member " "anisotropy]." msgstr "指定每圖元流向,用於 [member anisotropy] 的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel ambient occlusion value." msgstr "指定每圖元環境遮蔽值的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel height." msgstr "指定每圖元高度的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel subsurface scattering." msgstr "指定每圖元次表面散射的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel transmittance for subsurface scattering." msgstr "指定每圖元次表面散射透射率的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel backlight color." msgstr "指定每圖元背光顏色的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel refraction strength." msgstr "指定每圖元折射強度的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel detail mask blending value." msgstr "指定每圖元細節遮罩混合值的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel detail color." msgstr "指定每圖元細節顏色的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture specifying per-pixel detail normal." msgstr "指定每圖元細節法線的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Texture holding ambient occlusion, roughness, and metallic." msgstr "同時存有環境遮蔽、粗糙度與金屬度的紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Represents the size of the [enum TextureParam] enum." msgstr "代表 [enum TextureParam] 列舉的大小。" #: doc/classes/BaseMaterial3D.xml doc/classes/CanvasItem.xml #: doc/classes/RenderingServer.xml doc/classes/Viewport.xml #: doc/classes/VisualShaderNodeTextureParameter.xml msgid "" "The texture filter reads from the nearest pixel only. This makes the texture " "look pixelated from up close, and grainy from a distance (due to mipmaps not " "being sampled)." msgstr "紋理僅取最鄰近像素,近看呈現馬賽克,遠處因未取樣 mipmap 而顯得顆粒。" #: doc/classes/BaseMaterial3D.xml doc/classes/CanvasItem.xml #: doc/classes/RenderingServer.xml doc/classes/Viewport.xml #: doc/classes/VisualShaderNodeTextureParameter.xml msgid "" "The texture filter blends between the nearest 4 pixels. This makes the " "texture look smooth from up close, and grainy from a distance (due to " "mipmaps not being sampled)." msgstr "紋理在最鄰近 4 像素間插值,近看平滑,遠處因未取樣 mipmap 仍顆粒。" #: doc/classes/BaseMaterial3D.xml msgid "" "The texture filter reads from the nearest pixel and blends between the " "nearest 2 mipmaps (or uses the nearest mipmap if [member " "ProjectSettings.rendering/textures/default_filters/" "use_nearest_mipmap_filter] is [code]true[/code]). This makes the texture " "look pixelated from up close, and smooth from a distance." msgstr "" "紋理取最鄰近像素,並在兩層最鄰近的 mipmap 間插值(或僅取最近 mipmap,取決於 " "[member ProjectSettings.rendering/textures/default_filters/" "use_nearest_mipmap_filter])。近看仍帶像素感,遠處則較平滑。" #: doc/classes/BaseMaterial3D.xml msgid "" "The texture filter blends between the nearest 4 pixels and between the " "nearest 2 mipmaps (or uses the nearest mipmap if [member " "ProjectSettings.rendering/textures/default_filters/" "use_nearest_mipmap_filter] is [code]true[/code]). This makes the texture " "look smooth from up close, and smooth from a distance." msgstr "" "紋理在最近 4 像素與最近 2 層 mipmap 間皆進行插值(或僅取最近 mipmap,依設定而" "定),近看與遠看皆平滑;一般建議使用此模式。" #: doc/classes/BaseMaterial3D.xml msgid "" "The texture filter reads from the nearest pixel and blends between 2 mipmaps " "(or uses the nearest mipmap if [member ProjectSettings.rendering/textures/" "default_filters/use_nearest_mipmap_filter] is [code]true[/code]) based on " "the angle between the surface and the camera view. This makes the texture " "look pixelated from up close, and smooth from a distance. Anisotropic " "filtering improves texture quality on surfaces that are almost in line with " "the camera, but is slightly slower. The anisotropic filtering level can be " "changed by adjusting [member ProjectSettings.rendering/textures/" "default_filters/anisotropic_filtering_level]." msgstr "" "依表面與鏡頭角度選取最鄰近像素並於兩層 mipmap 間插值(或僅取最近 mipmap),近" "看帶像素感,遠看平滑。各向異性篩選可提升與鏡頭幾乎平行表面的貼圖品質,效能稍" "降;程度可在 [member ProjectSettings.rendering/textures/default_filters/" "anisotropic_filtering_level] 調整。" #: doc/classes/BaseMaterial3D.xml msgid "" "The texture filter blends between the nearest 4 pixels and blends between 2 " "mipmaps (or uses the nearest mipmap if [member ProjectSettings.rendering/" "textures/default_filters/use_nearest_mipmap_filter] is [code]true[/code]) " "based on the angle between the surface and the camera view. This makes the " "texture look smooth from up close, and smooth from a distance. Anisotropic " "filtering improves texture quality on surfaces that are almost in line with " "the camera, but is slightly slower. The anisotropic filtering level can be " "changed by adjusting [member ProjectSettings.rendering/textures/" "default_filters/anisotropic_filtering_level]." msgstr "" "在最鄰近 4 像素與 2 層 mipmap 間插值,並依表面與鏡頭角度最佳化;近遠皆平滑。" "各向異性篩選能改善斜視角貼圖品質但稍慢,可於 [member " "ProjectSettings.rendering/textures/default_filters/" "anisotropic_filtering_level] 設定等級。" #: doc/classes/BaseMaterial3D.xml doc/classes/CanvasItem.xml #: doc/classes/VisualShaderNodeTextureParameter.xml msgid "Represents the size of the [enum TextureFilter] enum." msgstr "代表 [enum TextureFilter] 列舉的大小。" #: doc/classes/BaseMaterial3D.xml msgid "Use [code]UV[/code] with the detail texture." msgstr "使用 [code]UV[/code] 與細節紋理。" #: doc/classes/BaseMaterial3D.xml msgid "Use [code]UV2[/code] with the detail texture." msgstr "使用 [code]UV2[/code] 與細節紋理。" #: doc/classes/BaseMaterial3D.xml msgid "The material will not use transparency. This is the fastest to render." msgstr "該材質將不使用透明度。算繪最快。" #: doc/classes/BaseMaterial3D.xml msgid "" "The material will use the texture's alpha values for transparency. This is " "the slowest to render, and disables shadow casting." msgstr "該材質將使用紋理的 Alpha 值作為透明度。算繪最慢,並會停用陰影投射。" #: doc/classes/BaseMaterial3D.xml msgid "" "The material will cut off all values below a threshold, the rest will remain " "opaque. The opaque portions will be rendered in the depth prepass. This is " "faster to render than alpha blending, but slower than opaque rendering. This " "also supports casting shadows." msgstr "" "該材質會將所有低於閾值的值截斷,其餘部分保持不透明。不透明部分會在深度預通道" "中算繪。這比 Alpha 混合快,但比完全不透明稍慢,並支援投射陰影。" #: doc/classes/BaseMaterial3D.xml msgid "" "The material will cut off all values below a spatially-deterministic " "threshold, the rest will remain opaque. This is faster to render than alpha " "blending, but slower than opaque rendering. This also supports casting " "shadows. Alpha hashing is suited for hair rendering." msgstr "" "該材質會將所有低於空間確定性閾值的值截斷,其餘部分保持不透明。這比 Alpha 混合" "快,但比完全不透明稍慢,並支援投射陰影。Alpha 雜湊適合於頭髮算繪。" #: doc/classes/BaseMaterial3D.xml msgid "" "The material will use the texture's alpha value for transparency, but will " "discard fragments with an alpha of less than 0.99 during the depth prepass " "and fragments with an alpha less than 0.1 during the shadow pass. This also " "supports casting shadows." msgstr "" "該材質將使用紋理的 Alpha 值作為透明度,但在深度預通道階段會丟棄 Alpha 小於 " "0.99 的片段,在陰影通道期間丟棄 Alpha 小於 0.1 的片段。支援投射陰影。" #: doc/classes/BaseMaterial3D.xml msgid "Represents the size of the [enum Transparency] enum." msgstr "代表 [enum Transparency] 列舉的大小。" #: doc/classes/BaseMaterial3D.xml msgid "" "The object will not receive shadows. This is the fastest to render, but it " "disables all interactions with lights." msgstr "該物件不會接收陰影。算繪速度最快,但會停用與光源的所有互動。" #: doc/classes/BaseMaterial3D.xml msgid "" "The object will be shaded per pixel. Useful for realistic shading effects." msgstr "物件將逐圖元著色,適用於需要寫實光照效果的情況。" #: doc/classes/BaseMaterial3D.xml msgid "" "The object will be shaded per vertex. Useful when you want cheaper shaders " "and do not care about visual quality." msgstr "物件將逐頂點著色。當你需要較省效能的著色器且不在意畫質時很實用。" #: doc/classes/BaseMaterial3D.xml msgid "Represents the size of the [enum ShadingMode] enum." msgstr "代表 [enum ShadingMode] 列舉的大小。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member emission_enabled]." msgstr "用於設定 [member emission_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member normal_enabled]." msgstr "用於設定 [member normal_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member rim_enabled]." msgstr "用於設定 [member rim_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member clearcoat_enabled]." msgstr "用於設定 [member clearcoat_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member anisotropy_enabled]." msgstr "用於設定 [member anisotropy_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member ao_enabled]." msgstr "用於設定 [member ao_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member heightmap_enabled]." msgstr "用於設定 [member heightmap_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member subsurf_scatter_enabled]." msgstr "用於設定 [member subsurf_scatter_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member subsurf_scatter_transmittance_enabled]." msgstr "用於設定 [member subsurf_scatter_transmittance_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member backlight_enabled]." msgstr "用於設定 [member backlight_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member refraction_enabled]." msgstr "用於設定 [member refraction_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member detail_enabled]." msgstr "用於設定 [member detail_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml msgid "Constant for setting [member bent_normal_enabled]." msgstr "用於設定 [member bent_normal_enabled] 的常數。" #: doc/classes/BaseMaterial3D.xml doc/classes/EditorFeatureProfile.xml msgid "Represents the size of the [enum Feature] enum." msgstr "代表 [enum Feature] 列舉的大小。" #: doc/classes/BaseMaterial3D.xml msgid "" "Default blend mode. The color of the object is blended over the background " "based on the object's alpha value." msgstr "預設混合模式。依物件的 Alpha 值,將其顏色混到背景上。" #: doc/classes/BaseMaterial3D.xml msgid "The color of the object is added to the background." msgstr "物件的顏色加算到背景中。" #: doc/classes/BaseMaterial3D.xml msgid "The color of the object is subtracted from the background." msgstr "從背景中減去物件的顏色。" #: doc/classes/BaseMaterial3D.xml msgid "The color of the object is multiplied by the background." msgstr "物件的顏色與背景相乘。" #: doc/classes/BaseMaterial3D.xml msgid "" "The color of the object is added to the background and the alpha channel is " "used to mask out the background. This is effectively a hybrid of the blend " "mix and add modes, useful for effects like fire where you want the flame to " "add but the smoke to mix. By default, this works with unshaded materials " "using premultiplied textures. For shaded materials, use the " "[code]PREMUL_ALPHA_FACTOR[/code] built-in so that lighting can be modulated " "as well." msgstr "" "物件的顏色會加算到背景,並以 Alpha 通道遮罩背景。此模式結合了混合與加算,適合" "如火焰般希望火苗加亮、煙霧則正常混合的效果。預設可搭配未著色材質和預乘 " "(Premultiplied) 紋理使用;若材質有光照,請在著色器中使用 " "[code]PREMUL_ALPHA_FACTOR[/code] 以同時調整光照。" #: doc/classes/BaseMaterial3D.xml msgid "Disables Alpha AntiAliasing for the material." msgstr "停用此材質的 Alpha 抗鋸齒。" #: doc/classes/BaseMaterial3D.xml msgid "" "Enables AlphaToCoverage. Alpha values in the material are passed to the " "AntiAliasing sample mask." msgstr "啟用 AlphaToCoverage。材質中的 Alpha 值會傳遞到抗鋸齒取樣遮罩中。" #: doc/classes/BaseMaterial3D.xml msgid "" "Enables AlphaToCoverage and forces all non-zero alpha values to [code]1[/" "code]. Alpha values in the material are passed to the AntiAliasing sample " "mask." msgstr "" "啟用 AlphaToCoverage,並將所有非零 Alpha 值強制為 [code]1[/code]。材質中的 " "Alpha 值會傳遞到抗鋸齒取樣遮罩中。" #: doc/classes/BaseMaterial3D.xml msgid "" "Default depth draw mode. Depth is drawn only for opaque objects during the " "opaque prepass (if any) and during the opaque pass." msgstr "" "預設深度繪製模式:僅在不透明預通道(若啟用)與不透明主通道期間,為不透明物件" "寫入深度。" #: doc/classes/BaseMaterial3D.xml msgid "" "Objects will write to depth during the opaque and the transparent passes. " "Transparent objects that are close to the camera may obscure other " "transparent objects behind them.\n" "[b]Note:[/b] This does not influence whether transparent objects are " "included in the depth prepass or not. For that, see [enum Transparency]." msgstr "" "物件會在不透明與透明通道皆寫入深度。靠近相機的透明物件可能遮蔽後方的其他透明" "物件。\n" "[b]注意:[/b]此設定不影響透明物件是否參與深度預通道,相關設定請見 [enum " "Transparency]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Objects will not write their depth to the depth buffer, even during the " "depth prepass (if enabled)." msgstr "物件不會將深度寫入深度緩衝,包含已啟用的深度預通道階段。" #: doc/classes/BaseMaterial3D.xml msgid "Depth test will discard the pixel if it is behind other pixels." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Depth test will discard the pixel if it is in front of other pixels. Useful " "for stencil effects." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Default cull mode. The back of the object is culled when not visible. Back " "face triangles will be culled when facing the camera. This results in only " "the front side of triangles being drawn. For closed-surface meshes, this " "means that only the exterior of the mesh will be visible." msgstr "" "預設剔除模式:背面在不可見時被剔除。面向相機時會剔除背面三角形,因此僅繪製正" "面。對封閉網格而言,只有外表面可見。" #: doc/classes/BaseMaterial3D.xml msgid "" "Front face triangles will be culled when facing the camera. This results in " "only the back side of triangles being drawn. For closed-surface meshes, this " "means that the interior of the mesh will be drawn instead of the exterior." msgstr "" "面向相機時會剔除正面三角形,因此僅繪製背面。對封閉網格而言,將看到其內部而非" "外部。" #: doc/classes/BaseMaterial3D.xml msgid "" "No face culling is performed; both the front face and back face will be " "visible." msgstr "不進行面剔除;正反面皆可見。" #: doc/classes/BaseMaterial3D.xml msgid "" "Disables the depth test, so this object is drawn on top of all others drawn " "before it. This puts the object in the transparent draw pass where it is " "sorted based on distance to camera. Objects drawn after it in the draw order " "may cover it. This also disables writing to depth." msgstr "" "停用深度測試,該物件會被繪製在之前所有內容之上,並進入透明通道以與其他物件依" "距離排序。之後繪製的物件仍可能蓋過它,同時也不會寫入深度。" #: doc/classes/BaseMaterial3D.xml msgid "Set [code]ALBEDO[/code] to the per-vertex color specified in the mesh." msgstr "將 [code]ALBEDO[/code] 設為網格內的每頂點顏色。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "Vertex colors are considered to be stored in nonlinear sRGB encoding and are " "converted to linear encoding during rendering. See also [member " "vertex_color_is_srgb].\n" "[b]Note:[/b] Only effective when using the Forward+ and Mobile rendering " "methods." msgstr "" "頂點色視為以 sRGB 色域儲存,算繪時會轉換到線性色域。另見 [member " "vertex_color_is_srgb]。\n" "[b]注意:[/b]僅於 Forward+ 與 Mobile 管線中生效。" #: doc/classes/BaseMaterial3D.xml msgid "" "Uses point size to alter the size of primitive points. Also changes the " "albedo texture lookup to use [code]POINT_COORD[/code] instead of [code]UV[/" "code]." msgstr "" "使用點大小調整圖元點尺寸,並將反照率紋理取樣由 [code]UV[/code] 改為 " "[code]POINT_COORD[/code]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Object is scaled by depth so that it always appears the same size on screen." msgstr "依深度縮放,使物件在畫面上大小恆定。" #: doc/classes/BaseMaterial3D.xml msgid "" "Shader will keep the scale set for the mesh. Otherwise the scale is lost " "when billboarding. Only applies when [member billboard_mode] is [constant " "BILLBOARD_ENABLED]." msgstr "" "著色器會保留網格原有縮放,否則做公告板時縮放會遺失。僅於 [member " "billboard_mode] 設為 [constant BILLBOARD_ENABLED] 時適用。" #: doc/classes/BaseMaterial3D.xml msgid "" "Use triplanar texture lookup for all texture lookups that would normally use " "[code]UV[/code]." msgstr "將所有原本以 [code]UV[/code] 取樣的紋理改為三平面取樣。" #: doc/classes/BaseMaterial3D.xml msgid "" "Use triplanar texture lookup for all texture lookups that would normally use " "[code]UV2[/code]." msgstr "將所有原本以 [code]UV2[/code] 取樣的紋理改為三平面取樣。" #: doc/classes/BaseMaterial3D.xml msgid "" "Use [code]UV2[/code] coordinates to look up from the [member ao_texture]." msgstr "使用 [code]UV2[/code] 座標取樣 [member ao_texture]。" #: doc/classes/BaseMaterial3D.xml msgid "" "Use [code]UV2[/code] coordinates to look up from the [member " "emission_texture]." msgstr "使用 [code]UV2[/code] 座標取樣 [member emission_texture]。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "Forces the shader to convert albedo from nonlinear sRGB encoding to linear " "encoding. See also [member albedo_texture_force_srgb]." msgstr "" "強制著色器將反照率由 sRGB 轉為線性空間。另見 [member " "albedo_texture_force_srgb]。" #: doc/classes/BaseMaterial3D.xml msgid "Disables receiving shadows from other objects." msgstr "停用接收其他物件的陰影。" #: doc/classes/BaseMaterial3D.xml msgid "Disables receiving ambient light." msgstr "停用接收環境光。" #: doc/classes/BaseMaterial3D.xml msgid "Enables the shadow to opacity feature." msgstr "啟用「陰影轉不透明度」功能。" #: doc/classes/BaseMaterial3D.xml doc/classes/RenderingServer.xml #: doc/classes/Viewport.xml msgid "" "Enables the texture to repeat when UV coordinates are outside the 0-1 range. " "If using one of the linear filtering modes, this can result in artifacts at " "the edges of a texture when the sampler filters across the edges of the " "texture." msgstr "" "當 UV 超出 0–1 時允許紋理重複。如果使用線性過濾模式,取樣器跨越紋理邊界時可能" "在邊緣產生偽影。" #: doc/classes/BaseMaterial3D.xml msgid "" "Invert values read from a depth texture to convert them to height values " "(heightmap)." msgstr "反轉從深度紋理讀取的值,將其轉為高度值(高度圖)。" #: doc/classes/BaseMaterial3D.xml msgid "" "Enables the skin mode for subsurface scattering which is used to improve the " "look of subsurface scattering when used for human skin." msgstr "啟用「皮膚模式」以改進用於人體皮膚時的次表面散射效果。" #: doc/classes/BaseMaterial3D.xml msgid "" "Enables parts of the shader required for [GPUParticles3D] trails to " "function. This also requires using a mesh with appropriate skinning, such as " "[RibbonTrailMesh] or [TubeTrailMesh]. Enabling this feature outside of " "materials used in [GPUParticles3D] meshes will break material rendering." msgstr "" "啟用 [GPUParticles3D] 尾跡所需的著色器部分。需配合具蒙皮的網格(如 " "[RibbonTrailMesh]、[TubeTrailMesh])。若在非 [GPUParticles3D] 材質上啟用,將" "導致算繪錯誤。" #: doc/classes/BaseMaterial3D.xml msgid "Enables multichannel signed distance field rendering shader." msgstr "啟用多通道 SDF(Signed Distance Field)算繪著色器。" #: doc/classes/BaseMaterial3D.xml msgid "Disables receiving depth-based or volumetric fog." msgstr "停用接收深度式或體積式霧效。" #: doc/classes/BaseMaterial3D.xml msgid "Disables specular occlusion." msgstr "停用鏡面遮蔽。" #: doc/classes/BaseMaterial3D.xml msgid "Enables using [member z_clip_scale]." msgstr "啟用 [member z_clip_scale]。" #: doc/classes/BaseMaterial3D.xml msgid "Enables using [member fov_override]." msgstr "啟用 [member fov_override]。" #: doc/classes/BaseMaterial3D.xml msgid "Represents the size of the [enum Flags] enum." msgstr "代表 [enum Flags] 列舉的大小。" #: doc/classes/BaseMaterial3D.xml msgid "Default diffuse scattering algorithm." msgstr "預設漫反射散射演算法。" #: doc/classes/BaseMaterial3D.xml msgid "Diffuse scattering ignores roughness." msgstr "漫散射忽略粗糙度。" #: doc/classes/BaseMaterial3D.xml msgid "Extends Lambert to cover more than 90 degrees when roughness increases." msgstr "在粗糙度增大時,將 Lambert 延伸至超過 90°。" #: doc/classes/BaseMaterial3D.xml msgid "Uses a hard cut for lighting, with smoothing affected by roughness." msgstr "使用硬斷差的光照,平滑度受粗糙度影響。" #: doc/classes/BaseMaterial3D.xml msgid "" "Default specular blob.\n" "[b]Note:[/b] Forward+ uses multiscattering for more accurate reflections, " "although the impact of multiscattering is more noticeable on rough metallic " "surfaces than on smooth, non-metallic surfaces.\n" "[b]Note:[/b] Mobile and Compatibility don't perform multiscattering for " "performance reasons. Instead, they perform single scattering, which means " "rough metallic surfaces may look slightly darker than intended." msgstr "" "預設鏡面斑點。\n" "[b]注意:[/b]Forward+ 會使用多重散射以獲得更精確的反射,其影響在粗糙金屬表面" "尤為明顯。\n" "[b]注意:[/b]Mobile 與 Compatibility 管線為了效能僅做單次散射,因此粗糙金屬表" "面可能會略暗。" #: doc/classes/BaseMaterial3D.xml msgid "Toon blob which changes size based on roughness." msgstr "依粗糙度改變大小的 Toon 鏡面斑點。" #: doc/classes/BaseMaterial3D.xml msgid "" "No specular blob. This is slightly faster to render than other specular " "modes." msgstr "無鏡面斑點,比其他鏡面模式稍快。" #: doc/classes/BaseMaterial3D.xml msgid "Billboard mode is disabled." msgstr "已停用公告板模式。" #: doc/classes/BaseMaterial3D.xml msgid "The object's Z axis will always face the camera." msgstr "物件的 Z 軸永遠朝向相機。" #: doc/classes/BaseMaterial3D.xml msgid "The object's X axis will always face the camera." msgstr "物件的 X 軸永遠朝向相機。" #: doc/classes/BaseMaterial3D.xml msgid "" "Used for particle systems when assigned to [GPUParticles3D] and " "[CPUParticles3D] nodes (flipbook animation). Enables [code]particles_anim_*[/" "code] properties.\n" "The [member ParticleProcessMaterial.anim_speed_min] or [member " "CPUParticles3D.anim_speed_min] should also be set to a value bigger than " "zero for the animation to play." msgstr "" "當此材質被指派給 [GPUParticles3D] 或 [CPUParticles3D] 節點時,將用於粒子系統" "的翻頁動畫,並啟用 [code]particles_anim_*[/code] 屬性。\n" "為了讓動畫播放,[member ParticleProcessMaterial.anim_speed_min] 或 [member " "CPUParticles3D.anim_speed_min] 必須設為大於 0 的值。" #: doc/classes/BaseMaterial3D.xml msgid "Used to read from the red channel of a texture." msgstr "讀取紋理的紅色通道。" #: doc/classes/BaseMaterial3D.xml msgid "Used to read from the green channel of a texture." msgstr "讀取紋理的綠色通道。" #: doc/classes/BaseMaterial3D.xml msgid "Used to read from the blue channel of a texture." msgstr "讀取紋理的藍色通道。" #: doc/classes/BaseMaterial3D.xml msgid "Used to read from the alpha channel of a texture." msgstr "讀取紋理的 Alpha 通道。" #: doc/classes/BaseMaterial3D.xml msgid "" "Used to read from the linear (non-perceptual) average of the red, green and " "blue channels of a texture." msgstr "讀取紋理 R、G、B 通道的線性(非感知)平均值。" #: doc/classes/BaseMaterial3D.xml msgid "Adds the emission color to the color from the emission texture." msgstr "將自發光顏色加到自發光紋理顏色上。" #: doc/classes/BaseMaterial3D.xml msgid "Multiplies the emission color by the color from the emission texture." msgstr "將自發光顏色乘以自發光紋理顏色。" #: doc/classes/BaseMaterial3D.xml msgid "Do not use distance fade." msgstr "不使用距離淡化。" #: doc/classes/BaseMaterial3D.xml msgid "" "Smoothly fades the object out based on each pixel's distance from the camera " "using the alpha channel." msgstr "依各像素與相機的距離,用 Alpha 通道平滑淡出物件。" #: doc/classes/BaseMaterial3D.xml msgid "" "Smoothly fades the object out based on each pixel's distance from the camera " "using a dithering approach. Dithering discards pixels based on a set pattern " "to smoothly fade without enabling transparency. On certain hardware, this " "can be faster than [constant DISTANCE_FADE_PIXEL_ALPHA]." msgstr "" "依各像素與相機的距離,透過抖動方式平滑淡出。抖動依固定圖樣丟棄像素,達到無需" "透明即可淡出的效果,在部分硬體上比 [constant DISTANCE_FADE_PIXEL_ALPHA] 更" "快。" #: doc/classes/BaseMaterial3D.xml msgid "" "Smoothly fades the object out based on the object's distance from the camera " "using a dithering approach. Dithering discards pixels based on a set pattern " "to smoothly fade without enabling transparency. On certain hardware, this " "can be faster than [constant DISTANCE_FADE_PIXEL_ALPHA] and [constant " "DISTANCE_FADE_PIXEL_DITHER]." msgstr "" "依物件與相機的距離,以抖動方式平滑淡出。抖動依固定圖樣丟棄像素,可在不啟用透" "明的情況下淡出;在某些硬體上比 [constant DISTANCE_FADE_PIXEL_ALPHA] 與 " "[constant DISTANCE_FADE_PIXEL_DITHER] 更快。" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "Disables stencil operations." msgstr "禁用反射。" #: doc/classes/BaseMaterial3D.xml msgid "" "Stencil preset which applies an outline to the object.\n" "[b]Note:[/b] Requires a [member Material.next_pass] material which will be " "automatically applied. Any manual changes made to [member " "Material.next_pass] will be lost when the stencil properties are modified or " "the scene is reloaded. To safely apply a [member Material.next_pass] " "material on a material that uses stencil presets, use [member " "GeometryInstance3D.material_overlay] instead." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Stencil preset which shows a silhouette of the object behind walls.\n" "[b]Note:[/b] Requires a [member Material.next_pass] material which will be " "automatically applied. Any manual changes made to [member " "Material.next_pass] will be lost when the stencil properties are modified or " "the scene is reloaded. To safely apply a [member Material.next_pass] " "material on a material that uses stencil presets, use [member " "GeometryInstance3D.material_overlay] instead." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "Enables stencil operations without a preset." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "The material will only be rendered where it passes a stencil comparison with " "existing stencil buffer values." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "The material will write the reference value to the stencil buffer where it " "passes the depth test." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "The material will write the reference value to the stencil buffer where it " "fails the depth test." msgstr "" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "Always passes the stencil test." msgstr "始終更新算繪目標。" #: doc/classes/BaseMaterial3D.xml msgid "" "Passes the stencil test when the reference value is less than the existing " "stencil value." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Passes the stencil test when the reference value is equal to the existing " "stencil value." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Passes the stencil test when the reference value is less than or equal to " "the existing stencil value." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Passes the stencil test when the reference value is greater than the " "existing stencil value." msgstr "" #: doc/classes/BaseMaterial3D.xml msgid "" "Passes the stencil test when the reference value is not equal to the " "existing stencil value." msgstr "" #: doc/classes/BaseMaterial3D.xml #, fuzzy msgid "" "Passes the stencil test when the reference value is greater than or equal to " "the existing stencil value." msgstr "搜尋最接近的大於或等於參數的整數。" #: doc/classes/Basis.xml msgid "A 3×3 matrix for representing 3D rotation and scale." msgstr "用於表示 3D 旋轉與縮放的 3×3 矩陣。" #: doc/classes/Basis.xml msgid "" "The [Basis] built-in [Variant] type is a 3×3 [url=https://en.wikipedia.org/" "wiki/Matrix_(mathematics)]matrix[/url] used to represent 3D rotation, scale, " "and shear. It is frequently used within a [Transform3D].\n" "A [Basis] is composed by 3 axis vectors, each representing a column of the " "matrix: [member x], [member y], and [member z]. The length of each axis " "([method Vector3.length]) influences the basis's scale, while the direction " "of all axes influence the rotation. Usually, these axes are perpendicular to " "one another. However, when you rotate any axis individually, the basis " "becomes sheared. Applying a sheared basis to a 3D model will make the model " "appear distorted.\n" "A [Basis] is:\n" "- [b]Orthogonal[/b] if its axes are perpendicular to each other.\n" "- [b]Normalized[/b] if the length of every axis is [code]1.0[/code].\n" "- [b]Uniform[/b] if all axes share the same length (see [method " "get_scale]).\n" "- [b]Orthonormal[/b] if it is both orthogonal and normalized, which allows " "it to only represent rotations (see [method orthonormalized]).\n" "- [b]Conformal[/b] if it is both orthogonal and uniform, which ensures it is " "not distorted.\n" "For a general introduction, see the [url=$DOCS_URL/tutorials/math/" "matrices_and_transforms.html]Matrices and transforms[/url] tutorial.\n" "[b]Note:[/b] Godot uses a [url=https://en.wikipedia.org/wiki/Right-" "hand_rule]right-handed coordinate system[/url], which is a common standard. " "For directions, the convention for built-in types like [Camera3D] is for -Z " "to point forward (+X is right, +Y is up, and +Z is back). Other objects may " "use different direction conventions. For more information, see the " "[url=$DOCS_URL/tutorials/assets_pipeline/importing_3d_scenes/" "model_export_considerations.html#d-asset-direction-conventions]3D asset " "direction conventions[/url] tutorial.\n" "[b]Note:[/b] The basis matrices are exposed as [url=https://" "www.mindcontrol.org/~hplus/graphics/matrix-layout.html]column-major[/url] " "order, which is the same as OpenGL. However, they are stored internally in " "row-major order, which is the same as DirectX." msgstr "" "[Basis] 內建的 [Variant] 型別是一個 3×3 [url=https://en.wikipedia.org/wiki/" "Matrix_(mathematics)]矩陣[/url],用來表示 3D 旋轉、縮放與斜切,常與 " "[Transform3D] 一起使用。\n" "[Basis] 由三個軸向量組成,分別為矩陣的三欄:[member x]、[member y] 與 " "[member z]。\n" "每個軸向量的長度([method Vector3.length])決定縮放,而軸向量的方向決定旋轉。" "通常三軸互相垂直;若單獨旋轉其中任一軸,基底便會產生斜切,套用在 3D 模型上就" "會出現失真。\n" "[Basis] 可能具備下列性質:\n" "- [b]正交(Orthogonal)[/b]:三軸互相垂直。\n" "- [b]正規化(Normalized)[/b]:每軸長度皆為 [code]1.0[/code]。\n" "- [b]等比例(Uniform)[/b]:三軸長度相同(參閱 [method get_scale])。\n" "- [b]正交正規(Orthonormal)[/b]:同時正交且正規化,只能表示旋轉(參閱 " "[method orthonormalized])。\n" "- [b]共形(Conformal)[/b]:同時正交且等比例,確保無失真。\n" "如需概念導讀,請參閱教學文件:[url=$DOCS_URL/tutorials/math/" "matrices_and_transforms.html]矩陣與變換[/url]。\n" "[b]注意:[/b] Godot 採用[url=https://en.wikipedia.org/wiki/Right-hand_rule]右" "手座標系[/url]。以內建元件 [Camera3D] 為例,-Z 代表向前、+X 向右、+Y 向上、" "+Z 向後。其他物件可能有不同方向慣例,詳見教學:[url=$DOCS_URL/tutorials/" "assets_pipeline/importing_3d_scenes/model_export_considerations.html#d-asset-" "direction-conventions]3D 資產方向慣例[/url]。\n" "[b]注意:[/b] 基矩陣在腳本層以 [url=https://www.mindcontrol.org/~hplus/" "graphics/matrix-layout.html]欄優先[/url](column-major)方式公開,與 OpenGL " "相同;內部則以列優先(row-major)存放,與 DirectX 相同。" #: doc/classes/Basis.xml doc/classes/Transform2D.xml #: doc/classes/Transform3D.xml msgid "Matrices and transforms" msgstr "矩陣與變換" #: doc/classes/Basis.xml doc/classes/Quaternion.xml doc/classes/Transform3D.xml msgid "Using 3D transforms" msgstr "使用 3D 變換" #: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform2D.xml #: doc/classes/Transform3D.xml doc/classes/Vector2.xml doc/classes/Vector3.xml msgid "Matrix Transform Demo" msgstr "矩陣變換示範" #: doc/classes/Basis.xml doc/classes/Line2D.xml doc/classes/Transform2D.xml #: doc/classes/Transform3D.xml msgid "2.5D Game Demo" msgstr "2.5D 遊戲示範" #: doc/classes/Basis.xml msgid "" "Constructs a [Basis] identical to [constant IDENTITY].\n" "[b]Note:[/b] In C#, this constructs a [Basis] with all of its components set " "to [constant Vector3.ZERO]." msgstr "" "建構一個與 [constant IDENTITY] 完全相同的 [Basis]。\n" "[b]注意:[/b] 在 C# 中,這會建構一個所有分量皆為 [constant Vector3.ZERO] 的 " "[Basis]。" #: doc/classes/Basis.xml msgid "Constructs a [Basis] as a copy of the given [Basis]." msgstr "建構指定 [Basis] 的複本。" #: doc/classes/Basis.xml msgid "" "Constructs a [Basis] that only represents rotation, rotated around the " "[param axis] by the given [param angle], in radians. The axis must be a " "normalized vector.\n" "[b]Note:[/b] This is the same as using [method rotated] on the [constant " "IDENTITY] basis. With more than one angle consider using [method " "from_euler], instead." msgstr "" "建構一個僅表示旋轉的 [Basis],其旋轉為:繞 [param axis] 轉動 [param angle] 弧" "度。 [param axis] 必須是正規化向量。\n" "[b]注意:[/b] 這等同於對 [constant IDENTITY] 呼叫 [method rotated]。若需同時" "指定多個軸向角度,請改用 [method from_euler]。" #: doc/classes/Basis.xml msgid "" "Constructs a [Basis] that only represents rotation from the given " "[Quaternion].\n" "[b]Note:[/b] Quaternions [i]only[/i] store rotation, not scale. Because of " "this, conversions from [Basis] to [Quaternion] cannot always be reversed." msgstr "" "根據指定的 [Quaternion] 建構一個僅表示旋轉的 [Basis]。\n" "[b]注意:[/b] 四元數 [i]只[/i] 儲存旋轉資訊,不含縮放,因此由 [Basis] 轉換為 " "[Quaternion] 後不一定能完整還原。" #: doc/classes/Basis.xml msgid "" "Constructs a [Basis] from 3 axis vectors. These are the columns of the basis " "matrix." msgstr "使用三個軸向量建構 [Basis];這三個向量即為矩陣的三個欄。" #: doc/classes/Basis.xml #, fuzzy msgid "" "Returns the [url=https://en.wikipedia.org/wiki/Determinant]determinant[/url] " "of this basis's matrix. For advanced math, this number can be used to " "determine a few attributes:\n" "- If the determinant is exactly [code]0.0[/code], the basis is not " "invertible (see [method inverse]).\n" "- If the determinant is a negative number, the basis represents a negative " "scale.\n" "[b]Note:[/b] If the basis's scale is the same for every axis, its " "determinant is always that scale by the power of 3." msgstr "" "傳回此基矩陣的[url=https://en.wikipedia.org/wiki/Determinant]行列式值" "(determinant)[/url]。該值可用於判斷下列性質:\n" "- 行列式若為 [code]0.0[/code],代表矩陣無法取逆(參閱 [method inverse])。\n" "- 行列式若為負,代表基底包含負縮放。\n" "[b]注意:[/b] 若三軸縮放相同,行列式必為「縮放值的二次方」。" #: doc/classes/Basis.xml msgid "" "Constructs a new [Basis] that only represents rotation from the given " "[Vector3] of [url=https://en.wikipedia.org/wiki/Euler_angles]Euler angles[/" "url], in radians.\n" "- The [member Vector3.x] should contain the angle around the [member x] axis " "(pitch);\n" "- The [member Vector3.y] should contain the angle around the [member y] axis " "(yaw);\n" "- The [member Vector3.z] should contain the angle around the [member z] axis " "(roll).\n" "[codeblocks]\n" "[gdscript]\n" "# Creates a Basis whose z axis points down.\n" "var my_basis = Basis.from_euler(Vector3(TAU / 4, 0, 0))\n" "\n" "print(my_basis.z) # Prints (0.0, -1.0, 0.0)\n" "[/gdscript]\n" "[csharp]\n" "// Creates a Basis whose z axis points down.\n" "var myBasis = Basis.FromEuler(new Vector3(Mathf.Tau / 4.0f, 0.0f, 0.0f));\n" "\n" "GD.Print(myBasis.Z); // Prints (0, -1, 0)\n" "[/csharp]\n" "[/codeblocks]\n" "The order of each consecutive rotation can be changed with [param order] " "(see [enum EulerOrder] constants). By default, the YXZ convention is used " "([constant EULER_ORDER_YXZ]): the basis rotates first around the Y axis " "(yaw), then X (pitch), and lastly Z (roll). When using the opposite method " "[method get_euler], this order is reversed." msgstr "" "以指定的 [Vector3] [url=https://en.wikipedia.org/wiki/Euler_angles]歐拉角[/" "url](弧度制)建立新的僅含旋轉之 [Basis]。\n" "- [member Vector3.x]:繞 X 軸(俯仰,pitch)角度。\n" "- [member Vector3.y]:繞 Y 軸(偏航,yaw)角度。\n" "- [member Vector3.z]:繞 Z 軸(翻滾,roll)角度。\n" "[codeblocks]\n" "[gdscript]\n" "# 建立一個 Z 軸朝下的 Basis。\n" "var my_basis = Basis.from_euler(Vector3(TAU / 4, 0, 0))\n" "print(my_basis.z) # 印出 (0.0, -1.0, 0.0)\n" "[/gdscript]\n" "[csharp]\n" "// 建立一個 Z 軸朝下的 Basis。\n" "var myBasis = Basis.FromEuler(new Vector3(Mathf.Tau / 4.0f, 0.0f, 0.0f));\n" "GD.Print(myBasis.Z); // 印出 (0, -1, 0)\n" "[/csharp]\n" "[/codeblocks]\n" "可透過 [param order](參閱 [enum EulerOrder])改變連續旋轉的順序。預設使用 " "YXZ 慣例([constant EULER_ORDER_YXZ]):先繞 Y(偏航),再繞 X(俯仰),最後" "繞 Z(翻滾)。與之相反的方法 [method get_euler] 會反向解析。" #: doc/classes/Basis.xml msgid "" "Constructs a new [Basis] that only represents scale, with no rotation or " "shear, from the given [param scale] vector.\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis.from_scale(Vector3(2, 4, 8))\n" "\n" "print(my_basis.x) # Prints (2.0, 0.0, 0.0)\n" "print(my_basis.y) # Prints (0.0, 4.0, 0.0)\n" "print(my_basis.z) # Prints (0.0, 0.0, 8.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = Basis.FromScale(new Vector3(2.0f, 4.0f, 8.0f));\n" "\n" "GD.Print(myBasis.X); // Prints (2, 0, 0)\n" "GD.Print(myBasis.Y); // Prints (0, 4, 0)\n" "GD.Print(myBasis.Z); // Prints (0, 0, 8)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] In linear algebra, the matrix of this basis is also known as a " "[url=https://en.wikipedia.org/wiki/Diagonal_matrix]diagonal matrix[/url]." msgstr "" "以指定的 [param scale] 向量建立新的 [Basis],僅含縮放,不含旋轉與斜切。\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis.from_scale(Vector3(2, 4, 8))\n" "print(my_basis.x) # 印出 (2.0, 0.0, 0.0)\n" "print(my_basis.y) # 印出 (0.0, 4.0, 0.0)\n" "print(my_basis.z) # 印出 (0.0, 0.0, 8.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = Basis.FromScale(new Vector3(2.0f, 4.0f, 8.0f));\n" "GD.Print(myBasis.X); // 印出 (2, 0, 0)\n" "GD.Print(myBasis.Y); // 印出 (0, 4, 0)\n" "GD.Print(myBasis.Z); // 印出 (0, 0, 8)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 線性代數中,該矩陣亦稱為[url=https://en.wikipedia.org/wiki/" "Diagonal_matrix]對角矩陣[/url]。" #: doc/classes/Basis.xml msgid "" "Returns this basis's rotation as a [Vector3] of [url=https://" "en.wikipedia.org/wiki/Euler_angles]Euler angles[/url], in radians. For the " "returned value:\n" "- The [member Vector3.x] contains the angle around the [member x] axis " "(pitch);\n" "- The [member Vector3.y] contains the angle around the [member y] axis " "(yaw);\n" "- The [member Vector3.z] contains the angle around the [member z] axis " "(roll).\n" "The order of each consecutive rotation can be changed with [param order] " "(see [enum EulerOrder] constants). By default, the YXZ convention is used " "([constant EULER_ORDER_YXZ]): Z (roll) is calculated first, then X (pitch), " "and lastly Y (yaw). When using the opposite method [method from_euler], this " "order is reversed.\n" "[b]Note:[/b] For this method to return correctly, the basis needs to be " "[i]orthonormal[/i] (see [method orthonormalized]).\n" "[b]Note:[/b] Euler angles are much more intuitive but are not suitable for " "3D math. Because of this, consider using the [method " "get_rotation_quaternion] method instead, which returns a [Quaternion].\n" "[b]Note:[/b] In the Inspector dock, a basis's rotation is often displayed in " "Euler angles (in degrees), as is the case with the [member Node3D.rotation] " "property." msgstr "" "以 [Vector3] 形式(弧度)回傳此基底的旋轉歐拉角:\n" "- [member Vector3.x]:繞 X 軸(俯仰,pitch)。\n" "- [member Vector3.y]:繞 Y 軸(偏航,yaw)。\n" "- [member Vector3.z]:繞 Z 軸(翻滾,roll)。\n" "可用 [param order](參閱 [enum EulerOrder])決定計算順序。預設為 YXZ 慣例" "([constant EULER_ORDER_YXZ]):先算 Z(roll),再算 X(pitch),最後算 Y" "(yaw)。與之相反的 [method from_euler] 解析時會反向。\n" "[b]注意:[/b] 要正確取得值,基底需先 [i]正交正規化[/i](參閱 [method " "orthonormalized])。\n" "[b]注意:[/b] 歐拉角直觀但不適合複雜 3D 運算,如需穩定運算建議改用 [method " "get_rotation_quaternion] 取得 [Quaternion]。\n" "[b]注意:[/b] 在檢視器面板中,如 [member Node3D.rotation],旋轉通常以度數歐拉" "角顯示。" #: doc/classes/Basis.xml msgid "" "Returns this basis's rotation as a [Quaternion].\n" "[b]Note:[/b] Quaternions are much more suitable for 3D math but are less " "intuitive. For user interfaces, consider using the [method get_euler] " "method, which returns Euler angles." msgstr "" "以 [Quaternion] 形式回傳此基底的旋轉。\n" "[b]注意:[/b] 四元數較適用於 3D 計算,但不直觀;若用於 UI 顯示,可改用 " "[method get_euler] 取得歐拉角。" #: doc/classes/Basis.xml msgid "" "Returns the length of each axis of this basis, as a [Vector3]. If the basis " "is not sheared, this value is the scaling factor. It is not affected by " "rotation.\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" "\tVector3(2, 0, 0),\n" "\tVector3(0, 4, 0),\n" "\tVector3(0, 0, 8)\n" ")\n" "# Rotating the Basis in any way preserves its scale.\n" "my_basis = my_basis.rotated(Vector3.UP, TAU / 2)\n" "my_basis = my_basis.rotated(Vector3.RIGHT, TAU / 4)\n" "\n" "print(my_basis.get_scale()) # Prints (2.0, 4.0, 8.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" "\tVector3(2.0f, 0.0f, 0.0f),\n" "\tVector3(0.0f, 4.0f, 0.0f),\n" "\tVector3(0.0f, 0.0f, 8.0f)\n" ");\n" "// Rotating the Basis in any way preserves its scale.\n" "myBasis = myBasis.Rotated(Vector3.Up, Mathf.Tau / 2.0f);\n" "myBasis = myBasis.Rotated(Vector3.Right, Mathf.Tau / 4.0f);\n" "\n" "GD.Print(myBasis.Scale); // Prints (2, 4, 8)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] If the value returned by [method determinant] is negative, the " "scale is also negative." msgstr "" "以 [Vector3] 回傳此基底各軸向量的長度。若基底無斜切,此值即為縮放倍率,並不受" "旋轉影響。\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" "\tVector3(2, 0, 0),\n" "\tVector3(0, 4, 0),\n" "\tVector3(0, 0, 8)\n" ")\n" "# 不論如何旋轉,縮放皆會保持。\n" "my_basis = my_basis.rotated(Vector3.UP, TAU / 2)\n" "my_basis = my_basis.rotated(Vector3.RIGHT, TAU / 4)\n" "print(my_basis.get_scale()) # 印出 (2.0, 4.0, 8.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" "\tnew Vector3(2.0f, 0.0f, 0.0f),\n" "\tnew Vector3(0.0f, 4.0f, 0.0f),\n" "\tnew Vector3(0.0f, 0.0f, 8.0f)\n" ");\n" "myBasis = myBasis.Rotated(Vector3.Up, Mathf.Tau / 2.0f);\n" "myBasis = myBasis.Rotated(Vector3.Right, Mathf.Tau / 4.0f);\n" "GD.Print(myBasis.Scale); // 印出 (2, 4, 8)\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 若 [method determinant] 為負,縮放亦為負值。" #: doc/classes/Basis.xml msgid "" "Returns the [url=https://en.wikipedia.org/wiki/Invertible_matrix]inverse of " "this basis's matrix[/url]." msgstr "" "傳回此基矩陣的[url=https://en.wikipedia.org/wiki/Invertible_matrix]逆矩陣[/" "url]。" #: doc/classes/Basis.xml msgid "" "Returns [code]true[/code] if this basis is conformal. A conformal basis is " "both [i]orthogonal[/i] (the axes are perpendicular to each other) and " "[i]uniform[/i] (the axes share the same length). This method can be " "especially useful during physics calculations." msgstr "" "若此基底為共形(同時 [i]正交[/i] 且 [i]等比例[/i]),則回傳 [code]true[/" "code]。在物理運算中檢查此性質特別實用。" #: doc/classes/Basis.xml msgid "" "Returns [code]true[/code] if this basis and [param b] are approximately " "equal, by calling [method @GlobalScope.is_equal_approx] on all vector " "components." msgstr "" "如果該基和 [param b] 近似相等,則返回 [code]true[/code],判斷方法是在每個向量" "分量上呼叫 [method @GlobalScope.is_equal_approx]。" #: doc/classes/Basis.xml msgid "" "Returns [code]true[/code] if this basis is finite, by calling [method " "@GlobalScope.is_finite] on all vector components." msgstr "" "如果該基是有限的,則返回 [code]true[/code],判斷方法是在每個向量分量上呼叫 " "[method @GlobalScope.is_finite]。" #: doc/classes/Basis.xml msgid "" "Creates a new [Basis] with a rotation such that the forward axis (-Z) points " "towards the [param target] position.\n" "By default, the -Z axis (camera forward) is treated as forward (implies +X " "is right). If [param use_model_front] is [code]true[/code], the +Z axis " "(asset front) is treated as forward (implies +X is left) and points toward " "the [param target] position.\n" "The up axis (+Y) points as close to the [param up] vector as possible while " "staying perpendicular to the forward axis. The returned basis is " "orthonormalized (see [method orthonormalized]).\n" "The [param target] and the [param up] cannot be [constant Vector3.ZERO], and " "shouldn't be colinear to avoid unintended rotation around local Z axis." msgstr "" "建立新的 [Basis],其旋轉使得前向軸 (-Z) 指向 [param target] 位置。\n" "預設情況下,-Z 為前向(攝影機前),+X 為右;若 [param use_model_front] 設為 " "[code]true[/code],則改以 +Z 為前向(模型前),+X 為左,並同樣指向 [param " "target]。\n" "上軸 (+Y) 會盡量貼近 [param up] 向量,同時保持與前向軸垂直。回傳的基底已進行 " "正交正規化(參閱 [method orthonormalized])。\n" "[param target] 與 [param up] 皆不得為 [constant Vector3.ZERO],且兩向量不應共" "線,否則可能導致繞本地 Z 軸的非預期旋轉。" #: doc/classes/Basis.xml msgid "" "Returns the orthonormalized version of this basis. An orthonormal basis is " "both [i]orthogonal[/i] (the axes are perpendicular to each other) and " "[i]normalized[/i] (the axes have a length of [code]1.0[/code]), which also " "means it can only represent a rotation.\n" "It is often useful to call this method to avoid rounding errors on a " "rotating basis:\n" "[codeblocks]\n" "[gdscript]\n" "# Rotate this Node3D every frame.\n" "func _process(delta):\n" "\tbasis = basis.rotated(Vector3.UP, TAU * delta)\n" "\tbasis = basis.rotated(Vector3.RIGHT, TAU * delta)\n" "\tbasis = basis.orthonormalized()\n" "[/gdscript]\n" "[csharp]\n" "// Rotate this Node3D every frame.\n" "public override void _Process(double delta)\n" "{\n" "\tBasis = Basis.Rotated(Vector3.Up, Mathf.Tau * (float)delta)\n" "\t\t\t.Rotated(Vector3.Right, Mathf.Tau * (float)delta)\n" "\t\t\t.Orthonormalized();\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳此基底的正交正規化版本。正交正規基底同時 [i]正交[/i](三軸互相垂直)且 " "[i]正規化[/i](每軸長度為 [code]1.0[/code]),因此只能表示純旋轉。\n" "在不斷旋轉的基底上,定期呼叫此方法可避免累積的浮點誤差:\n" "[codeblocks]\n" "[gdscript]\n" "# 每幀旋轉此 Node3D\n" "func _process(delta):\n" "\tbasis = basis.rotated(Vector3.UP, TAU * delta)\n" "\tbasis = basis.rotated(Vector3.RIGHT, TAU * delta)\n" "\tbasis = basis.orthonormalized()\n" "[/gdscript]\n" "[csharp]\n" "// 每幀旋轉此 Node3D\n" "public override void _Process(double delta)\n" "{\n" "\tBasis = Basis.Rotated(Vector3.Up, Mathf.Tau * (float)delta)\n" "\t\t\t.Rotated(Vector3.Right, Mathf.Tau * (float)delta)\n" "\t\t\t.Orthonormalized();\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Basis.xml msgid "" "Returns a copy of this basis rotated around the given [param axis] by the " "given [param angle] (in radians).\n" "The [param axis] must be a normalized vector (see [method " "Vector3.normalized]). If [param angle] is positive, the basis is rotated " "counter-clockwise around the axis.\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis.IDENTITY\n" "var angle = TAU / 2\n" "\n" "my_basis = my_basis.rotated(Vector3.UP, angle) # Rotate around the up " "axis (yaw).\n" "my_basis = my_basis.rotated(Vector3.RIGHT, angle) # Rotate around the right " "axis (pitch).\n" "my_basis = my_basis.rotated(Vector3.BACK, angle) # Rotate around the back " "axis (roll).\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = Basis.Identity;\n" "var angle = Mathf.Tau / 2.0f;\n" "\n" "myBasis = myBasis.Rotated(Vector3.Up, angle); // Rotate around the up " "axis (yaw).\n" "myBasis = myBasis.Rotated(Vector3.Right, angle); // Rotate around the right " "axis (pitch).\n" "myBasis = myBasis.Rotated(Vector3.Back, angle); // Rotate around the back " "axis (roll).\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳繞 [param axis] 旋轉 [param angle] 弧度後的基底副本。\n" "[param axis] 必須為正規化向量(參閱 [method Vector3.normalized])。若 [param " "angle] 為正,則以左手方向(逆時針)旋轉。\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis.IDENTITY\n" "var angle = TAU / 2\n" "my_basis = my_basis.rotated(Vector3.UP, angle) # 繞上軸(偏航)\n" "my_basis = my_basis.rotated(Vector3.RIGHT, angle) # 繞右軸(俯仰)\n" "my_basis = my_basis.rotated(Vector3.BACK, angle) # 繞後軸(翻滾)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = Basis.Identity;\n" "var angle = Mathf.Tau / 2.0f;\n" "myBasis = myBasis.Rotated(Vector3.Up, angle); // 繞上軸(偏航)\n" "myBasis = myBasis.Rotated(Vector3.Right, angle); // 繞右軸(俯仰)\n" "myBasis = myBasis.Rotated(Vector3.Back, angle); // 繞後軸(翻滾)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Basis.xml msgid "" "Returns this basis with each axis's components scaled by the given [param " "scale]'s components.\n" "The basis matrix's rows are multiplied by [param scale]'s components. This " "operation is a global scale (relative to the parent).\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" "\tVector3(1, 1, 1),\n" "\tVector3(2, 2, 2),\n" "\tVector3(3, 3, 3)\n" ")\n" "my_basis = my_basis.scaled(Vector3(0, 2, -2))\n" "\n" "print(my_basis.x) # Prints (0.0, 2.0, -2.0)\n" "print(my_basis.y) # Prints (0.0, 4.0, -4.0)\n" "print(my_basis.z) # Prints (0.0, 6.0, -6.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" "\tnew Vector3(1.0f, 1.0f, 1.0f),\n" "\tnew Vector3(2.0f, 2.0f, 2.0f),\n" "\tnew Vector3(3.0f, 3.0f, 3.0f)\n" ");\n" "myBasis = myBasis.Scaled(new Vector3(0.0f, 2.0f, -2.0f));\n" "\n" "GD.Print(myBasis.X); // Prints (0, 2, -2)\n" "GD.Print(myBasis.Y); // Prints (0, 4, -4)\n" "GD.Print(myBasis.Z); // Prints (0, 6, -6)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳將此基底各軸向量分量分別乘以 [param scale] 對應分量後的結果。\n" "矩陣的列會乘上 [param scale],此動作屬全域縮放(相對於父節點)。\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" "\tVector3(1, 1, 1),\n" "\tVector3(2, 2, 2),\n" "\tVector3(3, 3, 3)\n" ")\n" "my_basis = my_basis.scaled(Vector3(0, 2, -2))\n" "print(my_basis.x) # 印出 (0.0, 2.0, -2.0)\n" "print(my_basis.y) # 印出 (0.0, 4.0, -4.0)\n" "print(my_basis.z) # 印出 (0.0, 6.0, -6.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" "\tnew Vector3(1.0f, 1.0f, 1.0f),\n" "\tnew Vector3(2.0f, 2.0f, 2.0f),\n" "\tnew Vector3(3.0f, 3.0f, 3.0f)\n" ");\n" "myBasis = myBasis.Scaled(new Vector3(0.0f, 2.0f, -2.0f));\n" "GD.Print(myBasis.X); // 印出 (0, 2, -2)\n" "GD.Print(myBasis.Y); // 印出 (0, 4, -4)\n" "GD.Print(myBasis.Z); // 印出 (0, 6, -6)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Basis.xml #, fuzzy msgid "" "Returns this basis with each axis scaled by the corresponding component in " "the given [param scale].\n" "The basis matrix's columns are multiplied by [param scale]'s components. " "This operation is a local scale (relative to self).\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" " Vector3(1, 1, 1),\n" " Vector3(2, 2, 2),\n" " Vector3(3, 3, 3)\n" ")\n" "my_basis = my_basis.scaled_local(Vector3(0, 2, -2))\n" "\n" "print(my_basis.x) # Prints (0.0, 0.0, 0.0)\n" "print(my_basis.y) # Prints (4.0, 4.0, 4.0)\n" "print(my_basis.z) # Prints (-6.0, -6.0, -6.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" " new Vector3(1.0f, 1.0f, 1.0f),\n" " new Vector3(2.0f, 2.0f, 2.0f),\n" " new Vector3(3.0f, 3.0f, 3.0f)\n" ");\n" "myBasis = myBasis.ScaledLocal(new Vector3(0.0f, 2.0f, -2.0f));\n" "\n" "GD.Print(myBasis.X); // Prints (0, 0, 0)\n" "GD.Print(myBasis.Y); // Prints (4, 4, 4)\n" "GD.Print(myBasis.Z); // Prints (-6, -6, -6)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳將此基底各軸向量分量分別乘以 [param scale] 對應分量後的結果。\n" "矩陣的列會乘上 [param scale],此動作屬全域縮放(相對於父節點)。\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" "\tVector3(1, 1, 1),\n" "\tVector3(2, 2, 2),\n" "\tVector3(3, 3, 3)\n" ")\n" "my_basis = my_basis.scaled(Vector3(0, 2, -2))\n" "print(my_basis.x) # 印出 (0.0, 2.0, -2.0)\n" "print(my_basis.y) # 印出 (0.0, 4.0, -4.0)\n" "print(my_basis.z) # 印出 (0.0, 6.0, -6.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" "\tnew Vector3(1.0f, 1.0f, 1.0f),\n" "\tnew Vector3(2.0f, 2.0f, 2.0f),\n" "\tnew Vector3(3.0f, 3.0f, 3.0f)\n" ");\n" "myBasis = myBasis.Scaled(new Vector3(0.0f, 2.0f, -2.0f));\n" "GD.Print(myBasis.X); // 印出 (0, 2, -2)\n" "GD.Print(myBasis.Y); // 印出 (0, 4, -4)\n" "GD.Print(myBasis.Z); // 印出 (0, 6, -6)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Basis.xml msgid "" "Performs a spherical-linear interpolation with the [param to] basis, given a " "[param weight]. Both this basis and [param to] should represent a rotation.\n" "[b]Example:[/b] Smoothly rotate a [Node3D] to the target basis over time, " "with a [Tween]:\n" "[codeblock]\n" "var start_basis = Basis.IDENTITY\n" "var target_basis = Basis.IDENTITY.rotated(Vector3.UP, TAU / 2)\n" "\n" "func _ready():\n" "\tcreate_tween().tween_method(interpolate, 0.0, 1.0, " "5.0).set_trans(Tween.TRANS_EXPO)\n" "\n" "func interpolate(weight):\n" "\tbasis = start_basis.slerp(target_basis, weight)\n" "[/codeblock]" msgstr "" "以球面線性插值(SLERP)方式,依 [param weight] 在此基底與 [param to] 之間插" "值。兩者都應只表示旋轉。\n" "[b]範例:[/b] 使用 [Tween] 在一段時間內平滑地將 [Node3D] 旋轉到目標基底:\n" "[codeblock]\n" "var start_basis = Basis.IDENTITY\n" "var target_basis = Basis.IDENTITY.rotated(Vector3.UP, TAU / 2)\n" "\n" "func _ready():\n" "\tcreate_tween().tween_method(interpolate, 0.0, 1.0, " "5.0).set_trans(Tween.TRANS_EXPO)\n" "\n" "func interpolate(weight):\n" "\tbasis = start_basis.slerp(target_basis, weight)\n" "[/codeblock]" #: doc/classes/Basis.xml msgid "" "Returns the transposed dot product between [param with] and the [member x] " "axis (see [method transposed]).\n" "This is equivalent to [code]basis.x.dot(vector)[/code]." msgstr "" "回傳 [param with] 與 [member x] 軸之間的轉置點積(參閱 [method " "transposed])。\n" "等同於 [code]basis.x.dot(vector)[/code]。" #: doc/classes/Basis.xml msgid "" "Returns the transposed dot product between [param with] and the [member y] " "axis (see [method transposed]).\n" "This is equivalent to [code]basis.y.dot(vector)[/code]." msgstr "" "回傳 [param with] 與 [member y] 軸之間的轉置點積(參閱 [method " "transposed])。\n" "等同於 [code]basis.y.dot(vector)[/code]。" #: doc/classes/Basis.xml msgid "" "Returns the transposed dot product between [param with] and the [member z] " "axis (see [method transposed]).\n" "This is equivalent to [code]basis.z.dot(vector)[/code]." msgstr "" "回傳 [param with] 與 [member z] 軸之間的轉置點積(參閱 [method " "transposed])。\n" "等同於 [code]basis.z.dot(vector)[/code]。" #: doc/classes/Basis.xml msgid "" "Returns the transposed version of this basis. This turns the basis matrix's " "columns into rows, and its rows into columns.\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" "\tVector3(1, 2, 3),\n" "\tVector3(4, 5, 6),\n" "\tVector3(7, 8, 9)\n" ")\n" "my_basis = my_basis.transposed()\n" "\n" "print(my_basis.x) # Prints (1.0, 4.0, 7.0)\n" "print(my_basis.y) # Prints (2.0, 5.0, 8.0)\n" "print(my_basis.z) # Prints (3.0, 6.0, 9.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" "\tnew Vector3(1.0f, 2.0f, 3.0f),\n" "\tnew Vector3(4.0f, 5.0f, 6.0f),\n" "\tnew Vector3(7.0f, 8.0f, 9.0f)\n" ");\n" "myBasis = myBasis.Transposed();\n" "\n" "GD.Print(myBasis.X); // Prints (1, 4, 7)\n" "GD.Print(myBasis.Y); // Prints (2, 5, 8)\n" "GD.Print(myBasis.Z); // Prints (3, 6, 9)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "回傳此基底的轉置矩陣,將原本的欄轉為列、列轉為欄。\n" "[codeblocks]\n" "[gdscript]\n" "var my_basis = Basis(\n" "\tVector3(1, 2, 3),\n" "\tVector3(4, 5, 6),\n" "\tVector3(7, 8, 9)\n" ")\n" "my_basis = my_basis.transposed()\n" "print(my_basis.x) # 印出 (1.0, 4.0, 7.0)\n" "print(my_basis.y) # 印出 (2.0, 5.0, 8.0)\n" "print(my_basis.z) # 印出 (3.0, 6.0, 9.0)\n" "[/gdscript]\n" "[csharp]\n" "var myBasis = new Basis(\n" "\tnew Vector3(1.0f, 2.0f, 3.0f),\n" "\tnew Vector3(4.0f, 5.0f, 6.0f),\n" "\tnew Vector3(7.0f, 8.0f, 9.0f)\n" ");\n" "myBasis = myBasis.Transposed();\n" "GD.Print(myBasis.X); // 印出 (1, 4, 7)\n" "GD.Print(myBasis.Y); // 印出 (2, 5, 8)\n" "GD.Print(myBasis.Z); // 印出 (3, 6, 9)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Basis.xml msgid "" "The basis's X axis, and the column [code]0[/code] of the matrix.\n" "On the identity basis, this vector points right ([constant Vector3.RIGHT])." msgstr "" "基底的 X 軸暨矩陣第 [code]0[/code] 欄。\n" "在單位基底中,此向量指向右方([constant Vector3.RIGHT])。" #: doc/classes/Basis.xml msgid "" "The basis's Y axis, and the column [code]1[/code] of the matrix.\n" "On the identity basis, this vector points up ([constant Vector3.UP])." msgstr "" "基底的 Y 軸暨矩陣第 [code]1[/code] 欄。\n" "在單位基底中,此向量指向上方([constant Vector3.UP])。" #: doc/classes/Basis.xml msgid "" "The basis's Z axis, and the column [code]2[/code] of the matrix.\n" "On the identity basis, this vector points back ([constant Vector3.BACK])." msgstr "" "基底的 Z 軸暨矩陣第 [code]2[/code] 欄。\n" "在單位基底中,此向量指向後方([constant Vector3.BACK])。" #: doc/classes/Basis.xml msgid "" "The identity [Basis]. This is an orthonormal basis with no rotation, no " "shear, and a scale of [constant Vector3.ONE]. This also means that:\n" "- The [member x] points right ([constant Vector3.RIGHT]);\n" "- The [member y] points up ([constant Vector3.UP]);\n" "- The [member z] points back ([constant Vector3.BACK]).\n" "[codeblock]\n" "var basis = Basis.IDENTITY\n" "print(\"| X | Y | Z\")\n" "print(\"| %.f | %.f | %.f\" % [basis.x.x, basis.y.x, basis.z.x])\n" "print(\"| %.f | %.f | %.f\" % [basis.x.y, basis.y.y, basis.z.y])\n" "print(\"| %.f | %.f | %.f\" % [basis.x.z, basis.y.z, basis.z.z])\n" "# Prints:\n" "# | X | Y | Z\n" "# | 1 | 0 | 0\n" "# | 0 | 1 | 0\n" "# | 0 | 0 | 1\n" "[/codeblock]\n" "If a [Vector3] or another [Basis] is transformed (multiplied) by this " "constant, no transformation occurs.\n" "[b]Note:[/b] In GDScript, this constant is equivalent to creating a " "[constructor Basis] without any arguments. It can be used to make your code " "clearer, and for consistency with C#." msgstr "" "單位 [Basis]。此基底為正交正規,無旋轉、無斜切,縮放為 [constant " "Vector3.ONE]。因此:\n" "- [member x] 向右([constant Vector3.RIGHT])。\n" "- [member y] 向上([constant Vector3.UP])。\n" "- [member z] 向後([constant Vector3.BACK])。\n" "[codeblock]\n" "var basis = Basis.IDENTITY\n" "print(\"| X | Y | Z\")\n" "print(\"| %.f | %.f | %.f\" % [basis.x.x, basis.y.x, basis.z.x])\n" "print(\"| %.f | %.f | %.f\" % [basis.x.y, basis.y.y, basis.z.y])\n" "print(\"| %.f | %.f | %.f\" % [basis.x.z, basis.y.z, basis.z.z])\n" "# 印出:\n" "# | X | Y | Z\n" "# | 1 | 0 | 0\n" "# | 0 | 1 | 0\n" "# | 0 | 0 | 1\n" "[/codeblock]\n" "若將任何 [Vector3] 或 [Basis] 與此常數相乘,結果不會產生任何變換。\n" "[b]注意:[/b] 在 GDScript 中,此常數等同於不帶參數建構 [constructor Basis]," "可使程式碼更易讀,並與 C# 行為一致。" #: doc/classes/Basis.xml msgid "" "When any basis is multiplied by [constant FLIP_X], it negates all components " "of the [member x] axis (the X column).\n" "When [constant FLIP_X] is multiplied by any basis, it negates the [member " "Vector3.x] component of all axes (the X row)." msgstr "" "任意基底右乘 [constant FLIP_X] 時,會反轉 [member x] 軸(X 欄)的所有分量。\n" "[constant FLIP_X] 左乘任意基底時,會反轉所有軸的 [member Vector3.x] 分量(X " "列)。" #: doc/classes/Basis.xml msgid "" "When any basis is multiplied by [constant FLIP_Y], it negates all components " "of the [member y] axis (the Y column).\n" "When [constant FLIP_Y] is multiplied by any basis, it negates the [member " "Vector3.y] component of all axes (the Y row)." msgstr "" "任意基底右乘 [constant FLIP_Y] 時,會反轉 [member y] 軸(Y 欄)的所有分量。\n" "[constant FLIP_Y] 左乘任意基底時,會反轉所有軸的 [member Vector3.y] 分量(Y " "列)。" #: doc/classes/Basis.xml msgid "" "When any basis is multiplied by [constant FLIP_Z], it negates all components " "of the [member z] axis (the Z column).\n" "When [constant FLIP_Z] is multiplied by any basis, it negates the [member " "Vector3.z] component of all axes (the Z row)." msgstr "" "任意基底右乘 [constant FLIP_Z] 時,會反轉 [member z] 軸(Z 欄)的所有分量。\n" "[constant FLIP_Z] 左乘任意基底時,會反轉所有軸的 [member Vector3.z] 分量(Z " "列)。" #: doc/classes/Basis.xml msgid "" "Returns [code]true[/code] if the components of both [Basis] matrices are not " "equal.\n" "[b]Note:[/b] Due to floating-point precision errors, consider using [method " "is_equal_approx] instead, which is more reliable." msgstr "" "若兩個 [Basis] 矩陣的對應分量不相等,回傳 [code]true[/code]。\n" "[b]注意:[/b] 由於浮點精度誤差,建議改用 [method is_equal_approx] 進行比較以" "提升可靠性。" #: doc/classes/Basis.xml msgid "" "Transforms (multiplies) the [param right] basis by this basis.\n" "This is the operation performed between parent and child [Node3D]s." msgstr "" "將 [param right] 基底乘以此基底(右乘)。\n" "此運算與父子 [Node3D] 之間的變換相同。" #: doc/classes/Basis.xml msgid "" "Transforms (multiplies) the [param right] vector by this basis, returning a " "[Vector3].\n" "[codeblocks]\n" "[gdscript]\n" "# Basis that swaps the X/Z axes and doubles the scale.\n" "var my_basis = Basis(Vector3(0, 2, 0), Vector3(2, 0, 0), Vector3(0, 0, 2))\n" "print(my_basis * Vector3(1, 2, 3)) # Prints (4.0, 2.0, 6.0)\n" "[/gdscript]\n" "[csharp]\n" "// Basis that swaps the X/Z axes and doubles the scale.\n" "var myBasis = new Basis(new Vector3(0, 2, 0), new Vector3(2, 0, 0), new " "Vector3(0, 0, 2));\n" "GD.Print(myBasis * new Vector3(1, 2, 3)); // Prints (4, 2, 6)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "將向量 [param right] 乘以此基底並回傳 [Vector3] 結果。\n" "[codeblocks]\n" "[gdscript]\n" "# 可交換 X/Z 並將縮放加倍的 Basis\n" "var my_basis = Basis(Vector3(0, 2, 0), Vector3(2, 0, 0), Vector3(0, 0, 2))\n" "print(my_basis * Vector3(1, 2, 3)) # 印出 (4.0, 2.0, 6.0)\n" "[/gdscript]\n" "[csharp]\n" "// 可交換 X/Z 並將縮放加倍的 Basis\n" "var myBasis = new Basis(new Vector3(0, 2, 0), new Vector3(2, 0, 0), new " "Vector3(0, 0, 2));\n" "GD.Print(myBasis * new Vector3(1, 2, 3)); // 印出 (4, 2, 6)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Basis.xml msgid "" "Multiplies all components of the [Basis] by the given [float]. This affects " "the basis's scale uniformly, resizing all 3 axes by the [param right] value." msgstr "將此 [Basis] 所有分量乘以指定 [float],等比例改變三軸尺寸。" #: doc/classes/Basis.xml msgid "" "Multiplies all components of the [Basis] by the given [int]. This affects " "the basis's scale uniformly, resizing all 3 axes by the [param right] value." msgstr "將此 [Basis] 所有分量乘以指定 [int],等比例改變三軸尺寸。" #: doc/classes/Basis.xml msgid "" "Divides all components of the [Basis] by the given [float]. This affects the " "basis's scale uniformly, resizing all 3 axes by the [param right] value." msgstr "將此 [Basis] 所有分量除以指定 [float],等比例改變三軸尺寸。" #: doc/classes/Basis.xml msgid "" "Divides all components of the [Basis] by the given [int]. This affects the " "basis's scale uniformly, resizing all 3 axes by the [param right] value." msgstr "將此 [Basis] 所有分量除以指定 [int],等比例改變三軸尺寸。" #: doc/classes/Basis.xml msgid "" "Returns [code]true[/code] if the components of both [Basis] matrices are " "exactly equal.\n" "[b]Note:[/b] Due to floating-point precision errors, consider using [method " "is_equal_approx] instead, which is more reliable." msgstr "" "若兩個 [Basis] 矩陣的對應分量完全相同,回傳 [code]true[/code]。\n" "[b]注意:[/b] 由於浮點精度誤差,建議改用 [method is_equal_approx] 進行比較以" "提升可靠性。" #: doc/classes/Basis.xml msgid "" "Accesses each axis (column) of this basis by their index. Index [code]0[/" "code] is the same as [member x], index [code]1[/code] is the same as [member " "y], and index [code]2[/code] is the same as [member z].\n" "[b]Note:[/b] In C++, this operator accesses the rows of the basis matrix, " "[i]not[/i] the columns. For the same behavior as scripting languages, use " "the [code]set_column[/code] and [code]get_column[/code] methods." msgstr "" "透過索引存取此基底的各軸(欄)。索引 [code]0[/code] 等同 [member x]、" "[code]1[/code] 等同 [member y]、[code]2[/code] 等同 [member z]。\n" "[b]注意:[/b] 在 C++ 中,該運算子會存取矩陣的列,而[i]非[/i]欄;若要與腳本語" "言行為一致,請使用 [code]set_column[/code] 與 [code]get_column[/code]。" #: doc/classes/BitMap.xml msgid "Boolean matrix." msgstr "布林矩陣。" #: doc/classes/BitMap.xml msgid "" "A two-dimensional array of boolean values, can be used to efficiently store " "a binary matrix (every matrix element takes only one bit) and query the " "values using natural cartesian coordinates." msgstr "" "布林值二維陣列,可以用來高效儲存二進位矩陣(每個矩陣元素只占一個比特位),並" "使用自然的笛卡爾座標查詢數值。" #: doc/classes/BitMap.xml #, fuzzy msgid "" "Returns an image of the same size as the bitmap and with an [enum " "Image.Format] of type [constant Image.FORMAT_L8]. [code]true[/code] bits of " "the bitmap are being converted into white pixels, and [code]false[/code] " "bits into black." msgstr "" "返回與該點陣圖大小相同且具有 [constant Image.FORMAT_L8] 型別的 [enum " "Image.Format] 的圖像。該點陣圖中的 [code]true[/code] 位元被轉換為白色圖元," "[code]false[/code] 位元被轉換為黑色圖元。" #: doc/classes/BitMap.xml msgid "" "Creates a bitmap with the specified size, filled with [code]false[/code]." msgstr "建立一個指定尺寸的點陣圖,用 [code]false[/code] 填充。" #: doc/classes/BitMap.xml msgid "" "Creates a bitmap that matches the given image dimensions, every element of " "the bitmap is set to [code]false[/code] if the alpha value of the image at " "that position is equal to [param threshold] or less, and [code]true[/code] " "in other case." msgstr "" "建立一個配對給定圖像大小的點陣圖,如果該點陣圖的 Alpha 值等於或小於 [param " "threshold],則點陣圖的每個元素都被設定為 [code]false[/code];否則被設定為 " "[code]true[/code]。" #: doc/classes/BitMap.xml msgid "Returns bitmap's value at the specified position." msgstr "返回點陣圖在指定位置的值。" #: doc/classes/BitMap.xml msgid "Returns bitmap's dimensions." msgstr "返回點陣圖的尺寸。" #: doc/classes/BitMap.xml msgid "" "Returns the number of bitmap elements that are set to [code]true[/code]." msgstr "返回設定為 [code]true[/code] 的點陣圖元素的數量。" #: doc/classes/BitMap.xml msgid "" "Applies morphological dilation or erosion to the bitmap. If [param pixels] " "is positive, dilation is applied to the bitmap. If [param pixels] is " "negative, erosion is applied to the bitmap. [param rect] defines the area " "where the morphological operation is applied. Pixels located outside the " "[param rect] are unaffected by [method grow_mask]." msgstr "" "對點陣圖進行形態學膨脹或腐蝕操作。如果 [param pixels] 為正,則對點陣圖執行膨" "脹。如果 [param pixels] 為負,則對點陣圖執行腐蝕。[param rect] 定義進行形態學" "操作的區域。位於 [param rect]] 之外的圖元不會被 [method grow_mask] 影響。" #: doc/classes/BitMap.xml msgid "" "Creates an [Array] of polygons covering a rectangular portion of the bitmap. " "It uses a marching squares algorithm, followed by Ramer-Douglas-Peucker " "(RDP) reduction of the number of vertices. Each polygon is described as a " "[PackedVector2Array] of its vertices.\n" "To get polygons covering the whole bitmap, pass:\n" "[codeblock]\n" "Rect2(Vector2(), get_size())\n" "[/codeblock]\n" "[param epsilon] is passed to RDP to control how accurately the polygons " "cover the bitmap: a lower [param epsilon] corresponds to more points in the " "polygons." msgstr "" "建立一個多邊形 [Array],以覆蓋點陣圖的矩形部分。它使用行進方塊演算法,然後使" "用 Ramer-Douglas-Peucker(RDP)減少頂點數。每個多邊形都被描述為其頂點的 " "[PackedVector2Array]。\n" "要獲取覆蓋整個點陣圖的多邊形,請傳遞:\n" "[codeblock]\n" "Rect2(Vector2(), get_size())\n" "[/codeblock]\n" "[param epsilon] 被傳遞給 RDP,以控制多邊形覆蓋點陣圖的準確程度:[param " "epsilon] 越低,對應的多邊形中的點越多。" #: doc/classes/BitMap.xml msgid "Resizes the image to [param new_size]." msgstr "將該圖像的大小修改為 [param new_size]。" #: doc/classes/BitMap.xml msgid "" "Sets the bitmap's element at the specified position, to the specified value." msgstr "將點陣圖中指定位置的元素設定為指定值。" #: doc/classes/BitMap.xml msgid "Sets a rectangular portion of the bitmap to the specified value." msgstr "將點陣圖的矩形部分設定為指定值。" #: doc/classes/Bone2D.xml msgid "A joint used with [Skeleton2D] to control and animate other nodes." msgstr "與 [Skeleton2D] 一起使用的關節,能夠控制並動畫其他節點。" #: doc/classes/Bone2D.xml msgid "" "A hierarchy of [Bone2D]s can be bound to a [Skeleton2D] to control and " "animate other [Node2D] nodes.\n" "You can use [Bone2D] and [Skeleton2D] nodes to animate 2D meshes created " "with the [Polygon2D] UV editor.\n" "Each bone has a [member rest] transform that you can reset to with [method " "apply_rest]. These rest poses are relative to the bone's parent.\n" "If in the editor, you can set the rest pose of an entire skeleton using a " "menu option, from the code, you need to iterate over the bones to set their " "individual rest poses." msgstr "" "[Bone2D] 層級結構可以綁定到 [Skeleton2D] 上,控制並動畫其他 [Node2D] 節點。\n" "你可以使用 [Bone2D] 和 [Skeleton2D] 節點對使用 [Polygon2D] UV 編輯器建立的 " "2D 網格進行動畫。\n" "每個骨骼都有一個 [member rest] 變換,你可以用 [method apply_rest] 來重設到這" "個變換。這些放鬆姿勢是相對於骨骼的父節點而言的。\n" "如果在編輯器中,你可以使用功能表選項設定整個骨架的放鬆姿勢,從程式碼中,你需" "要遍曆骨骼來設定它們各自的放鬆姿勢。" #: doc/classes/Bone2D.xml #, fuzzy msgid "" "Resets the bone to the rest pose. This is equivalent to setting [member " "Node2D.transform] to [member rest]." msgstr "設定該實例的世界空間變換。相當於 [member Node3D.transform]。" #: doc/classes/Bone2D.xml msgid "" "Returns whether this [Bone2D] is going to autocalculate its length and bone " "angle using its first [Bone2D] child node, if one exists. If there are no " "[Bone2D] children, then it cannot autocalculate these values and will print " "a warning." msgstr "" "如果該 [Bone2D] 存在骨骼子節點,則返回是否要使用第一個 [Bone2D] 子節點自動計" "算其長度和骨骼角度。如果沒有 [Bone2D] 子節點,則無法自動計算這些值,會列印一" "條警告。" #: doc/classes/Bone2D.xml msgid "" "Returns the angle of the bone in the [Bone2D].\n" "[b]Note:[/b] This is different from the [Bone2D]'s rotation. The bone's " "angle is the rotation of the bone shown by the gizmo, which is unaffected by " "the [Bone2D]'s [member Node2D.transform]." msgstr "" "返回 [Bone2D] 中骨骼的角度。\n" "[b]注意:[/b]這與 [Bone2D] 的旋轉不同。骨骼角度是小工具顯示的骨骼旋轉,不受 " "[Bone2D] 的 [member Node2D.transform] 的影響。" #: doc/classes/Bone2D.xml msgid "" "Returns the node's index as part of the entire skeleton. See [Skeleton2D]." msgstr "返回節點在整個骨架中的索引號。見 [Skeleton2D]。" #: doc/classes/Bone2D.xml msgid "Returns the length of the bone in the [Bone2D] node." msgstr "返回 [Bone2D] 節點中骨骼的長度。" #: doc/classes/Bone2D.xml #, fuzzy msgid "" "Returns the node's [member rest] [Transform2D] if it doesn't have a parent, " "or its rest pose relative to its parent." msgstr "" "如果節點沒有父節點,返回節點的 [member rest] [code]Transform2D[/code],或者返" "回它相對於父節點的放鬆姿勢。" #: doc/classes/Bone2D.xml msgid "" "When set to [code]true[/code], the [Bone2D] node will attempt to " "automatically calculate the bone angle and length using the first child " "[Bone2D] node, if one exists. If none exist, the [Bone2D] cannot " "automatically calculate these values and will print a warning." msgstr "" "當設定為 [code]true[/code] 時,該 [Bone2D] 節點將嘗試使用第一個子 [Bone2D] 節" "點(如果存在)自動計算骨骼角度和長度。如果不存在子節點,[Bone2D] 將無法自動計" "算這些值,並將輸出一條警告。" #: doc/classes/Bone2D.xml msgid "" "Sets the bone angle for the [Bone2D]. This is typically set to the rotation " "from the [Bone2D] to a child [Bone2D] node.\n" "[b]Note:[/b] This is different from the [Bone2D]'s rotation. The bone's " "angle is the rotation of the bone shown by the gizmo, which is unaffected by " "the [Bone2D]'s [member Node2D.transform]." msgstr "" "設定 [Bone2D] 節點的骨骼角度。這通常設定為從 [Bone2D] 節點到子 [Bone2D] 節點" "的旋轉。\n" "[b]注意:[/b]這與 [Bone2D] 的旋轉不同。骨骼角度是 [Bone2D] 小工具顯示的骨骼旋" "轉,不受 [Bone2D] 的 [member Node2D.transform] 的影響。" #: doc/classes/Bone2D.xml msgid "Sets the length of the bone in the [Bone2D]." msgstr "設定該 [Bone2D] 中骨骼的長度。" #: doc/classes/Bone2D.xml msgid "" "Rest transform of the bone. You can reset the node's transforms to this " "value using [method apply_rest]." msgstr "" "骨骼的放鬆變換。你可以使用 [method apply_rest] 將節點的變換重設為這個值。" #: doc/classes/BoneAttachment3D.xml msgid "" "А node that dynamically copies or overrides the 3D transform of a bone in " "its parent [Skeleton3D]." msgstr "對父級 [Skeleton3D] 中某個骨骼的 3D 變換進行複製或覆蓋的節點。" #: doc/classes/BoneAttachment3D.xml msgid "" "This node selects a bone in a [Skeleton3D] and attaches to it. This means " "that the [BoneAttachment3D] node will either dynamically copy or override " "the 3D transform of the selected bone." msgstr "" "這個節點能夠選中 [Skeleton3D] 中的某個骨骼並附加到這個骨骼上。這樣 " "[BoneAttachment3D] 節點就能夠動態複製或覆蓋所選骨骼的 3D 變換。" #: doc/classes/BoneAttachment3D.xml #, fuzzy msgid "" "Returns the parent or external [Skeleton3D] node if it exists, otherwise " "returns [code]null[/code]." msgstr "" "若節點在樹內,則傳回最接近的 [Viewport] 上層節點;否則傳回 [code]null[/" "code]。" #: doc/classes/BoneAttachment3D.xml #, fuzzy msgid "" "A function that is called automatically when the [Skeleton3D] is updated. " "This function is where the [BoneAttachment3D] node updates its position so " "it is correctly bound when it is [i]not[/i] set to override the bone pose." msgstr "" "當該 BoneAttachment3D 節點正在使用的 [Skeleton3D] 中有骨骼已改變其姿勢時,自" "動呼叫的函式。該函式是 BoneAttachment3D 節點更新其位置的地方,以便在[i]未[/i]" "設定為覆蓋骨骼姿勢時正確綁定。" #: doc/classes/BoneAttachment3D.xml doc/classes/ModifierBoneTarget3D.xml #: doc/classes/SpringBoneCollision3D.xml msgid "The index of the attached bone." msgstr "所附著骨骼的索引。" #: doc/classes/BoneAttachment3D.xml doc/classes/ModifierBoneTarget3D.xml #: doc/classes/SpringBoneCollision3D.xml msgid "The name of the attached bone." msgstr "所附著骨骼的名稱。" #: doc/classes/BoneAttachment3D.xml #, fuzzy msgid "The [NodePath] to the external [Skeleton3D] node." msgstr "返回到外部 [Skeleton3D] 節點的 [NodePath](如果已設定)。" #: doc/classes/BoneAttachment3D.xml #, fuzzy msgid "" "Whether the [BoneAttachment3D] node will override the bone pose of the bone " "it is attached to. When set to [code]true[/code], the [BoneAttachment3D] " "node can change the pose of the bone. When set to [code]false[/code], the " "[BoneAttachment3D] will always be set to the bone's transform.\n" "[b]Note:[/b] This override performs interruptively in the skeleton update " "process using signals due to the old design. It may cause unintended " "behavior when used at the same time with [SkeletonModifier3D]." msgstr "" "BoneAttachment3D 節點是否將覆蓋它所附著到的骨骼的骨骼姿勢。當設定為 " "[code]true[/code] 時,BoneAttachment3D 節點可以改變骨骼的姿勢。當設定為 " "[code]false[/code] 時,BoneAttachment3D 將始終被設定為骨骼的變換。" #: doc/classes/BoneAttachment3D.xml #, fuzzy msgid "" "Whether the [BoneAttachment3D] node will use an external [Skeleton3D] node " "rather than attempting to use its parent node as the [Skeleton3D]. When set " "to [code]true[/code], the [BoneAttachment3D] node will use the external " "[Skeleton3D] node set in [member external_skeleton]." msgstr "" "設定該 BoneAttachment3D 節點是否將使用外部 [Skeleton3D] 節點,而不是嘗試使用" "其父節點作為 [Skeleton3D]。當設定為 [code]true[/code] 時,BoneAttachment3D 節" "點將使用 [method set_external_skeleton] 中設定的外部 [Skeleton3D] 節點。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "A node that may modify Skeleton3D's bone with associating the two bones." msgstr "到與此實例關聯的 [Skeleton3D] 的 [NodePath]。" #: doc/classes/BoneConstraint3D.xml msgid "" "Base class of [SkeletonModifier3D] that modifies the bone set in [method " "set_apply_bone] based on the transform of the bone retrieved by [method " "get_reference_bone]." msgstr "" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "Clear all settings." msgstr "清空所有分頁。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "Returns the apply amount of the setting at [param index]." msgstr "返回索引為 [param idx] 的訊號的名稱。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Returns the apply bone of the setting at [param index]. This bone will be " "modified." msgstr "返回位於 [param bone_idx] 的骨骼是否啟用了骨骼姿勢。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Returns the apply bone name of the setting at [param index]. This bone will " "be modified." msgstr "返回索引為 [param idx] 的訊號的名稱。" #: doc/classes/BoneConstraint3D.xml msgid "" "Returns the reference bone of the setting at [param index].\n" "This bone will be only referenced and not modified by this modifier." msgstr "" #: doc/classes/BoneConstraint3D.xml msgid "" "Returns the reference bone name of the setting at [param index].\n" "This bone will be only referenced and not modified by this modifier." msgstr "" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Returns the reference node path of the setting at [param index].\n" "This node will be only referenced and not modified by this modifier." msgstr "返回索引為 [param idx] 的訊號的名稱。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Returns the reference target type of the setting at [param index]. See also " "[enum ReferenceType]." msgstr "返回索引為 [param idx] 的訊號的名稱。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "Returns the number of settings in the modifier." msgstr "返回文字中的行數。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Sets the apply amount of the setting at [param index] to [param amount]." msgstr "將索引為 [param index] 的點的左側切線角度設定為 [param tangent]。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Sets the apply bone of the setting at [param index] to [param bone]. This " "bone will be modified." msgstr "" "將索引為 [param index] 的點的左側 [enum TangentMode] 設定為 [param mode]。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Sets the apply bone of the setting at [param index] to [param bone_name]. " "This bone will be modified." msgstr "將索引為 [param bus_idx] 的匯流排的名稱設為 [param name]。" #: doc/classes/BoneConstraint3D.xml msgid "" "Sets the reference bone of the setting at [param index] to [param bone].\n" "This bone will be only referenced and not modified by this modifier." msgstr "" #: doc/classes/BoneConstraint3D.xml msgid "" "Sets the reference bone of the setting at [param index] to [param " "bone_name].\n" "This bone will be only referenced and not modified by this modifier." msgstr "" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Sets the reference node path of the setting at [param index] to [param " "node].\n" "This node will be only referenced and not modified by this modifier." msgstr "" "將索引為 [param index] 的點的左側 [enum TangentMode] 設定為 [param mode]。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "" "Sets the reference target type of the setting at [param index] to [param " "type]. See also [enum ReferenceType]." msgstr "將索引為 [param index] 的點的左側切線角度設定為 [param tangent]。" #: doc/classes/BoneConstraint3D.xml #, fuzzy msgid "Sets the number of settings in the modifier." msgstr "返回該直線中的點的數量。" #: doc/classes/BoneConstraint3D.xml msgid "" "The reference target is a bone. In this case, the reference target spaces is " "local space." msgstr "" #: doc/classes/BoneConstraint3D.xml msgid "" "The reference target is a [Node3D]. In this case, the reference target " "spaces is model space.\n" "In other words, the reference target's coordinates are treated as if it were " "placed directly under [Skeleton3D] which parent of the [BoneConstraint3D]." msgstr "" #: doc/classes/BoneMap.xml msgid "" "Describes a mapping of bone names for retargeting [Skeleton3D] into common " "names defined by a [SkeletonProfile]." msgstr "" "描述骨骼名稱的對應,用於將 [Skeleton3D] 重定向至 [SkeletonProfile] 中定義的通" "用名稱。" #: doc/classes/BoneMap.xml msgid "" "This class contains a dictionary that uses a list of bone names in " "[SkeletonProfile] as key names.\n" "By assigning the actual [Skeleton3D] bone name as the key value, it maps the " "[Skeleton3D] to the [SkeletonProfile]." msgstr "" "這個類中有一個字典,使用 [SkeletonProfile] 中的骨骼名稱作為鍵名。\n" "將實際的 [Skeleton3D] 骨骼名稱賦為鍵值後,就會將 [Skeleton3D] 對應到 " "[SkeletonProfile]。" #: doc/classes/BoneMap.xml doc/classes/SkeletonProfile.xml #: doc/classes/SkeletonProfileHumanoid.xml msgid "Retargeting 3D Skeletons" msgstr "重定向 3D 骨架" #: doc/classes/BoneMap.xml msgid "" "Returns a profile bone name having [param skeleton_bone_name]. If not found, " "an empty [StringName] will be returned.\n" "In the retargeting process, the returned bone name is the bone name of the " "target skeleton." msgstr "" "返回具有 [param skeleton_bone_name] 的輪廓骨骼名稱。如果沒有找到,將返回一個" "空的 [StringName]。\n" "在重定向過程中,返回的骨骼名稱是目標骨架的骨骼名稱。" #: doc/classes/BoneMap.xml msgid "" "Returns a skeleton bone name is mapped to [param profile_bone_name].\n" "In the retargeting process, the returned bone name is the bone name of the " "source skeleton." msgstr "" "返回與配置中的某個骨骼名稱 [param profile_bone_name] 對應的骨架中的骨骼名" "稱。\n" "在重定向過程中,設定的骨骼名稱是源骨架中骨骼的名稱。" #: doc/classes/BoneMap.xml msgid "" "Maps a skeleton bone name to [param profile_bone_name].\n" "In the retargeting process, the setting bone name is the bone name of the " "source skeleton." msgstr "" "將骨架中的某個骨骼名稱對應到配置中的骨骼名稱 [param profile_bone_name]。\n" "在重定向過程中,設定的骨骼名稱是源骨架中骨骼的名稱。" #: doc/classes/BoneMap.xml msgid "" "A [SkeletonProfile] of the mapping target. Key names in the [BoneMap] are " "synchronized with it." msgstr "對應目標的 [SkeletonProfile]。[BoneMap] 中的鍵名與此同步。" #: doc/classes/BoneMap.xml msgid "" "This signal is emitted when change the key value in the [BoneMap]. This is " "used to validate mapping and to update [BoneMap] editor." msgstr "" "[BoneMap] 中的鍵值發生改變時發出此訊號。用於驗證對應和更新 [BoneMap] 編輯器。" #: doc/classes/BoneMap.xml msgid "" "This signal is emitted when change the value in profile or change the " "reference of profile. This is used to update key names in the [BoneMap] and " "to redraw the [BoneMap] editor." msgstr "" "配置中的值發生改變或配置的引用發生改變時發出此訊號。用於更新 [BoneMap] 中的鍵" "名、重繪 [BoneMap] 編輯器。" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "A node that propagates and disperses the child bone's twist to the parent " "bones." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "This [BoneTwistDisperser3D] allows for smooth twist interpolation between " "multiple bones by dispersing the end bone's twist to the parents. This only " "changes the twist without changing the global position of each joint.\n" "This is useful for smoothly twisting bones in combination with " "[CopyTransformModifier3D] and IK.\n" "[b]Note:[/b] If an extracted twist is greater than 180 degrees, flipping " "occurs. This is similar to [ConvertTransformModifier3D]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/IKModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Clears all settings." msgstr "清空所有分頁。" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Returns the damping curve when [method get_disperse_mode] is [constant " "DISPERSE_MODE_CUSTOM]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Returns whether to use automatic amount assignment or to allow manual " "assignment." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/LimitAngularVelocityModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Returns the end bone index of the bone chain." msgstr "返回碰撞的局部坐標系下的形狀索引。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "" "Returns the tail direction of the end bone of the bone chain when [method " "is_end_bone_extended] is [code]true[/code]." msgstr "返回索引為 [param bone_idx] 的骨骼的尾部方向。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/LimitAngularVelocityModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Returns the end bone name of the bone chain." msgstr "返回該訊號的名稱。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Returns the bone index at [param joint] in the bone chain's joint list." msgstr "返回位於 [param position] 的列索引,如果沒有專案則返回 -1。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Returns the bone name at [param joint] in the bone chain's joint list." msgstr "返回位於 [param position] 的列索引,如果沒有專案則返回 -1。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Returns the joint count of the bone chain's joint list." msgstr "返回給定視窗的模式。" #: doc/classes/BoneTwistDisperser3D.xml #, fuzzy msgid "" "Returns the twist amount at [param joint] in the bone chain's joint list " "when [method get_disperse_mode] is [constant DISPERSE_MODE_CUSTOM]." msgstr "返回 [param point] 在該平面中的正交投影。" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Returns the reference bone to extract twist of the setting at [param " "index].\n" "This bone is either the end of the chain or its parent, depending on [method " "is_end_bone_extended]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Returns the reference bone name to extract twist of the setting at [param " "index].\n" "This bone is either the end of the chain or its parent, depending on [method " "is_end_bone_extended]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/LimitAngularVelocityModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Returns the root bone index of the bone chain." msgstr "返回碰撞的局部坐標系下的形狀索引。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/LimitAngularVelocityModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Returns the root bone name of the bone chain." msgstr "返回該訊號的名稱。" #: doc/classes/BoneTwistDisperser3D.xml #, fuzzy msgid "" "Returns the rotation to an arbitrary state before twisting for the current " "bone pose to extract the twist when [method is_twist_from_rest] is " "[code]false[/code]." msgstr "返回索引為 [param bone_idx] 的骨骼的尾部方向。" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Returns the position at which to divide the segment between joints for " "weight assignment when [method get_disperse_mode] is [constant " "DISPERSE_MODE_WEIGHTED]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/SpringBoneSimulator3D.xml doc/classes/TwoBoneIK3D.xml #, fuzzy msgid "Returns [code]true[/code] if the end bone is extended to have a tail." msgstr "如果該 [int] 大於該 [float],則返回 [code]true[/code]。" #: doc/classes/BoneTwistDisperser3D.xml #, fuzzy msgid "" "Returns [code]true[/code] if extracting the twist amount from the difference " "between the bone rest and the current bone pose." msgstr "若指定的兩個動畫節點之間存在轉場,則返回 [code]true[/code]。" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Sets the damping curve when [method get_disperse_mode] is [constant " "DISPERSE_MODE_CUSTOM]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Sets whether to use automatic amount assignment or to allow manual " "assignment." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/LimitAngularVelocityModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Sets the end bone index of the bone chain." msgstr "獲取目前動作的索引。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "" "Sets the end bone tail direction of the bone chain when [method " "is_end_bone_extended] is [code]true[/code]." msgstr "" "當 [member position_smoothing_enabled] 為 [code]true[/code] 時,相機平滑效果" "的速度,單位為每秒圖元。" #: doc/classes/BoneTwistDisperser3D.xml #, fuzzy msgid "" "Sets the end bone name of the bone chain.\n" "[b]Note:[/b] The end bone must be a child of the root bone." msgstr "" "返回與給定的 [param control] 綁定的標籤的索引。該控制項必須為 [TabContainer] " "的子節點。" #: doc/classes/BoneTwistDisperser3D.xml #, fuzzy msgid "" "If [param enabled] is [code]true[/code], the end bone is extended to have a " "tail.\n" "If [param enabled] is [code]false[/code], [method get_reference_bone] " "becomes a parent of the end bone and it uses the vector to the end bone as a " "twist axis." msgstr "" "若將 [param enabled] 設為 [code]true[/code],即使用歐拉角來計算旋轉。\n" "若將 [param enabled] 設為 [code]false[/code],則改以由前向軸向量與指向參考的" "向量所形成的弧度來計算旋轉。" #: doc/classes/BoneTwistDisperser3D.xml #, fuzzy msgid "" "Sets the twist amount at [param joint] in the bone chain's joint list when " "[method get_disperse_mode] is [constant DISPERSE_MODE_CUSTOM]." msgstr "返回 [param point] 在該平面中的正交投影。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/LimitAngularVelocityModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Sets the root bone index of the bone chain." msgstr "獲取目前動作的索引。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/ChainIK3D.xml #: doc/classes/LimitAngularVelocityModifier3D.xml #: doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "Sets the root bone name of the bone chain." msgstr "設定該 Joint3D 的優先順序。" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Sets the rotation to an arbitrary state before twisting for the current bone " "pose to extract the twist when [method is_twist_from_rest] is [code]false[/" "code].\n" "In other words, by calling [method set_twist_from] by [signal " "SkeletonModifier3D.modification_processed] of a specific " "[SkeletonModifier3D], you can extract only the twists generated by modifiers " "processed after that but before this [BoneTwistDisperser3D]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "If [param enabled] is [code]true[/code], it extracts the twist amount from " "the difference between the bone rest and the current bone pose.\n" "If [param enabled] is [code]false[/code], it extracts the twist amount from " "the difference between [method get_twist_from] and the current bone pose. " "See also [method set_twist_from]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Sets the position at which to divide the segment between joints for weight " "assignment when [method get_disperse_mode] is [constant " "DISPERSE_MODE_WEIGHTED].\n" "For example, when [param weight_position] is [code]0.5[/code], if two bone " "segments with a length of [code]1.0[/code] exist between three joints, " "weights are assigned to each joint from root to end at ratios of [code]0.5[/" "code], [code]1.0[/code], and [code]0.5[/code]. Then amounts become " "[code]0.25[/code], [code]0.75[/code], and [code]1.0[/code] respectively." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml #, fuzzy msgid "" "If [code]true[/code], the solver retrieves the bone axis from the bone pose " "every frame.\n" "If [code]false[/code], the solver retrieves the bone axis from the bone rest " "and caches it." msgstr "" "如果為 [code]true[/code],所有分頁都會被繪製在面板之前。如果為 [code]false[/" "code],未啟動的分頁會被繪製在面板之後。" #: doc/classes/BoneTwistDisperser3D.xml doc/classes/IterateIK3D.xml #: doc/classes/SplineIK3D.xml doc/classes/SpringBoneSimulator3D.xml #: doc/classes/TwoBoneIK3D.xml #, fuzzy msgid "The number of settings." msgstr "列數。" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Assign amounts so that they monotonically increase from [code]0.0[/code] to " "[code]1.0[/code], ensuring all weights are equal. For example, with five " "joints, the amounts would be [code]0.2[/code], [code]0.4[/code], [code]0.6[/" "code], [code]0.8[/code], and [code]1.0[/code] starting from the root bone." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "Assign amounts so that they monotonically increase from [code]0.0[/code] to " "[code]1.0[/code], based on the length of the bones between joint segments. " "See also [method set_weight_position]." msgstr "" #: doc/classes/BoneTwistDisperser3D.xml msgid "" "You can assign arbitrary amounts to the joint list. See also [method " "set_joint_twist_amount].\n" "When [method is_end_bone_extended] is [code]false[/code], a child of the " "reference bone exists solely to determine the twist axis, so its custom " "amount has absolutely no effect at all." msgstr "" #: doc/classes/bool.xml msgid "A built-in boolean type." msgstr "內建布林型別。" #: doc/classes/bool.xml msgid "" "The [bool] is a built-in [Variant] type that may only store one of two " "values: [code]true[/code] or [code]false[/code]. You can imagine it as a " "switch that can be either turned on or off, or as a binary digit that can " "either be 1 or 0.\n" "Booleans can be directly used in [code]if[/code], and other conditional " "statements:\n" "[codeblocks]\n" "[gdscript]\n" "var can_shoot = true\n" "if can_shoot:\n" "\tlaunch_bullet()\n" "[/gdscript]\n" "[csharp]\n" "bool canShoot = true;\n" "if (canShoot)\n" "{\n" "\tLaunchBullet();\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "All comparison operators return booleans ([code]==[/code], [code]>[/code], " "[code]<=[/code], etc.). As such, it is not necessary to compare booleans " "themselves. You do not need to add [code]== true[/code] or [code]== false[/" "code].\n" "Booleans can be combined with the logical operators [code]and[/code], " "[code]or[/code], [code]not[/code] to create complex conditions:\n" "[codeblocks]\n" "[gdscript]\n" "if bullets > 0 and not is_reloading():\n" "\tlaunch_bullet()\n" "\n" "if bullets == 0 or is_reloading():\n" "\tplay_clack_sound()\n" "[/gdscript]\n" "[csharp]\n" "if (bullets > 0 && !IsReloading())\n" "{\n" "\tLaunchBullet();\n" "}\n" "\n" "if (bullets == 0 || IsReloading())\n" "{\n" "\tPlayClackSound();\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] In modern programming languages, logical operators are " "evaluated in order. All remaining conditions are skipped if their result " "would have no effect on the final value. This concept is known as " "[url=https://en.wikipedia.org/wiki/Short-circuit_evaluation]short-circuit " "evaluation[/url] and can be useful to avoid evaluating expensive conditions " "in some performance-critical cases.\n" "[b]Note:[/b] By convention, built-in methods and properties that return " "booleans are usually defined as yes-no questions, single adjectives, or " "similar ([method String.is_empty], [method Node.can_process], [member " "Camera2D.enabled], etc.)." msgstr "" "[bool] 是內建 [Variant] 型別,只能儲存兩個值之一:[code]true[/code] 或 " "[code]false[/code]你可以把它想像成一個可以打開或關閉的開關,或者是一個可以是1" "或0的二進制數字。\n" "布林值可以直接用在[code]if[/code]和其他條件敘述:\n" "[codeblocks]\n" "[gdscript]\n" "var can_shoot = true\n" "if can_shoot:\n" "\tlaunch_bullet()\n" "[/gdscript]\n" "[csharp]\n" "bool canShoot = true;\n" "if (canShoot)\n" "{\n" "\tLaunchBullet();\n" "}\n" "[/csharp]\n" "[/codeblocks]所有比較運算子都傳回布林值([code]==[/code]、[code]>[/code]、" "[code]<=[/code] 等) 。因此,沒有必要比較布林值本身。您不需要新增 [code]== " "true[/code] 或 [code]== false[/code]。\n" "布林值可以與邏輯運算子 [code]and[/code]、[code]or[/code]、[code]not[/code] 組" "合來建立複雜的條件:\n" "[codeblocks]\n" "[gdscript]\n" "if bullets > 0 and not is_reloading():\n" "\tlaunch_bullet()\n" "\n" "if bullets == 0 or is_reloading():\n" "\tplay_clack_sound()\n" "[/gdscript]\n" "[csharp]\n" "if (bullets > 0 && !IsReloading())\n" "{\n" "\tLaunchBullet();\n" "}\n" "\n" "if (bullets == 0 || IsReloading())\n" "{\n" "\tPlayClackSound();\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "[b]注意:[/b] 在現代程式語言中,邏輯運算子依序求值。如果剩餘條件的結果對最終" "值沒有影響,則將跳過所有剩餘條件。這個概念被稱為[url=https://" "en.wikipedia.org/wiki/Short-Circuit_evaluation]短路評估[/url],可用於避免在某" "些性能關鍵的情況下評估昂貴的條件。\n" "[b]注意:[/b] 依照慣例,傳回布林值的內建方法和屬性通常定義為是非問題、單一形" "容詞或類似的([method String.is_empty]、[method Node.can_process]、 [member " "Camera2D.enabled]等)。" #: doc/classes/bool.xml msgid "Constructs a [bool] set to [code]false[/code]." msgstr "建構設為 [code]0[/code] 的 [int]。" #: doc/classes/bool.xml msgid "Constructs a [bool] as a copy of the given [bool]." msgstr "建構給定 [bool] 的副本。" #: doc/classes/bool.xml msgid "" "Cast a [float] value to a boolean value. Returns [code]false[/code] if " "[param from] is equal to [code]0.0[/code] (including [code]-0.0[/code]), and " "[code]true[/code] for all other values (including [constant @GDScript.INF] " "and [constant @GDScript.NAN])." msgstr "" "將 [float] 值轉換為布林值。如果傳入 [code]0.0[/code],本方法將返回 " "[code]false[/code],傳入其他值則返回 [code]true[/code]。" #: doc/classes/bool.xml msgid "" "Cast an [int] value to a boolean value. Returns [code]false[/code] if [param " "from] is equal to [code]0[/code], and [code]true[/code] for all other values." msgstr "" "將 [int] 值轉換為布林值。如果傳入 [code]0[/code],本方法將返回 [code]false[/" "code],傳入其他值則返回 [code]true[/code]。" #: doc/classes/bool.xml msgid "" "Returns [code]true[/code] if the two booleans are not equal. That is, one is " "[code]true[/code] and the other is [code]false[/code]. This operation can be " "seen as a logical XOR." msgstr "" "如果兩個布林值不同,即一個是 [code]true[/code],另一個是 [code]false[/code]," "則返回 [code]true[/code]。" #: doc/classes/bool.xml msgid "" "Returns [code]true[/code] if the left operand is [code]false[/code] and the " "right operand is [code]true[/code]." msgstr "" "如果左運算元為 [code]false[/code] 且右運算元為 [code]true[/code],則返回 " "[code]true[/code]。" #: doc/classes/bool.xml msgid "" "Returns [code]true[/code] if the two booleans are equal. That is, both are " "[code]true[/code] or both are [code]false[/code]. This operation can be seen " "as a logical EQ or XNOR." msgstr "" "如果兩個布林值相等,即都為 [code]true[/code] 或都為 [code]false[/code],則返" "回 [code]true[/code]。" #: doc/classes/bool.xml msgid "" "Returns [code]true[/code] if the left operand is [code]true[/code] and the " "right operand is [code]false[/code]." msgstr "" "如果左運算元為 [code]true[/code] 且右運算元為 [code]false[/code],則返回 " "[code]true[/code]。" #: doc/classes/BoxContainer.xml msgid "" "A container that arranges its child controls horizontally or vertically." msgstr "將子控制項橫向或縱向排列的容器。" #: doc/classes/BoxContainer.xml msgid "" "A container that arranges its child controls horizontally or vertically, " "rearranging them automatically when their minimum size changes." msgstr "" "將子控制項橫向或縱向排列的容器,會在這些控制項的最小尺寸發生改變時自動重排。" #: doc/classes/BoxContainer.xml msgid "" "Adds a [Control] node to the box as a spacer. If [param begin] is " "[code]true[/code], it will insert the [Control] node in front of all other " "children." msgstr "" "新增 [Control] 節點作為間隔。如果 [param begin] 為 [code]true[/code],則會將" "該 [Control] 節點新增到所有其他節點之前。" #: doc/classes/BoxContainer.xml doc/classes/FlowContainer.xml msgid "" "The alignment of the container's children (must be one of [constant " "ALIGNMENT_BEGIN], [constant ALIGNMENT_CENTER], or [constant ALIGNMENT_END])." msgstr "" "該容器子節點的對齊方式(必須是 [constant ALIGNMENT_BEGIN]、[constant " "ALIGNMENT_CENTER]、[constant ALIGNMENT_END] 之一)。" #: doc/classes/BoxContainer.xml msgid "" "If [code]true[/code], the [BoxContainer] will arrange its children " "vertically, rather than horizontally.\n" "Can't be changed when using [HBoxContainer] and [VBoxContainer]." msgstr "" "如果為 [code]true[/code],則該 [BoxContainer] 會將子節點垂直排列,否則會水平" "排列。\n" "使用 [HBoxContainer] 和 [VBoxContainer] 時無法改變。" #: doc/classes/BoxContainer.xml doc/classes/FlowContainer.xml msgid "" "The child controls will be arranged at the beginning of the container, i.e. " "top if orientation is vertical, left if orientation is horizontal (right for " "RTL layout)." msgstr "" "子控制項會被排列在該容器的開頭,如果是垂直朝向則為頂部,如果是水平朝向則為左" "側(RTL 佈局時為右側)。" #: doc/classes/BoxContainer.xml doc/classes/FlowContainer.xml msgid "The child controls will be centered in the container." msgstr "子控制項會在該容器裡居中。" #: doc/classes/BoxContainer.xml doc/classes/FlowContainer.xml msgid "" "The child controls will be arranged at the end of the container, i.e. bottom " "if orientation is vertical, right if orientation is horizontal (left for RTL " "layout)." msgstr "" "子控制項會被排列在該容器的末尾,如果是垂直朝向則為底部,如果是水平朝向則為右" "側(RTL 佈局時為左側)。" #: doc/classes/BoxContainer.xml msgid "The space between the [BoxContainer]'s elements, in pixels." msgstr "[BoxContainer] 元素之間的距離,單位為圖元。" #: doc/classes/BoxMesh.xml msgid "Generate an axis-aligned box [PrimitiveMesh]." msgstr "生成軸對齊盒 [PrimitiveMesh]。" #: doc/classes/BoxMesh.xml msgid "" "Generate an axis-aligned box [PrimitiveMesh].\n" "The box's UV layout is arranged in a 3×2 layout that allows texturing each " "face individually. To apply the same texture on all faces, change the " "material's UV property to [code]Vector3(3, 2, 1)[/code]. This is equivalent " "to adding [code]UV *= vec2(3.0, 2.0)[/code] in a vertex shader.\n" "[b]Note:[/b] When using a large textured [BoxMesh] (e.g. as a floor), you " "may stumble upon UV jittering issues depending on the camera angle. To solve " "this, increase [member subdivide_depth], [member subdivide_height] and " "[member subdivide_width] until you no longer notice UV jittering." msgstr "" "生成軸對齊盒 [PrimitiveMesh]。\n" "這個盒子的 UV 佈局是以 3×2 的方式排列的,允許單獨對每個面進行貼圖。要在所有的" "面上套用相同的紋理,請將材質的 UV 屬性改為 [code]Vector3(3, 2, 1)[/code]。這" "樣做等價於在頂點著色器中新增 [code]UV *= vec2(3.0, 2.0)[/code]。\n" "[b]注意:[/b]當使用很大且有紋理的 [BoxMesh] 時(例如作為地板),你可能會發現 " "UV 偶爾抖動的問題,這取決於相機的角度。要解決此問題,請增加 [member " "subdivide_depth]、[member subdivide_height] 和 [member subdivide_width],直到" "你不再注意到 UV 抖動。" #: doc/classes/BoxMesh.xml doc/classes/BoxShape3D.xml #: modules/csg/doc_classes/CSGBox3D.xml msgid "The box's width, height and depth." msgstr "該盒子的寬度、高度和深度。" #: doc/classes/BoxMesh.xml msgid "Number of extra edge loops inserted along the Z axis." msgstr "沿 Z 軸插入的額外邊緣環的數量。" #: doc/classes/BoxMesh.xml msgid "Number of extra edge loops inserted along the Y axis." msgstr "沿 Y 軸插入的額外邊緣環的數量。" #: doc/classes/BoxMesh.xml msgid "Number of extra edge loops inserted along the X axis." msgstr "沿 X 軸插入的額外邊緣環的數量。" #: doc/classes/BoxOccluder3D.xml msgid "Cuboid shape for use with occlusion culling in [OccluderInstance3D]." msgstr "與 [OccluderInstance3D] 中的遮擋剔除一起使用的長方體形狀。" #: doc/classes/BoxOccluder3D.xml msgid "" "[BoxOccluder3D] stores a cuboid shape that can be used by the engine's " "occlusion culling system.\n" "See [OccluderInstance3D]'s documentation for instructions on setting up " "occlusion culling." msgstr "" "[BoxOccluder3D] 儲存一個長方體形狀,可供引擎的遮擋剔除系統使用。\n" "有關設定遮擋剔除的說明,請參閱 [OccluderInstance3D] 的文件。" #: doc/classes/BoxOccluder3D.xml msgid "The box's size in 3D units." msgstr "以 3D 單位表示的盒子大小。" #: doc/classes/BoxShape3D.xml msgid "A 3D box shape used for physics collision." msgstr "用於物理碰撞的 3D 盒形資源。" #: doc/classes/BoxShape3D.xml msgid "" "A 3D box shape, intended for use in physics. Usually used to provide a shape " "for a [CollisionShape3D].\n" "[b]Performance:[/b] [BoxShape3D] is fast to check collisions against. It is " "faster than [CapsuleShape3D] and [CylinderShape3D], but slower than " "[SphereShape3D]." msgstr "" "3D 盒子形狀,旨在用於物理學。通常用於為 [CollisionShape3D] 提供形狀。\n" "[b]性能:[/b][BoxShape3D] 可以快速偵測碰撞,比 [CapsuleShape3D] 和 " "[CylinderShape3D] 快,但比 [SphereShape3D] 慢。" #: doc/classes/BoxShape3D.xml doc/classes/CharacterBody3D.xml #: doc/classes/CollisionShape3D.xml modules/gridmap/doc_classes/GridMap.xml #: doc/classes/Mesh.xml doc/classes/MeshInstance3D.xml #: doc/classes/MeshLibrary.xml msgid "3D Kinematic Character Demo" msgstr "3D 動力學角色演示" #: doc/classes/Button.xml msgid "A themed button that can contain text and an icon." msgstr "按鈕,支援主題,能夠包含文字和圖示。" #: doc/classes/Button.xml #, fuzzy msgid "" "[Button] is the standard themed button. It can contain text and an icon, and " "it will display them according to the current [Theme].\n" "[b]Example:[/b] Create a button and connect a method that will be called " "when the button is pressed:\n" "[codeblocks]\n" "[gdscript]\n" "func _ready():\n" "\tvar button = Button.new()\n" "\tbutton.text = \"Click me\"\n" "\tbutton.pressed.connect(_button_pressed)\n" "\tadd_child(button)\n" "\n" "func _button_pressed():\n" "\tprint(\"Hello world!\")\n" "[/gdscript]\n" "[csharp]\n" "public override void _Ready()\n" "{\n" "\tvar button = new Button();\n" "\tbutton.Text = \"Click me\";\n" "\tbutton.Pressed += ButtonPressed;\n" "\tAddChild(button);\n" "}\n" "\n" "private void ButtonPressed()\n" "{\n" "\tGD.Print(\"Hello world!\");\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "See also [BaseButton] which contains common properties and methods " "associated with this node.\n" "[b]Note:[/b] Buttons do not detect touch input and therefore don't support " "multitouch, since mouse emulation can only press one button at a given time. " "Use [TouchScreenButton] for buttons that trigger gameplay movement or " "actions." msgstr "" "[Button] 是標準的主題按鈕,可以包含文字和圖示,顯示樣式會根據目前的 [Theme] " "改變。\n" "[b]範例:通過程式碼建立按鈕並指定在按下時的動作[/b]\n" "[codeblocks]\n" "[gdscript]\n" "func _ready():\n" "\tvar button = Button.new()\n" "\tbutton.text = \"Click me\"\n" "\tbutton.pressed.connect(self._button_pressed)\n" "\tadd_child(button)\n" "\n" "func _button_pressed():\n" "\tprint(\"Hello world!\")\n" "[/gdscript]\n" "[csharp]\n" "public override void _Ready()\n" "{\n" "\tvar button = new Button();\n" "\tbutton.Text = \"Click me\";\n" "\tbutton.Pressed += ButtonPressed;\n" "\tAddChild(button);\n" "}\n" "\n" "private void ButtonPressed()\n" "{\n" "\tGD.Print(\"Hello world!\");\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "另請參閱 [BaseButton],其中包含與此節點相關聯的通用屬性和方法。\n" "[b]注意:[/b]按鈕不處理觸摸輸入,因此不支援多點觸控,因為類比滑鼠在給定時間只" "能按下一個按鈕。請用 [TouchScreenButton] 製作觸發遊戲移動或動作的按鈕。" #: doc/classes/Button.xml doc/classes/Dictionary.xml #: doc/classes/GridContainer.xml doc/classes/OS.xml #: doc/classes/PackedStringArray.xml doc/classes/ProjectSettings.xml #: doc/classes/ResourceLoader.xml doc/classes/RichTextLabel.xml msgid "Operating System Testing Demo" msgstr "" #: doc/classes/Button.xml #, fuzzy msgid "Text alignment policy for the button's text." msgstr "該 [Button] 文字的字形大小。" #: doc/classes/Button.xml doc/classes/RichTextLabel.xml #, fuzzy msgid "" "If set to something other than [constant TextServer.AUTOWRAP_OFF], the text " "gets wrapped inside the node's bounding rectangle." msgstr "" "設定給定 [param column] 的自動換行模式。如果設定為 [constant " "TextServer.AUTOWRAP_OFF] 以外的值,則文字將在節點的邊界矩形內換行。" #: doc/classes/Button.xml doc/classes/Label.xml doc/classes/Label3D.xml #: doc/classes/RichTextLabel.xml msgid "" "Autowrap space trimming flags. See [constant " "TextServer.BREAK_TRIM_START_EDGE_SPACES] and [constant " "TextServer.BREAK_TRIM_END_EDGE_SPACES] for more info." msgstr "" #: doc/classes/Button.xml msgid "" "If [code]true[/code], text that is too large to fit the button is clipped " "horizontally. If [code]false[/code], the button will always be wide enough " "to hold the text. The text is not vertically clipped, and the button's " "height is not affected by this property." msgstr "" #: doc/classes/Button.xml msgid "" "When enabled, the button's icon will expand/shrink to fit the button's size " "while keeping its aspect. See also [theme_item icon_max_width]." msgstr "" "啟用後,將在保持按鈕圖示長寬比的前提下對該圖示進行擴充/收縮,從而適應按鈕的大" "小。另見 [theme_item icon_max_width]。" #: doc/classes/Button.xml msgid "Flat buttons don't display decoration." msgstr "平面按鈕不顯示裝飾。" #: doc/classes/Button.xml msgid "" "Button's icon, if text is present the icon will be placed before the text.\n" "To edit margin and spacing of the icon, use [theme_item h_separation] theme " "property and [code]content_margin_*[/code] properties of the used " "[StyleBox]es." msgstr "" "按鈕的圖示,如果文字存在,則圖示將被放置在文字之前。\n" "要編輯圖示的邊距和間距,請使用 [theme_item h_separation] 主題屬性,和所用 " "[StyleBox] 的 [code]content_margin_*[/code] 屬性。" #: doc/classes/Button.xml msgid "" "Specifies if the icon should be aligned horizontally to the left, right, or " "center of a button. Uses the same [enum HorizontalAlignment] constants as " "the text alignment. If centered horizontally and vertically, text will draw " "on top of the icon." msgstr "" "指定圖示在按鈕上水平對齊的方式應該為左對齊、右對齊還是居中對齊。請使用與文字" "對齊相同的 [enum HorizontalAlignment] 常數。如果水平居中並且垂直居中,則文字" "將被繪製在圖示之上。" #: doc/classes/Button.xml doc/classes/Label.xml doc/classes/Label3D.xml #: doc/classes/LineEdit.xml doc/classes/LinkButton.xml doc/classes/MenuBar.xml #: doc/classes/RichTextLabel.xml doc/classes/TextEdit.xml #: doc/classes/TextMesh.xml #, fuzzy msgid "" "Language code used for line-breaking and text shaping algorithms. If left " "empty, the current locale is used instead." msgstr "語言程式碼,用於斷行和文字塑形演算法,如果留空則使用目前區域設定。" #: doc/classes/Button.xml doc/classes/LinkButton.xml msgid "The button's text that will be displayed inside the button's area." msgstr "該按鈕的文字,將顯示在按鈕的區域內。" #: doc/classes/Button.xml doc/classes/Label.xml doc/classes/Label3D.xml #: doc/classes/LineEdit.xml doc/classes/LinkButton.xml doc/classes/MenuBar.xml #: doc/classes/RichTextLabel.xml doc/classes/TextEdit.xml #: doc/classes/TextMesh.xml msgid "Base text writing direction." msgstr "基礎文字書寫方向。" #: doc/classes/Button.xml doc/classes/LinkButton.xml #, fuzzy msgid "" "Sets the clipping behavior when the text exceeds the node's bounding " "rectangle." msgstr "" "設定文字超出專案的邊界矩形時的裁剪行為。所有模式的說明見 [enum " "TextServer.OverrunBehavior]。" #: doc/classes/Button.xml msgid "" "Specifies if the icon should be aligned vertically to the top, bottom, or " "center of a button. Uses the same [enum VerticalAlignment] constants as the " "text alignment. If centered horizontally and vertically, text will draw on " "top of the icon." msgstr "" "指定圖示在按鈕上垂直對齊的方式應該為頂端對齊、底部對齊還是居中對齊。請使用與" "文字對齊相同的 [enum VerticalAlignment] 常數。如果水平居中並且垂直居中,則文" "本將被繪製在圖示之上。" #: doc/classes/Button.xml msgid "Default text [Color] of the [Button]." msgstr "該 [Button] 的預設文字 [Color]。" #: doc/classes/Button.xml msgid "Text [Color] used when the [Button] is disabled." msgstr "該 [Button] 處於禁用狀態時,使用的文字 [Color]。" #: doc/classes/Button.xml msgid "" "Text [Color] used when the [Button] is focused. Only replaces the normal " "text color of the button. Disabled, hovered, and pressed states take " "precedence over this color." msgstr "" "該 [Button] 處於聚焦狀態時,使用的文字 [Color]。只替換該按鈕的正常文字顏色。" "禁用、懸停、按下狀態優先於這個顏色。" #: doc/classes/Button.xml msgid "Text [Color] used when the [Button] is being hovered." msgstr "該 [Button] 處於懸停狀態時,使用的文字 [Color]。" #: doc/classes/Button.xml msgid "Text [Color] used when the [Button] is being hovered and pressed." msgstr "該 [Button] 處於懸停並按下狀態時,使用的文字 [Color]。" #: doc/classes/Button.xml msgid "The tint of text outline of the [Button]." msgstr "該 [Button] 的文字輪廓的色調。" #: doc/classes/Button.xml msgid "Text [Color] used when the [Button] is being pressed." msgstr "該 [Button] 處於按下狀態時,使用的文字 [Color] 。" #: doc/classes/Button.xml msgid "Icon modulate [Color] used when the [Button] is disabled." msgstr "該 [Button] 處於禁用狀態時,使用的圖示調變 [Color]。" #: doc/classes/Button.xml msgid "" "Icon modulate [Color] used when the [Button] is focused. Only replaces the " "normal modulate color of the button. Disabled, hovered, and pressed states " "take precedence over this color." msgstr "" "該 [Button] 處於聚焦狀態時,使用的圖示調變 [Color]。僅替換該按鈕的正常調變顏" "色。禁用、懸停和按下狀態優先於這個顏色。" #: doc/classes/Button.xml msgid "Icon modulate [Color] used when the [Button] is being hovered." msgstr "該 [Button] 處於懸停狀態時,使用的圖示調變[Color]。" #: doc/classes/Button.xml msgid "" "Icon modulate [Color] used when the [Button] is being hovered and pressed." msgstr "該 [Button] 處於懸停並按下按下狀態時,使用的圖示調變 [Color]。" #: doc/classes/Button.xml msgid "Default icon modulate [Color] of the [Button]." msgstr "該 [Button] 的預設圖示調變 [Color]。" #: doc/classes/Button.xml msgid "Icon modulate [Color] used when the [Button] is being pressed." msgstr "該 [Button] 處於按下狀態時,使用的圖示調變 [Color]。" #: doc/classes/Button.xml msgid "" "This constant acts as a boolean. If [code]true[/code], the minimum size of " "the button and text/icon alignment is always based on the largest stylebox " "margins, otherwise it's based on the current button state stylebox margins." msgstr "" #: doc/classes/Button.xml msgid "" "The horizontal space between [Button]'s icon and text. Negative values will " "be treated as [code]0[/code] when used." msgstr "" "[Button] 的圖示和文字之間的水平間距。使用時會將負值當作 [code]0[/code]。" #: doc/classes/Button.xml #, fuzzy msgid "" "The maximum allowed width of the [Button]'s icon. This limit is applied on " "top of the default size of the icon, or its expanded size if [member " "expand_icon] is [code]true[/code]. The height is adjusted according to the " "icon's ratio. If the button has additional icons (e.g. [CheckBox]), they " "will also be limited." msgstr "" "[Button] 圖示的最大允許寬度。如果 [member expand_icon] 為 [code]true[/code]," "則該限制適用於圖示的預設大小或擴充大小。高度將根據圖示的比例進行調整。" #: doc/classes/Button.xml doc/classes/Label.xml doc/classes/Label3D.xml #: doc/classes/LabelSettings.xml doc/classes/RichTextLabel.xml #: doc/classes/TextEdit.xml doc/classes/TextMesh.xml #: doc/classes/TextParagraph.xml msgid "" "Additional vertical spacing between lines (in pixels), spacing is added to " "line descent. This value can be negative." msgstr "" #: doc/classes/Button.xml doc/classes/LineEdit.xml doc/classes/LinkButton.xml #: doc/classes/MenuBar.xml doc/classes/ProgressBar.xml #: doc/classes/RichTextLabel.xml doc/classes/TextEdit.xml doc/classes/Tree.xml msgid "" "The size of the text outline.\n" "[b]Note:[/b] If using a font with [member " "FontFile.multichannel_signed_distance_field] enabled, its [member " "FontFile.msdf_pixel_range] must be set to at least [i]twice[/i] the value of " "[theme_item outline_size] for outline rendering to look correct. Otherwise, " "the outline may appear to be cut off earlier than intended." msgstr "" "文字輪廓的大小。\n" "[b]注意:[/b]如果使用啟用了 [member " "FontFile.multichannel_signed_distance_field] 的字形,其 [member " "FontFile.msdf_pixel_range] 必須至少設定為 [theme_item outline_size] 的[i]兩倍" "[/i],輪廓算繪才能看起來正確。否則,輪廓可能會比預期的更早被切斷。" #: doc/classes/Button.xml msgid "[Font] of the [Button]'s text." msgstr "該 [Button] 文字的 [Font]。" #: doc/classes/Button.xml msgid "Font size of the [Button]'s text." msgstr "該 [Button] 文字的字形大小。" #: doc/classes/Button.xml msgid "" "Default icon for the [Button]. Appears only if [member icon] is not assigned." msgstr "" #: doc/classes/Button.xml msgid "[StyleBox] used when the [Button] is disabled." msgstr "該 [Button] 處於禁用狀態時使用的 [StyleBox]。" #: doc/classes/Button.xml msgid "" "[StyleBox] used when the [Button] is disabled (for right-to-left layouts)." msgstr "" "該 [OptionButton] 處於禁用狀態時使用的 [StyleBox](用於從右至左佈局)。" #: doc/classes/Button.xml #, fuzzy msgid "" "[StyleBox] used when the [Button] is focused. The [theme_item focus] " "[StyleBox] is displayed [i]over[/i] the base [StyleBox], so a partially " "transparent [StyleBox] should be used to ensure the base [StyleBox] remains " "visible. A [StyleBox] that represents an outline or an underline works well " "for this purpose. To disable the focus visual effect, assign a " "[StyleBoxEmpty] resource. Note that disabling the focus visual effect will " "harm keyboard/controller navigation usability, so this is not recommended " "for accessibility reasons." msgstr "" "該 [Button] 處於聚焦狀態時使用的 [StyleBox]。[code]focus[/code] [StyleBox] 顯" "示在基礎 [StyleBox] [i]之上[/i],所以應該使用部分透明的 [StyleBox],確保基礎 " "[StyleBox] 仍然可見。代表輪廓或底線的 [StyleBox] 可以很好地實作這個目的。要禁" "用聚焦的視覺效果,請指定 [StyleBoxEmpty] 資源。請注意,禁用聚焦的視覺效果會影" "響使用鍵盤/手柄進行導覽的可用性,所以出於可存取性的原因,不建議這樣做。" #: doc/classes/Button.xml msgid "[StyleBox] used when the [Button] is being hovered." msgstr "該 [Button] 處於懸停狀態時使用的 [StyleBox]。" #: doc/classes/Button.xml msgid "" "[StyleBox] used when the [Button] is being hovered (for right-to-left " "layouts)." msgstr "" "該 [OptionButton] 處於懸停狀態時使用的 [StyleBox](用於從右至左佈局)。" #: doc/classes/Button.xml msgid "" "[StyleBox] used when the [Button] is being pressed and hovered at the same " "time." msgstr "該 [Button] 處於按下狀態時使用的 [StyleBox]。" #: doc/classes/Button.xml msgid "" "[StyleBox] used when the [Button] is being pressed and hovered at the same " "time (for right-to-left layouts)." msgstr "" "該 [OptionButton] 處於按下狀態時使用的 [StyleBox](用於從右至左佈局)。" #: doc/classes/Button.xml msgid "Default [StyleBox] for the [Button]." msgstr "該 [Button] 的預設 [StyleBox]。" #: doc/classes/Button.xml msgid "Default [StyleBox] for the [Button] (for right-to-left layouts)." msgstr "該 [OptionButton] 的預設 [StyleBox](用於從右至左佈局)。" #: doc/classes/Button.xml msgid "[StyleBox] used when the [Button] is being pressed." msgstr "該 [Button] 處於按下狀態時使用的 [StyleBox]。" #: doc/classes/Button.xml msgid "" "[StyleBox] used when the [Button] is being pressed (for right-to-left " "layouts)." msgstr "" "該 [OptionButton] 處於按下狀態時使用的 [StyleBox](用於從右至左佈局)。" #: doc/classes/ButtonGroup.xml msgid "" "A group of buttons that doesn't allow more than one button to be pressed at " "a time." msgstr "不允許同時按下多個按鈕的按鈕的一個群組。" #: doc/classes/ButtonGroup.xml msgid "" "A group of [BaseButton]-derived buttons. The buttons in a [ButtonGroup] are " "treated like radio buttons: No more than one button can be pressed at a " "time. Some types of buttons (such as [CheckBox]) may have a special " "appearance in this state.\n" "Every member of a [ButtonGroup] should have [member BaseButton.toggle_mode] " "set to [code]true[/code]." msgstr "" "[BaseButton] 衍生按鈕的群組。[ButtonGroup] 中的按鈕被視為選項按鈕:同一時間最" "多只能按下一個按鈕。某些型別的按鈕(例如 [CheckBox])在該狀態下可能會有特殊的" "外觀。\n" "[ButtonGroup] 的每個成員都應該將 [member BaseButton.toggle_mode] 設定為 " "[code]true[/code]。" #: doc/classes/ButtonGroup.xml msgid "" "Returns an [Array] of [Button]s who have this as their [ButtonGroup] (see " "[member BaseButton.button_group])." msgstr "" "返回元素型別為 [Button] 的 [Array],這些 [Button] 將其作為 [ButtonGroup](見 " "[member BaseButton.button_group])。" #: doc/classes/ButtonGroup.xml msgid "Returns the current pressed button." msgstr "返回目前按下的按鈕。" #: doc/classes/ButtonGroup.xml msgid "" "If [code]true[/code], it is possible to unpress all buttons in this " "[ButtonGroup]." msgstr "" "如果為 [code]true[/code],則可以取消按下該 [ButtonGroup] 中的所有按鈕。" #: doc/classes/ButtonGroup.xml msgid "Emitted when one of the buttons of the group is pressed." msgstr "當該組中的某個按鈕被按下時發出。" #: doc/classes/Callable.xml msgid "A built-in type representing a method or a standalone function." msgstr "代表一個方法或一個獨立函式的內建型別。" #: doc/classes/Callable.xml #, fuzzy msgid "" "[Callable] is a built-in [Variant] type that represents a function. It can " "either be a method within an [Object] instance, or a custom callable used " "for different purposes (see [method is_custom]). Like all [Variant] types, " "it can be stored in variables and passed to other functions. It is most " "commonly used for signal callbacks.\n" "[codeblocks]\n" "[gdscript]\n" "func print_args(arg1, arg2, arg3 = \"\"):\n" "\tprints(arg1, arg2, arg3)\n" "\n" "func test():\n" "\tvar callable = Callable(self, \"print_args\")\n" "\tcallable.call(\"hello\", \"world\") # Prints \"hello world \".\n" "\tcallable.call(Vector2.UP, 42, callable) # Prints \"(0.0, -1.0) 42 " "Node(node.gd)::print_args\"\n" "\tcallable.call(\"invalid\") # Invalid call, should have at least 2 " "arguments.\n" "[/gdscript]\n" "[csharp]\n" "// Default parameter values are not supported.\n" "public void PrintArgs(Variant arg1, Variant arg2, Variant arg3 = default)\n" "{\n" "\tGD.PrintS(arg1, arg2, arg3);\n" "}\n" "\n" "public void Test()\n" "{\n" "\t// Invalid calls fail silently.\n" "\tCallable callable = new Callable(this, MethodName.PrintArgs);\n" "\tcallable.Call(\"hello\", \"world\"); // Default parameter values are not " "supported, should have 3 arguments.\n" "\tcallable.Call(Vector2.Up, 42, callable); // Prints \"(0, -1) 42 " "Node(Node.cs)::PrintArgs\"\n" "\tcallable.Call(\"invalid\"); // Invalid call, should have 3 arguments.\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "In GDScript, it's possible to create lambda functions within a method. " "Lambda functions are custom callables that are not associated with an " "[Object] instance. Optionally, lambda functions can also be named. The name " "will be displayed in the debugger, or when calling [method get_method].\n" "[codeblock]\n" "func _init():\n" "\tvar my_lambda = func (message):\n" "\t\tprint(message)\n" "\n" "\t# Prints \"Hello everyone!\"\n" "\tmy_lambda.call(\"Hello everyone!\")\n" "\n" "\t# Prints \"Attack!\", when the button_pressed signal is emitted.\n" "\tbutton_pressed.connect(func(): print(\"Attack!\"))\n" "[/codeblock]\n" "In GDScript, you can access methods and global functions as [Callable]s:\n" "[codeblock]\n" "tween.tween_callback(node.queue_free) # Object methods.\n" "tween.tween_callback(array.clear) # Methods of built-in types.\n" "tween.tween_callback(print.bind(\"Test\")) # Global functions.\n" "[/codeblock]\n" "[b]Note:[/b] [Dictionary] does not support the above due to ambiguity with " "keys.\n" "[codeblock]\n" "var dictionary = { \"hello\": \"world\" }\n" "\n" "# This will not work, `clear` is treated as a key.\n" "tween.tween_callback(dictionary.clear)\n" "\n" "# This will work.\n" "tween.tween_callback(Callable.create(dictionary, \"clear\"))\n" "[/codeblock]" msgstr "" "可呼叫體 [Callable] 是內建的 [Variant] 型別,代表某個函式。可以是 [Object] 實" "例中的某個方法,也可以是與物件無關的獨立函式,比如 lambda 函式。和所有 " "[Variant] 型別一樣可以保存在變數裡,傳遞給其他函式。最常用於訊號回呼函式。\n" "[b]範例:[/b]\n" "[codeblocks]\n" "[gdscript]\n" "func print_args(arg1, arg2, arg3 = \"\"):\n" "\tprints(arg1, arg2, arg3)\n" "\n" "func test():\n" "\tvar callable = Callable(self, \"print_args\")\n" "\tcallable.call(\"hello\", \"world\") # 輸出 \"hello world \".\n" "\tcallable.call(Vector2.UP, 42, callable) # 輸出 \"(0, -1) 42 " "Node(node.gd)::print_args\".\n" "\tcallable.call(\"invalid\") # 無效呼叫,應當至少有 2 個參數。\n" "[/gdscript]\n" "[csharp]\n" "// 不支援參數預設值。\n" "public void PrintArgs(Variant arg1, Variant arg2, Variant arg3 = default)\n" "{\n" "\tGD.PrintS(arg1, arg2, arg3);\n" "}\n" "\n" "public void Test()\n" "{\n" "\t// Invalid calls fail silently.\n" "\tCallable callable = new Callable(this, MethodName.PrintArgs);\n" "\tcallable.Call(\"hello\", \"world\"); // 不支援參數預設值,應當有 3 個參" "數。\n" "\tcallable.Call(Vector2.Up, 42, callable); // 輸出 \"(0, -1) 42 " "Node(Node.cs)::PrintArgs\".\n" "\tcallable.Call(\"invalid\"); // 無效呼叫,應當有 3 個參數。\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "GDScript 中可以在方法裡建立 lambda 函式。Lambda 函式是自訂的可呼叫體,不與 " "[Object] 實例關聯。也可以為 Lambda 函式命名。該名稱會顯示在除錯器中,也會在 " "[method get_method] 中使用。\n" "[codeblock]\n" "func _init():\n" "\tvar my_lambda = func (message):\n" "\t\tprint(message)\n" "\n" "\t# 輸出 大家好呀!\n" "\tmy_lambda.call(\"大家好呀!\")\n" "\n" "\t# 發出 button_pressed 訊號時輸出 \"全軍出擊!\"。\n" "\tbutton_pressed.connect(func(): print(\"全軍出擊!\"))\n" "[/codeblock]\n" "[b]注意:[/b][Signal]、[Array]、[Dictionary] 等原生型別的方法不是 [Callable] " "型別,這是為了避免不必要的開銷。如果你需要將這些方法作為 [Callable] 傳遞,請" "使用 Lambda 函式進行封裝。\n" "[codeblock]\n" "func _init():\n" "\tvar my_dictionary = { \"hello\": \"world\" }\n" "\n" "\t# 不可行,因為`clear` 不是可呼叫體。\n" "\tcreate_tween().tween_callback(my_dictionary.clear)\n" "\n" "\t# 可行,因為 Lambda 是自訂可呼叫體。\n" "\tcreate_tween().tween_callback(func(): my_dictionary.clear())\n" "[/codeblock]" #: doc/classes/Callable.xml msgid "Constructs an empty [Callable], with no object nor method bound." msgstr "建構空的 [Callable],沒有綁定物件和方法。" #: doc/classes/Callable.xml msgid "Constructs a [Callable] as a copy of the given [Callable]." msgstr "建構給定 [Callable] 的副本。" #: doc/classes/Callable.xml #, fuzzy msgid "" "Creates a new [Callable] for the method named [param method] in the " "specified [param object].\n" "[b]Note:[/b] For methods of built-in [Variant] types, use [method create] " "instead." msgstr "" "建立新的 [Callable],使用指定物件 [param object] 中名為 [param method] 的方" "法。" #: doc/classes/Callable.xml msgid "" "Returns a copy of this [Callable] with one or more arguments bound. When " "called, the bound arguments are passed [i]after[/i] the arguments supplied " "by [method call]. See also [method unbind].\n" "[b]Note:[/b] When this method is chained with other similar methods, the " "order in which the argument list is modified is read from right to left." msgstr "" "返回該 [Callable] 的副本,綁定其中的一個或多個參數。呼叫時,被綁定的參數在提" "供給 [method call] 的參數[i]之後[/i]傳遞。另見 [method unbind]。\n" "[b]注意:[/b]這個方法與其他類似方法鏈式呼叫時,參數列表的修改順序是從右至左" "的。" #: doc/classes/Callable.xml msgid "" "Returns a copy of this [Callable] with one or more arguments bound, reading " "them from an array. When called, the bound arguments are passed [i]after[/i] " "the arguments supplied by [method call]. See also [method unbind].\n" "[b]Note:[/b] When this method is chained with other similar methods, the " "order in which the argument list is modified is read from right to left." msgstr "" "返回該 [Callable] 的副本,綁定其中的一個或多個參數,參數從陣列中讀取。呼叫" "時,被綁定的參數在提供給 [method call] 的參數[i]之後[/i]傳遞。另見 [method " "unbind]。\n" "[b]注意:[/b]這個方法與其他類似方法鏈式呼叫時,參數列表的修改順序是從右至左" "的。" #: doc/classes/Callable.xml msgid "" "Calls the method represented by this [Callable]. Arguments can be passed and " "should match the method's signature." msgstr "" "呼叫該 [Callable] 所代表的方法。可以傳遞參數,必須與該方法的簽章相配對。" #: doc/classes/Callable.xml #, fuzzy msgid "" "Calls the method represented by this [Callable] in deferred mode, i.e. at " "the end of the current frame. Arguments can be passed and should match the " "method's signature.\n" "[codeblocks]\n" "[gdscript]\n" "func _ready():\n" "\tgrab_focus.call_deferred()\n" "[/gdscript]\n" "[csharp]\n" "public override void _Ready()\n" "{\n" "\tCallable.From(GrabFocus).CallDeferred();\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] Deferred calls are processed at idle time. Idle time happens " "mainly at the end of process and physics frames. In it, deferred calls will " "be run until there are none left, which means you can defer calls from other " "deferred calls and they'll still be run in the current idle time cycle. This " "means you should not call a method deferred from itself (or from a method " "called by it), as this causes infinite recursion the same way as if you had " "called the method directly.\n" "See also [method Object.call_deferred]." msgstr "" "使用延遲模式呼叫該 [Callable] 所代表的方法,即在目前影格的末尾呼叫。可以傳遞" "參數,必須與該方法的簽章相配對。\n" "[codeblock]\n" "func _ready():\n" "\tgrab_focus.call_deferred()\n" "[/codeblock]\n" "另見 [method Object.call_deferred]。" #: doc/classes/Callable.xml msgid "" "Calls the method represented by this [Callable]. Unlike [method call], this " "method expects all arguments to be contained inside the [param arguments] " "[Array]." msgstr "" "呼叫該 [Callable] 所代表的方法。與 [method call] 不同,這個方法需要所有參數都" "放在 [param arguments] [Array] 之中。" #: doc/classes/Callable.xml msgid "" "Creates a new [Callable] for the method named [param method] in the " "specified [param variant]. To represent a method of a built-in [Variant] " "type, a custom callable is used (see [method is_custom]). If [param variant] " "is [Object], then a standard callable will be created instead.\n" "[b]Note:[/b] This method is always necessary for the [Dictionary] type, as " "property syntax is used to access its entries. You may also use this method " "when [param variant]'s type is not known in advance (for polymorphism)." msgstr "" #: doc/classes/Callable.xml msgid "" "Returns the total number of arguments this [Callable] should take, including " "optional arguments. This means that any arguments bound with [method bind] " "are [i]subtracted[/i] from the result, and any arguments unbound with " "[method unbind] are [i]added[/i] to the result." msgstr "" #: doc/classes/Callable.xml msgid "" "Returns the array of arguments bound via successive [method bind] or [method " "unbind] calls. These arguments will be added [i]after[/i] the arguments " "passed to the call, from which [method get_unbound_arguments_count] " "arguments on the right have been previously excluded.\n" "[codeblock]\n" "func get_effective_arguments(callable, call_args):\n" "\tassert(call_args.size() - callable.get_unbound_arguments_count() >= 0)\n" "\tvar result = call_args.slice(0, call_args.size() - " "callable.get_unbound_arguments_count())\n" "\tresult.append_array(callable.get_bound_arguments())\n" "\treturn result\n" "[/codeblock]" msgstr "" #: doc/classes/Callable.xml msgid "" "Returns the total amount of arguments bound via successive [method bind] or " "[method unbind] calls. This is the same as the size of the array returned by " "[method get_bound_arguments]. See [method get_bound_arguments] for details.\n" "[b]Note:[/b] The [method get_bound_arguments_count] and [method " "get_unbound_arguments_count] methods can both return positive values." msgstr "" #: doc/classes/Callable.xml msgid "" "Returns the name of the method represented by this [Callable]. If the " "callable is a GDScript lambda function, returns the function's name or [code]" "\"\"[/code]." msgstr "" "返回該 [Callable] 所代表的方法的名稱。如果該可呼叫體是 lambda 函式,則返回該" "函式的名稱。" #: doc/classes/Callable.xml msgid "Returns the object on which this [Callable] is called." msgstr "返回該 [Callable] 所呼叫的物件。" #: doc/classes/Callable.xml msgid "" "Returns the ID of this [Callable]'s object (see [method " "Object.get_instance_id])." msgstr "返回該 [Callable] 中對象的 ID(見 [method Object.get_instance_id])。" #: doc/classes/Callable.xml #, fuzzy msgid "" "Returns the total amount of arguments unbound via successive [method bind] " "or [method unbind] calls. See [method get_bound_arguments] for details.\n" "[b]Note:[/b] The [method get_bound_arguments_count] and [method " "get_unbound_arguments_count] methods can both return positive values." msgstr "" "返回通過成功呼叫 [method bind] 或 [method unbind] 綁定(或解綁)參數的總數。" "如果解綁參數的總數比綁定參數大,則這個函式的返回值小於零。" #: doc/classes/Callable.xml msgid "" "Returns the 32-bit hash value of this [Callable]'s object.\n" "[b]Note:[/b] [Callable]s with equal content will always produce identical " "hash values. However, the reverse is not true. Returning identical hash " "values does [i]not[/i] imply the callables are equal, because different " "callables can have identical hash values due to hash collisions. The engine " "uses a 32-bit hash algorithm for [method hash]." msgstr "" "返回該 [Callable] 對象的 32 位元雜湊值。\n" "[b]注意:[/b]內容相同的 [Callable] 雜湊值始終相同。反之則不然,返回的雜湊值相" "同[i]並不[/i]意味著可呼叫體相等,因為不同的可呼叫體可能由於雜湊衝突而具有相同" "的雜湊值。引擎在 [method hash] 中使用 32 位雜湊演算法。" #: doc/classes/Callable.xml msgid "" "Returns [code]true[/code] if this [Callable] is a custom callable. Custom " "callables are used:\n" "- for binding/unbinding arguments (see [method bind] and [method unbind]);\n" "- for representing methods of built-in [Variant] types (see [method " "create]);\n" "- for representing global, lambda, and RPC functions in GDScript;\n" "- for other purposes in the core, GDExtension, and C#." msgstr "" #: doc/classes/Callable.xml msgid "" "Returns [code]true[/code] if this [Callable] has no target to call the " "method on. Equivalent to [code]callable == Callable()[/code].\n" "[b]Note:[/b] This is [i]not[/i] the same as [code]not is_valid()[/code] and " "using [code]not is_null()[/code] will [i]not[/i] guarantee that this " "callable can be called. Use [method is_valid] instead." msgstr "" #: doc/classes/Callable.xml msgid "" "Returns [code]true[/code] if this [Callable] is a standard callable. This " "method is the opposite of [method is_custom]. Returns [code]false[/code] if " "this callable is a lambda function." msgstr "" "如果該 [Callable] 為標準可呼叫體,則返回 [code]true[/code]。這個方法與 " "[method is_custom] 相對。如果該可呼叫體為 lambda 函式,則返回 [code]false[/" "code]。" #: doc/classes/Callable.xml msgid "" "Returns [code]true[/code] if the callable's object exists and has a valid " "method name assigned, or is a custom callable." msgstr "" "如果該可呼叫體的物件存在,且分配了有效的方法名,或者為自訂可呼叫體,則返回 " "[code]true[/code]。" #: doc/classes/Callable.xml msgid "" "Perform an RPC (Remote Procedure Call) on all connected peers. This is used " "for multiplayer and is normally not available, unless the function being " "called has been marked as [i]RPC[/i] (using [annotation @GDScript.@rpc] or " "[method Node.rpc_config]). Calling this method on unsupported functions will " "result in an error. See [method Node.rpc]." msgstr "" "在所有已連接的對等體上執行 RPC(Remote Procedure Call,遠端程式呼叫)。用於多" "人遊戲,一般不可用,除非所呼叫的函式有 [i]RPC[/i] 標記(使用 [annotation " "@GDScript.@rpc] 或 [method Node.rpc_config])。在不支援的方法上呼叫該方法會導" "致出錯。見 [method Node.rpc]。" #: doc/classes/Callable.xml msgid "" "Perform an RPC (Remote Procedure Call) on a specific peer ID (see " "multiplayer documentation for reference). This is used for multiplayer and " "is normally not available unless the function being called has been marked " "as [i]RPC[/i] (using [annotation @GDScript.@rpc] or [method " "Node.rpc_config]). Calling this method on unsupported functions will result " "in an error. See [method Node.rpc_id]." msgstr "" "在指定的對等體 ID(請參閱多人遊戲文件)上執行 RPC(Remote Procedure Call,遠" "程程式呼叫)。用於多人遊戲,一般不可用,除非所呼叫的函式有 [i]RPC[/i] 標記" "(使用 [annotation @GDScript.@rpc] 或 [method Node.rpc_config])。在不支援的" "方法上呼叫該方法會導致出錯。見 [method Node.rpc_id]。" #: doc/classes/Callable.xml msgid "" "Returns a copy of this [Callable] with a number of arguments unbound. In " "other words, when the new callable is called the last few arguments supplied " "by the user are ignored, according to [param argcount]. The remaining " "arguments are passed to the callable. This allows to use the original " "callable in a context that attempts to pass more arguments than this " "callable can handle, e.g. a signal with a fixed number of arguments. See " "also [method bind].\n" "[b]Note:[/b] When this method is chained with other similar methods, the " "order in which the argument list is modified is read from right to left.\n" "[codeblock]\n" "func _ready():\n" "\tfoo.unbind(1).call(1, 2) # Calls foo(1).\n" "\tfoo.bind(3, 4).unbind(1).call(1, 2) # Calls foo(1, 3, 4), note that it " "does not change the arguments from bind.\n" "[/codeblock]" msgstr "" "返回這個 [Callable] 的副本,解綁了一些參數。換句話說,呼叫新的可呼叫體時,用" "戶提供的最後幾個參數會被忽略,忽略幾個由 [param argcount] 決定。剩餘的參數會" "被傳遞給該可呼叫體。這樣傳入的參數就能夠比原本可呼叫體所能處理的參數要多,例" "如帶有固定數量參數的訊號。另見 [method bind]。\n" "[b]注意:[/b]這個方法與其他類似方法鏈式呼叫時,參數列表的修改順序是從右至左" "的。\n" "[codeblock]\n" "func _ready():\n" "\tfoo.unbind(1).call(1, 2) # 呼叫 foo(1).\n" "\tfoo.bind(3, 4).unbind(1).call(1, 2) # 呼叫 foo(1, 3, 4),注意改動的不是 " "bind 中的參數。\n" "[/codeblock]" #: doc/classes/Callable.xml msgid "Returns [code]true[/code] if both [Callable]s invoke different targets." msgstr "如果兩個 [Callable] 呼叫的目標不同,則返回 [code]true[/code]。" #: doc/classes/Callable.xml msgid "" "Returns [code]true[/code] if both [Callable]s invoke the same custom target." msgstr "如果兩個 [Callable] 呼叫的自訂目標相同,則返回 [code]true[/code]。" #: doc/classes/CallbackTweener.xml msgid "Calls the specified method after optional delay." msgstr "在可選的延遲之後呼叫指定的方法。" #: doc/classes/CallbackTweener.xml msgid "" "[CallbackTweener] is used to call a method in a tweening sequence. See " "[method Tween.tween_callback] for more usage information.\n" "The tweener will finish automatically if the callback's target object is " "freed.\n" "[b]Note:[/b] [method Tween.tween_callback] is the only correct way to create " "[CallbackTweener]. Any [CallbackTweener] created manually will not function " "correctly." msgstr "" "[CallbackTweener] 可用於在補間序列中呼叫方法。更多用法資訊請參閱 [method " "Tween.tween_callback]。\n" "[b]注意:[/b]建立 [CallbackTweener] 的唯一正確方法是 [method " "Tween.tween_callback]。任何手動建立的 [CallbackTweener] 都無法正常工作。" #: doc/classes/CallbackTweener.xml #, fuzzy msgid "" "Makes the callback call delayed by given time in seconds.\n" "[b]Example:[/b] Call [method Node.queue_free] after 2 seconds:\n" "[codeblock]\n" "var tween = get_tree().create_tween()\n" "tween.tween_callback(queue_free).set_delay(2)\n" "[/codeblock]" msgstr "" "讓該回呼函式延遲給定的時間,單位為秒。\n" "[b]範例:[/b]\n" "[codeblock]\n" "var tween = get_tree().create_tween()\n" "tween.tween_callback(queue_free).set_delay(2) # 會在 2 秒後呼叫 " "queue_free()\n" "[/codeblock]" #: doc/classes/Camera2D.xml msgid "Camera node for 2D scenes." msgstr "2D 場景的相機節點。" #: doc/classes/Camera2D.xml #, fuzzy msgid "" "Camera node for 2D scenes. It forces the screen (current layer) to scroll " "following this node. This makes it easier (and faster) to program scrollable " "scenes than manually changing the position of [CanvasItem]-based nodes.\n" "Cameras register themselves in the nearest [Viewport] node (when ascending " "the tree). Only one camera can be active per viewport. If no viewport is " "available ascending the tree, the camera will register in the global " "viewport.\n" "This node is intended to be a simple helper to get things going quickly, but " "more functionality may be desired to change how the camera works. To make " "your own custom camera node, inherit it from [Node2D] and change the " "transform of the canvas by setting [member Viewport.canvas_transform] in " "[Viewport] (you can obtain the current [Viewport] by using [method " "Node.get_viewport]).\n" "Note that the [Camera2D] node's [member Node2D.global_position] doesn't " "represent the actual position of the screen, which may differ due to applied " "smoothing or limits. You can use [method get_screen_center_position] to get " "the real position. Same for the node's [member Node2D.global_rotation] which " "may be different due to applied rotation smoothing. You can use [method " "get_screen_rotation] to get the current rotation of the screen." msgstr "" "用於 2D 場景的相機節點。它強制螢幕(目前層)跟隨該節點滾動。與手動改變基於 " "[CanvasItem] 節點的座標相比,這使得對可滾動場景進行程式設計更加容易和快捷。\n" "相機會在最近的 [Viewport](在上層樹時)節點中註冊自己。每個視口只能啟動一個相" "機。如果樹上沒有可用的視口,相機將在全域視口中註冊。\n" "這個節點旨在成為簡單的輔助工具,讓事情便捷,但可能需要更多的功能來改變相機的" "工作方式。要製作自訂相機節點,則從 [Node2D] 繼承,並通過設定 [Viewport] 中的 " "[member Viewport.canvas_transform] 來改變畫布的變換(你可以通過使用 [method " "Node.get_viewport] 獲得目前的 [Viewport])。\n" "請注意,[Camera2D] 節點的 [code]position[/code] 並不代表螢幕的實際位置,這可" "能會因套用的平滑或限制而有所不同。可以使用 [method " "get_screen_center_position] 獲取真實位置。" #: doc/classes/Camera2D.xml doc/classes/TileMap.xml #: doc/classes/TileMapLayer.xml doc/classes/TileSet.xml msgid "2D Isometric Demo" msgstr "2D 等軸演示" #: doc/classes/Camera2D.xml msgid "Aligns the camera to the tracked node." msgstr "將相機與追蹤的節點對齊。" #: doc/classes/Camera2D.xml msgid "Forces the camera to update scroll immediately." msgstr "強制相機立即更新滾動。" #: doc/classes/Camera2D.xml msgid "" "Returns the specified [enum Side]'s margin. See also [member " "drag_bottom_margin], [member drag_top_margin], [member drag_left_margin], " "and [member drag_right_margin]." msgstr "" "返回指定邊 [enum Side] 的邊距。另見 [member drag_bottom_margin]、[member " "drag_top_margin]、[member drag_left_margin] 和 [member drag_right_margin]。" #: doc/classes/Camera2D.xml msgid "" "Returns the camera limit for the specified [enum Side]. See also [member " "limit_bottom], [member limit_top], [member limit_left], and [member " "limit_right]." msgstr "" "返回指定邊 [enum Side] 的相機極限。另見 [member limit_bottom]、[member " "limit_top]、[member limit_left] 和 [member limit_right]。" #: doc/classes/Camera2D.xml msgid "" "Returns the center of the screen from this camera's point of view, in global " "coordinates.\n" "[b]Note:[/b] The exact targeted position of the camera may be different. See " "[method get_target_position]." msgstr "" "返回該 [Camera2D] 視角下的螢幕中心位置,使用全域座標。\n" "[b]注意:[/b]相機實際的目標位置可能與此不同。見 [method " "get_target_position]。" #: doc/classes/Camera2D.xml msgid "" "Returns the current screen rotation from this camera's point of view.\n" "[b]Note:[/b] The screen rotation can be different from [member " "Node2D.global_rotation] if the camera is rotating smoothly due to [member " "rotation_smoothing_enabled]." msgstr "" #: doc/classes/Camera2D.xml msgid "" "Returns this camera's target position, in global coordinates.\n" "[b]Note:[/b] The returned value is not the same as [member " "Node2D.global_position], as it is affected by the drag properties. It is " "also not the same as the current position if [member " "position_smoothing_enabled] is [code]true[/code] (see [method " "get_screen_center_position])." msgstr "" "返回該相機的目標位置,使用全域座標。\n" "[b]注意:[/b]返回值與 [member Node2D.global_position] 不同,因為會受到拖動屬" "性的影響。如果 [member position_smoothing_enabled] 為 [code]true[/code] ,也" "不等同於目前位置(見 [method get_screen_center_position])。" #: doc/classes/Camera2D.xml msgid "" "Returns [code]true[/code] if this [Camera2D] is the active camera (see " "[method Viewport.get_camera_2d])." msgstr "" "如果該 [Camera2D] 為活動相機,則返回 [code]true[/code](見 [method " "Viewport.get_camera_2d])。" #: doc/classes/Camera2D.xml msgid "" "Forces this [Camera2D] to become the current active one. [member enabled] " "must be [code]true[/code]." msgstr "" "強制該 [Camera2D] 成為目前的活動相機。[member enabled] 必須為 [code]true[/" "code]。" #: doc/classes/Camera2D.xml msgid "" "Sets the camera's position immediately to its current smoothing " "destination.\n" "This method has no effect if [member position_smoothing_enabled] is " "[code]false[/code]." msgstr "" "將相機的位置立即設定為其目前平滑的目標位置。\n" "當 [member position_smoothing_enabled] 為 [code]false[/code] 時,本方法無效。" #: doc/classes/Camera2D.xml msgid "" "Sets the specified [enum Side]'s margin. See also [member " "drag_bottom_margin], [member drag_top_margin], [member drag_left_margin], " "and [member drag_right_margin]." msgstr "" "設定指定邊 [enum Side] 的邊距。另見 [member drag_bottom_margin]、[member " "drag_top_margin]、[member drag_left_margin] 和 [member drag_right_margin]。" #: doc/classes/Camera2D.xml msgid "" "Sets the camera limit for the specified [enum Side]. See also [member " "limit_bottom], [member limit_top], [member limit_left], and [member " "limit_right]." msgstr "" "設定指定邊 [enum Side] 的相機極限。另見 [member limit_bottom]、[member " "limit_top]、[member limit_left] 和 [member limit_right]。" #: doc/classes/Camera2D.xml #, fuzzy msgid "The Camera2D's anchor point." msgstr "Camera2D 的錨點。見 [enum AnchorMode] 常數。" #: doc/classes/Camera2D.xml msgid "" "The custom [Viewport] node attached to the [Camera2D]. If [code]null[/code] " "or not a [Viewport], uses the default viewport instead." msgstr "" "連接到 [Camera2D] 的自訂 [Viewport] 節點。如果為 [code]null[/code] 或者不是 " "[Viewport],則使用預設的視口。" #: doc/classes/Camera2D.xml msgid "" "Bottom margin needed to drag the camera. A value of [code]1[/code] makes the " "camera move only when reaching the bottom edge of the screen." msgstr "" "拖動相機所需的下邊距。值為 [code]1[/code] 時,相機僅在到達螢幕底部邊緣時移" "動。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the camera only moves when reaching the horizontal " "(left and right) drag margins. If [code]false[/code], the camera moves " "horizontally regardless of margins." msgstr "" "如果為 [code]true[/code],相機僅在到達水平(左或右)拖動邊距時移動。如果為 " "[code]false[/code],則相機水平移動時不考慮邊距。" #: doc/classes/Camera2D.xml msgid "" "The relative horizontal drag offset of the camera between the right " "([code]-1[/code]) and left ([code]1[/code]) drag margins.\n" "[b]Note:[/b] Used to set the initial horizontal drag offset; determine the " "current offset; or force the current offset. It's not automatically updated " "when [member drag_horizontal_enabled] is [code]true[/code] or the drag " "margins are changed." msgstr "" "相機在右側([code]-1[/code])和左側([code]1[/code])拖動邊距之間的相對水平拖" "動偏移量。\n" "[b]注意:[/b]用於設定初始水平拖動偏移量;確定目前偏移量;或強制目前偏移量。" "當 [member drag_horizontal_enabled] 為 [code]true[/code] 或更改拖動邊距時,它" "不會自動更新。" #: doc/classes/Camera2D.xml msgid "" "Left margin needed to drag the camera. A value of [code]1[/code] makes the " "camera move only when reaching the left edge of the screen." msgstr "" "拖動相機所需的左邊距。值為 [code]1[/code] 時,相機僅在到達螢幕左側邊緣時移" "動。" #: doc/classes/Camera2D.xml msgid "" "Right margin needed to drag the camera. A value of [code]1[/code] makes the " "camera move only when reaching the right edge of the screen." msgstr "" "拖動相機所需的右邊距。值為 [code]1[/code] 時,相機僅在到達螢幕右側邊緣時移" "動。" #: doc/classes/Camera2D.xml msgid "" "Top margin needed to drag the camera. A value of [code]1[/code] makes the " "camera move only when reaching the top edge of the screen." msgstr "" "拖動相機所需的上邊距。值為 [code]1[/code] 時,相機僅在到達螢幕頂部邊緣時移" "動。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the camera only moves when reaching the vertical (top " "and bottom) drag margins. If [code]false[/code], the camera moves vertically " "regardless of the drag margins." msgstr "" "如果為 [code]true[/code],相機僅在達到垂直(頂部及底部)拖動邊距時才移動。如" "果為 [code]false[/code],相機會垂直移動而不管邊距。" #: doc/classes/Camera2D.xml msgid "" "The relative vertical drag offset of the camera between the bottom " "([code]-1[/code]) and top ([code]1[/code]) drag margins.\n" "[b]Note:[/b] Used to set the initial vertical drag offset; determine the " "current offset; or force the current offset. It's not automatically updated " "when [member drag_vertical_enabled] is [code]true[/code] or the drag margins " "are changed." msgstr "" "相機在底部([code]-1[/code])和頂部([code]1[/code])拖動邊距之間的相對垂直拖" "動偏移量。\n" "[b]注意:[/b]用於設定初始垂直拖動偏移量;確定目前偏移量;或強制目前偏移量。" "當 [member drag_vertical_enabled] 為 [code]true[/code] 或更改拖動邊距時,它不" "會自動更新。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], draws the camera's drag margin rectangle in the editor." msgstr "如果為 [code]true[/code],在編輯器中繪製相機的拖動邊距矩形。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], draws the camera's limits rectangle in the editor." msgstr "如果為 [code]true[/code],在編輯器中繪製相機的極限矩形。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], draws the camera's screen rectangle in the editor." msgstr "如果為 [code]true[/code],在編輯器中繪製相機的畫面矩形。" #: doc/classes/Camera2D.xml msgid "" "Controls whether the camera can be active or not. If [code]true[/code], the " "[Camera2D] will become the main camera when it enters the scene tree and " "there is no active camera currently (see [method Viewport.get_camera_2d]).\n" "When the camera is currently active and [member enabled] is set to " "[code]false[/code], the next enabled [Camera2D] in the scene tree will " "become active." msgstr "" "控制該相機是否可以啟動。如果為 [code]true[/code],當該 [Camera2D] 進入場景樹" "並且目前沒有活動的相機時,它將成為主相機(參見 [method " "Viewport.get_camera_2d])。\n" "當該相機目前處於活動狀態且 [member enabled] 被設定為 [code]false[/code] 時," "則場景樹中下一個啟用的 [Camera2D] 將變為活動狀態。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the camera's rendered view is not affected by its " "[member Node2D.rotation] and [member Node2D.global_rotation]." msgstr "" "如果為 [code]true[/code] ,相機的算繪視圖不會受到其 [member Node2D.rotation] " "和 [member Node2D.global_rotation] 的影響。" #: doc/classes/Camera2D.xml msgid "" "Bottom scroll limit in pixels. The camera stops moving when reaching this " "value, but [member offset] can push the view past the limit." msgstr "" "底部滾動極限,單位為圖元。相機會在抵達該值時停止移動,但是 [member offset] 可" "以把視圖推過該極限。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the limits will be enabled. Disabling this will allow " "the camera to focus anywhere, when the four [code]limit_*[/code] properties " "will not work." msgstr "" #: doc/classes/Camera2D.xml msgid "" "Left scroll limit in pixels. The camera stops moving when reaching this " "value, but [member offset] can push the view past the limit." msgstr "" "左側滾動極限,單位為圖元。相機會在抵達該值時停止移動,但是 [member offset] 可" "以把視圖推過該極限。" #: doc/classes/Camera2D.xml msgid "" "Right scroll limit in pixels. The camera stops moving when reaching this " "value, but [member offset] can push the view past the limit." msgstr "" "右側滾動極限,單位為圖元。相機會在抵達該值時停止移動,但是 [member offset] 可" "以把視圖推過該極限。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the camera smoothly stops when reaches its limits.\n" "This property has no effect if [member position_smoothing_enabled] is " "[code]false[/code].\n" "[b]Note:[/b] To immediately update the camera's position to be within limits " "without smoothing, even with this setting enabled, invoke [method " "reset_smoothing]." msgstr "" "如果為 [code]true[/code],相機會在達到極限時平滑地停止。\n" "如果 [member position_smoothing_enabled] 為 [code]false[/code],則該屬性無" "效。\n" "[b]注意:[/b]要立即將相機的位置更新到限制範圍內而不進行平滑,即使啟用了該設" "置,也要呼叫 [method reset_smoothing]。" #: doc/classes/Camera2D.xml msgid "" "Top scroll limit in pixels. The camera stops moving when reaching this " "value, but [member offset] can push the view past the limit." msgstr "" "頂部滾動極限,單位為圖元。相機會在抵達該值時停止移動,但是 [member offset] 可" "以把視圖推過該極限。" #: doc/classes/Camera2D.xml msgid "" "The camera's relative offset. Useful for looking around or camera shake " "animations. The offsetted camera can go past the limits defined in [member " "limit_top], [member limit_bottom], [member limit_left] and [member " "limit_right]." msgstr "" "相機的相對偏移量。用於環顧四周或相機抖動動畫。偏移後的相機可以超過 [member " "limit_top]、[member limit_bottom]、[member limit_left] 和 [member " "limit_right] 中定義的限制。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the camera's view smoothly moves towards its target " "position at [member position_smoothing_speed]." msgstr "" "如果為 [code]true[/code],相機的視圖會以 [member position_smoothing_speed] 的" "速度,平滑地移向其目標位置。" #: doc/classes/Camera2D.xml msgid "" "Speed in pixels per second of the camera's smoothing effect when [member " "position_smoothing_enabled] is [code]true[/code]." msgstr "" "當 [member position_smoothing_enabled] 為 [code]true[/code] 時,相機平滑效果" "的速度,單位為每秒圖元。" #: doc/classes/Camera2D.xml #, fuzzy msgid "The camera's process callback." msgstr "效果的處理訊號。" #: doc/classes/Camera2D.xml msgid "" "If [code]true[/code], the camera's view smoothly rotates, via asymptotic " "smoothing, to align with its target rotation at [member " "rotation_smoothing_speed].\n" "[b]Note:[/b] This property has no effect if [member ignore_rotation] is " "[code]true[/code]." msgstr "" "如果為 [code]true[/code],相機的視圖會通過漸近平滑的方式平滑地旋轉,以 " "[member rotation_smoothing_speed] 的速度與其目標旋轉對齊。\n" "[b]注意:[/b]如果 [member ignore_rotation] 為 [code]true[/code],則該屬性無" "效。" #: doc/classes/Camera2D.xml msgid "" "The angular, asymptotic speed of the camera's rotation smoothing effect when " "[member rotation_smoothing_enabled] is [code]true[/code]." msgstr "" "當 [member rotation_smoothing_enabled] 為 [code]true[/code] 時,相機旋轉平滑" "效果的角度漸近速度。" #: doc/classes/Camera2D.xml #, fuzzy msgid "" "The camera's zoom. Higher values are more zoomed in. For example, a zoom of " "[code]Vector2(2.0, 2.0)[/code] will be twice as zoomed in on each axis (the " "view covers an area four times smaller). In contrast, a zoom of " "[code]Vector2(0.5, 0.5)[/code] will be twice as zoomed out on each axis (the " "view covers an area four times larger). The X and Y components should " "generally always be set to the same value, unless you wish to stretch the " "camera view.\n" "[b]Note:[/b] [member FontFile.oversampling] does [i]not[/i] take [Camera2D] " "zoom into account. This means that zooming in/out will cause bitmap fonts " "and rasterized (non-MSDF) dynamic fonts to appear blurry or pixelated unless " "the font is part of a [CanvasLayer] that makes it ignore camera zoom. To " "ensure text remains crisp regardless of zoom, you can enable MSDF font " "rendering by enabling [member ProjectSettings.gui/theme/" "default_font_multichannel_signed_distance_field] (applies to the default " "project font only), or enabling [b]Multichannel Signed Distance Field[/b] in " "the import options of a DynamicFont for custom fonts. On system fonts, " "[member SystemFont.multichannel_signed_distance_field] can be enabled in the " "inspector." msgstr "" "攝影機的縮放。縮放值為 [code]Vector(2, 2)[/code] 會讓視埠中看到的尺寸加倍。縮" "放值為 [code]Vector(0.5, 0.5)[/code] 會讓視埠中看到的尺寸減半。\n" "[b]注意:[/b] [member FontFile.oversampling] [i]不會[/i] 將 [Camera2D] 的縮放" "考慮在內。這代表放大或縮小會導致點陣圖字型以及點陣化(非 MSDF)的動態字型看起" "來模糊或像素化,除非該字型是 [CanvasLayer] 的一部分,使其忽略攝影機縮放。為了" "確保文字無論縮放程度如何都能保持清晰,您可以透過啟用 [member " "ProjectSettings.gui/theme/default_font_multichannel_signed_distance_field] 來" "啟用 MSDF 字型彩現(僅適用於專案預設字型),或是針對自訂字型,在 DynamicFont " "的匯入選項中啟用 [b]Multichannel Signed Distance Field[/b]。對於系統字型,可" "以在屬性檢視器中啟用 [member SystemFont.multichannel_signed_distance_field]。" #: doc/classes/Camera2D.xml msgid "" "The camera's position is fixed so that the top-left corner is always at the " "origin." msgstr "相機的位置是固定的,所以左上角總是在原點。" #: doc/classes/Camera2D.xml msgid "" "The camera's position takes into account vertical/horizontal offsets and the " "screen size." msgstr "相機的位置要考慮垂直/水平偏移和螢幕尺寸。" #: doc/classes/Camera2D.xml msgid "" "The camera updates during physics frames (see [constant " "Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS])." msgstr "" "相機在物理影格期間更新(見 [constant " "Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS])。" #: doc/classes/Camera2D.xml msgid "" "The camera updates during process frames (see [constant " "Node.NOTIFICATION_INTERNAL_PROCESS])." msgstr "" "相機在程序影格期間更新(見 [constant Node.NOTIFICATION_INTERNAL_PROCESS])。" #: doc/classes/Camera3D.xml msgid "Camera node, displays from a point of view." msgstr "相機節點,會從某個角度進行顯示。" #: doc/classes/Camera3D.xml msgid "" "[Camera3D] is a special node that displays what is visible from its current " "location. Cameras register themselves in the nearest [Viewport] node (when " "ascending the tree). Only one camera can be active per viewport. If no " "viewport is available ascending the tree, the camera will register in the " "global viewport. In other words, a camera just provides 3D display " "capabilities to a [Viewport], and, without one, a scene registered in that " "[Viewport] (or higher viewports) can't be displayed." msgstr "" "[Camera3D] 是一個特殊節點,用於顯示從其目前位置可見的內容。相機在最近的 " "[Viewport] 節點中註冊自己(當樹上行)。每個視口中只能有一個啟動的相機。如果在" "樹上沒有可用的視口,相機將在全域視口中註冊。換句話說,相機只是用來為 " "[Viewport] 提供 3D 顯示能力的,如果沒有,則在該 [Viewport](或更高層視口)中" "註冊的場景無法顯示。" #: doc/classes/Camera3D.xml msgid "" "If this is the current camera, remove it from being current. If [param " "enable_next] is [code]true[/code], request to make the next camera current, " "if any." msgstr "" "如果這是目前相機,則將其從目前相機中移除。如果 [param enable_next] 為 " "[code]true[/code],則請求使下一個相機(如果有)成為目前相機。" #: doc/classes/Camera3D.xml msgid "" "Returns the projection matrix that this camera uses to render to its " "associated viewport. The camera must be part of the scene tree to function." msgstr "" "返回該相機用於算繪至關聯視口的投影矩陣。相機必須是場景樹的一部分才能正常工" "作。" #: doc/classes/Camera3D.xml msgid "Returns the camera's RID from the [RenderingServer]." msgstr "從 [RenderingServer] 返回該相機的 RID。" #: doc/classes/Camera3D.xml msgid "" "Returns the transform of the camera plus the vertical ([member v_offset]) " "and horizontal ([member h_offset]) offsets; and any other adjustments made " "to the position and orientation of the camera by subclassed cameras such as " "[XRCamera3D]." msgstr "" "返回該相機的變換,該變換會加上垂直([member v_offset])和水平([member " "h_offset])偏移;以及 [XRCamera3D] 等子類別相機對相機位置和方向所做的任何其他" "調整。" #: doc/classes/Camera3D.xml msgid "" "Returns whether or not the specified layer of the [member cull_mask] is " "enabled, given a [param layer_number] between 1 and 20." msgstr "" "返回是否啟用了 [member cull_mask] 的指定層,該層由一個介於 1 和 20 之間的給" "定 [param layer_number] 指定。" #: doc/classes/Camera3D.xml msgid "" "Returns the camera's frustum planes in world space units as an array of " "[Plane]s in the following order: near, far, left, top, right, bottom. Not to " "be confused with [member frustum_offset]." msgstr "" "以世界空間單位將相機的視錐平面作為 [Plane] 陣列按以下順序返回:near、far、" "left、top、right、bottom。不要與 [member frustum_offset] 混淆。" #: doc/classes/Camera3D.xml msgid "" "Returns the RID of a pyramid shape encompassing the camera's view frustum, " "ignoring the camera's near plane. The tip of the pyramid represents the " "position of the camera." msgstr "" "返回包含該相機視錐的錐體形狀的 RID,忽略相機的近處平面。錐體的尖端代表該相機" "的位置。" #: doc/classes/Camera3D.xml msgid "" "Returns [code]true[/code] if the given position is behind the camera (the " "blue part of the linked diagram). [url=https://raw.githubusercontent.com/" "godotengine/godot-docs/master/img/camera3d_position_frustum.png]See this " "diagram[/url] for an overview of position query methods.\n" "[b]Note:[/b] A position which returns [code]false[/code] may still be " "outside the camera's field of view." msgstr "" "如果給定位置在相機後面(連結圖的藍色部分),則返回 [code]true[/code]。" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/4.1/img/" "camera3d_position_frustum.png]查看此圖[/url]以瞭解位置查詢方法的概述。\n" "[b]注意:[/b]返回 [code]false[/code] 的位置可能仍然在相機的視野之外。" #: doc/classes/Camera3D.xml msgid "" "Returns [code]true[/code] if the given position is inside the camera's " "frustum (the green part of the linked diagram). [url=https://" "raw.githubusercontent.com/godotengine/godot-docs/master/img/" "camera3d_position_frustum.png]See this diagram[/url] for an overview of " "position query methods." msgstr "" "如果給定位置在相機的視錐內(位於連結圖中的綠色部分),則返回 [code]true[/" "code]。[url=https://raw.githubusercontent.com/godotengine/godot-docs/4.1/img/" "camera3d_position_frustum.png]查看此圖[/url]以瞭解位置查詢方法的概述。" #: doc/classes/Camera3D.xml msgid "" "Makes this camera the current camera for the [Viewport] (see class " "description). If the camera node is outside the scene tree, it will attempt " "to become current once it's added." msgstr "" "使此相機成為 [Viewport] 的目前相機(見類的說明)。如果相機節點在場景樹之外," "一旦新增,它將嘗試成為目前相機。" #: doc/classes/Camera3D.xml msgid "" "Returns a normal vector from the screen point location directed along the " "camera. Orthogonal cameras are normalized. Perspective cameras account for " "perspective, screen width/height, etc." msgstr "" "返回從螢幕點位置沿相機方向的法向量。正交相機會被正規化。透視相機考慮到透視、" "螢幕寬度/高度等因素。" #: doc/classes/Camera3D.xml msgid "" "Returns the 3D point in world space that maps to the given 2D coordinate in " "the [Viewport] rectangle on a plane that is the given [param z_depth] " "distance into the scene away from the camera." msgstr "" "返回世界空間中的 3D 點,該點對應到平面上 [Viewport] 矩形中的給定 2D 座標,該" "平面是距相機到場景的給定 [param z_depth] 距離。" #: doc/classes/Camera3D.xml msgid "" "Returns a normal vector in world space, that is the result of projecting a " "point on the [Viewport] rectangle by the inverse camera projection. This is " "useful for casting rays in the form of (origin, normal) for object " "intersection or picking." msgstr "" "返回世界空間中的法線向量,即通過逆相機投影將點投影到 [Viewport] 矩形上的結" "果。這對於以(原點,法線)的形式投射光線,以進行物件相交或拾取很有用。" #: doc/classes/Camera3D.xml msgid "" "Returns a 3D position in world space, that is the result of projecting a " "point on the [Viewport] rectangle by the inverse camera projection. This is " "useful for casting rays in the form of (origin, normal) for object " "intersection or picking." msgstr "" "返回世界空間中的 3D 位置,即通過逆相機投影將點投影到 [Viewport] 矩形上的結" "果。這對於以(原點,法線)的形式投射光線,以進行物件相交或拾取很有用。" #: doc/classes/Camera3D.xml msgid "" "Based on [param value], enables or disables the specified layer in the " "[member cull_mask], given a [param layer_number] between 1 and 20." msgstr "" "基於 [param value],啟用或禁用 [member cull_mask] 中的指定層,該層由一個介於 " "1 和 20 之間的給定 [param layer_number] 指定。" #: doc/classes/Camera3D.xml msgid "" "Sets the camera projection to frustum mode (see [constant " "PROJECTION_FRUSTUM]), by specifying a [param size], an [param offset], and " "the [param z_near] and [param z_far] clip planes in world space units. See " "also [member frustum_offset]." msgstr "" "通過指定的以世界空間單位為單位的 [param size]、[param offset]、以及 [param " "z_near] 和 [param z_far] 裁剪平面,將相機投影設定為視錐模式(見 [constant " "PROJECTION_FRUSTUM])。另見 [member frustum_offset]。" #: doc/classes/Camera3D.xml #, fuzzy msgid "" "Sets the camera projection to orthogonal mode (see [constant " "PROJECTION_ORTHOGONAL]), by specifying a [param size], and the [param " "z_near] and [param z_far] clip planes in world space units.\n" "As a hint, 3D games that look 2D often use this projection, with [param " "size] specified in pixels." msgstr "" "通過指定的以世界空間單位為單位的 [param size]、以及 [param z_near] 和 [param " "z_far] 裁剪平面,將相機投影設定為正交模式(參見 [constant " "PROJECTION_ORTHOGONAL])。(作為提示,2D 遊戲經常使用這種投影,其值以圖元為單" "位指定。)" #: doc/classes/Camera3D.xml msgid "" "Sets the camera projection to perspective mode (see [constant " "PROJECTION_PERSPECTIVE]), by specifying a [param fov] (field of view) angle " "in degrees, and the [param z_near] and [param z_far] clip planes in world " "space units." msgstr "" "通過指定的以度為單位的 [param fov](視野)角度,以及以世界空間單位為單位的 " "[param z_near] 和 [param z_far] 裁剪平面,將相機投影設定為透視模式(參見 " "[constant PROJECTION_PERSPECTIVE])。" #: doc/classes/Camera3D.xml msgid "" "Returns the 2D coordinate in the [Viewport] rectangle that maps to the given " "3D point in world space.\n" "[b]Note:[/b] When using this to position GUI elements over a 3D viewport, " "use [method is_position_behind] to prevent them from appearing if the 3D " "point is behind the camera:\n" "[codeblock]\n" "# This code block is part of a script that inherits from Node3D.\n" "# `control` is a reference to a node inheriting from Control.\n" "control.visible = not " "get_viewport().get_camera_3d().is_position_behind(global_transform.origin)\n" "control.position = " "get_viewport().get_camera_3d().unproject_position(global_transform.origin)\n" "[/codeblock]" msgstr "" "返回對應到世界空間中給定 3D 點的 [Viewport] 矩形中的 2D 座標。\n" "[b]注意:[/b]當使用它在 3D 視口上定位 GUI 元素時,如果 3D 點在相機後面,請使" "用 [method is_position_behind] 來防止它們出現:\n" "[codeblock]\n" "# 該程式碼塊是從 Node3D 繼承的腳本的一部分。\n" "# `control` 是對從 Control 繼承的節點的引用。\n" "control.visible = not " "get_viewport().get_camera_3d().is_position_behind(global_transform.origin)\n" "control.position = " "get_viewport().get_camera_3d().unproject_position(global_transform.origin)\n" "[/codeblock]" #: doc/classes/Camera3D.xml msgid "The [CameraAttributes] to use for this camera." msgstr "該相機所使用的 [CameraAttributes]。" #: doc/classes/Camera3D.xml #, fuzzy msgid "The [Compositor] to use for this camera." msgstr "此相機要使用的 [Environment]。" #: doc/classes/Camera3D.xml msgid "" "The culling mask that describes which [member VisualInstance3D.layers] are " "rendered by this camera. By default, all 20 user-visible layers are " "rendered.\n" "[b]Note:[/b] Since the [member cull_mask] allows for 32 layers to be stored " "in total, there are an additional 12 layers that are only used internally by " "the engine and aren't exposed in the editor. Setting [member cull_mask] " "using a script allows you to toggle those reserved layers, which can be " "useful for editor plugins.\n" "To adjust [member cull_mask] more easily using a script, use [method " "get_cull_mask_value] and [method set_cull_mask_value].\n" "[b]Note:[/b] [VoxelGI], SDFGI and [LightmapGI] will always take all layers " "into account to determine what contributes to global illumination. If this " "is an issue, set [member GeometryInstance3D.gi_mode] to [constant " "GeometryInstance3D.GI_MODE_DISABLED] for meshes and [member " "Light3D.light_bake_mode] to [constant Light3D.BAKE_DISABLED] for lights to " "exclude them from global illumination." msgstr "" "剔除遮罩,描述該相機算繪了哪些 [member VisualInstance3D.layers]。預設情況下," "20 個使用者可見層全都被算繪。\n" "[b]注意:[/b]由於 [member cull_mask] 允許總共儲存 32 個層,因此另外 12 個層僅" "供引擎內部使用,不會在編輯器中公開。使用腳本設定 [member cull_mask] 允許你切" "換那些保留層,這對編輯器外掛程式很有用。\n" "要使用腳本更輕鬆地調整 [member cull_mask],請使用 [method " "get_cull_mask_value] 和 [method set_cull_mask_value]。\n" "[b]注意:[/b][VoxelGI]、SDFGI 和 [LightmapGI] 將始終考慮所有層以確定對全域光" "照有貢獻的內容。如果這是一個問題,請將網格的 [member " "GeometryInstance3D.gi_mode] 設定為 [constant " "GeometryInstance3D.GI_MODE_DISABLED],並將燈光的 [member " "Light3D.light_bake_mode] 設定為 [constant Light3D.BAKE_DISABLED],以將它們從" "全域光照中排除。" #: doc/classes/Camera3D.xml msgid "" "If [code]true[/code], the ancestor [Viewport] is currently using this " "camera.\n" "If multiple cameras are in the scene, one will always be made current. For " "example, if two [Camera3D] nodes are present in the scene and only one is " "current, setting one camera's [member current] to [code]false[/code] will " "cause the other camera to be made current." msgstr "" "如果為 [code]true[/code],則祖級 [Viewport] 正在使用這個相機。\n" "如果場景中有多個相機,總會有一個被設為目前相機。例如,假設場景中存在兩個 " "[Camera3D] 節點並且只有一個為目前相機,那麼如果把某一個相機的 [member " "current] 設為 [code]false[/code] 就會導致另一個相機被設為目前相機。" #: doc/classes/Camera3D.xml #, fuzzy msgid "" "If not [constant DOPPLER_TRACKING_DISABLED], this camera will simulate the " "[url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/url] for " "objects changed in particular [code]_process[/code] methods.\n" "[b]Note:[/b] The Doppler effect will only be heard on [AudioStreamPlayer3D]s " "if [member AudioStreamPlayer3D.doppler_tracking] is not set to [constant " "AudioStreamPlayer3D.DOPPLER_TRACKING_DISABLED]." msgstr "" "如果不是 [constant DOPPLER_TRACKING_DISABLED],此相機將為在 [code]_process[/" "code] 中變化的物件類比[url=https://zh.wikipedia.org/wiki/" "%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效應[/url]。可能的值見 " "[enum DopplerTracking]。" #: doc/classes/Camera3D.xml msgid "The [Environment] to use for this camera." msgstr "此相機要使用的 [Environment]。" #: doc/classes/Camera3D.xml msgid "" "The distance to the far culling boundary for this camera relative to its " "local Z axis. Higher values allow the camera to see further away, while " "decreasing [member far] can improve performance if it results in objects " "being partially or fully culled." msgstr "" "該相機相對於其局部 Z 軸到遠剔除邊界的距離。較高的值允許相機看得更遠,而減少 " "[member far] 如果會導致物件被部分或完全剔除,則可以提高性能。" #: doc/classes/Camera3D.xml #, fuzzy msgid "" "The camera's field of view angle (in degrees). Only applicable in " "perspective mode. Since [member keep_aspect] locks one axis, [member fov] " "sets the other axis' field of view angle.\n" "For reference, the default vertical field of view value ([code]75.0[/code]) " "is equivalent to a horizontal FOV of:\n" "- ~91.31 degrees in a 4:3 viewport\n" "- ~101.67 degrees in a 16:10 viewport\n" "- ~107.51 degrees in a 16:9 viewport\n" "- ~121.63 degrees in a 21:9 viewport" msgstr "" "相機的視野角度(單位為度)。僅適用於透視模式。由於 [member keep_aspect] 鎖定" "一個軸,因此 [code]fov[/code] 設定另一個軸的視角。\n" "作為參考,預設的垂直視野值([code]70.0[/code])相當於以下水平 FOV:\n" "- 在 4:3 視口中約 91.31 度\n" "- 在 16:10 視口中約 101.67 度\n" "- 在 16:9 視口中約 107.51 度\n" "- 在 21:9 視口中約 121.63 度" #: doc/classes/Camera3D.xml msgid "" "The camera's frustum offset. This can be changed from the default to create " "\"tilted frustum\" effects such as [url=https://zdoom.org/wiki/Y-shearing]Y-" "shearing[/url].\n" "[b]Note:[/b] Only effective if [member projection] is [constant " "PROJECTION_FRUSTUM]." msgstr "" "相機的視錐偏移。可以更改預設值,以建立如 [url=https://zdoom.org/wiki/Y-" "shearing]Y-shearing[/url] 一樣的“傾斜的視錐”效果。\n" "[b]注意:[/b]僅在 [member projection] 為 [constant PROJECTION_FRUSTUM] 時有" "效。" #: doc/classes/Camera3D.xml msgid "The horizontal (X) offset of the camera viewport." msgstr "相機視口的水平(X)偏移量。" #: doc/classes/Camera3D.xml msgid "" "The axis to lock during [member fov]/[member size] adjustments. Can be " "either [constant KEEP_WIDTH] or [constant KEEP_HEIGHT]." msgstr "" "在 [member fov]/[member size] 調整時要鎖定的軸。可以是 [constant KEEP_WIDTH] " "或 [constant KEEP_HEIGHT]。" #: doc/classes/Camera3D.xml msgid "" "The distance to the near culling boundary for this camera relative to its " "local Z axis. Lower values allow the camera to see objects more up close to " "its origin, at the cost of lower precision across the [i]entire[/i] range. " "Values lower than the default can lead to increased Z-fighting." msgstr "" "該相機相對於其局部 Z 軸到近剔除邊界的距離。較低的值允許相機看到更靠近其原點的" "物件,但代價是[i]整個[/i]範圍內的精度較低。低於預設值的值會導致 Z 衝突增加。" #: doc/classes/Camera3D.xml msgid "" "The camera's projection mode. In [constant PROJECTION_PERSPECTIVE] mode, " "objects' Z distance from the camera's local space scales their perceived " "size." msgstr "" "相機的投影模式。在 [constant PROJECTION_PERSPECTIVE] 模式下,物體與相機局部空" "間的Z距離會影響其感知的大小。" #: doc/classes/Camera3D.xml msgid "" "The camera's size in meters measured as the diameter of the width or height, " "depending on [member keep_aspect]. Only applicable in orthogonal and frustum " "modes." msgstr "" "該相機的大小,單位為米,描述的是完整的寬度或者高度,取決於 [member " "keep_aspect]。僅適用於正交和視錐模式。" #: doc/classes/Camera3D.xml msgid "The vertical (Y) offset of the camera viewport." msgstr "相機視口的垂直(Y)偏移量。" #: doc/classes/Camera3D.xml msgid "" "Perspective projection. Objects on the screen becomes smaller when they are " "far away." msgstr "透視投影。物體距離相機螢幕越遠顯示就越小。" #: doc/classes/Camera3D.xml msgid "" "Orthogonal projection, also known as orthographic projection. Objects remain " "the same size on the screen no matter how far away they are." msgstr "正交投影,又稱正交投影。物體無論距離多遠,在螢幕上都保持相同的大小。" #: doc/classes/Camera3D.xml msgid "" "Frustum projection. This mode allows adjusting [member frustum_offset] to " "create \"tilted frustum\" effects." msgstr "" "視錐投影。通過該模式可以調整 [member frustum_offset] 來建立“傾斜的視錐”效果。" #: doc/classes/Camera3D.xml msgid "" "Preserves the horizontal aspect ratio; also known as Vert- scaling. This is " "usually the best option for projects running in portrait mode, as taller " "aspect ratios will benefit from a wider vertical FOV." msgstr "" "保留水平長寬比,也稱為 Vert- 縮放。這通常是在縱向模式下運作的專案的最佳選擇," "因為較高的縱橫比將從更寬的垂直視場中受益。" #: doc/classes/Camera3D.xml msgid "" "Preserves the vertical aspect ratio; also known as Hor+ scaling. This is " "usually the best option for projects running in landscape mode, as wider " "aspect ratios will automatically benefit from a wider horizontal FOV." msgstr "" "保留垂直長寬比,也稱為 Hor+ 縮放。這通常是在橫向模式下運作的專案的最佳選擇," "因為較寬的縱橫比會自動從較寬的水平視場中受益。" #: doc/classes/Camera3D.xml msgid "" "Simulate [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" "url] by tracking positions of objects that are changed in [code]_process[/" "code]. Changes in the relative velocity of this camera compared to those " "objects affect how audio is perceived (changing the audio's [member " "AudioStreamPlayer3D.pitch_scale])." msgstr "" "通過追蹤在 [code]_process[/code] 中改變的物體位置來類比[url=https://" "zh.wikipedia.org/wiki/%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效" "應[/url]。與這些物體相比,該相機的相對速度的變化會影響音訊的感知方式(改變音" "訊的 [member AudioStreamPlayer3D.pitch_scale])。" #: doc/classes/Camera3D.xml msgid "" "Simulate [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/" "url] by tracking positions of objects that are changed in " "[code]_physics_process[/code]. Changes in the relative velocity of this " "camera compared to those objects affect how audio is perceived (changing the " "audio's [member AudioStreamPlayer3D.pitch_scale])." msgstr "" "通過追蹤在 [code]_process[/code] 中改變的物體位置來類比[url=https://" "zh.wikipedia.org/wiki/%E5%A4%9A%E6%99%AE%E5%8B%92%E6%95%88%E5%BA%94]多普勒效" "應[/url]。與這些物體相比,該相機的相對速度的變化會影響音訊的感知方式(改變音" "訊的 [member AudioStreamPlayer3D.pitch_scale])。" #: doc/classes/CameraAttributes.xml msgid "Parent class for camera settings." msgstr "相機設定的父類。" #: doc/classes/CameraAttributes.xml msgid "" "Controls camera-specific attributes such as depth of field and exposure " "override.\n" "When used in a [WorldEnvironment] it provides default settings for exposure, " "auto-exposure, and depth of field that will be used by all cameras without " "their own [CameraAttributes], including the editor camera. When used in a " "[Camera3D] it will override any [CameraAttributes] set in the " "[WorldEnvironment]. When used in [VoxelGI] or [LightmapGI], only the " "exposure settings will be used.\n" "See also [Environment] for general 3D environment settings.\n" "This is a pure virtual class that is inherited by [CameraAttributesPhysical] " "and [CameraAttributesPractical]." msgstr "" "控制相機的特定屬性,如景深和曝光覆蓋。\n" "當在 [WorldEnvironment] 中使用時,它提供了曝光、自動曝光、以及景深的預設設" "置,這些設定將由所有沒有自己的 [CameraAttributes] 的相機使用,包括編輯器相" "機。當在 [Camera3D] 中使用時,它將覆蓋 [WorldEnvironment] 中設定的任何 " "[CameraAttributes]。當在 [VoxelGI] 或 [LightmapGI] 中使用時,將只會使用曝光設" "置。\n" "另請參閱 [Environment] 瞭解一般的 3D 環境設定。\n" "這是一個由 [CameraAttributesPhysical] 和 [CameraAttributesPractical] 繼承的純" "虛類。" #: doc/classes/CameraAttributes.xml msgid "" "If [code]true[/code], enables the tonemapping auto exposure mode of the " "scene renderer. If [code]true[/code], the renderer will automatically " "determine the exposure setting to adapt to the scene's illumination and the " "observed light." msgstr "" "如果為 [code]true[/code],啟用場景算繪器的色調對應自動曝光模式。如果為 " "[code]true[/code],算繪器將自動確定曝光設定,以適應場景的照明和觀察到的光線。" #: doc/classes/CameraAttributes.xml msgid "" "The scale of the auto exposure effect. Affects the intensity of auto " "exposure." msgstr "自動曝光效果的比例。影響自動曝光的強度。" #: doc/classes/CameraAttributes.xml msgid "" "The speed of the auto exposure effect. Affects the time needed for the " "camera to perform auto exposure." msgstr "自動曝光效果的速度。影響相機執行自動曝光所需的時間。" #: doc/classes/CameraAttributes.xml msgid "" "Multiplier for the exposure amount. A higher value results in a brighter " "image." msgstr "曝光量的乘數。較高的值會產生較亮的圖像。" #: doc/classes/CameraAttributes.xml #, fuzzy msgid "" "Sensitivity of camera sensors, measured in ISO. A higher sensitivity results " "in a brighter image.\n" "If [member auto_exposure_enabled] is [code]true[/code], this can be used as " "a method of exposure compensation, doubling the value will increase the " "exposure value (measured in EV100) by 1 stop.\n" "[b]Note:[/b] Only available when [member ProjectSettings.rendering/" "lights_and_shadows/use_physical_light_units] is enabled." msgstr "" "相機感測器的靈敏度,以 ISO 測量。靈敏度越高,圖像越亮。僅在啟用 [member " "ProjectSettings.rendering/lights_and_shadows/use_physical_light_units] 時可" "用。當 [member auto_exposure_enabled] 啟用時,這可以用作曝光補償的方法,將該" "值加倍將使曝光值(以 EV100 測量)增加 1 檔。" #: doc/classes/CameraAttributesPhysical.xml msgid "Physically-based camera settings." msgstr "基於物理的相機設定。" #: doc/classes/CameraAttributesPhysical.xml msgid "" "[CameraAttributesPhysical] is used to set rendering settings based on a " "physically-based camera's settings. It is responsible for exposure, auto-" "exposure, and depth of field.\n" "When used in a [WorldEnvironment] it provides default settings for exposure, " "auto-exposure, and depth of field that will be used by all cameras without " "their own [CameraAttributes], including the editor camera. When used in a " "[Camera3D] it will override any [CameraAttributes] set in the " "[WorldEnvironment] and will override the [Camera3D]s [member Camera3D.far], " "[member Camera3D.near], [member Camera3D.fov], and [member " "Camera3D.keep_aspect] properties. When used in [VoxelGI] or [LightmapGI], " "only the exposure settings will be used.\n" "The default settings are intended for use in an outdoor environment, tips " "for settings for use in an indoor environment can be found in each setting's " "documentation.\n" "[b]Note:[/b] Depth of field blur is only supported in the Forward+ and " "Mobile rendering methods, not Compatibility." msgstr "" "[CameraAttributesPhysical] 用於根據基於物理的相機的設定來設定算繪設定。它負責" "曝光、自動曝光、以及景深。\n" "當在 [WorldEnvironment] 中使用時,它提供了曝光、自動曝光、以及景深的預設設" "置,這些設定將由所有沒有自己的 [CameraAttributes] 的相機使用,包括編輯器相" "機。當在 [Camera3D] 中使用時,它將覆蓋 [WorldEnvironment] 中設定的任何 " "[CameraAttributes],並將覆蓋 [Camera3D] 的 [member Camera3D.far]、[member " "Camera3D.near]、[member Camera3D.fov]、以及 [member Camera3D.keep_aspect] 屬" "性。當在 [VoxelGI] 或 [LightmapGI] 中使用時,將只會使用曝光設定。\n" "預設設定適用於室外環境,可在每個設定的文件中找到有關在室內環境中使用的設定的" "提示。\n" "[b]注意:[/b]景深模糊只支援 Forward+ 和移動算繪方式,不支援相容模式。" #: doc/classes/CameraAttributesPhysical.xml msgid "Physical light and camera units" msgstr "物理燈光與相機單位" #: doc/classes/CameraAttributesPhysical.xml msgid "" "Returns the vertical field of view that corresponds to the [member " "frustum_focal_length]. This value is calculated internally whenever [member " "frustum_focal_length] is changed." msgstr "" "返回對應於 [member frustum_focal_length] 的垂直視野。每當 [member " "frustum_focal_length] 發生變化時,該值都會在內部計算。" #: doc/classes/CameraAttributesPhysical.xml msgid "" "The maximum luminance (in EV100) used when calculating auto exposure. When " "calculating scene average luminance, color values will be clamped to at " "least this value. This limits the auto-exposure from exposing below a " "certain brightness, resulting in a cut off point where the scene will remain " "bright." msgstr "" "計算自動曝光時使用的最大亮度(單位:EV100)。在計算場景平均亮度時,顏色值將至" "少被鉗制在這個值上。這限制了自動曝光在低於一定的亮度進行曝光時,導致場景將保" "持明亮的一個截止點。" #: doc/classes/CameraAttributesPhysical.xml #, fuzzy msgid "" "The minimum luminance (in EV100) used when calculating auto exposure. When " "calculating scene average luminance, color values will be clamped to at " "least this value. This limits the auto-exposure from exposing above a " "certain brightness, resulting in a cut off point where the scene will remain " "dark." msgstr "" "計算自動曝光時使用的最小亮度(單位:EV100)。在計算場景平均亮度時,顏色值將至" "少被鉗制在這個值上。這限制了自動曝光在超過一定的亮度進行曝光時,導致場景將保" "持黑暗的一個截止點。" #: doc/classes/CameraAttributesPhysical.xml msgid "" "Size of the aperture of the camera, measured in f-stops. An f-stop is a " "unitless ratio between the focal length of the camera and the diameter of " "the aperture. A high aperture setting will result in a smaller aperture " "which leads to a dimmer image and sharper focus. A low aperture results in a " "wide aperture which lets in more light resulting in a brighter, less-focused " "image. Default is appropriate for outdoors at daytime (i.e. for use with a " "default [DirectionalLight3D]), for indoor lighting, a value between 2 and 4 " "is more appropriate.\n" "Only available when [member ProjectSettings.rendering/lights_and_shadows/" "use_physical_light_units] is enabled." msgstr "" "相機光圈的大小,以 f 檔為單位進行測量。f 檔是相機焦距與光圈直徑之間的一個無單" "位比率。高光圈設定將產生一個更小的光圈,從而導致更暗的圖像和更清晰的焦點。低" "光圈會產生一個大光圈,讓更多的光線進入,從而產生一個更亮、更不聚焦的圖像。默" "認值適用於白天的室外(即與預設 [DirectionalLight3D] 一起使用),對於室內照" "明,2 到 4 之間的值更合適。\n" "僅在啟用 [member ProjectSettings.rendering/lights_and_shadows/" "use_physical_light_units] 時可用。" #: doc/classes/CameraAttributesPhysical.xml #, fuzzy msgid "" "Time for shutter to open and close, evaluated as [code]1 / shutter_speed[/" "code] seconds. A higher value will allow less light (leading to a darker " "image), while a lower value will allow more light (leading to a brighter " "image).\n" "Only available when [member ProjectSettings.rendering/lights_and_shadows/" "use_physical_light_units] is enabled." msgstr "" "快門打開和關閉的時間,單位:秒。較高的值將使更多的光線進入,從而使圖像更亮;" "而較低的值將使更少的光線進入,從而使圖像更暗。\n" "僅在啟用 [member ProjectSettings.rendering/lights_and_shadows/" "use_physical_light_units] 時可用。" #: doc/classes/CameraAttributesPhysical.xml msgid "" "Override value for [member Camera3D.far]. Used internally when calculating " "depth of field. When attached to a [Camera3D] as its [member " "Camera3D.attributes], it will override the [member Camera3D.far] property." msgstr "" "覆蓋 [member Camera3D.far] 的值。在內部計算景深時使用。當被附加到 [Camera3D] " "作為其 [member Camera3D.attributes] 時,它將覆蓋 [member Camera3D.fov] 屬性。" #: doc/classes/CameraAttributesPhysical.xml msgid "" "Distance between camera lens and camera aperture, measured in millimeters. " "Controls field of view and depth of field. A larger focal length will result " "in a smaller field of view and a narrower depth of field meaning fewer " "objects will be in focus. A smaller focal length will result in a wider " "field of view and a larger depth of field meaning more objects will be in " "focus. When attached to a [Camera3D] as its [member Camera3D.attributes], it " "will override the [member Camera3D.fov] property and the [member " "Camera3D.keep_aspect] property." msgstr "" "相機鏡頭和相機光圈之間的距離,單位:毫米。控制視野和景深。較大的焦距會導致較" "小的視野和較窄的景深,這意味著更少的對象將在焦點中。較小的焦距會導致更寬的視" "野和更大的景深,這意味著更多的物體將在焦點中。當被附加到 [Camera3D] 作為其 " "[member Camera3D.attributes] 時,它將覆蓋 [member Camera3D.fov] 屬性和 " "[member Camera3D.keep_aspect] 屬性。" #: doc/classes/CameraAttributesPhysical.xml msgid "" "Distance from camera of object that will be in focus, measured in meters. " "Internally this will be clamped to be at least 1 millimeter larger than " "[member frustum_focal_length]." msgstr "" "將在焦點中的物體與相機的距離,以米為單位進行測量。在內部,這將被鉗制為至少比 " "[member frustum_focal_length] 大 1 毫米。" #: doc/classes/CameraAttributesPhysical.xml msgid "" "Override value for [member Camera3D.near]. Used internally when calculating " "depth of field. When attached to a [Camera3D] as its [member " "Camera3D.attributes], it will override the [member Camera3D.near] property." msgstr "" "覆蓋 [member Camera3D.near] 的值。在內部計算景深時使用。當被附加到 " "[Camera3D] 作為其 [member Camera3D.attributes] 時,它將覆蓋 [member " "Camera3D.near] 屬性。" #: doc/classes/CameraAttributesPractical.xml msgid "Camera settings in an easy to use format." msgstr "相機設定,格式比較易用。" #: doc/classes/CameraAttributesPractical.xml msgid "" "Controls camera-specific attributes such as auto-exposure, depth of field, " "and exposure override.\n" "When used in a [WorldEnvironment] it provides default settings for exposure, " "auto-exposure, and depth of field that will be used by all cameras without " "their own [CameraAttributes], including the editor camera. When used in a " "[Camera3D] it will override any [CameraAttributes] set in the " "[WorldEnvironment]. When used in [VoxelGI] or [LightmapGI], only the " "exposure settings will be used." msgstr "" "控制相機的特定屬性,如自動曝光、景深、以及曝光覆蓋。\n" "當在 [WorldEnvironment] 中使用時,它提供了曝光、自動曝光、以及景深的預設設" "置,這些設定將由所有沒有自己的 [CameraAttributes] 的相機使用,包括編輯器相" "機。當在 [Camera3D] 中使用時,它將覆蓋 [WorldEnvironment] 中設定的任何 " "[CameraAttributes]。當在 [VoxelGI] 或 [LightmapGI] 中使用時,只會使用曝光設" "置。" #: doc/classes/CameraAttributesPractical.xml msgid "" "The maximum sensitivity (in ISO) used when calculating auto exposure. When " "calculating scene average luminance, color values will be clamped to at " "least this value. This limits the auto-exposure from exposing below a " "certain brightness, resulting in a cut off point where the scene will remain " "bright." msgstr "" "計算自動曝光時使用的最大感光度(單位:ISO)。在計算場景平均亮度時,顏色值將至" "少被鉗制在這個值上。這限制了自動曝光在低於一定的亮度進行曝光時,導致場景將保" "持明亮的一個截止點。" #: doc/classes/CameraAttributesPractical.xml msgid "" "The minimum sensitivity (in ISO) used when calculating auto exposure. When " "calculating scene average luminance, color values will be clamped to at " "least this value. This limits the auto-exposure from exposing above a " "certain brightness, resulting in a cut off point where the scene will remain " "dark." msgstr "" "計算自動曝光時使用的最小感光度(單位:ISO)。在計算場景平均亮度時,顏色值將至" "少被鉗制在這個值上。這限制了自動曝光在超過一定的亮度進行曝光時,導致場景將保" "持黑暗的一個截止點。" #: doc/classes/CameraAttributesPractical.xml #, fuzzy msgid "" "Sets the maximum amount of blur. When using physically-based blur amounts, " "will instead act as a multiplier. High values lead to an increased amount of " "blurriness, but can be much more expensive to calculate. It is best to keep " "this as low as possible for a given art style." msgstr "" "設定最大模糊量。當使用基於物理的模糊量時,將改為充當一個乘數。高值會導致模糊" "度增加,但計算起來會更昂貴。對於一個給定的藝術風格,最好將該值保持得盡可能" "低。" #: doc/classes/CameraAttributesPractical.xml msgid "" "Objects further from the [Camera3D] by this amount will be blurred by the " "depth of field effect. Measured in meters." msgstr "" "距離該 [Camera3D] 比該值遠的對象將因景深效果而變得模糊。以米為單位進行測量。" #: doc/classes/CameraAttributesPractical.xml #, fuzzy msgid "" "Enables depth of field blur for objects further than [member " "dof_blur_far_distance]. Strength of blur is controlled by [member " "dof_blur_amount] and modulated by [member dof_blur_far_transition].\n" "[b]Note:[/b] Depth of field blur is only supported in the Forward+ and " "Mobile rendering methods, not Compatibility.\n" "[b]Note:[/b] Depth of field blur is not supported on viewports that have a " "transparent background (where [member Viewport.transparent_bg] is " "[code]true[/code])." msgstr "" "為比 [member dof_blur_far_distance] 更遠的對象啟用景深模糊。模糊強度由 " "[member dof_blur_amount] 控制並由 [member dof_blur_far_transition] 調變。\n" "[b]注意:[/b]景深模糊只支援 Forward+ 和移動算繪方式,不支援相容模式。" #: doc/classes/CameraAttributesPractical.xml msgid "" "When positive, distance over which (starting from [member " "dof_blur_far_distance]) blur effect will scale from 0 to [member " "dof_blur_amount]. When negative, uses physically-based scaling so depth of " "field effect will scale from 0 at [member dof_blur_far_distance] and will " "increase in a physically accurate way as objects get further from the " "[Camera3D]." msgstr "" "當為正數時,距離超過該值(從 [member dof_blur_far_distance] 開始)時,模糊效" "果將從 0 縮放到 [member dof_blur_amount]。當為負數時,使用基於物理的縮放,因" "此景深效果將在 [member dof_blur_far_distance] 處從 0 開始縮放,並且隨著物件遠" "離該 [Camera3D],將以物理上準確的方式增加該效果。" #: doc/classes/CameraAttributesPractical.xml msgid "" "Objects closer from the [Camera3D] by this amount will be blurred by the " "depth of field effect. Measured in meters." msgstr "" "距離該 [Camera3D] 比該值近的對象將因景深效果而變得模糊。以米為單位進行測量。" #: doc/classes/CameraAttributesPractical.xml msgid "" "Enables depth of field blur for objects closer than [member " "dof_blur_near_distance]. Strength of blur is controlled by [member " "dof_blur_amount] and modulated by [member dof_blur_near_transition].\n" "[b]Note:[/b] Depth of field blur is only supported in the Forward+ and " "Mobile rendering methods, not Compatibility.\n" "[b]Note:[/b] Depth of field blur is not supported on viewports that have a " "transparent background (where [member Viewport.transparent_bg] is " "[code]true[/code])." msgstr "" "為距離小於 [member dof_blur_near_distance] 的物件啟用景深模糊效果。模糊強度" "由 [member dof_blur_amount] 控制,並由 [member dof_blur_near_transition] 調" "節。\n" "[b]注意:[/b] 景深模糊僅在 Forward+ 和 Mobile 渲染方法中受支持,不支援相容模" "式。\n" "[b]注意:[/b] 景深模糊在具有透明背景的視口([member Viewport.transparent_bg] " "為 [code]true[/code])上不受支援。" #: doc/classes/CameraAttributesPractical.xml msgid "" "When positive, distance over which blur effect will scale from 0 to [member " "dof_blur_amount], ending at [member dof_blur_near_distance]. When negative, " "uses physically-based scaling so depth of field effect will scale from 0 at " "[member dof_blur_near_distance] and will increase in a physically accurate " "way as objects get closer to the [Camera3D]." msgstr "" "當為正數時,距離超過該值且截止到 [member dof_blur_near_distance] 時,模糊效果" "將從 0 縮放到 [member dof_blur_amount]。當為負數時,使用基於物理的縮放,因此" "景深效果將在 [member dof_blur_near_distance] 處從 0 開始縮放,並且隨著物件靠" "近該 [Camera3D],將以物理上準確的方式增加該效果。" #: doc/classes/CameraFeed.xml msgid "" "A camera feed gives you access to a single physical camera attached to your " "device." msgstr "通過相機源,你可以存取連接到裝置的單個物理相機。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "" "A camera feed gives you access to a single physical camera attached to your " "device. When enabled, Godot will start capturing frames from the camera " "which can then be used. See also [CameraServer].\n" "[b]Note:[/b] Many cameras will return YCbCr images which are split into two " "textures and need to be combined in a shader. Godot does this automatically " "for you if you set the environment to show the camera image in the " "background.\n" "[b]Note:[/b] This class is currently only implemented on Linux, Android, " "macOS, and iOS. On other platforms no [CameraFeed]s will be available. To " "get a [CameraFeed] on iOS, the camera plugin from [url=https://github.com/" "godotengine/godot-ios-plugins]godot-ios-plugins[/url] is required." msgstr "" "通過相機源,你可以存取連接到裝置的單個物理相機。啟用後,Godot 將開始從相機捕" "獲影格,然後使用。另請參閱 [CameraServer]。\n" "[b]注意:[/b]很多相機會返回 YCbCr 圖像,這些圖像被分成兩個紋理,需要在著色器" "中組合。如果你將環境設定為在背景中顯示相機圖像,Godot 會自動為將執行此操作。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Called when the camera feed is activated." msgstr "查詢該 [TextureLayered] 的寬度時被呼叫。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Called when the camera feed is deactivated." msgstr "查詢該 [TextureLayered] 的寬度時被呼叫。" #: doc/classes/CameraFeed.xml msgid "Returns feed image data type." msgstr "返回源圖像的資料型別。" #: doc/classes/CameraFeed.xml msgid "Returns the unique ID for this feed." msgstr "返回該源的唯一ID。" #: doc/classes/CameraFeed.xml msgid "Returns the camera's name." msgstr "返回相機的名稱。" #: doc/classes/CameraFeed.xml msgid "Returns the position of camera on the device." msgstr "返回裝置上的相機位置。" #: doc/classes/CameraFeed.xml msgid "" "Returns the texture backend ID (usable by some external libraries that need " "a handle to a texture to write data)." msgstr "" #: doc/classes/CameraFeed.xml msgid "Sets the feed as external feed provided by another library." msgstr "" #: doc/classes/CameraFeed.xml msgid "" "Sets the feed format parameters for the given [param index] in the [member " "formats] array. Returns [code]true[/code] on success. By default, the YUYV " "encoded stream is transformed to [constant FEED_RGB]. The YUYV encoded " "stream output format can be changed by setting [param parameters]'s " "[code]output[/code] entry to one of the following:\n" "- [code]\"separate\"[/code] will result in [constant FEED_YCBCR_SEP];\n" "- [code]\"grayscale\"[/code] will result in desaturated [constant " "FEED_RGB];\n" "- [code]\"copy\"[/code] will result in [constant FEED_YCBCR]." msgstr "" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Sets the camera's name." msgstr "返回相機的名稱。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Sets the position of this camera." msgstr "設定給定頂點的位置。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Sets RGB image for this feed." msgstr "沒有為該源設定圖像。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Sets YCbCr image for this feed." msgstr "沒有為該源設定圖像。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Sets Y and CbCr images for this feed." msgstr "沒有為該源設定圖像。" #: doc/classes/CameraFeed.xml msgid "If [code]true[/code], the feed is active." msgstr "如果為 [code]true[/code],則源是啟動的。" #: doc/classes/CameraFeed.xml msgid "The transform applied to the camera's image." msgstr "套用於相機圖像的變換。" #: doc/classes/CameraFeed.xml msgid "" "Formats supported by the feed. Each entry is a [Dictionary] describing " "format parameters." msgstr "" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Emitted when the format has changed." msgstr "更改顏色時發出。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Emitted when a new frame is available." msgstr "當介面被移除時觸發。" #: doc/classes/CameraFeed.xml msgid "No image set for the feed." msgstr "沒有為該源設定圖像。" #: doc/classes/CameraFeed.xml msgid "Feed supplies RGB images." msgstr "源提供 RGB 圖像。" #: doc/classes/CameraFeed.xml msgid "Feed supplies YCbCr images that need to be converted to RGB." msgstr "源提供的 YCbCr 圖像需要轉換成 RGB 圖像。" #: doc/classes/CameraFeed.xml msgid "" "Feed supplies separate Y and CbCr images that need to be combined and " "converted to RGB." msgstr "源提供單獨的 Y 和 CbCr 圖像,需要合併並轉換為 RGB。" #: doc/classes/CameraFeed.xml #, fuzzy msgid "Feed supplies external image." msgstr "源提供 RGB 圖像。" #: doc/classes/CameraFeed.xml msgid "Unspecified position." msgstr "未指定座標。" #: doc/classes/CameraFeed.xml msgid "Camera is mounted at the front of the device." msgstr "相機安裝在了裝置前部。" #: doc/classes/CameraFeed.xml msgid "Camera is mounted at the back of the device." msgstr "相機安裝在了裝置後部。" #: doc/classes/CameraServer.xml msgid "Server keeping track of different cameras accessible in Godot." msgstr "追蹤 Godot 中可存取的不同攝像頭的伺服器。" #: doc/classes/CameraServer.xml #, fuzzy msgid "" "The [CameraServer] keeps track of different cameras accessible in Godot. " "These are external cameras such as webcams or the cameras on your phone.\n" "It is notably used to provide AR modules with a video feed from the camera.\n" "[b]Note:[/b] This class is currently only implemented on Linux, Android, " "macOS, and iOS. On other platforms no [CameraFeed]s will be available. To " "get a [CameraFeed] on iOS, the camera plugin from [url=https://github.com/" "godotengine/godot-ios-plugins]godot-ios-plugins[/url] is required." msgstr "" "[CameraServer] 記錄了 Godot 中可存取的不同相機。此處的相機指外部相機,例如網" "路攝像頭或手機上的攝像頭。\n" "主要用於為 AR 模組提供來自相機的影片源。\n" "[b]注意:[/b]這個類目前只在 macOS 和 iOS 上實作。在其他平臺上沒有可用的 " "[CameraFeed]。" #: doc/classes/CameraServer.xml msgid "Adds the camera [param feed] to the camera server." msgstr "將相機源 [param feed] 新增到相機伺服器中。" #: doc/classes/CameraServer.xml msgid "Returns an array of [CameraFeed]s." msgstr "返回一個 [CameraFeed] 陣列。" #: doc/classes/CameraServer.xml msgid "" "Returns the [CameraFeed] corresponding to the camera with the given [param " "index]." msgstr "返回與給定索引 [param index] 的相機對應的 [CameraFeed]。" #: doc/classes/CameraServer.xml msgid "Returns the number of [CameraFeed]s registered." msgstr "返回註冊的 [CameraFeed] 的數量。" #: doc/classes/CameraServer.xml msgid "Removes the specified camera [param feed]." msgstr "移除指定的相機源 [param feed]。" #: doc/classes/CameraServer.xml msgid "" "If [code]true[/code], the server is actively monitoring available camera " "feeds.\n" "This has a performance cost, so only set it to [code]true[/code] when you're " "actively accessing the camera.\n" "[b]Note:[/b] After setting it to [code]true[/code], you can receive updated " "camera feeds through the [signal camera_feeds_updated] signal.\n" "[codeblocks]\n" "[gdscript]\n" "func _ready():\n" "\tCameraServer.camera_feeds_updated.connect(_on_camera_feeds_updated)\n" "\tCameraServer.monitoring_feeds = true\n" "\n" "func _on_camera_feeds_updated():\n" "\tvar feeds = CameraServer.feeds()\n" "[/gdscript]\n" "[csharp]\n" "public override void _Ready()\n" "{\n" "\tCameraServer.CameraFeedsUpdated += OnCameraFeedsUpdated;\n" "\tCameraServer.MonitoringFeeds = true;\n" "}\n" "\n" "void OnCameraFeedsUpdated()\n" "{\n" "\tvar feeds = CameraServer.Feeds();\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" #: doc/classes/CameraServer.xml msgid "Emitted when a [CameraFeed] is added (e.g. a webcam is plugged in)." msgstr "當新增 [CameraFeed] 時發出(例如插入網路攝像頭時)。" #: doc/classes/CameraServer.xml msgid "Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged)." msgstr "當移除 [CameraFeed] 時發出(例如拔掉網路攝像頭時)。" #: doc/classes/CameraServer.xml #, fuzzy msgid "Emitted when camera feeds are updated." msgstr "新增預設時發出。" #: doc/classes/CameraServer.xml msgid "The RGBA camera image." msgstr "RGBA 相機圖像。" #: doc/classes/CameraServer.xml msgid "The [url=https://en.wikipedia.org/wiki/YCbCr]YCbCr[/url] camera image." msgstr "[url=https://zh.wikipedia.org/zh-cn/YCbCr]YCbCr[/url] 相機圖像。" #: doc/classes/CameraServer.xml msgid "The Y component camera image." msgstr "Y 分量相機圖像。" #: doc/classes/CameraServer.xml msgid "The CbCr component camera image." msgstr "CbCr 分量相機圖像。" #: doc/classes/CameraTexture.xml msgid "Texture provided by a [CameraFeed]." msgstr "由 [CameraFeed] 提供的紋理。" #: doc/classes/CameraTexture.xml msgid "" "This texture gives access to the camera texture provided by a [CameraFeed].\n" "[b]Note:[/b] Many cameras supply YCbCr images which need to be converted in " "a shader." msgstr "" "該紋理可以存取 [CameraFeed] 提供的相機紋理。\n" "[b]注意:[/b]許多相機提供的都是 YCbCr 圖像,需要在著色器中進行轉換。" #: doc/classes/CameraTexture.xml msgid "The ID of the [CameraFeed] for which we want to display the image." msgstr "我們要顯示圖像的 [CameraFeed] 的 ID。" #: doc/classes/CameraTexture.xml msgid "" "Convenience property that gives access to the active property of the " "[CameraFeed]." msgstr "給予存取 [CameraFeed] 的活動屬性的便利屬性。" #: doc/classes/CameraTexture.xml msgid "" "Which image within the [CameraFeed] we want access to, important if the " "camera image is split in a Y and CbCr component." msgstr "" "我們要存取 [CameraFeed] 中的哪個圖像,如果相機圖像被分割成 Y 和 CbCr 分量,這" "一點很重要。" #: doc/classes/CanvasGroup.xml msgid "Merges several 2D nodes into a single draw operation." msgstr "將若干 2D 節點合併至單次繪製操作。" #: doc/classes/CanvasGroup.xml #, fuzzy msgid "" "Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object. It " "allows to e.g. draw overlapping translucent 2D nodes without causing the " "overlapping sections to be more opaque than intended (set the [member " "CanvasItem.self_modulate] property on the [CanvasGroup] to achieve this " "effect).\n" "[b]Note:[/b] The [CanvasGroup] uses a custom shader to read from the " "backbuffer to draw its children. Assigning a [Material] to the [CanvasGroup] " "overrides the built-in shader. To duplicate the behavior of the built-in " "shader in a custom [Shader], use the following:\n" "[codeblock]\n" "shader_type canvas_item;\n" "render_mode unshaded;\n" "\n" "uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, " "filter_nearest;\n" "\n" "void fragment() {\n" "\tvec4 c = textureLod(screen_texture, SCREEN_UV, 0.0);\n" "\n" "\tif (c.a > 0.0001) {\n" "\t\tc.rgb /= c.a;\n" "\t}\n" "\n" "\tCOLOR *= c;\n" "}\n" "[/codeblock]\n" "[b]Note:[/b] Since [CanvasGroup] and [member CanvasItem.clip_children] both " "utilize the backbuffer, children of a [CanvasGroup] who have their [member " "CanvasItem.clip_children] set to anything other than [constant " "CanvasItem.CLIP_CHILDREN_DISABLED] will not function correctly." msgstr "" "[CanvasGroup] 的所有子 [CanvasItem] 節點會作為一個單獨的物件繪製。它允許在不" "混合的情況下繪製重疊的半透明 2D 節點(設定 [CanvasGroup] 的 [member " "CanvasItem.self_modulate] 屬性來實作這一效果)。\n" "[b]注意:[/b][CanvasGroup] 使用一個自訂著色器從背景緩衝區讀取以繪製其子節點。" "為 [CanvasGroup] 指定一個 [Material] 會覆蓋內建著色器。要在自訂 [Shader] 中複" "製內建著色器的行為,請使用以下方法:\n" "[codeblock]\n" "shader_type canvas_item;\n" "render_mode unshaded;\n" "\n" "uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, " "filter_nearest;\n" "\n" "void fragment() {\n" "\tvec4 c = textureLod(screen_texture, SCREEN_UV, 0.0);\n" "\n" "\tif (c.a > 0.0001) {\n" "\t\tc.rgb /= c.a;\n" "\t}\n" "\n" "\tCOLOR *= c;\n" "}\n" "[/codeblock]\n" "[b]注意:[/b]由於 [CanvasGroup] 和 [member CanvasItem.clip_children] 都使用後" "台緩衝區,因此 [CanvasGroup] 的子級如果將其 [member " "CanvasItem.clip_children] 設定為 [constant " "CanvasItem.CLIP_CHILDREN_DISABLED] 以外的其他值將無法正常工作。" #: doc/classes/CanvasGroup.xml msgid "" "Sets the size of the margin used to expand the clearing rect of this " "[CanvasGroup]. This expands the area of the backbuffer that will be used by " "the [CanvasGroup]. A smaller margin will reduce the area of the backbuffer " "used which can increase performance, however if [member use_mipmaps] is " "enabled, a small margin may result in mipmap errors at the edge of the " "[CanvasGroup]. Accordingly, this should be left as small as possible, but " "should be increased if artifacts appear along the edges of the canvas group." msgstr "" "設定用於擴充該 [CanvasGroup] 清除矩形的邊距大小。會對該 [CanvasGroup] 所使用" "的後臺緩衝的區域進行擴充。邊距較小時可以減少後臺緩衝的區域大小,從而提升性" "能,但如果啟用了 [member use_mipmaps],較小的邊距可能在該 [CanvasGroup] 邊緣" "造成 mipmap 錯誤。因此,這個值應該儘量調小,但是如果畫布組的邊緣出現問題,就" "應該將其調大。" #: doc/classes/CanvasGroup.xml msgid "" "Sets the size of a margin used to expand the drawable rect of this " "[CanvasGroup]. The size of the [CanvasGroup] is determined by fitting a rect " "around its children then expanding that rect by [member fit_margin]. This " "increases both the backbuffer area used and the area covered by the " "[CanvasGroup] both of which can reduce performance. This should be kept as " "small as possible and should only be expanded when an increased size is " "needed (e.g. for custom shader effects)." msgstr "" "設定用於擴充該 [CanvasGroup] 繪圖矩形的邊距大小。確定該 [CanvasGroup] 大小的" "方法是:首先框定子節點的矩形區域,然後將該矩形按照 [member fit_margin] 進行擴" "展。會增大該 [CanvasGroup] 所使用的後臺緩衝的區域,也會增大該 [CanvasGroup] " "所覆蓋的面積,兩者都會降低性能。這個值應該儘量調小,僅在需要時調大(例如自定" "義著色器效果)。" #: doc/classes/CanvasGroup.xml msgid "" "If [code]true[/code], calculates mipmaps for the backbuffer before drawing " "the [CanvasGroup] so that mipmaps can be used in a custom [ShaderMaterial] " "attached to the [CanvasGroup]. Generating mipmaps has a performance cost so " "this should not be enabled unless required." msgstr "" "如果為 [code]true[/code],則會在繪製該 [CanvasGroup] 之前為其後臺緩衝計算 " "mipmap,附加到該 [CanvasGroup] 的自訂 [ShaderMaterial] 就可以使用 mipmap。" "Mipmap 的生成會造成性能消耗,所以應在必要時才啟用。" #: doc/classes/CanvasItem.xml msgid "Abstract base class for everything in 2D space." msgstr "2D 空間中所有物件的抽象基底類別。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Abstract base class for everything in 2D space. Canvas items are laid out in " "a tree; children inherit and extend their parent's transform. [CanvasItem] " "is extended by [Control] for GUI-related nodes, and by [Node2D] for 2D game " "objects.\n" "Any [CanvasItem] can draw. For this, [method queue_redraw] is called by the " "engine, then [constant NOTIFICATION_DRAW] will be received on idle time to " "request a redraw. Because of this, canvas items don't need to be redrawn on " "every frame, improving the performance significantly. Several functions for " "drawing on the [CanvasItem] are provided (see [code]draw_*[/code] " "functions). However, they can only be used inside [method _draw], its " "corresponding [method Object._notification] or methods connected to the " "[signal draw] signal.\n" "Canvas items are drawn in tree order on their canvas layer. By default, " "children are on top of their parents, so a root [CanvasItem] will be drawn " "behind everything. This behavior can be changed on a per-item basis.\n" "A [CanvasItem] can be hidden, which will also hide its children. By " "adjusting various other properties of a [CanvasItem], you can also modulate " "its color (via [member modulate] or [member self_modulate]), change its Z-" "index, blend mode, and more.\n" "Note that properties like transform, modulation, and visibility are only " "propagated to [i]direct[/i] [CanvasItem] child nodes. If there is a non-" "[CanvasItem] node in between, like [Node] or [AnimationPlayer], the " "[CanvasItem] nodes below will have an independent position and [member " "modulate] chain. See also [member top_level]." msgstr "" "2D 空間中所有物件的抽象基底類別。畫布專案(Canvas Item)以樹狀排列;子節點繼" "承並擴充其父節點的變換。[CanvasItem] 由 [Control] 擴充為 GUI 相關的節點,由 " "[Node2D] 擴充為 2D 遊戲物件。\n" "任何 [CanvasItem] 都可以進行繪圖。繪圖時,引擎會呼叫 [method queue_redraw]," "然後節點就會在空閒時接收到請求重繪的 [constant NOTIFICATION_DRAW]。因此畫布項" "目不需要每一影格都重繪,顯著提升了性能。這個類還提供了幾個用於在 " "[CanvasItem] 上繪圖的函式(見 [code]draw_*[/code] 函式)。不過這些函式都只能" "在 [method _draw] 及其對應的 [method Object._notification] 或連接到 [signal " "draw] 的方法內使用。\n" "畫布專案是按樹狀順序繪製的。預設情況下,子專案位於父專案的上方,因此根 " "[CanvasItem] 將被畫在所有專案的後面。這種行為可以針對單個畫布專案進行更改。\n" "[CanvasItem] 可以隱藏,隱藏時也會隱藏其子專案。通過調整畫布專案的各種其它屬" "性,你還可以調變它的顏色(通過 [member modulate] 或 [member " "self_modulate])、更改 Z 索引、混合模式等。" #: doc/classes/CanvasItem.xml doc/classes/CanvasLayer.xml #: doc/classes/InputEvent.xml doc/classes/SubViewport.xml #: doc/classes/Viewport.xml msgid "Viewport and canvas transforms" msgstr "Viewport 和畫布變換" #: doc/classes/CanvasItem.xml doc/classes/Control.xml doc/classes/Node2D.xml msgid "Custom drawing in 2D" msgstr "2D 的自訂繪製" #: doc/classes/CanvasItem.xml msgid "" "Called when [CanvasItem] has been requested to redraw (after [method " "queue_redraw] is called, either manually or by the engine).\n" "Corresponds to the [constant NOTIFICATION_DRAW] notification in [method " "Object._notification]." msgstr "" "當 [CanvasItem] 被請求重繪時呼叫(手動呼叫或者引擎呼叫 [method queue_redraw] " "之後)。\n" "對應於 [method Object._notification] 中的 [constant NOTIFICATION_DRAW] 通知。" #: doc/classes/CanvasItem.xml doc/classes/RenderingServer.xml msgid "" "Subsequent drawing commands will be ignored unless they fall within the " "specified animation slice. This is a faster way to implement animations that " "loop on background rather than redrawing constantly." msgstr "" "後續的繪製命令將被忽略,除非它們位於指定的動畫切片內。這是實作在背景上迴圈而" "不是不斷重繪的動畫的更快方法。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws an unfilled arc between the given angles with a uniform [param color] " "and [param width] and optional antialiasing (supported only for positive " "[param width]). The larger the value of [param point_count], the smoother " "the curve. [param center] is defined in local space. For elliptical arcs, " "see [method draw_ellipse_arc]. See also [method draw_circle].\n" "If [param width] is negative, it will be ignored and the arc will be drawn " "using [constant RenderingServer.PRIMITIVE_LINE_STRIP]. This means that when " "the CanvasItem is scaled, the arc will remain thin. If this behavior is not " "desired, then pass a positive [param width] like [code]1.0[/code].\n" "The arc is drawn from [param start_angle] towards the value of [param " "end_angle] so in clockwise direction if [code]start_angle < end_angle[/code] " "and counter-clockwise otherwise. Passing the same angles but in reversed " "order will produce the same arc. If absolute difference of [param " "start_angle] and [param end_angle] is greater than [constant @GDScript.TAU] " "radians, then a full circle arc is drawn (i.e. arc will not overlap itself)." msgstr "" "使用一個 uniform [param color] 和 [param width] 以及可選的抗鋸齒(僅支援正 " "[param width] ),在給定的角度之間繪製一條未填充的弧線。[param point_count] " "的值越大,該曲線越平滑。另見 [method draw_circle]。\n" "如果 [param width] 為負,則使用 [constant " "RenderingServer.PRIMITIVE_LINE_STRIP] 繪製弧線。這意味著當縮放 CanvasItem " "時,弧線將保持細長。如果不需要此行為,請傳遞一個正的 [param width],如 " "[code]1.0[/code]。\n" "如果 [code]start_angle < end_angle[/code] ,則圓弧是從 [param start_angle] 朝" "向 [param end_angle] 的值繪製的,即是順時針方向;否則為逆時針方向。以相反的順" "序傳遞相同的角度,將產生相同的弧線。如果 [param start_angle] 和 [param " "end_angle] 的差的絕對值大於 [constant @GDScript.TAU] 弧度,則繪製一個完整的圓" "弧(即弧線不會與自身重疊)。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a string first character using a custom font. If [param oversampling] " "is greater than zero, it is used as font oversampling factor, otherwise " "viewport oversampling settings are used. [param pos] is defined in local " "space." msgstr "" "在畫布項中某個位置繪製單個字形輪廓,使用的字形為 [param font_rid],大小為 " "[param size]。\n" "[b]注意:[/b]字形索引是特定於字形的,請使用 [method shaped_text_get_glyphs] " "或 [method font_get_glyph_index] 返回的字形索引。\n" "[b]注意:[/b]如果有待算繪的字形,呼叫這個函式可能會觸發紋理快取的更新。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a string first character outline using a custom font. If [param " "oversampling] is greater than zero, it is used as font oversampling factor, " "otherwise viewport oversampling settings are used. [param pos] is defined in " "local space." msgstr "" "在畫布項中某個位置繪製單個字形輪廓,使用的字形為 [param font_rid],大小為 " "[param size]。\n" "[b]注意:[/b]字形索引是特定於字形的,請使用 [method shaped_text_get_glyphs] " "或 [method font_get_glyph_index] 返回的字形索引。\n" "[b]注意:[/b]如果有待算繪的字形,呼叫這個函式可能會觸發紋理快取的更新。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a circle, with [param position] defined in local space. See also " "[method draw_ellipse], [method draw_arc], [method draw_polyline], and " "[method draw_polygon].\n" "If [param filled] is [code]true[/code], the circle will be filled with the " "[param color] specified. If [param filled] is [code]false[/code], the circle " "will be drawn as a stroke with the [param color] and [param width] " "specified.\n" "If [param width] is negative, then two-point primitives will be drawn " "instead of a four-point ones. This means that when the CanvasItem is scaled, " "the lines will remain thin. If this behavior is not desired, then pass a " "positive [param width] like [code]1.0[/code].\n" "If [param antialiased] is [code]true[/code], half transparent \"feathers\" " "will be attached to the boundary, making outlines smooth.\n" "[b]Note:[/b] [param width] is only effective if [param filled] is " "[code]false[/code]." msgstr "" "繪製一個矩形。如果 [param filled] 為 [code]true[/code],則矩形將使用指定的 " "[param color] 填充。如果 [param filled] 為 [code]false[/code],則矩形將被繪製" "為具有指定的 [param color] 和 [param width] 的筆劃。另見 [method " "draw_texture_rect]。\n" "如果 [param width] 為負,則將繪製一個兩點圖元而不是一個四點圖元。這意味著當縮" "放 CanvasItem 時,線條將保持細長。如果不需要此行為,請傳遞一個正的 [param " "width],如 [code]1.0[/code]。\n" "[b]注意:[/b][param width] 只有在 [param filled] 為 [code]false[/code] 時才有" "效。\n" "[b]注意:[/b]使用負 [param width] 繪製的未填充矩形可能不會完美顯示。例如,由" "於線條的重疊,角可能會缺失或變亮(對於半透明的 [param color])。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a colored polygon of any number of points, convex or concave. The " "points in the [param points] array are defined in local space. Unlike " "[method draw_polygon], a single color must be specified for the whole " "polygon.\n" "[b]Note:[/b] If you frequently redraw the same polygon with a large number " "of vertices, consider pre-calculating the triangulation with [method " "Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " "draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array]." msgstr "" "繪製一個由任意數量的點構成的實心多邊形,凸形或凹形。與 [method " "draw_colored_polygon] 不同,每個點的顏色都可以單獨改變。另見 [method " "draw_polyline] 和 [method draw_polyline_colors]。如果你需要更大的自由度(例如" "能夠使用骨骼),請改用 [method " "RenderingServer.canvas_item_add_triangle_array]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a dashed line from a 2D point to another, with a given color and " "width. The [param from] and [param to] positions are defined in local space. " "See also [method draw_line], [method draw_multiline], and [method " "draw_polyline].\n" "If [param width] is negative, then a two-point primitives will be drawn " "instead of a four-point ones. This means that when the CanvasItem is scaled, " "the line parts will remain thin. If this behavior is not desired, then pass " "a positive [param width] like [code]1.0[/code].\n" "[param dash] is the length of each dash in pixels, with the gap between each " "dash being the same length. If [param aligned] is [code]true[/code], the " "length of the first and last dashes may be shortened or lengthened to allow " "the line to begin and end at the precise points defined by [param from] and " "[param to]. Both ends are always symmetrical when [param aligned] is " "[code]true[/code]. If [param aligned] is [code]false[/code], all dashes will " "have the same length, but the line may appear incomplete at the end due to " "the dash length not dividing evenly into the line length. Only full dashes " "are drawn when [param aligned] is [code]false[/code].\n" "If [param antialiased] is [code]true[/code], half transparent \"feathers\" " "will be attached to the boundary, making outlines smooth.\n" "[b]Note:[/b] [param antialiased] is only effective if [param width] is " "greater than [code]0.0[/code]." msgstr "" "使用給定的顏色和寬度,從一個 2D 點到另一個點繪製一條虛線。另見 [method " "draw_multiline] 和 [method draw_polyline]。\n" "如果 [param width] 為負,則將繪製一個兩點圖元而不是一個四點圖元。這意味著當縮" "放 CanvasItem 時,線條部分將保持細長。如果不需要此行為,請傳遞一個正的 " "[param width],如 [code]1.0[/code]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws an ellipse with semi-major axis [param major] and semi-minor axis " "[param minor]. See also [method draw_circle], [method draw_ellipse_arc], " "[method draw_polyline], and [method draw_polygon].\n" "If [param filled] is [code]true[/code], the ellipse will be filled with the " "[param color] specified. If [param filled] is [code]false[/code], the " "ellipse will be drawn as a stroke with the [param color] and [param width] " "specified.\n" "If [param width] is negative, then two-point primitives will be drawn " "instead of four-point ones. This means that when the CanvasItem is scaled, " "the lines will remain thin. If this behavior is not desired, then pass a " "positive [param width] like [code]1.0[/code].\n" "If [param antialiased] is [code]true[/code], half transparent \"feathers\" " "will be attached to the boundary, making outlines smooth.\n" "[b]Note:[/b] [param width] is only effective if [param filled] is " "[code]false[/code]." msgstr "" "繪製一個矩形。如果 [param filled] 為 [code]true[/code],則矩形將使用指定的 " "[param color] 填充。如果 [param filled] 為 [code]false[/code],則矩形將被繪製" "為具有指定的 [param color] 和 [param width] 的筆劃。另見 [method " "draw_texture_rect]。\n" "如果 [param width] 為負,則將繪製一個兩點圖元而不是一個四點圖元。這意味著當縮" "放 CanvasItem 時,線條將保持細長。如果不需要此行為,請傳遞一個正的 [param " "width],如 [code]1.0[/code]。\n" "[b]注意:[/b][param width] 只有在 [param filled] 為 [code]false[/code] 時才有" "效。\n" "[b]注意:[/b]使用負 [param width] 繪製的未填充矩形可能不會完美顯示。例如,由" "於線條的重疊,角可能會缺失或變亮(對於半透明的 [param color])。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws an unfilled elliptical arc between the given angles with a uniform " "[param color] and [param width] and optional antialiasing (supported only " "for positive [param width]). The larger the value of [param point_count], " "the smoother the curve. For circular arcs, see [method draw_arc]. See also " "[method draw_ellipse].\n" "If [param width] is negative, it will be ignored and the arc will be drawn " "using [constant RenderingServer.PRIMITIVE_LINE_STRIP]. This means that when " "the CanvasItem is scaled, the arc will remain thin. If this behavior is not " "desired, then pass a positive [param width] like [code]1.0[/code].\n" "The arc is drawn from [param start_angle] towards the value of [param " "end_angle] so in clockwise direction if [code]start_angle < end_angle[/code] " "and counter-clockwise otherwise. Passing the same angles but in reversed " "order will produce the same arc. If absolute difference of [param " "start_angle] and [param end_angle] is greater than [constant @GDScript.TAU] " "radians, then a full ellipse is drawn (i.e. arc will not overlap itself)." msgstr "" "使用一個 uniform [param color] 和 [param width] 以及可選的抗鋸齒(僅支援正 " "[param width] ),在給定的角度之間繪製一條未填充的弧線。[param point_count] " "的值越大,該曲線越平滑。另見 [method draw_circle]。\n" "如果 [param width] 為負,則使用 [constant " "RenderingServer.PRIMITIVE_LINE_STRIP] 繪製弧線。這意味著當縮放 CanvasItem " "時,弧線將保持細長。如果不需要此行為,請傳遞一個正的 [param width],如 " "[code]1.0[/code]。\n" "如果 [code]start_angle < end_angle[/code] ,則圓弧是從 [param start_angle] 朝" "向 [param end_angle] 的值繪製的,即是順時針方向;否則為逆時針方向。以相反的順" "序傳遞相同的角度,將產生相同的弧線。如果 [param start_angle] 和 [param " "end_angle] 的差的絕對值大於 [constant @GDScript.TAU] 弧度,則繪製一個完整的圓" "弧(即弧線不會與自身重疊)。" #: doc/classes/CanvasItem.xml msgid "" "After submitting all animations slices via [method draw_animation_slice], " "this function can be used to revert drawing to its default state (all " "subsequent drawing commands will be visible). If you don't care about this " "particular use case, usage of this function after submitting the slices is " "not required." msgstr "" "通過 [method draw_animation_slice] 提交所有動畫切片後,該函式可以被用來將繪製" "恢復到其預設狀態(所有後續繪製命令都將可見)。如果不關心這個特定用例,則不需" "要在提交切片後使用該函式。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a textured rectangle region of the font texture with LCD subpixel anti-" "aliasing at a given position, optionally modulated by a color. The [param " "rect] is defined in local space.\n" "Texture is drawn using the following blend operation, blend mode of the " "[CanvasItemMaterial] is ignored:\n" "[codeblock]\n" "dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " "modulate.a);\n" "dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " "modulate.a);\n" "dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " "modulate.a);\n" "dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" "[/codeblock]" msgstr "" "在給定的位置繪製一個帶有 LCD 子圖元抗鋸齒的字形紋理的矩形區域,可以選擇用一種" "顏色來調變。\n" "紋理是通過以下混合操作繪製的,[CanvasItemMaterial] 的混合模式被忽略:\n" "[codeblock]\n" "dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " "modulate.a);\n" "dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " "modulate.a);\n" "dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " "modulate.a);\n" "dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" "[/codeblock]" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a line from a 2D point to another, with a given color and width. It " "can be optionally antialiased. The [param from] and [param to] positions are " "defined in local space. See also [method draw_dashed_line], [method " "draw_multiline], and [method draw_polyline].\n" "If [param width] is negative, then a two-point primitive will be drawn " "instead of a four-point one. This means that when the CanvasItem is scaled, " "the line will remain thin. If this behavior is not desired, then pass a " "positive [param width] like [code]1.0[/code]." msgstr "" "使用給定的顏色和寬度,從一個 2D 點到另一個點繪製一條直線。它可以選擇抗鋸齒。" "另請參閱 [method draw_multiline] 和 [method draw_polyline]。\n" "如果 [param width] 為負,則將繪製一個兩點圖元而不是一個四點圖元。這意味著當縮" "放 CanvasItem 時,線條將保持細長。如果不需要此行為,請傳遞一個正的 [param " "width],如 [code]1.0[/code]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for " "related documentation. The [param transform] is defined in local space." msgstr "" "使用所提供的紋理以 2D 方式繪製一個 [Mesh]。相關文件請參閱 [MeshInstance2D]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a textured rectangle region of the multichannel signed distance field " "texture at a given position, optionally modulated by a color. The [param " "rect] is defined in local space. See [member " "FontFile.multichannel_signed_distance_field] for more information and " "caveats about MSDF font rendering.\n" "If [param outline] is positive, each alpha channel value of pixel in region " "is set to maximum value of true distance in the [param outline] radius.\n" "Value of the [param pixel_range] should the same that was used during " "distance field texture generation." msgstr "" "在給定位置,繪製一條多通道有符號距離場紋理的紋理矩形區域,可以選擇用一種顏色" "來調變。有關 MSDF 字形算繪的更多資訊和注意事項,請參閱 [member " "FontFile.multichannel_signed_distance_field]。\n" "如果 [param outline] 為正,則區域中圖元的每個 Alpha 通道值都被設定為 [param " "outline] 半徑內真實距離的最大值。\n" "[param pixel_range] 的值應該與距離場紋理生成期間使用的值相同。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws multiple disconnected lines with a uniform [param width] and [param " "color]. Each line is defined by two consecutive points from [param points] " "array in local space, i.e. i-th segment consists of [code]points[2 * i][/" "code], [code]points[2 * i + 1][/code] endpoints. When drawing large amounts " "of lines, this is faster than using individual [method draw_line] calls. To " "draw interconnected lines, use [method draw_polyline] instead.\n" "If [param width] is negative, then two-point primitives will be drawn " "instead of a four-point ones. This means that when the CanvasItem is scaled, " "the lines will remain thin. If this behavior is not desired, then pass a " "positive [param width] like [code]1.0[/code].\n" "[b]Note:[/b] [param antialiased] is only effective if [param width] is " "greater than [code]0.0[/code]." msgstr "" "使用一致的寬度 [param width] 和顏色 [param color] 繪製多條斷開的線段。[param " "points] 陣列中相鄰的兩個點定義一條線段,即第 i 條線段由端點 [code]points[2 * " "i][/code] 和 [code]points[2 * i + 1][/code] 組成。繪製大量線段時,這種方法比" "使用 [method draw_line] 一條條畫要快。要繪製相連的線段,請改用 [method " "draw_polyline]。\n" "如果 [param width] 為負數,則會繪製由兩個點組成的圖元,不使用四個點組成的圖" "元。此時如果 CanvasItem 發生縮放,則線段仍然會很細。如果不想要這樣的行為,請" "傳入 [code]1.0[/code] 等正數 [param width]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws multiple disconnected lines with a uniform [param width] and segment-" "by-segment coloring. Each segment is defined by two consecutive points from " "[param points] array in local space and a corresponding color from [param " "colors] array, i.e. i-th segment consists of [code]points[2 * i][/code], " "[code]points[2 * i + 1][/code] endpoints and has [code]colors[i][/code] " "color. When drawing large amounts of lines, this is faster than using " "individual [method draw_line] calls. To draw interconnected lines, use " "[method draw_polyline_colors] instead.\n" "If [param width] is negative, then two-point primitives will be drawn " "instead of a four-point ones. This means that when the CanvasItem is scaled, " "the lines will remain thin. If this behavior is not desired, then pass a " "positive [param width] like [code]1.0[/code].\n" "[b]Note:[/b] [param antialiased] is only effective if [param width] is " "greater than [code]0.0[/code]." msgstr "" "使用一致的寬度 [param width] 分段顏色繪製多條斷開的線段。[param points] 陣列" "中相鄰的兩個點定義一條線段,即第 i 條線段由端點 [code]points[2 * i][/code] " "和 [code]points[2 * i + 1][/code] 組成,使用的顏色為 [code]colors[i][/code]。" "繪製大量線段時,這種方法比使用 [method draw_line] 一條條畫要快。要繪製相連的" "線段,請改用 [method draw_polyline_colors]。\n" "如果 [param width] 為負數,則會繪製由兩個點組成的圖元,不使用四個點組成的圖" "元。此時如果 CanvasItem 發生縮放,則線段仍然會很細。如果不想要這樣的行為,請" "傳入 [code]1.0[/code] 等正數 [param width]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Breaks [param text] into lines and draws it using the specified [param font] " "at the [param pos] in local space (top-left corner). The text will have its " "color multiplied by [param modulate]. If [param width] is greater than or " "equal to 0, the text will be clipped if it exceeds the specified width. If " "[param oversampling] is greater than zero, it is used as font oversampling " "factor, otherwise viewport oversampling settings are used." msgstr "" "將 [param text] 分成幾行,並在 [param pos](左上角)處使用指定的 [param " "font] 繪製文字。該文字的顏色將乘以 [param modulate]。如果 [param width] 大於" "等於 0,則當該文字超過指定寬度時將被裁剪。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Breaks [param text] to the lines and draws text outline using the specified " "[param font] at the [param pos] in local space (top-left corner). The text " "will have its color multiplied by [param modulate]. If [param width] is " "greater than or equal to 0, the text will be clipped if it exceeds the " "specified width. If [param oversampling] is greater than zero, it is used as " "font oversampling factor, otherwise viewport oversampling settings are used." msgstr "" "將 [param text] 分成幾行,並在 [param pos](左上角)處使用指定的 [param " "font] 繪製文字輪廓。該文字的顏色將乘以 [param modulate]。如果 [param width] " "大於等於 0,則當該文字超過指定寬度時將被裁剪。" #: doc/classes/CanvasItem.xml msgid "" "Draws a [MultiMesh] in 2D with the provided texture. See " "[MultiMeshInstance2D] for related documentation." msgstr "" "用所提供的紋理以 2D 方式繪製一個 [MultiMesh]。相關文件請參考 " "[MultiMeshInstance2D]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a solid polygon of any number of points, convex or concave. Unlike " "[method draw_colored_polygon], each point's color can be changed " "individually. The [param points] array is defined in local space. See also " "[method draw_polyline] and [method draw_polyline_colors]. If you need more " "flexibility (such as being able to use bones), use [method " "RenderingServer.canvas_item_add_triangle_array] instead.\n" "[b]Note:[/b] If you frequently redraw the same polygon with a large number " "of vertices, consider pre-calculating the triangulation with [method " "Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " "draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array]." msgstr "" "繪製一個由任意數量的點構成的實心多邊形,凸形或凹形。與 [method " "draw_colored_polygon] 不同,每個點的顏色都可以單獨改變。另見 [method " "draw_polyline] 和 [method draw_polyline_colors]。如果你需要更大的自由度(例如" "能夠使用骨骼),請改用 [method " "RenderingServer.canvas_item_add_triangle_array]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws interconnected line segments with a uniform [param color] and [param " "width] and optional antialiasing (supported only for positive [param " "width]). The [param points] array is defined in local space. When drawing " "large amounts of lines, this is faster than using individual [method " "draw_line] calls. To draw disconnected lines, use [method draw_multiline] " "instead. See also [method draw_polygon].\n" "If [param width] is negative, it will be ignored and the polyline will be " "drawn using [constant RenderingServer.PRIMITIVE_LINE_STRIP]. This means that " "when the CanvasItem is scaled, the polyline will remain thin. If this " "behavior is not desired, then pass a positive [param width] like [code]1.0[/" "code]." msgstr "" "使用一個 uniform [param color] 和 [param width] 以及可選的抗鋸齒(僅支援正 " "[param width] ),繪製相互連接的線段。繪製大量線條時,這比使用單獨的 [method " "draw_line] 呼叫更快。要繪製不相連的的線段,請改用 [method draw_multiline]。另" "見 [method draw_polygon]。\n" "如果 [param width] 為負,則使用 [constant " "RenderingServer.PRIMITIVE_LINE_STRIP] 繪製折線。這意味著當縮放 CanvasItem " "時,多段線將保持為細線。如果不需要該行為,請傳遞一個正的 [param width],如 " "[code]1.0[/code]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws interconnected line segments with a uniform [param width], point-by-" "point coloring, and optional antialiasing (supported only for positive " "[param width]). Colors assigned to line points match by index between [param " "points] and [param colors], i.e. each line segment is filled with a gradient " "between the colors of the endpoints. The [param points] array is defined in " "local space. When drawing large amounts of lines, this is faster than using " "individual [method draw_line] calls. To draw disconnected lines, use [method " "draw_multiline_colors] instead. See also [method draw_polygon].\n" "If [param width] is negative, it will be ignored and the polyline will be " "drawn using [constant RenderingServer.PRIMITIVE_LINE_STRIP]. This means that " "when the CanvasItem is scaled, the polyline will remain thin. If this " "behavior is not desired, then pass a positive [param width] like [code]1.0[/" "code]." msgstr "" "繪製相連的線段,使用一致的寬度 [param width],按點指定顏色,還可以開啟抗鋸齒" "(僅支援正的 [param width])。將顏色與線段上的點配對時,使用的是 [param " "points] 和 [param colors] 的索引,即每條線段填充的都是在兩個端點之間顏色的漸" "變色。繪製大量線段時,這種方法比使用 [method draw_line] 一條條畫要快。要繪製" "不相連的線段,請改用 [method draw_multiline_colors]。另見 [method " "draw_polygon]。\n" "如果 [param width] 為負數,則折線使用 [constant " "RenderingServer.PRIMITIVE_LINE_STRIP] 繪製。此時如果 CanvasItem 發生縮放,則" "線段仍然會很細。如果不想要這樣的行為,請傳入 [code]1.0[/code] 等正數 [param " "width]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points " "for a triangle, and 4 points for a quad. If 0 points or more than 4 points " "are specified, nothing will be drawn and an error message will be printed. " "The [param points] array is defined in local space. See also [method " "draw_line], [method draw_polyline], [method draw_polygon], and [method " "draw_rect]." msgstr "" "繪製自訂圖元。1 個點的是個點,2 個點的是線段,3 個點的是三角形,4 個點的是四" "邊形。如果沒有指定點或者指定了超過 4 個點,則不會繪製任何東西,只會輸出錯誤消" "息。另請參閱 [method draw_line]、[method draw_polyline]、[method " "draw_polygon]、[method draw_rect]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a rectangle. If [param filled] is [code]true[/code], the rectangle " "will be filled with the [param color] specified. If [param filled] is " "[code]false[/code], the rectangle will be drawn as a stroke with the [param " "color] and [param width] specified. The [param rect] is specified in local " "space. See also [method draw_texture_rect].\n" "If [param width] is negative, then two-point primitives will be drawn " "instead of a four-point ones. This means that when the CanvasItem is scaled, " "the lines will remain thin. If this behavior is not desired, then pass a " "positive [param width] like [code]1.0[/code].\n" "If [param antialiased] is [code]true[/code], half transparent \"feathers\" " "will be attached to the boundary, making outlines smooth.\n" "[b]Note:[/b] [param width] is only effective if [param filled] is " "[code]false[/code].\n" "[b]Note:[/b] Unfilled rectangles drawn with a negative [param width] may not " "display perfectly. For example, corners may be missing or brighter due to " "overlapping lines (for a translucent [param color])." msgstr "" "繪製一個矩形。如果 [param filled] 為 [code]true[/code],則矩形將使用指定的 " "[param color] 填充。如果 [param filled] 為 [code]false[/code],則矩形將被繪製" "為具有指定的 [param color] 和 [param width] 的筆劃。另見 [method " "draw_texture_rect]。\n" "如果 [param width] 為負,則將繪製一個兩點圖元而不是一個四點圖元。這意味著當縮" "放 CanvasItem 時,線條將保持細長。如果不需要此行為,請傳遞一個正的 [param " "width],如 [code]1.0[/code]。\n" "[b]注意:[/b][param width] 只有在 [param filled] 為 [code]false[/code] 時才有" "效。\n" "[b]注意:[/b]使用負 [param width] 繪製的未填充矩形可能不會完美顯示。例如,由" "於線條的重疊,角可能會缺失或變亮(對於半透明的 [param color])。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Sets a custom local transform for drawing via components. Anything drawn " "afterwards will be transformed by this.\n" "[b]Note:[/b] [member FontFile.oversampling] does [i]not[/i] take [param " "scale] into account. This means that scaling up/down will cause bitmap fonts " "and rasterized (non-MSDF) dynamic fonts to appear blurry or pixelated. To " "ensure text remains crisp regardless of scale, you can enable MSDF font " "rendering by enabling [member ProjectSettings.gui/theme/" "default_font_multichannel_signed_distance_field] (applies to the default " "project font only), or enabling [b]Multichannel Signed Distance Field[/b] in " "the import options of a DynamicFont for custom fonts. On system fonts, " "[member SystemFont.multichannel_signed_distance_field] can be enabled in the " "inspector." msgstr "" "設定透過元件繪製的自訂變換。之後繪製的任何內容都會由此變換。\n" "[b]注意:[/b] [member FontFile.oversampling] [i]不會[/i] 將 [param scale] 考" "慮在內。這表示放大/縮小會導致點陣圖字型和點陣化 (非 MSDF) 動態字型顯得模糊或" "像素化。為了確保文字不論縮放比例如何都保持清晰,您可以透過啟用 [member " "ProjectSettings.gui/theme/default_font_multichannel_signed_distance_field] 來" "啟用 MSDF 字型渲染 (僅適用於預設專案字型),或是為自訂字型在 DynamicFont 的匯" "入選項中啟用 [b]多通道有號距離場[/b]。對於系統字型,可以在屬性檢視器中啟用 " "[member SystemFont.multichannel_signed_distance_field]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Sets a custom local transform for drawing via matrix. Anything drawn " "afterwards will be transformed by this." msgstr "設定通過矩陣繪製時的自訂變換。此後繪製的任何東西都將被它變換。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws [param text] using the specified [param font] at the [param pos] in " "local space (bottom-left corner using the baseline of the font). The text " "will have its color multiplied by [param modulate]. If [param width] is " "greater than or equal to 0, the text will be clipped if it exceeds the " "specified width. If [param oversampling] is greater than zero, it is used as " "font oversampling factor, otherwise viewport oversampling settings are " "used.\n" "[b]Example:[/b] Draw \"Hello world\", using the project's default font:\n" "[codeblocks]\n" "[gdscript]\n" "# If using this method in a script that redraws constantly, move the\n" "# `default_font` declaration to a member variable assigned in `_ready()`\n" "# so the Control is only created once.\n" "var default_font = ThemeDB.fallback_font\n" "var default_font_size = ThemeDB.fallback_font_size\n" "draw_string(default_font, Vector2(64, 64), \"Hello world\", " "HORIZONTAL_ALIGNMENT_LEFT, -1, default_font_size)\n" "[/gdscript]\n" "[csharp]\n" "// If using this method in a script that redraws constantly, move the\n" "// `default_font` declaration to a member variable assigned in `_Ready()`\n" "// so the Control is only created once.\n" "Font defaultFont = ThemeDB.FallbackFont;\n" "int defaultFontSize = ThemeDB.FallbackFontSize;\n" "DrawString(defaultFont, new Vector2(64, 64), \"Hello world\", " "HORIZONTAL_ALIGNMENT_LEFT, -1, defaultFontSize);\n" "[/csharp]\n" "[/codeblocks]\n" "See also [method Font.draw_string]." msgstr "" "使用指定的 [param font] 在 [param pos](使用的字形的基線的左下角)處繪製 " "[param text]。該文字的顏色將乘以 [param modulate]。如果 [param width] 大於等" "於 0,則文字超過指定寬度將被裁剪。\n" "[b]使用專案預設字形的例子:[/b]\n" "[codeblocks]\n" "[gdscript]\n" "# 如果在不斷重繪的腳本中使用此方法,\n" "# 則將 `default_font` 宣告移動到在 `_ready()` 中賦值的成員變數中\n" "# 這樣 Control 只建立一次。\n" "var default_font = ThemeDB.fallback_font\n" "var default_font_size = ThemeDB.fallback_font_size\n" "draw_string(default_font, Vector2(64, 64), \"Hello world\", " "HORIZONTAL_ALIGNMENT_LEFT, -1, default_font_size)\n" "[/gdscript]\n" "[csharp]\n" "// 如果在不斷重繪的腳本中使用此方法,\n" "// 則將 `default_font` 宣告移動到在 `_ready()` 中賦值的成員變數中\n" "// 這樣 Control 只建立一次。\n" "Font defaultFont = ThemeDB.FallbackFont;\n" "int defaultFontSize = ThemeDB.FallbackFontSize;\n" "DrawString(defaultFont, new Vector2(64, 64), \"Hello world\", " "HORIZONTAL_ALIGNMENT_LEFT, -1, defaultFontSize);\n" "[/csharp]\n" "[/codeblocks]\n" "另請參閱 [method Font.draw_string]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws [param text] outline using the specified [param font] at the [param " "pos] in local space (bottom-left corner using the baseline of the font). The " "text will have its color multiplied by [param modulate]. If [param width] is " "greater than or equal to 0, the text will be clipped if it exceeds the " "specified width. If [param oversampling] is greater than zero, it is used as " "font oversampling factor, otherwise viewport oversampling settings are used." msgstr "" "在 [param pos](左下角使用字形的基線)處使用指定的 [param font] 繪製 [param " "text] 輪廓。該文字的顏色將乘以 [param modulate]。如果 [param width] 大於等於 " "0,則當文字超過指定寬度時將被裁剪。" #: doc/classes/CanvasItem.xml msgid "Draws a styled rectangle. The [param rect] is defined in local space." msgstr "" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a texture at a given position. The [param position] is defined in " "local space." msgstr "在給定的位置繪製紋理。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a textured rectangle at a given position, optionally modulated by a " "color. The [param rect] is defined in local space. If [param transpose] is " "[code]true[/code], the texture will have its X and Y coordinates swapped. " "See also [method draw_rect] and [method draw_texture_rect_region]." msgstr "" "在給定位置繪製一個帶紋理的矩形,可以選擇用顏色調變。如果 [param transpose] " "為 [code]true[/code],則紋理將交換其 X 和 Y 座標。另見 [method draw_rect] 和 " "[method draw_texture_rect_region]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Draws a textured rectangle from a texture's region (specified by [param " "src_rect]) at a given position in local space, optionally modulated by a " "color. If [param transpose] is [code]true[/code], the texture will have its " "X and Y coordinates swapped. See also [method draw_texture_rect]." msgstr "" "在給定的位置繪製具有紋理的矩形,可以指定所使用的紋理區域(由 [param " "src_rect] 指定),可選擇用顏色調變。如果 [param transpose] 為 [code]true[/" "code],則紋理將交換其 X 和 Y 座標。另見 [method draw_texture_rect]。" #: doc/classes/CanvasItem.xml msgid "" "Forces the node's transform to update. Fails if the node is not inside the " "tree. See also [method get_transform].\n" "[b]Note:[/b] For performance reasons, transform changes are usually " "accumulated and applied [i]once[/i] at the end of the frame. The update " "propagates through [CanvasItem] children, as well. Therefore, use this " "method only when you need an up-to-date transform (such as during physics " "operations)." msgstr "" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns the [RID] of the [World2D] canvas where this node is registered to, " "used by the [RenderingServer]." msgstr "返回此專案所在的 [World2D] 畫布的 [RID]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns the internal canvas item [RID] used by the [RenderingServer] for " "this node." msgstr "返回 [RenderingServer] 對該專案使用的畫布專案 RID。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns the [CanvasLayer] that contains this node, or [code]null[/code] if " "the node is not in any [CanvasLayer]." msgstr "返回目前節點的父節點,如果節點缺少父節點,則返回 [code]null[/code]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns the transform of this node, converted from its registered canvas's " "coordinate system to its viewport's coordinate system. See also [method " "Node.get_viewport]." msgstr "返回從 [CanvasLayer] 坐標系到 [Viewport] 坐標系的變換。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns mouse cursor's global position relative to the [CanvasLayer] that " "contains this node.\n" "[b]Note:[/b] For screen-space coordinates (e.g. when using a non-embedded " "[Popup]), you can use [method DisplayServer.mouse_get_position]." msgstr "" "返回該 [CanvasItem] 所在的 [CanvasLayer] 中滑鼠的位置,使用該 [CanvasLayer] " "的坐標系。\n" "[b]注意:[/b]要得到螢幕空間的座標(例如使用非嵌入式 [Popup] 時),你可以使用 " "[method DisplayServer.mouse_get_position]。" #: doc/classes/CanvasItem.xml msgid "" "Returns the global transform matrix of this item, i.e. the combined " "transform up to the topmost [CanvasItem] node. The topmost item is a " "[CanvasItem] that either has no parent, has non-[CanvasItem] parent or it " "has [member top_level] enabled." msgstr "" "返回該專案的全域變換矩陣,即到最頂層的 [CanvasItem] 節點的綜合變換。最頂層的" "專案是一個 [CanvasItem],它要麼沒有父級,要麼有非 [CanvasItem] 父級,或者要麼" "它啟用了 [member top_level]。" #: doc/classes/CanvasItem.xml msgid "" "Returns the transform from the local coordinate system of this [CanvasItem] " "to the [Viewport]s coordinate system." msgstr "返回從該 [CanvasItem] 的局部坐標系到 [Viewport] 坐標系的變換。" #: doc/classes/CanvasItem.xml doc/classes/GeometryInstance3D.xml msgid "Get the value of a shader parameter as set on this instance." msgstr "獲取在該實例上設定的著色器參數值。" #: doc/classes/CanvasItem.xml msgid "" "Returns the mouse's position in this [CanvasItem] using the local coordinate " "system of this [CanvasItem]." msgstr "返回該 [CanvasItem] 中滑鼠的位置,使用該 [CanvasItem] 的局部坐標系。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns the transform of this [CanvasItem] in global screen coordinates " "(i.e. taking window position into account). Mostly useful for editor " "plugins.\n" "Equivalent to [method get_global_transform_with_canvas] if the window is " "embedded (see [member Viewport.gui_embed_subwindows])." msgstr "" "返回該 [CanvasItem] 在全域螢幕座標中的變換(即考慮視窗位置)。主要用於編輯器" "外掛程式。\n" "如果視窗是嵌入的,則等於 [method get_global_transform](參見 [member " "Viewport.gui_embed_subwindows])。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "Returns the transform matrix of this [CanvasItem]." msgstr "返回此專案的變換矩陣。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns this node's viewport boundaries as a [Rect2]. See also [method " "Node.get_viewport]." msgstr "以 [Rect2] 形式返回視口的邊界。" #: doc/classes/CanvasItem.xml msgid "" "Returns the transform of this node, converted from its registered canvas's " "coordinate system to its viewport embedder's coordinate system. See also " "[method Viewport.get_final_transform] and [method Node.get_viewport]." msgstr "" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns [code]true[/code] if the layer at the given index is set in [member " "visibility_layer]." msgstr "索引所對應的專案被選中時,返回 [code]true[/code]。" #: doc/classes/CanvasItem.xml msgid "" "Returns the [World2D] this node is registered to.\n" "Usually, this is the same as this node's viewport (see [method " "Node.get_viewport] and [method Viewport.find_world_2d])." msgstr "" #: doc/classes/CanvasItem.xml msgid "" "Hide the [CanvasItem] if it's currently visible. This is equivalent to " "setting [member visible] to [code]false[/code]." msgstr "" "如果該 [CanvasItem] 目前是可見的,則將其隱藏。相當於將 [member visible] 設為 " "[code]false[/code]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns [code]true[/code] if the node receives [constant " "NOTIFICATION_LOCAL_TRANSFORM_CHANGED] whenever its local transform changes. " "This is enabled with [method set_notify_local_transform]." msgstr "" "如果 [param enable] 為 [code]true[/code],則該節點將在其局部變換發生改變時收" "到 [constant NOTIFICATION_LOCAL_TRANSFORM_CHANGED]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns [code]true[/code] if the node receives [constant " "NOTIFICATION_TRANSFORM_CHANGED] whenever its global transform changes. This " "is enabled with [method set_notify_transform]." msgstr "" "如果 [param enable] 為 [code]true[/code],那麼這個節點會在其全域變換發生改變" "時接收到 [constant NOTIFICATION_TRANSFORM_CHANGED]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Returns [code]true[/code] if the node is present in the [SceneTree], its " "[member visible] property is [code]true[/code] and all its ancestors are " "also visible. If any ancestor is hidden, this node will not be visible in " "the scene tree, and is therefore not drawn (see [method _draw]).\n" "Visibility is checked only in parent nodes that inherit from [CanvasItem], " "[CanvasLayer], and [Window]. If the parent is of any other type (such as " "[Node], [AnimationPlayer], or [Node3D]), it is assumed to be visible.\n" "[b]Note:[/b] This method does not take [member visibility_layer] into " "account, so even if this method returns [code]true[/code], the node might " "end up not being rendered." msgstr "" "如果該節點位於 [SceneTree] 中,並且其 [member visible] 屬性為 [code]true[/" "code],並且其所有上層節點也均可見,則返回 [code]true[/code]。如果任何上層節點" "被隱藏,則該節點在場景樹中將不可見,因此也不會進行繪製(見 [method _draw])。" #: doc/classes/CanvasItem.xml msgid "" "Transforms [param viewport_point] from the viewport's coordinates to this " "node's local coordinates.\n" "For the opposite operation, use [method get_global_transform_with_canvas].\n" "[codeblock]\n" "var viewport_point = get_global_transform_with_canvas() * local_point\n" "[/codeblock]" msgstr "" #: doc/classes/CanvasItem.xml msgid "" "Returns a copy of the given [param event] with its coordinates converted " "from global space to this [CanvasItem]'s local space. If not possible, " "returns the same [InputEvent] unchanged." msgstr "" #: doc/classes/CanvasItem.xml msgid "" "Moves this node below its siblings, usually causing the node to draw on top " "of its siblings. Does nothing if this node does not have a parent. See also " "[method Node.move_child]." msgstr "" #: doc/classes/CanvasItem.xml msgid "" "Queues the [CanvasItem] to redraw. During idle time, if [CanvasItem] is " "visible, [constant NOTIFICATION_DRAW] is sent and [method _draw] is called. " "This only occurs [b]once[/b] per frame, even if this method has been called " "multiple times." msgstr "" "將該 [CanvasItem] 加入重繪佇列。空閒時,如果 [CanvasItem] 可見,則會發送 " "[constant NOTIFICATION_DRAW] 並呼叫 [method _draw]。即便多次呼叫這個方法,每" "影格也都只會發生[b]一次[/b]繪製。" #: doc/classes/CanvasItem.xml msgid "" "Set the value of a shader uniform for this instance only ([url=$DOCS_URL/" "tutorials/shaders/shader_reference/shading_language.html#per-instance-" "uniforms]per-instance uniform[/url]). See also [method " "ShaderMaterial.set_shader_parameter] to assign a uniform on all instances " "using the same [ShaderMaterial].\n" "[b]Note:[/b] For a shader uniform to be assignable on a per-instance basis, " "it [i]must[/i] be defined with [code]instance uniform ...[/code] rather than " "[code]uniform ...[/code] in the shader code.\n" "[b]Note:[/b] [param name] is case-sensitive and must match the name of the " "uniform in the code exactly (not the capitalized name in the inspector)." msgstr "" "設定著色器 Uniform 的值,僅限此實例 ([url=$DOCS_URL/tutorials/shaders/" "shader_reference/shading_language.html#per-instance-uniforms]每實例 Uniform[/" "url])。另請參閱 [method ShaderMaterial.set_shader_parameter],以在使用相同 " "[ShaderMaterial] 的所有實例上指派 Uniform。\n" "[b]注意:[/b] 著色器 Uniform 若要能夠按每個實例指派,它在著色器程式碼中 [i]必" "須[/i] 定義為 [code]instance uniform ...[/code],而非 [code]uniform ...[/" "code]。\n" "[b]注意:[/b] [param name] 區分大小寫,且必須與程式碼中 Uniform 的名稱完全相" "符 (而非屬性檢視器中大寫的名稱)。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "If [code]true[/code], the node will receive [constant " "NOTIFICATION_LOCAL_TRANSFORM_CHANGED] whenever its local transform changes.\n" "[b]Note:[/b] Many canvas items such as [Bone2D] or [CollisionShape2D] " "automatically enable this in order to function correctly." msgstr "" "如果 [param enable] 為 [code]true[/code],則該節點將在其局部變換發生改變時收" "到 [constant NOTIFICATION_LOCAL_TRANSFORM_CHANGED]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "If [code]true[/code], the node will receive [constant " "NOTIFICATION_TRANSFORM_CHANGED] whenever its global transform changes.\n" "[b]Note:[/b] Many canvas items such as [Camera2D] or [Light2D] automatically " "enable this in order to function correctly." msgstr "" "如果 [param enable] 為 [code]true[/code],那麼這個節點會在其全域變換發生改變" "時接收到 [constant NOTIFICATION_TRANSFORM_CHANGED]。" #: doc/classes/CanvasItem.xml msgid "" "Set/clear individual bits on the rendering visibility layer. This simplifies " "editing this [CanvasItem]'s visibility layer." msgstr "" "設定或清除算繪可見層上的單個位。這簡化了對該 [CanvasItem] 的可見層的編輯。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Show the [CanvasItem] if it's currently hidden. This is equivalent to " "setting [member visible] to [code]true[/code].\n" "[b]Note:[/b] For controls that inherit [Popup], the correct way to make them " "visible is to call one of the multiple [code]popup*()[/code] functions " "instead." msgstr "" "如果該 [CanvasItem] 目前是隱藏的,則將其顯示。相當於將 [member visible] 設為 " "[code]true[/code]。對於繼承自 [Popup] 的控制項,讓它們可見的正確做法是換成呼" "叫各種 [code]popup*()[/code] 函式的其中之一。" #: doc/classes/CanvasItem.xml msgid "" "The mode in which this node clips its children, acting as a mask.\n" "[b]Note:[/b] Clipping nodes cannot be nested or placed within a " "[CanvasGroup]. If an ancestor of this node clips its children or is a " "[CanvasGroup], then this node's clip mode should be set to [constant " "CLIP_CHILDREN_DISABLED] to avoid unexpected behavior." msgstr "" #: doc/classes/CanvasItem.xml msgid "" "The rendering layers in which this [CanvasItem] responds to [Light2D] nodes." msgstr "該 [CanvasItem] 的算繪層,用於回應 [Light2D] 節點。" #: doc/classes/CanvasItem.xml msgid "The material applied to this [CanvasItem]." msgstr "套用於這個 [CanvasItem] 的材質。" #: doc/classes/CanvasItem.xml msgid "" "The color applied to this [CanvasItem]. This property does affect child " "[CanvasItem]s, unlike [member self_modulate] which only affects the node " "itself." msgstr "" "套用於這個 [CanvasItem] 的顏色。這個屬性會影響子級 [CanvasItem],與只會影響節" "點自身的 [member self_modulate] 不同。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "The color applied to this [CanvasItem]. This property does [b]not[/b] affect " "child [CanvasItem]s, unlike [member modulate] which affects both the node " "itself and its children.\n" "[b]Note:[/b] Internal children are also not affected by this property (see " "the [code]include_internal[/code] parameter in [method Node.add_child]). For " "built-in nodes this includes sliders in [ColorPicker], and the tab bar in " "[TabContainer]." msgstr "" "套用於這個 [CanvasItem] 的顏色。這個屬性[b]不會[/b]影響子級 [CanvasItem],與" "會同時影響節點自身和子級的 [member modulate] 不同。\n" "[b]注意:[/b]內部子節點(例如 [ColorPicker] 中的滑動條、[TabContainer] 中的選" "項卡欄)也不受這個屬性的影響(見 [method Node.get_child] 等類似方法的 " "[code]include_internal[/code] 參數)。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "If [code]true[/code], this node draws behind its parent." msgstr "如果為 [code]true[/code],則對象在其父物件後面繪製。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "The filtering mode used to render this [CanvasItem]'s texture(s)." msgstr "在該 [CanvasItem] 上使用的紋理篩選模式。" #: doc/classes/CanvasItem.xml msgid "" "The repeating mode used to render this [CanvasItem]'s texture(s). It affects " "what happens when the texture is sampled outside its extents, for example by " "setting a [member Sprite2D.region_rect] that is larger than the texture or " "assigning [Polygon2D] UV points outside the texture.\n" "[b]Note:[/b] [TextureRect] is not affected by [member texture_repeat], as it " "uses its own texture repeating implementation." msgstr "" #: doc/classes/CanvasItem.xml msgid "" "If [code]true[/code], this [CanvasItem] will [i]not[/i] inherit its " "transform from parent [CanvasItem]s. Its draw order will also be changed to " "make it draw on top of other [CanvasItem]s that do not have [member " "top_level] set to [code]true[/code]. The [CanvasItem] will effectively act " "as if it was placed as a child of a bare [Node]." msgstr "" "如果為 [code]true[/code],則該 [CanvasItem] [i]不會[/i]繼承父級 [CanvasItem] " "的變換。它的繪製順序也會發生改變,會在其他沒有將 [member top_level] 設定為 " "[code]true[/code] 的 [CanvasItem] 之上繪製。效果和把該 [CanvasItem] 作為裸 " "[Node] 的子級一樣。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "If [code]true[/code], the parent [CanvasItem]'s [member material] is used as " "this node's material." msgstr "" "如果為 [code]true[/code],則將父級 [CanvasItem] 的 [member material] 屬性用作" "此項的材質。" #: doc/classes/CanvasItem.xml msgid "" "The rendering layer in which this [CanvasItem] is rendered by [Viewport] " "nodes. A [Viewport] will render a [CanvasItem] if it and all its parents " "share a layer with the [Viewport]'s canvas cull mask." msgstr "" "[Viewport] 節點算繪該 [CanvasItem] 時所使用的算繪層。只有 [CanvasItem] 及其所" "有父級均與 [Viewport] 的畫布剔除遮罩有交集,該 [Viewport] 才會算繪此 " "[CanvasItem]。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "If [code]true[/code], this [CanvasItem] may be drawn. Whether this " "[CanvasItem] is actually drawn depends on the visibility of all of its " "[CanvasItem] ancestors. In other words: this [CanvasItem] will be drawn when " "[method is_visible_in_tree] returns [code]true[/code] and all [CanvasItem] " "ancestors share at least one [member visibility_layer] with this " "[CanvasItem].\n" "[b]Note:[/b] For controls that inherit [Popup], the correct way to make them " "visible is to call one of the multiple [code]popup*()[/code] functions " "instead." msgstr "" "如果為 [code]true[/code],這個 [CanvasItem] 被繪製。只有當它的所有父節點也可" "見時,該節點才是可見的(換句話說,[method is_visible_in_tree] 必須返回 " "[code]true[/code])。\n" "[b]注意:[/b]對於繼承了 [Popup] 的控制項,使其可見的正確方法是呼叫多個 " "[code]popup*()[/code] 函式之一。" #: doc/classes/CanvasItem.xml msgid "" "If [code]true[/code], this and child [CanvasItem] nodes with a higher Y " "position are rendered in front of nodes with a lower Y position. If " "[code]false[/code], this and child [CanvasItem] nodes are rendered normally " "in scene tree order.\n" "With Y-sorting enabled on a parent node ('A') but disabled on a child node " "('B'), the child node ('B') is sorted but its children ('C1', 'C2', etc.) " "render together on the same Y position as the child node ('B'). This allows " "you to organize the render order of a scene without changing the scene " "tree.\n" "Nodes sort relative to each other only if they are on the same [member " "z_index]." msgstr "" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "If [code]true[/code], this node's final Z index is relative to its parent's " "Z index.\n" "For example, if [member z_index] is [code]2[/code] and its parent's final Z " "index is [code]3[/code], then this node's final Z index will be [code]5[/" "code] ([code]2 + 3[/code])." msgstr "" "如果為 [code]true[/code],節點的 Z 索引是相對於它的父節點的 Z 索引而言的。如" "果這個節點的 Z 索引是 2,它的父節點的實際 Z 索引是 3,那麼這個節點的實際 Z 索" "引將是 2 + 3 = 5。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "The order in which this node is drawn. A node with a higher Z index will " "display in front of others. Must be between [constant " "RenderingServer.CANVAS_ITEM_Z_MIN] and [constant " "RenderingServer.CANVAS_ITEM_Z_MAX] (inclusive).\n" "[b]Note:[/b] The Z index does [b]not[/b] affect the order in which " "[CanvasItem] nodes are processed or the way input events are handled. This " "is especially important to keep in mind for [Control] nodes." msgstr "" "Z 索引。控制節點的算繪順序。具有較高 Z 索引的節點將顯示在其他節點的前面。必須" "在 [constant RenderingServer.CANVAS_ITEM_Z_MIN] 和 [constant " "RenderingServer.CANVAS_ITEM_Z_MAX]之間(包含)。\n" "[b]注意:[/b]改變 [Control] 的 Z 索引只影響繪圖順序,不影響處理輸入事件的順" "序。可用於實作某些 UI 動畫,例如對處於懸停狀態的功能表專案進行縮放,此時會與" "其他內容重疊。" #: doc/classes/CanvasItem.xml msgid "" "Emitted when the [CanvasItem] must redraw, [i]after[/i] the related " "[constant NOTIFICATION_DRAW] notification, and [i]before[/i] [method _draw] " "is called.\n" "[b]Note:[/b] Deferred connections do not allow drawing through the " "[code]draw_*[/code] methods." msgstr "" "當該 [CanvasItem] 必須重繪時發出,發生在相關的 [constant NOTIFICATION_DRAW] " "通知[i]之後[/i],呼叫 [method _draw] [i]之前[/i]。\n" "[b]注意:[/b]延遲連接無法使用 [code]draw_*[/code] 方法進行繪製。" #: doc/classes/CanvasItem.xml msgid "" "Emitted when this node becomes hidden, i.e. it's no longer visible in the " "tree (see [method is_visible_in_tree])." msgstr "" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Emitted when the [CanvasItem]'s boundaries (position or size) change, or " "when an action took place that may have affected these boundaries (e.g. " "changing [member Sprite2D.texture])." msgstr "" "當 CanvasItem 的 [Rect2] 邊界(位置或大小)發生變化時,或者當發生可能影響這些" "邊界的操作(例如,更改 [member Sprite2D.texture])時發出。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Emitted when the [CanvasItem]'s visibility changes, either because its own " "[member visible] property changed or because its visibility in the tree " "changed (see [method is_visible_in_tree]).\n" "This signal is emitted [i]after[/i] the related [constant " "NOTIFICATION_VISIBILITY_CHANGED] notification." msgstr "" "當節點離開樹且不再有效時發出。\n" "本訊號於相關 [constant NOTIFICATION_EXIT_TREE] 通知[i]之後[/i]發出。" #: doc/classes/CanvasItem.xml msgid "" "Notification received when this node's global transform changes, if [method " "is_transform_notification_enabled] is [code]true[/code]. See also [method " "set_notify_transform] and [method get_transform].\n" "[b]Note:[/b] Many canvas items such as [Camera2D] or [CollisionObject2D] " "automatically enable this in order to function correctly." msgstr "" #: doc/classes/CanvasItem.xml msgid "" "Notification received when this node's transform changes, if [method " "is_local_transform_notification_enabled] is [code]true[/code]. This is not " "received when a parent [Node2D]'s transform changes. See also [method " "set_notify_local_transform].\n" "[b]Note:[/b] Many canvas items such as [Camera2D] or [CollisionShape2D] " "automatically enable this in order to function correctly." msgstr "" #: doc/classes/CanvasItem.xml msgid "The [CanvasItem] is requested to draw (see [method _draw])." msgstr "要求繪製該 [CanvasItem](見 [method _draw])。" #: doc/classes/CanvasItem.xml doc/classes/Node3D.xml #, fuzzy msgid "" "Notification received when this node's visibility changes (see [member " "visible] and [method is_visible_in_tree]).\n" "This notification is received [i]before[/i] the related [signal " "visibility_changed] signal." msgstr "" "節點進入 [SceneTree] 時收到通知。詳見 [method _enter_tree]。\n" "本通知於相關 [signal tree_entered] 訊號[i]之前[/i]收到。" #: doc/classes/CanvasItem.xml msgid "The [CanvasItem] has entered the canvas." msgstr "該 [CanvasItem] 已進入畫布。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "The [CanvasItem] has exited the canvas.\n" "This notification is sent in reversed order." msgstr "該 [CanvasItem] 已退出畫布。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "Notification received when this [CanvasItem] is registered to a new " "[World2D] (see [method get_world_2d])." msgstr "當節點就緒時收到通知。詳見 [method _ready]。" #: doc/classes/CanvasItem.xml msgid "The [CanvasItem] will inherit the filter from its parent." msgstr "該 [CanvasItem] 將從其父級繼承篩檢程式。" #: doc/classes/CanvasItem.xml doc/classes/RenderingServer.xml #: doc/classes/Viewport.xml doc/classes/VisualShaderNodeTextureParameter.xml #, fuzzy msgid "" "The texture filter reads from the nearest pixel and blends between the " "nearest 2 mipmaps (or uses the nearest mipmap if [member " "ProjectSettings.rendering/textures/default_filters/" "use_nearest_mipmap_filter] is [code]true[/code]). This makes the texture " "look pixelated from up close, and smooth from a distance.\n" "Use this for non-pixel art textures that may be viewed at a low scale (e.g. " "due to [Camera2D] zoom or sprite scaling), as mipmaps are important to " "smooth out pixels that are smaller than on-screen pixels." msgstr "" "紋理篩檢程式在最鄰近的 4 個圖元和最鄰近的 2 個 mipmap 之間混合。請用於可能以" "低縮放率查看的非圖元畫紋理(例如由 [Camera2D] 縮放造成),因為 mipmap 對於平" "滑小於螢幕圖元的圖元很重要。" #: doc/classes/CanvasItem.xml doc/classes/RenderingServer.xml #: doc/classes/Viewport.xml doc/classes/VisualShaderNodeTextureParameter.xml #, fuzzy msgid "" "The texture filter blends between the nearest 4 pixels and between the " "nearest 2 mipmaps (or uses the nearest mipmap if [member " "ProjectSettings.rendering/textures/default_filters/" "use_nearest_mipmap_filter] is [code]true[/code]). This makes the texture " "look smooth from up close, and smooth from a distance.\n" "Use this for non-pixel art textures that may be viewed at a low scale (e.g. " "due to [Camera2D] zoom or sprite scaling), as mipmaps are important to " "smooth out pixels that are smaller than on-screen pixels." msgstr "" "紋理篩檢程式在最鄰近的 4 個圖元和最鄰近的 2 個 mipmap 之間混合。請用於可能以" "低縮放率查看的非圖元畫紋理(例如由 [Camera2D] 縮放造成),因為 mipmap 對於平" "滑小於螢幕圖元的圖元很重要。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "The texture filter reads from the nearest pixel and blends between 2 mipmaps " "(or uses the nearest mipmap if [member ProjectSettings.rendering/textures/" "default_filters/use_nearest_mipmap_filter] is [code]true[/code]) based on " "the angle between the surface and the camera view. This makes the texture " "look pixelated from up close, and smooth from a distance. Anisotropic " "filtering improves texture quality on surfaces that are almost in line with " "the camera, but is slightly slower. The anisotropic filtering level can be " "changed by adjusting [member ProjectSettings.rendering/textures/" "default_filters/anisotropic_filtering_level].\n" "[b]Note:[/b] This texture filter is rarely useful in 2D projects. [constant " "TEXTURE_FILTER_NEAREST_WITH_MIPMAPS] is usually more appropriate in this " "case." msgstr "" "紋理篩檢程式讀取最鄰近的圖元,但會根據表面和相機視圖之間的角度選擇 mipmap。可" "以減少幾乎與相機成一直線的表面的偽影。各向異性篩選級別可以通過調整 [member " "ProjectSettings.rendering/textures/default_filters/" "anisotropic_filtering_level] 來改變。\n" "[b]注意:[/b]這個紋理篩檢程式很少用於 2D 專案。[constant " "TEXTURE_FILTER_NEAREST_WITH_MIPMAPS] 通常更合適。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "The texture filter blends between the nearest 4 pixels and blends between 2 " "mipmaps (or uses the nearest mipmap if [member ProjectSettings.rendering/" "textures/default_filters/use_nearest_mipmap_filter] is [code]true[/code]) " "based on the angle between the surface and the camera view. This makes the " "texture look smooth from up close, and smooth from a distance. Anisotropic " "filtering improves texture quality on surfaces that are almost in line with " "the camera, but is slightly slower. The anisotropic filtering level can be " "changed by adjusting [member ProjectSettings.rendering/textures/" "default_filters/anisotropic_filtering_level].\n" "[b]Note:[/b] This texture filter is rarely useful in 2D projects. [constant " "TEXTURE_FILTER_LINEAR_WITH_MIPMAPS] is usually more appropriate in this case." msgstr "" "紋理篩檢程式讀取最鄰近的圖元,但會根據表面和相機視圖之間的角度選擇 mipmap。可" "以減少幾乎與相機成一直線的表面的偽影。各向異性篩選級別可以通過調整 [member " "ProjectSettings.rendering/textures/default_filters/" "anisotropic_filtering_level] 來改變。\n" "[b]注意:[/b]這個紋理篩檢程式很少用於 2D 專案。[constant " "TEXTURE_FILTER_NEAREST_WITH_MIPMAPS] 通常更合適。" #: doc/classes/CanvasItem.xml msgid "" "The texture does not repeat. Sampling the texture outside its extents will " "result in \"stretching\" of the edge pixels. You can avoid this by ensuring " "a 1-pixel fully transparent border on each side of the texture." msgstr "" #: doc/classes/CanvasItem.xml #, fuzzy msgid "The texture repeats when exceeding the texture's size." msgstr "繪製該 [CanvasTexture] 時所使用的紋理重複模式。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "" "The texture repeats when the exceeding the texture's size in a \"2×2 tiled " "mode\". Repeated textures at even positions are mirrored." msgstr "紋理將以 2x2 平鋪模式重複,其中偶數位置的元素會被鏡像。" #: doc/classes/CanvasItem.xml doc/classes/VisualShaderNodeTextureParameter.xml msgid "Represents the size of the [enum TextureRepeat] enum." msgstr "代表 [enum TextureRepeat] 列舉的大小。" #: doc/classes/CanvasItem.xml #, fuzzy msgid "Children are drawn over this node and are not clipped." msgstr "子級繪製在父級之上,不會被裁剪。" #: doc/classes/CanvasItem.xml msgid "" "This node is used as a mask and is [b]not[/b] drawn. The mask is based on " "this node's alpha channel: Opaque pixels are kept, transparent pixels are " "discarded, and semi-transparent pixels are blended in according to their " "opacity. Children are clipped to this node's drawn area." msgstr "" #: doc/classes/CanvasItem.xml msgid "" "This node is used as a mask and is also drawn. The mask is based on this " "node's alpha channel: Opaque pixels are kept, transparent pixels are " "discarded, and semi-transparent pixels are blended in according to their " "opacity. Children are clipped to the parent's drawn area." msgstr "" #: doc/classes/CanvasItem.xml msgid "Represents the size of the [enum ClipChildrenMode] enum." msgstr "代表 [enum ClipChildrenMode] 列舉的大小。" #: doc/classes/CanvasItemMaterial.xml msgid "A material for [CanvasItem]s." msgstr "[CanvasItem]的材質。" #: doc/classes/CanvasItemMaterial.xml msgid "" "[CanvasItemMaterial]s provide a means of modifying the textures associated " "with a CanvasItem. They specialize in describing blend and lighting " "behaviors for textures. Use a [ShaderMaterial] to more fully customize a " "material's interactions with a [CanvasItem]." msgstr "" "[CanvasItemMaterial]提供了一種修改與CanvasItem相關聯的紋理的方法。他們專注於" "描述紋理的混合和照明行為。使用[ShaderMaterial]可以更全面地自訂材質與" "[CanvasItem]的互動。" #: doc/classes/CanvasItemMaterial.xml msgid "" "The manner in which a material's rendering is applied to underlying textures." msgstr "將材質的算繪套用於基礎紋理的方式。" #: doc/classes/CanvasItemMaterial.xml msgid "The manner in which material reacts to lighting." msgstr "材質對照明的反應方式。" #: doc/classes/CanvasItemMaterial.xml msgid "" "The number of columns in the spritesheet assigned as [Texture2D] for a " "[GPUParticles2D] or [CPUParticles2D].\n" "[b]Note:[/b] This property is only used and visible in the editor if [member " "particles_animation] is [code]true[/code]." msgstr "" "[GPUParticles2D] 或 [CPUParticles2D] 指定給 [Texture2D] 的精靈表中擁有的列" "數。\n" "[b]注意:[/b]該屬性只有在 [member particles_animation] 為 [code]true[/code] " "時,才會在編輯器中被使用和可見。" #: doc/classes/CanvasItemMaterial.xml msgid "" "If [code]true[/code], the particles animation will loop.\n" "[b]Note:[/b] This property is only used and visible in the editor if [member " "particles_animation] is [code]true[/code]." msgstr "" "如果為 [code]true[/code],粒子動畫將迴圈播放。\n" "[b]注意:[/b]該屬性只有在 [member particles_animation]為 [code]true[/code] " "時,才會在編輯器中被使用和可見。" #: doc/classes/CanvasItemMaterial.xml msgid "" "The number of rows in the spritesheet assigned as [Texture2D] for a " "[GPUParticles2D] or [CPUParticles2D].\n" "[b]Note:[/b] This property is only used and visible in the editor if [member " "particles_animation] is [code]true[/code]." msgstr "" "[GPUParticles2D] 或 [CPUParticles2D] 指定給 [Texture2D] 的精靈表中擁有的行" "數。\n" "[b]注意:[/b]該屬性只有在 [member particles_animation] 為 [code]true[/code] " "時,才會在編輯器中被使用和可見。" #: doc/classes/CanvasItemMaterial.xml msgid "" "If [code]true[/code], enable spritesheet-based animation features when " "assigned to [GPUParticles2D] and [CPUParticles2D] nodes. The [member " "ParticleProcessMaterial.anim_speed_max] or [member " "CPUParticles2D.anim_speed_max] should also be set to a positive value for " "the animation to play.\n" "This property (and other [code]particles_anim_*[/code] properties that " "depend on it) has no effect on other types of nodes." msgstr "" "如果 [code]true[/code] ,在分配給 [GPUParticles2D] 和 [CPUParticles2D] 節點" "時,啟用基於精靈表的動畫功能。[member " "ParticleProcessMaterial.anim_speed_max] 或 [member " "CPUParticles2D.anim_speed_max] 也應該設定為正值,才能播放動畫。\n" "這個屬性(以及其他依賴它的 [code]particles_anim_*[/code] 屬性)對其他型別的節" "點沒有影響。" #: doc/classes/CanvasItemMaterial.xml msgid "" "Mix blending mode. Colors are assumed to be independent of the alpha " "(opacity) value." msgstr "混合混合模式。假設顏色與 Alpha 值(不透明度)無關。" #: doc/classes/CanvasItemMaterial.xml msgid "Additive blending mode." msgstr "新增混合模式。" #: doc/classes/CanvasItemMaterial.xml msgid "Subtractive blending mode." msgstr "減去混合模式。" #: doc/classes/CanvasItemMaterial.xml msgid "Multiplicative blending mode." msgstr "正片疊底混合模式。" #: doc/classes/CanvasItemMaterial.xml msgid "" "Mix blending mode. Colors are assumed to be premultiplied by the alpha " "(opacity) value." msgstr "混合混合模式。假定顏色已預先乘以 Alpha 值(不透明度)。" #: doc/classes/CanvasItemMaterial.xml msgid "" "Render the material using both light and non-light sensitive material " "properties." msgstr "使用光敏和非光敏材料屬性算繪材質。" #: doc/classes/CanvasItemMaterial.xml msgid "Render the material as if there were no light." msgstr "將材質算繪成沒有光的樣子。" #: doc/classes/CanvasItemMaterial.xml msgid "Render the material as if there were only light." msgstr "將材質算繪成只有光的樣子。" #: doc/classes/CanvasLayer.xml msgid "A node used for independent rendering of objects within a 2D scene." msgstr "用於 2D 場景中的物件的獨立算繪的節點。" #: doc/classes/CanvasLayer.xml #, fuzzy msgid "" "[CanvasItem]-derived nodes that are direct or indirect children of a " "[CanvasLayer] will be drawn in that layer. The layer is a numeric index that " "defines the draw order. The default 2D scene renders with index [code]0[/" "code], so a [CanvasLayer] with index [code]-1[/code] will be drawn below, " "and a [CanvasLayer] with index [code]1[/code] will be drawn above. This " "order will hold regardless of the [member CanvasItem.z_index] of the nodes " "within each layer.\n" "[CanvasLayer]s can be hidden and they can also optionally follow the " "viewport. This makes them useful for HUDs like health bar overlays (on " "layers [code]1[/code] and higher) or backgrounds (on layers [code]-1[/code] " "and lower).\n" "[b]Note:[/b] Embedded [Window]s are placed on layer [code]1024[/code]. " "[CanvasItem]s on layers [code]1025[/code] and higher appear in front of " "embedded windows.\n" "[b]Note:[/b] Each [CanvasLayer] is drawn on one specific [Viewport] and " "cannot be shared between multiple [Viewport]s, see [member custom_viewport]. " "When using multiple [Viewport]s, for example in a split-screen game, you " "need to create an individual [CanvasLayer] for each [Viewport] you want it " "to be drawn on." msgstr "" "[CanvasLayer] 的直接或間接子節點中,衍生自 [CanvasItem] 的節點會在該圖層中進" "行繪製。圖層是定義繪製順序的數位索引。預設 2D 場景使用的索引為 [code]0[/" "code],因此索引為 [code]-1[/code] 的 [CanvasLayer] 會在下方繪製,而索引為 " "[code]1[/code] 的 [CanvasLayer] 會在上方繪製。無論節點在圖層中的 [member " "CanvasItem.z_index] 是多少,這一順序都成立。\n" "[CanvasLayer] 可以隱藏,也可以跟隨視口。因此常用於血條等 HUD(位於 [code]1[/" "code] 或更高的圖層上)和背景(位於 [code]-1[/code] 或更低的圖層上)。\n" "[b]注意:[/b]嵌入式 [Window] 位於 [code]1024[/code] 圖層。位於 [code]1025[/" "code] 或更高圖層的 [CanvasItem] 會顯示在嵌入式視窗之上。\n" "[b]注意:[/b]每個 [CanvasLayer] 都是在一個特定的 [Viewport] 中繪製的,不能在" "多個 [Viewport] 之間共用,見 [member custom_viewport]。使用多個 [Viewport] " "時,例如分屏遊戲中,你需要為每個想要繪製的 [Viewport] 建立一個單獨的 " "[CanvasLayer]。" #: doc/classes/CanvasLayer.xml msgid "Canvas layers" msgstr "畫布層" #: doc/classes/CanvasLayer.xml msgid "Returns the RID of the canvas used by this layer." msgstr "返回此層使用的畫布的 RID。" #: doc/classes/CanvasLayer.xml msgid "" "Returns the transform from the [CanvasLayer]s coordinate system to the " "[Viewport]s coordinate system." msgstr "返回從 [CanvasLayer] 坐標系到 [Viewport] 坐標系的變換。" #: doc/classes/CanvasLayer.xml msgid "" "Hides any [CanvasItem] under this [CanvasLayer]. This is equivalent to " "setting [member visible] to [code]false[/code]." msgstr "" "隱藏該 [CanvasLayer] 下的所有 [CanvasItem]。相當於將 [member visible] 設為 " "[code]false[/code]。" #: doc/classes/CanvasLayer.xml msgid "" "Shows any [CanvasItem] under this [CanvasLayer]. This is equivalent to " "setting [member visible] to [code]true[/code]." msgstr "" "顯示該 [CanvasLayer] 下的所有 [CanvasItem]。相當於將 [member visible] 設為 " "[code]true[/code]。" #: doc/classes/CanvasLayer.xml msgid "" "The custom [Viewport] node assigned to the [CanvasLayer]. If [code]null[/" "code], uses the default viewport instead." msgstr "" "分配給該 [CanvasLayer] 的自訂 [Viewport] 節點。如果為 [code]null[/code],則使" "用預設的視口。" #: doc/classes/CanvasLayer.xml #, fuzzy msgid "" "If enabled, the [CanvasLayer] maintains its position in world space. If " "disabled, the [CanvasLayer] stays in a fixed position on the screen.\n" "Together with [member follow_viewport_scale], this can be used for a " "pseudo-3D effect." msgstr "" "啟用時,該 [CanvasLayer] 會使用視口的變換,所以它會隨相機移動,而不是保持在屏" "幕上的某個固定位置。\n" "與 [member follow_viewport_scale] 配合可以實作偽 3D 效果。" #: doc/classes/CanvasLayer.xml msgid "" "Scales the layer when using [member follow_viewport_enabled]. Layers moving " "into the foreground should have increasing scales, while layers moving into " "the background should have decreasing scales." msgstr "" "使用 [member follow_viewport_enabled] 時縮放圖層。移入到前景的圖層應具有增加" "的縮放,而移入到背景的圖層應具有減小的縮放。" #: doc/classes/CanvasLayer.xml #, fuzzy msgid "" "Layer index for draw order. Lower values are drawn behind higher values.\n" "[b]Note:[/b] If multiple CanvasLayers have the same layer index, " "[CanvasItem] children of one CanvasLayer are drawn behind the [CanvasItem] " "children of the other CanvasLayer. Which CanvasLayer is drawn in front is " "non-deterministic.\n" "[b]Note:[/b] The layer index should be between [constant " "RenderingServer.CANVAS_LAYER_MIN] and [constant " "RenderingServer.CANVAS_LAYER_MAX] (inclusive). Any other value will wrap " "around." msgstr "" "繪製順序的圖層索引。較低的值繪製在較高的值後面。\n" "[b]注意:[/b] 如果多個 CanvasLayer 具有相同的圖層索引,則一個 CanvasLayer 的 " "[CanvasItem] 子級將繪製在另一 CanvasLayer 的 [CanvasItem] 子級後面。哪一個" "CanvasLayer繪製在前面是不確定的。" #: doc/classes/CanvasLayer.xml msgid "The layer's base offset." msgstr "圖層的基本偏移量。" #: doc/classes/CanvasLayer.xml msgid "The layer's rotation in radians." msgstr "圖層的旋轉弧度。" #: doc/classes/CanvasLayer.xml msgid "The layer's scale." msgstr "圖層的縮放。" #: doc/classes/CanvasLayer.xml msgid "The layer's transform." msgstr "圖層的變換。" #: doc/classes/CanvasLayer.xml msgid "" "If [code]false[/code], any [CanvasItem] under this [CanvasLayer] will be " "hidden.\n" "Unlike [member CanvasItem.visible], visibility of a [CanvasLayer] isn't " "propagated to underlying layers." msgstr "" "為 [code]false[/code] 時,該 [CanvasLayer] 下的所有 [CanvasItem] 都會被隱" "藏。\n" "與 [member CanvasItem.visible] 不同,[CanvasLayer] 的顯示與否不會傳播到其內部" "的層。" #: doc/classes/CanvasLayer.xml msgid "Emitted when visibility of the layer is changed. See [member visible]." msgstr "當該層的可見性發生變化時觸發。請參閱 [member visible]。" #: doc/classes/CanvasModulate.xml msgid "A node that applies a color tint to a canvas." msgstr "將一種色調套用於一張畫布的節點。" #: doc/classes/CanvasModulate.xml msgid "" "[CanvasModulate] applies a color tint to all nodes on a canvas. Only one can " "be used to tint a canvas, but [CanvasLayer]s can be used to render things " "independently." msgstr "" "[CanvasModulate] 將一種色調套用於一張畫布上的所有節點。一張畫布只有一個可用於" "為畫布著色,但 [CanvasLayer] 可用於獨立算繪事物。" #: doc/classes/CanvasModulate.xml doc/classes/DirectionalLight2D.xml #: doc/classes/Light2D.xml doc/classes/LightOccluder2D.xml #: doc/classes/PointLight2D.xml msgid "2D lights and shadows" msgstr "2D 燈光和陰影" #: doc/classes/CanvasModulate.xml msgid "The tint color to apply." msgstr "要套用的色調顏色。" #: doc/classes/CanvasTexture.xml msgid "Texture with optional normal and specular maps for use in 2D rendering." msgstr "用於 2D 算繪的紋理,帶有可選的法線和鏡面貼圖。" #: doc/classes/CanvasTexture.xml #, fuzzy msgid "" "[CanvasTexture] is an alternative to [ImageTexture] for 2D rendering. It " "allows using normal maps and specular maps in any node that inherits from " "[CanvasItem]. [CanvasTexture] also allows overriding the texture's filter " "and repeat mode independently of the node's properties (or the project " "settings).\n" "[b]Note:[/b] [CanvasTexture] cannot be used in 3D. It will not display " "correctly when applied to any [VisualInstance3D], such as [Sprite3D] or " "[Decal]. For physically-based materials in 3D, use [BaseMaterial3D] instead." msgstr "" "[CanvasTexture] 是用於 2D 算繪的 [ImageTexture] 的替代品。它允許在任何繼承自 " "[CanvasItem] 的節點中使用法線貼圖和鏡面貼圖。[CanvasTexture] 還允許獨立於節點" "的屬性(或專案設定)覆蓋紋理的篩選模式和重複模式。\n" "[b]注意:[/b][CanvasTexture] 不能用於 3D 算繪。對於 3D 中基於物理的材質,請使" "用 [BaseMaterial3D] 來代替。" #: doc/classes/CanvasTexture.xml msgid "2D Lights and Shadows" msgstr "2D 燈光和陰影" #: doc/classes/CanvasTexture.xml msgid "" "The diffuse (color) texture to use. This is the main texture you want to set " "in most cases." msgstr "要使用的漫反射(顏色)紋理。這是你在大多數情況下要設定的主要紋理。" #: doc/classes/CanvasTexture.xml msgid "" "The normal map texture to use. Only has a visible effect if [Light2D]s are " "affecting this [CanvasTexture].\n" "[b]Note:[/b] Godot expects the normal map to use X+, Y+, and Z+ coordinates. " "See [url=http://wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]this page[/url] for " "a comparison of normal map coordinates expected by popular engines." msgstr "" "要使用的法線貼圖紋理。僅在有 [Light2D] 影響該 [CanvasTexture] 時才有可見的效" "果。\n" "[b]注意:[/b] Godot 期望使用 X+、Y+、Z+ 座標系,可參考 [url=http://" "wiki.polycount.com/wiki/" "Normal_Map_Technical_Details#Common_Swizzle_Coordinates]此頁[/url] 了解各引擎" "差異。" #: doc/classes/CanvasTexture.xml msgid "" "The multiplier for specular reflection colors. The [Light2D]'s color is also " "taken into account when determining the reflection color. Only has a visible " "effect if [Light2D]s are affecting this [CanvasTexture]." msgstr "" "鏡面反射顏色的乘數。在確定反射顏色時,[Light2D] 的顏色也會被考慮在內。只有在 " "[Light2D] 影響到這個 [CanvasTexture] 時才有可見的效果。" #: doc/classes/CanvasTexture.xml msgid "" "The specular exponent for [Light2D] specular reflections. Higher values " "result in a more glossy/\"wet\" look, with reflections becoming more " "localized and less visible overall. The default value of [code]1.0[/code] " "disables specular reflections entirely. Only has a visible effect if " "[Light2D]s are affecting this [CanvasTexture]." msgstr "" "用於 [Light2D] 鏡面反射的鏡面指數。更高的值會產生更有光澤或更加“濕潤”的外觀," "反射變得更局部,且整體上不太明顯。預設值為 [code]1.0[/code] ,將完全禁用鏡面" "反射。只有在 [Light2D] 影響到這個 [CanvasTexture] 時才會有可見的效果。" #: doc/classes/CanvasTexture.xml msgid "" "The specular map to use for [Light2D] specular reflections. This should be a " "grayscale or colored texture, with brighter areas resulting in a higher " "[member specular_shininess] value. Using a colored [member specular_texture] " "allows controlling specular shininess on a per-channel basis. Only has a " "visible effect if [Light2D]s are affecting this [CanvasTexture]." msgstr "" "用於 [Light2D] 鏡面反射的鏡面貼圖。這應該是一個灰度或彩色紋理,更亮的區域會產" "生更高的 [member specular_shininess] 值。使用彩色 [member specular_texture] " "允許在每個通道的基礎上控制鏡面反射光澤度。僅當 [Light2D] 影響該 " "[CanvasTexture] 時才有可見的效果。" #: doc/classes/CanvasTexture.xml msgid "The texture filtering mode to use when drawing this [CanvasTexture]." msgstr "繪製該 [CanvasTexture] 時所使用的紋理篩選模式。" #: doc/classes/CanvasTexture.xml msgid "The texture repeat mode to use when drawing this [CanvasTexture]." msgstr "繪製該 [CanvasTexture] 時所使用的紋理重複模式。" #: doc/classes/CapsuleMesh.xml msgid "Class representing a capsule-shaped [PrimitiveMesh]." msgstr "表示膠囊狀 [PrimitiveMesh] 的類。" #: doc/classes/CapsuleMesh.xml msgid "" "Total height of the capsule mesh (including the hemispherical ends).\n" "[b]Note:[/b] The [member height] of a capsule must be at least twice its " "[member radius]. Otherwise, the capsule becomes a circle. If the [member " "height] is less than twice the [member radius], the properties adjust to a " "valid value." msgstr "" #: doc/classes/CapsuleMesh.xml msgid "Number of radial segments on the capsule mesh." msgstr "膠囊網格上的徑向線段數。" #: doc/classes/CapsuleMesh.xml msgid "" "Radius of the capsule mesh.\n" "[b]Note:[/b] The [member radius] of a capsule cannot be greater than half of " "its [member height]. Otherwise, the capsule becomes a circle. If the [member " "radius] is greater than half of the [member height], the properties adjust " "to a valid value." msgstr "" #: doc/classes/CapsuleMesh.xml msgid "Number of rings along the height of the capsule." msgstr "沿膠囊高度的環數。" #: doc/classes/CapsuleShape2D.xml msgid "A 2D capsule shape used for physics collision." msgstr "用於物理碰撞的 2D 膠囊形狀。" #: doc/classes/CapsuleShape2D.xml msgid "" "A 2D capsule shape, intended for use in physics. Usually used to provide a " "shape for a [CollisionShape2D].\n" "[b]Performance:[/b] [CapsuleShape2D] is fast to check collisions against, " "but it is slower than [RectangleShape2D] and [CircleShape2D]." msgstr "" "2D 膠囊形狀,旨在用於物理學。通常用於為 [CollisionShape2D] 提供形狀。\n" "[b]性能:[/b][CapsuleShape2D] 可以快速檢查碰撞,但比 [RectangleShape2D] 和 " "[CircleShape2D] 慢。" #: doc/classes/CapsuleShape2D.xml msgid "" "The capsule's full height, including the semicircles.\n" "[b]Note:[/b] The [member height] of a capsule must be at least twice its " "[member radius]. Otherwise, the capsule becomes a circle. If the [member " "height] is less than twice the [member radius], the properties adjust to a " "valid value." msgstr "" #: doc/classes/CapsuleShape2D.xml msgid "" "The capsule's height, excluding the semicircles. This is the height of the " "central rectangular part in the middle of the capsule, and is the distance " "between the centers of the two semicircles. This is a wrapper for [member " "height]." msgstr "" #: doc/classes/CapsuleShape2D.xml msgid "" "The capsule's radius.\n" "[b]Note:[/b] The [member radius] of a capsule cannot be greater than half of " "its [member height]. Otherwise, the capsule becomes a circle. If the [member " "radius] is greater than half of the [member height], the properties adjust " "to a valid value." msgstr "" #: doc/classes/CapsuleShape3D.xml msgid "A 3D capsule shape used for physics collision." msgstr "用於物理碰撞的 3D 膠囊形狀。" #: doc/classes/CapsuleShape3D.xml msgid "" "A 3D capsule shape, intended for use in physics. Usually used to provide a " "shape for a [CollisionShape3D].\n" "[b]Performance:[/b] [CapsuleShape3D] is fast to check collisions against. It " "is faster than [CylinderShape3D], but slower than [SphereShape3D] and " "[BoxShape3D]." msgstr "" "3D 膠囊形狀,旨在用於物理學。通常用於為 [CollisionShape3D] 提供形狀。\n" "[b]性能:[/b][CapsuleShape3D] 可以快速檢查碰撞。比 [CylinderShape3D] 快,但" "比 [SphereShape3D] 和 [BoxShape3D] 慢。" #: doc/classes/CapsuleShape3D.xml doc/classes/SpringBoneCollisionCapsule3D.xml msgid "" "The capsule's full height, including the hemispheres.\n" "[b]Note:[/b] The [member height] of a capsule must be at least twice its " "[member radius]. Otherwise, the capsule becomes a sphere. If the [member " "height] is less than twice the [member radius], the properties adjust to a " "valid value." msgstr "" #: doc/classes/CapsuleShape3D.xml doc/classes/SpringBoneCollisionCapsule3D.xml msgid "" "The capsule's height, excluding the hemispheres. This is the height of the " "central cylindrical part in the middle of the capsule, and is the distance " "between the centers of the two hemispheres. This is a wrapper for [member " "height]." msgstr "" #: doc/classes/CapsuleShape3D.xml doc/classes/SpringBoneCollisionCapsule3D.xml msgid "" "The capsule's radius.\n" "[b]Note:[/b] The [member radius] of a capsule cannot be greater than half of " "its [member height]. Otherwise, the capsule becomes a sphere. If the [member " "radius] is greater than half of the [member height], the properties adjust " "to a valid value." msgstr "" #: doc/classes/CCDIK3D.xml msgid "Rotation based cyclic coordinate descent inverse kinematics solver." msgstr "" #: doc/classes/CCDIK3D.xml msgid "" "[CCDIK3D] is rotation based IK, enabling fast and effective tracking even " "with large joint rotations. It's especially suitable for chains with " "limitations, providing smoother and more stable target tracking compared to " "[FABRIK3D].\n" "The resulting twist around the forward vector will always be kept from the " "previous pose.\n" "[b]Note:[/b] When the target is close to the root, it can cause unnatural " "movement, including joint flips and oscillations." msgstr "" #: doc/classes/CenterContainer.xml msgid "A container that keeps child controls in its center." msgstr "將子控制項保持在其中心的容器。" #: doc/classes/CenterContainer.xml msgid "" "[CenterContainer] is a container that keeps all of its child controls in its " "center at their minimum size." msgstr "" "[CenterContainer] 是一種容器,它將其所有子控制項以最小尺寸保持在其中心。" #: doc/classes/CenterContainer.xml msgid "" "If [code]true[/code], centers children relative to the [CenterContainer]'s " "top left corner." msgstr "" "如果為 [code]true[/code],會將子節點相對於 [CenterContainer] 的左上角居中。" #: doc/classes/ChainIK3D.xml msgid "" "A [SkeletonModifier3D] to apply inverse kinematics to bone chains containing " "an arbitrary number of bones." msgstr "" #: doc/classes/ChainIK3D.xml msgid "" "Base class of [SkeletonModifier3D] that automatically generates a joint list " "from the bones between the root bone and the end bone." msgstr "" #: doc/classes/ChainIK3D.xml doc/classes/SpringBoneSimulator3D.xml #: doc/classes/TwoBoneIK3D.xml #, fuzzy msgid "" "Returns the end bone tail length of the bone chain when [method " "is_end_bone_extended] is [code]true[/code]." msgstr "" "當 [member position_smoothing_enabled] 為 [code]true[/code] 時,相機平滑效果" "的速度,單位為每秒圖元。" #: doc/classes/ChainIK3D.xml doc/classes/SpringBoneSimulator3D.xml #, fuzzy msgid "" "Sets the end bone tail length of the bone chain when [method " "is_end_bone_extended] is [code]true[/code]." msgstr "" "當 [member position_smoothing_enabled] 為 [code]true[/code] 時,相機平滑效果" "的速度,單位為每秒圖元。" #: doc/classes/ChainIK3D.xml msgid "" "Sets the end bone name of the bone chain.\n" "[b]Note:[/b] The end bone must be the root bone or a child of the root bone. " "If they are the same, the tail must be extended by [method " "set_extend_end_bone] to modify the bone." msgstr "" #: doc/classes/ChainIK3D.xml doc/classes/SpringBoneSimulator3D.xml msgid "" "If [param enabled] is [code]true[/code], the end bone is extended to have a " "tail.\n" "The extended tail config is allocated to the last element in the joint list. " "In other words, if you set [param enabled] to [code]false[/code], the config " "of the last element in the joint list has no effect in the simulated result." msgstr "" #: doc/classes/CharacterBody2D.xml msgid "A 2D physics body specialized for characters moved by script." msgstr "專門用於通過腳本移動的角色的 2D 物理物體。" #: doc/classes/CharacterBody2D.xml msgid "" "[CharacterBody2D] is a specialized class for physics bodies that are meant " "to be user-controlled. They are not affected by physics at all, but they " "affect other physics bodies in their path. They are mainly used to provide " "high-level API to move objects with wall and slope detection ([method " "move_and_slide] method) in addition to the general collision detection " "provided by [method PhysicsBody2D.move_and_collide]. This makes it useful " "for highly configurable physics bodies that must move in specific ways and " "collide with the world, as is often the case with user-controlled " "characters.\n" "For game objects that don't require complex movement or collision detection, " "such as moving platforms, [AnimatableBody2D] is simpler to configure." msgstr "" "[CharacterBody2D] 是針對使用者控制的物理體的特化類。它們不會受到物理的影響," "但會影響路徑上的其他物理體。除了由 [method PhysicsBody2D.move_and_collide] 提" "供的常見的碰撞偵測之外,它們主要用於提供移動對象的高階 API,能夠偵測牆壁和斜" "坡([method move_and_slide] 方法)。因此適用於需要高度可配置的物理體,因為通" "常是使用者控制的角色,所以必須按照特定的方式移動、與世界發生碰撞。\n" "如果是移動平臺等不需要複雜移動和碰撞偵測的遊戲物件,[AnimatableBody2D] 更方便" "配置。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "Kinematic character (2D)" msgstr "運動學角色(2D)" #: doc/classes/CharacterBody2D.xml msgid "Using CharacterBody2D" msgstr "使用 CharacterBody2D" #: doc/classes/CharacterBody2D.xml doc/classes/CollisionShape2D.xml #: doc/classes/RectangleShape2D.xml doc/classes/TileMap.xml #: doc/classes/TileMapLayer.xml doc/classes/TileSet.xml msgid "2D Kinematic Character Demo" msgstr "2D 運動學角色演示" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Allows to manually apply a snap to the floor regardless of the body's " "velocity. This function does nothing when [method is_on_floor] returns " "[code]true[/code]." msgstr "" "允許手動套用向地板的吸附,無論該物體的速度多大。[method is_on_floor] 返回 " "[code]true[/code] 時這個函式什麼都不做。" #: doc/classes/CharacterBody2D.xml #, fuzzy msgid "" "Returns the floor's collision angle at the last collision point according to " "[param up_direction], which is [constant Vector2.UP] by default. This value " "is always positive and only valid after calling [method move_and_slide] and " "when [method is_on_floor] returns [code]true[/code]." msgstr "" "返回地板在最近一次碰撞點的碰撞角度,依據為 [param up_direction],預設為 " "[code]Vector2.UP[/code]。該值始終為正數,只有在呼叫了 [method " "move_and_slide] 並且 [method is_on_floor] 返回值為 [code]true[/code] 時才有" "效。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Returns the collision normal of the floor at the last collision point. Only " "valid after calling [method move_and_slide] and when [method is_on_floor] " "returns [code]true[/code].\n" "[b]Warning:[/b] The collision normal is not always the same as the surface " "normal." msgstr "" "返回最近一次碰撞點的地面法線。只有在呼叫了 [method move_and_slide] 並且 " "[method is_on_floor] 返回值為 [code]true[/code] 時才有效。" #: doc/classes/CharacterBody2D.xml msgid "" "Returns the last motion applied to the [CharacterBody2D] during the last " "call to [method move_and_slide]. The movement can be split into multiple " "motions when sliding occurs, and this method return the last one, which is " "useful to retrieve the current direction of the movement." msgstr "" "返回最近一次呼叫 [method move_and_slide] 時施加給該 [CharacterBody2D] 的最後" "一次運動。如果發生了滑動,則該移動可以拆分為多次運動,此方法返回的是最後一" "次,可用於獲取目前的移動方向。" #: doc/classes/CharacterBody2D.xml #, fuzzy msgid "" "Returns a [KinematicCollision2D] if a collision occurred. The returned value " "contains information about the latest collision that occurred during the " "last call to [method move_and_slide]. Returns [code]null[/code] if no " "collision occurred. See also [method get_slide_collision]." msgstr "" "返回 [KinematicCollision2D],包含最近一次呼叫 [method move_and_slide] 時發生" "的最後一次運動的相關資訊。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns the linear velocity of the platform at the last collision point. " "Only valid after calling [method move_and_slide]." msgstr "" "返回位於最近一次碰撞點的平臺線速度。僅在呼叫 [method move_and_slide] 後有效。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns the travel (position delta) that occurred during the last call to " "[method move_and_slide]." msgstr "返回最近一次呼叫 [method move_and_slide] 所產生的運動(位置差異量)。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns the current real velocity since the last call to [method " "move_and_slide]. For example, when you climb a slope, you will move " "diagonally even though the velocity is horizontal. This method returns the " "diagonal movement, as opposed to [member velocity] which returns the " "requested velocity." msgstr "" "返回最近一次呼叫 [method move_and_slide] 之後的目前真實速度。例如,即便速度為" "水平方向,爬坡時你也會斜向移動。此方法返回的就是那個斜向移動,與返回請求速度" "的 [member velocity] 相對。" #: doc/classes/CharacterBody2D.xml #, fuzzy msgid "" "Returns a [KinematicCollision2D], which contains information about a " "collision that occurred during the last call to [method move_and_slide]. " "Since the body can collide several times in a single call to [method " "move_and_slide], you must specify the index of the collision in the range 0 " "to ([method get_slide_collision_count] - 1). See also [method " "get_last_slide_collision].\n" "[b]Example:[/b] Iterate through the collisions with a [code]for[/code] " "loop:\n" "[codeblocks]\n" "[gdscript]\n" "for i in get_slide_collision_count():\n" "\tvar collision = get_slide_collision(i)\n" "\tprint(\"Collided with: \", collision.get_collider().name)\n" "[/gdscript]\n" "[csharp]\n" "for (int i = 0; i < GetSlideCollisionCount(); i++)\n" "{\n" "\tKinematicCollision2D collision = GetSlideCollision(i);\n" "\tGD.Print(\"Collided with: \", (collision.GetCollider() as Node).Name);\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回 [KinematicCollision2D],包含最近一次呼叫 [method move_and_slide] 時發生" "的碰撞信息。因為單次呼叫 [method move_and_slide] 可能發生多次碰撞,所以你必須" "指定碰撞索引,範圍為 0 到 ([method get_slide_collision_count] - 1)。\n" "[b]用法範例:[/b]\n" "[codeblocks]\n" "[gdscript]\n" "for i in get_slide_collision_count():\n" "var collision = get_slide_collision(i)\n" "print(\"碰到了:\", collision.get_collider().name)\n" "[/gdscript]\n" "[csharp]\n" "for (int i = 0; i < GetSlideCollisionCount(); i++)\n" "{\n" "\tKinematicCollision2D collision = GetSlideCollision(i);\n" "\tGD.Print(\"碰到了:\", (collision.GetCollider() as Node).Name);\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns the number of times the body collided and changed direction during " "the last call to [method move_and_slide]." msgstr "" "返回最近一次呼叫 [method move_and_slide] 時,該物體發生碰撞並改變方向的次數。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Returns the collision normal of the wall at the last collision point. Only " "valid after calling [method move_and_slide] and when [method is_on_wall] " "returns [code]true[/code].\n" "[b]Warning:[/b] The collision normal is not always the same as the surface " "normal." msgstr "" "返回最近一次碰撞點的牆面法線。只有在呼叫了 [method move_and_slide] 並且 " "[method is_on_wall] 返回值為 [code]true[/code] 時才有效。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns [code]true[/code] if the body collided with the ceiling on the last " "call of [method move_and_slide]. Otherwise, returns [code]false[/code]. The " "[member up_direction] and [member floor_max_angle] are used to determine " "whether a surface is \"ceiling\" or not." msgstr "" "如果最近一次呼叫 [method move_and_slide] 時,該物體和天花板發生了碰撞,則返" "回 [code]true[/code]。否則返回 [code]false[/code]。決定表面是否為“天花板”的" "是 [member up_direction] 和 [member floor_max_angle]。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns [code]true[/code] if the body collided only with the ceiling on the " "last call of [method move_and_slide]. Otherwise, returns [code]false[/code]. " "The [member up_direction] and [member floor_max_angle] are used to determine " "whether a surface is \"ceiling\" or not." msgstr "" "如果最近一次呼叫 [method move_and_slide] 時,該物體僅和天花板發生了碰撞,則返" "回 [code]true[/code]。否則返回 [code]false[/code]。決定表面是否為“天花板”的" "是 [member up_direction] 和 [member floor_max_angle]。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns [code]true[/code] if the body collided with the floor on the last " "call of [method move_and_slide]. Otherwise, returns [code]false[/code]. The " "[member up_direction] and [member floor_max_angle] are used to determine " "whether a surface is \"floor\" or not." msgstr "" "如果最近一次呼叫 [method move_and_slide] 時,該物體和地板發生了碰撞,則返回 " "[code]true[/code]。否則返回 [code]false[/code]。決定表面是否為“地板”的是 " "[member up_direction] 和 [member floor_max_angle]。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns [code]true[/code] if the body collided only with the floor on the " "last call of [method move_and_slide]. Otherwise, returns [code]false[/code]. " "The [member up_direction] and [member floor_max_angle] are used to determine " "whether a surface is \"floor\" or not." msgstr "" "如果最近一次呼叫 [method move_and_slide] 時,該物體僅和地板發生了碰撞,則返" "回 [code]true[/code]。否則返回 [code]false[/code]。決定表面是否為“地板”的是 " "[member up_direction] 和 [member floor_max_angle]。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns [code]true[/code] if the body collided with a wall on the last call " "of [method move_and_slide]. Otherwise, returns [code]false[/code]. The " "[member up_direction] and [member floor_max_angle] are used to determine " "whether a surface is \"wall\" or not." msgstr "" "如果最近一次呼叫 [method move_and_slide] 時,該物體和牆壁發生了碰撞,則返回 " "[code]true[/code]。否則返回 [code]false[/code]。決定表面是否為“牆壁”的是 " "[member up_direction] 和 [member floor_max_angle]。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Returns [code]true[/code] if the body collided only with a wall on the last " "call of [method move_and_slide]. Otherwise, returns [code]false[/code]. The " "[member up_direction] and [member floor_max_angle] are used to determine " "whether a surface is \"wall\" or not." msgstr "" "如果最近一次呼叫 [method move_and_slide] 時,該物體僅和牆壁發生了碰撞,則返" "回 [code]true[/code]。否則返回 [code]false[/code]。決定表面是否為“牆壁”的是 " "[member up_direction] 和 [member floor_max_angle]。" #: doc/classes/CharacterBody2D.xml #, fuzzy msgid "" "Moves the body based on [member velocity]. If the body collides with " "another, it will slide along the other body (by default only on floor) " "rather than stop immediately. If the other body is a [CharacterBody2D] or " "[RigidBody2D], it will also be affected by the motion of the other body. You " "can use this to make moving and rotating platforms, or to make nodes push " "other nodes.\n" "This method should be used in [method Node._physics_process] (or in a method " "called by [method Node._physics_process]), as it uses the physics step's " "[code]delta[/code] value automatically in calculations. Otherwise, the " "simulation will run at an incorrect speed.\n" "Modifies [member velocity] if a slide collision occurred. To get the latest " "collision call [method get_last_slide_collision], for detailed information " "about collisions that occurred, use [method get_slide_collision].\n" "When the body touches a moving platform, the platform's velocity is " "automatically added to the body motion. If a collision occurs due to the " "platform's motion, it will always be first in the slide collisions.\n" "The general behavior and available properties change according to the " "[member motion_mode].\n" "Returns [code]true[/code] if the body collided, otherwise, returns " "[code]false[/code]." msgstr "" "根據 [member velocity] 移動該物體。該物體如果與其他物體發生碰撞,則會沿著對方" "滑動(預設只在地板上滑動),不會立即停止移動。如果對方是 [CharacterBody2D] " "或 [RigidBody2D],還會受到對方運動的影響。可以用於製作移動、旋轉的平臺,也可" "用於推動其他節點。\n" "發生滑動碰撞時會改變 [member velocity]。要獲取最後一次碰撞,請呼叫 [method " "get_last_slide_collision],要獲取碰撞的更多資訊,請使用 [method " "get_slide_collision]。\n" "該物體接觸到移動平臺時,平臺的速度會自動加入到該物體的運動中。平臺運動所造成" "的碰撞始終為所有滑動碰撞中的第一個。\n" "通用行為和可用屬性會根據 [member motion_mode] 發生改變。\n" "如果該物體發生了碰撞,則返回 [code]true[/code],否則返回 [code]false[/code]。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "If [code]true[/code], the body will be able to move on the floor only. This " "option avoids to be able to walk on walls, it will however allow to slide " "down along them." msgstr "" "如果為 [code]true[/code],則該物體將只能在地板上移動。此選項能夠避免在牆壁上" "行走,但允許沿牆壁向下滑動。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "If [code]false[/code] (by default), the body will move faster on downward " "slopes and slower on upward slopes.\n" "If [code]true[/code], the body will always move at the same speed on the " "ground no matter the slope. Note that you need to use [member " "floor_snap_length] to stick along a downward slope at constant speed." msgstr "" "如果為 [code]false[/code](預設),則該物體在下坡時會移動得更快,在上坡時會移" "動得更慢。\n" "如果為 [code]true[/code],則無論坡度如何,該物體在地面上都會以相同的速度移" "動。請注意,你需要使用 [member floor_snap_length] 以恒定速度粘著至向下的斜" "坡。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Maximum angle (in radians) where a slope is still considered a floor (or a " "ceiling), rather than a wall, when calling [method move_and_slide]. The " "default value equals 45 degrees." msgstr "" "呼叫 [method move_and_slide] 時,斜坡仍被視為地板(或天花板)而不是牆壁的最大" "角度(單位為弧度)。預設值等於 45 度。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Sets a snapping distance. When set to a value different from [code]0.0[/" "code], the body is kept attached to slopes when calling [method " "move_and_slide]. The snapping vector is determined by the given distance " "along the opposite direction of the [member up_direction].\n" "As long as the snapping vector is in contact with the ground and the body " "moves against [member up_direction], the body will remain attached to the " "surface. Snapping is not applied if the body moves along [member " "up_direction], meaning it contains vertical rising velocity, so it will be " "able to detach from the ground when jumping or when the body is pushed up by " "something. If you want to apply a snap without taking into account the " "velocity, use [method apply_floor_snap]." msgstr "" "設定吸附距離。設為非 [code]0.0[/code] 值時,該物體在呼叫 [method " "move_and_slide] 時會保持附著到斜坡上。吸附向量會根據給定的距離和 [member " "up_direction] 反方向決定。\n" "只要吸附向量與地面有接觸,該物體就會逆 [member up_direction] 移動,保持附著到" "表面。如果該物體是沿著 [member up_direction] 移動的,則不會套用吸附,這樣跳躍" "時或者被其他物體推動時就能夠不再附著地面。如果想要在套用吸附時無視速度,請使" "用 [method apply_floor_snap]。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "If [code]true[/code], the body will not slide on slopes when calling [method " "move_and_slide] when the body is standing still.\n" "If [code]false[/code], the body will slide on floor's slopes when [member " "velocity] applies a downward force." msgstr "" "如果為 [code]true[/code],則該物體靜止時,呼叫 [method move_and_slide] 不會讓" "它在斜坡上發生滑動。\n" "如果為 [code]false[/code],則 [member velocity] 施加向下的力時,該物體會在地" "板的斜坡上發生滑動。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Maximum number of times the body can change direction before it stops when " "calling [method move_and_slide]. Must be greater than zero." msgstr "" "呼叫 [method move_and_slide] 時,該物體在停止之前可以改變方向的最大次數。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Sets the motion mode which defines the behavior of [method move_and_slide]." msgstr "" "設定運動模式,定義 [method move_and_slide] 的行為。可用的模式見 [enum " "MotionMode] 常數。" #: doc/classes/CharacterBody2D.xml msgid "" "Collision layers that will be included for detecting floor bodies that will " "act as moving platforms to be followed by the [CharacterBody2D]. By default, " "all floor bodies are detected and propagate their velocity." msgstr "" "用於偵測地板物體的碰撞層,該地板物體會被用作 [CharacterBody2D] 所要跟隨的移動" "平臺。預設情況下會偵測所有地板物體並傳播其速度。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Sets the behavior to apply when you leave a moving platform. By default, to " "be physically accurate, when you leave the last platform velocity is applied." msgstr "" "設定離開移動平臺時要套用的行為。為了達到物理準確,預設會套用你離開時最後的平" "台速度。可用的行為見 [enum PlatformOnLeave] 常數。" #: doc/classes/CharacterBody2D.xml msgid "" "Collision layers that will be included for detecting wall bodies that will " "act as moving platforms to be followed by the [CharacterBody2D]. By default, " "all wall bodies are ignored." msgstr "" "用於偵測牆壁物體的碰撞層,該牆壁物體會被用作 [CharacterBody2D] 所要跟隨的移動" "平臺。預設情況下會忽略所有牆壁物體。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Extra margin used for collision recovery when calling [method " "move_and_slide].\n" "If the body is at least this close to another body, it will consider them to " "be colliding and will be pushed away before performing the actual motion.\n" "A higher value means it's more flexible for detecting collision, which helps " "with consistently detecting walls and floors.\n" "A lower value forces the collision algorithm to use more exact detection, so " "it can be used in cases that specifically require precision, e.g at very low " "scale to avoid visible jittering, or for stability with a stack of character " "bodies." msgstr "" "額外邊距,用於在呼叫 [method move_and_slide] 時進行碰撞恢復。\n" "如果該物體與另一個物體至少有這麼近,就會認為它們正在碰撞,並在執行實際運動前" "推開。\n" "值較高時,對碰撞的偵測會更加靈活,有助於持續偵測牆壁和地板。\n" "值較低時,會強制碰撞演算法進行更精確的偵測,因此可以在特別需要精度的情況下使" "用,例如在非常低的縮放下避免可見的抖動,或者為了讓一堆角色物體的達到穩定。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "If [code]true[/code], during a jump against the ceiling, the body will " "slide, if [code]false[/code] it will be stopped and will fall vertically." msgstr "" "如果為 [code]true[/code],則該物體在跳到天花板時會滑動;如果為 [code]false[/" "code],則會停止並垂直下落。" #: doc/classes/CharacterBody2D.xml #, fuzzy msgid "" "Vector pointing upwards, used to determine what is a wall and what is a " "floor (or a ceiling) when calling [method move_and_slide]. Defaults to " "[constant Vector2.UP]. As the vector will be normalized it can't be equal to " "[constant Vector2.ZERO], if you want all collisions to be reported as walls, " "consider using [constant MOTION_MODE_FLOATING] as [member motion_mode]." msgstr "" "指向上方的向量,用於在呼叫 [method move_and_slide] 時決定什麼是牆壁、什麼是地" "板(或者天花板)。預設為 [code]Vector2.UP[/code]。因為會對該向量進行正規化," "所以不能等於 [constant Vector2.ZERO],如果你想要讓所有碰撞都被報告為牆壁,請" "考慮使用 [constant MOTION_MODE_FLOATING] 作為 [member motion_mode]。" #: doc/classes/CharacterBody2D.xml msgid "" "Current velocity vector in pixels per second, used and modified during calls " "to [method move_and_slide].\n" "[b]Note:[/b] A common mistake is setting this property to the desired " "velocity multiplied by [code]delta[/code], which produces a motion vector in " "pixels." msgstr "" #: doc/classes/CharacterBody2D.xml #, fuzzy msgid "" "Minimum angle (in radians) where the body is allowed to slide when it " "encounters a wall. The default value equals 15 degrees. This property only " "affects movement when [member motion_mode] is [constant " "MOTION_MODE_FLOATING]." msgstr "" "該物體遇到斜坡時,允許滑動的最小角度(單位為弧度)。預設值等於 15 度。僅在 " "[member motion_mode] 為 [constant MOTION_MODE_FLOATING] 時,該屬性才會影響運" "動。" #: doc/classes/CharacterBody2D.xml msgid "" "Apply when notions of walls, ceiling and floor are relevant. In this mode " "the body motion will react to slopes (acceleration/slowdown). This mode is " "suitable for sided games like platformers." msgstr "" "請在牆壁、天花板、地板等概念有意義時套用。在該模式下,物體運動會對斜坡作出反" "應(加減速)。該模式適合平臺跳躍等側視角遊戲。" #: doc/classes/CharacterBody2D.xml msgid "" "Apply when there is no notion of floor or ceiling. All collisions will be " "reported as [code]on_wall[/code]. In this mode, when you slide, the speed " "will always be constant. This mode is suitable for top-down games." msgstr "" "請在沒有地板和天花板等概念時套用。所有碰撞都會作為 [code]on_wall[/code](撞" "牆)彙報。在該模式下,滑動時的速度恒定。該模式適合俯視角遊戲。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Add the last platform velocity to the [member velocity] when you leave a " "moving platform." msgstr "離開移動平臺時,將最後的平臺速度新增到 [member velocity] 中。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "" "Add the last platform velocity to the [member velocity] when you leave a " "moving platform, but any downward motion is ignored. It's useful to keep " "full jump height even when the platform is moving down." msgstr "" "離開移動平臺時,將最後的平臺速度新增到 [member velocity] 中,但是忽略向下的運" "動。如果想要在平臺向下移動時保持完整的跳躍高度,就非常有用。" #: doc/classes/CharacterBody2D.xml doc/classes/CharacterBody3D.xml msgid "Do nothing when leaving a platform." msgstr "離開平臺時什麼也不做。" #: doc/classes/CharacterBody3D.xml msgid "A 3D physics body specialized for characters moved by script." msgstr "專門用於通過腳本移動的角色的 3D 物理物體。" #: doc/classes/CharacterBody3D.xml msgid "" "[CharacterBody3D] is a specialized class for physics bodies that are meant " "to be user-controlled. They are not affected by physics at all, but they " "affect other physics bodies in their path. They are mainly used to provide " "high-level API to move objects with wall and slope detection ([method " "move_and_slide] method) in addition to the general collision detection " "provided by [method PhysicsBody3D.move_and_collide]. This makes it useful " "for highly configurable physics bodies that must move in specific ways and " "collide with the world, as is often the case with user-controlled " "characters.\n" "For game objects that don't require complex movement or collision detection, " "such as moving platforms, [AnimatableBody3D] is simpler to configure." msgstr "" "[CharacterBody3D] 是針對使用者控制的物理體的特化類。它們不會受到物理的影響," "但會影響路徑上的其他物理體。除了由 [method PhysicsBody3D.move_and_collide] 提" "供的常見的碰撞偵測之外,它們主要用於提供移動對象的高階 API,能夠偵測牆壁和斜" "坡([method move_and_slide] 方法)。因此適用於需要高度可配置的物理體,因為通" "常是使用者控制的角色,所以必須按照特定的方式移動、與世界發生碰撞。\n" "如果是移動平臺等不需要複雜移動和碰撞偵測的遊戲物件,[AnimatableBody3D] 更方便" "配置。" #: doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Returns the floor's collision angle at the last collision point according to " "[param up_direction], which is [constant Vector3.UP] by default. This value " "is always positive and only valid after calling [method move_and_slide] and " "when [method is_on_floor] returns [code]true[/code]." msgstr "" "返回地板在最近一次碰撞點的碰撞角度,依據為 [param up_direction],預設為 " "[code]Vector3.UP[/code]。該值始終為正數,只有在呼叫了 [method " "move_and_slide] 並且 [method is_on_floor] 返回值為 [code]true[/code] 時才有" "效。" #: doc/classes/CharacterBody3D.xml msgid "" "Returns the last motion applied to the [CharacterBody3D] during the last " "call to [method move_and_slide]. The movement can be split into multiple " "motions when sliding occurs, and this method return the last one, which is " "useful to retrieve the current direction of the movement." msgstr "" "返回最近一次呼叫 [method move_and_slide] 時施加給該 [CharacterBody3D] 的最後" "一次運動。如果發生了滑動,則該移動可以拆分為多次運動,此方法返回的是最後一" "次,可用於獲取目前的移動方向。" #: doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Returns a [KinematicCollision3D] if a collision occurred. The returned value " "contains information about the latest collision that occurred during the " "last call to [method move_and_slide]. Returns [code]null[/code] if no " "collision occurred. See also [method get_slide_collision]." msgstr "" "返回 [KinematicCollision3D],包含最近一次呼叫 [method move_and_slide] 時發生" "的最後一次運動的相關資訊。" #: doc/classes/CharacterBody3D.xml msgid "" "Returns the angular velocity of the platform at the last collision point. " "Only valid after calling [method move_and_slide]." msgstr "" "返回位於最近一次碰撞點的平臺角速度。僅在呼叫 [method move_and_slide] 後有效。" #: doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Returns a [KinematicCollision3D], which contains information about a " "collision that occurred during the last call to [method move_and_slide]. " "Since the body can collide several times in a single call to [method " "move_and_slide], you must specify the index of the collision in the range 0 " "to ([method get_slide_collision_count] - 1). See also [method " "get_last_slide_collision]." msgstr "" "返回 [KinematicCollision3D],包含最近一次呼叫 [method move_and_slide] 時發生" "的碰撞信息。因為單次呼叫 [method move_and_slide] 可能發生多次碰撞,所以你必須" "指定碰撞索引,範圍為 0 到 ([method get_slide_collision_count] - 1)。" #: doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Moves the body based on [member velocity]. If the body collides with " "another, it will slide along the other body rather than stop immediately. If " "the other body is a [CharacterBody3D] or [RigidBody3D], it will also be " "affected by the motion of the other body. You can use this to make moving " "and rotating platforms, or to make nodes push other nodes.\n" "This method should be used in [method Node._physics_process] (or in a method " "called by [method Node._physics_process]), as it uses the physics step's " "[code]delta[/code] value automatically in calculations. Otherwise, the " "simulation will run at an incorrect speed.\n" "Modifies [member velocity] if a slide collision occurred. To get the latest " "collision call [method get_last_slide_collision], for more detailed " "information about collisions that occurred, use [method " "get_slide_collision].\n" "When the body touches a moving platform, the platform's velocity is " "automatically added to the body motion. If a collision occurs due to the " "platform's motion, it will always be first in the slide collisions.\n" "Returns [code]true[/code] if the body collided, otherwise, returns " "[code]false[/code]." msgstr "" "根據 [member velocity] 移動該物體。該物體如果與其他物體發生碰撞,則會沿著對方" "滑動,不會立即停止移動。如果對方是 [CharacterBody3D] 或 [RigidBody3D],還會受" "到對方運動的影響。可以用於製作移動、旋轉的平臺,也可用於推動其他節點。\n" "發生滑動碰撞時會改變 [member velocity]。要獲取最後一次碰撞,請呼叫 [method " "get_last_slide_collision],要獲取碰撞的更多資訊,請使用 [method " "get_slide_collision]。\n" "該物體接觸到移動平臺時,平臺的速度會自動加入到該物體的運動中。平臺運動所造成" "的碰撞始終為所有滑動碰撞中的第一個。\n" "如果該物體發生了碰撞,則返回 [code]true[/code],否則返回 [code]false[/code]。" #: doc/classes/CharacterBody3D.xml msgid "" "Collision layers that will be included for detecting floor bodies that will " "act as moving platforms to be followed by the [CharacterBody3D]. By default, " "all floor bodies are detected and propagate their velocity." msgstr "" "用於偵測地板物體的碰撞層,該地板物體會被用作 [CharacterBody3D] 所要跟隨的移動" "平臺。預設情況下會偵測所有地板物體並傳播其速度。" #: doc/classes/CharacterBody3D.xml msgid "" "Collision layers that will be included for detecting wall bodies that will " "act as moving platforms to be followed by the [CharacterBody3D]. By default, " "all wall bodies are ignored." msgstr "" "用於偵測牆壁物體的碰撞層,該牆壁物體會被用作 [CharacterBody3D] 所要跟隨的移動" "平臺。預設情況下會忽略所有牆壁物體。" #: doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Vector pointing upwards, used to determine what is a wall and what is a " "floor (or a ceiling) when calling [method move_and_slide]. Defaults to " "[constant Vector3.UP]. As the vector will be normalized it can't be equal to " "[constant Vector3.ZERO], if you want all collisions to be reported as walls, " "consider using [constant MOTION_MODE_FLOATING] as [member motion_mode]." msgstr "" "指向上方的向量,用於在呼叫 [method move_and_slide] 時決定什麼是牆壁、什麼是地" "板(或者天花板)。預設為 [code]Vector3.UP[/code]。因為會對該向量進行正規化," "所以不能等於 [constant Vector3.ZERO],如果你想要讓所有碰撞都被報告為牆壁,請" "考慮使用 [constant MOTION_MODE_FLOATING] 作為 [member motion_mode]。" #: doc/classes/CharacterBody3D.xml msgid "" "Current velocity vector (typically meters per second), used and modified " "during calls to [method move_and_slide].\n" "[b]Note:[/b] A common mistake is setting this property to the desired " "velocity multiplied by [code]delta[/code], which produces a motion vector " "(typically in meters)." msgstr "" #: doc/classes/CharacterBody3D.xml #, fuzzy msgid "" "Minimum angle (in radians) where the body is allowed to slide when it " "encounters a wall. The default value equals 15 degrees. When [member " "motion_mode] is [constant MOTION_MODE_GROUNDED], it only affects movement if " "[member floor_block_on_wall] is [code]true[/code]." msgstr "" "該物體遇到斜坡時,允許滑動的最小角度(單位為弧度)。預設值等於 15 度。當 " "[member motion_mode] 為 [constant MOTION_MODE_GROUNDED] 時,只有 [member " "floor_block_on_wall] 為 [code]true[/code] 才會影響運動。" #: doc/classes/CharacterBody3D.xml msgid "" "Apply when notions of walls, ceiling and floor are relevant. In this mode " "the body motion will react to slopes (acceleration/slowdown). This mode is " "suitable for grounded games like platformers." msgstr "" "請在牆壁、天花板、地板等概念有意義時套用。在該模式下,物體運動會對斜坡作出反" "應(加減速)。該模式適合平臺跳躍等地面遊戲。" #: doc/classes/CharacterBody3D.xml msgid "" "Apply when there is no notion of floor or ceiling. All collisions will be " "reported as [code]on_wall[/code]. In this mode, when you slide, the speed " "will always be constant. This mode is suitable for games without ground like " "space games." msgstr "" "請在沒有地板和天花板等概念時套用。所有碰撞都會作為 [code]on_wall[/code](撞" "牆)彙報。在該模式下,滑動時的速度恒定。該模式適合太空遊戲等沒有地面的遊戲。" #: doc/classes/CharFXTransform.xml msgid "" "Controls how an individual character will be displayed in a [RichTextEffect]." msgstr "控制單個字元在 [RichTextEffect] 中的顯示方式。" #: doc/classes/CharFXTransform.xml msgid "" "By setting various properties on this object, you can control how individual " "characters will be displayed in a [RichTextEffect]." msgstr "" "通過在此物件上設定各種屬性,可以控制單個字元在 [RichTextEffect] 中的顯示方" "式。" #: doc/classes/CharFXTransform.xml doc/classes/RichTextEffect.xml #: doc/classes/RichTextLabel.xml msgid "BBCode in RichTextLabel" msgstr "RichTextLabel 中的 BBCode" #: doc/classes/CharFXTransform.xml msgid "The color the character will be drawn with." msgstr "繪製字元所用的顏色。" #: doc/classes/CharFXTransform.xml msgid "" "The time elapsed since the [RichTextLabel] was added to the scene tree (in " "seconds). Time stops when the [RichTextLabel] is paused (see [member " "Node.process_mode]). Resets when the text in the [RichTextLabel] is " "changed.\n" "[b]Note:[/b] Time still passes while the [RichTextLabel] is hidden." msgstr "" "自 [RichTextLabel] 被新增到場景樹以來經過的時間(單位:秒)。時間在 " "[RichTextLabel] 暫停時停止(參見 [member Node.process_mode])。在 " "[RichTextLabel] 中的文字改變時重設。\n" "[b]注意:[/b]當 [RichTextLabel] 被隱藏時,時間仍在流逝。" #: doc/classes/CharFXTransform.xml msgid "" "Contains the arguments passed in the opening BBCode tag. By default, " "arguments are strings; if their contents match a type such as [bool], [int] " "or [float], they will be converted automatically. Color codes in the form " "[code]#rrggbb[/code] or [code]#rgb[/code] will be converted to an opaque " "[Color]. String arguments may not contain spaces, even if they're quoted. If " "present, quotes will also be present in the final string.\n" "For example, the opening BBCode tag [code][example foo=hello bar=true baz=42 " "color=#ffffff][/code] will map to the following [Dictionary]:\n" "[codeblock]\n" "{\"foo\": \"hello\", \"bar\": true, \"baz\": 42, \"color\": Color(1, 1, 1, " "1)}\n" "[/codeblock]" msgstr "" "包含在開頭的 BBCode 標記中傳遞的參數。預設情況下,參數是字串。如果它們的內容" "與 [bool]、[int]、[float] 之類的型別配對,它們將被自動轉換。格式為 " "[code]#rrggbb[/code] 或 [code]#rgb[/code] 的顏色程式碼將轉換為不透明的 " "[Color]。字串參數即使使用引號也不能包含空格。如果存在,引號也將出現在最終字符" "串中。\n" "例如,開頭的 BBCode 標籤 [code][example foo = hello bar = true baz = 42 " "color =#ffffff][/code] 將對應到以下 [Dictionary]:\n" "[codeblock]\n" "{\"foo\": \"hello\", \"bar\": true, \"baz\": 42, \"color\": Color(1, 1, 1, " "1)}\n" "[/codeblock]" #: doc/classes/CharFXTransform.xml msgid "" "[TextServer] RID of the font used to render glyph, this value can be used " "with [code]TextServer.font_*[/code] methods to retrieve font information.\n" "[b]Note:[/b] Read-only. Setting this property won't affect drawing." msgstr "" #: doc/classes/CharFXTransform.xml #, fuzzy msgid "" "Number of glyphs in the grapheme cluster. This value is set in the first " "glyph of a cluster.\n" "[b]Note:[/b] Read-only. Setting this property won't affect drawing." msgstr "" "字素簇中的字形數量。該值在簇的第一個字形中設定。設定此屬性不會影響繪製。" #: doc/classes/CharFXTransform.xml #, fuzzy msgid "" "Glyph flags. See [enum TextServer.GraphemeFlag] for more info.\n" "[b]Note:[/b] Read-only. Setting this property won't affect drawing." msgstr "" "字形旗標。詳情見 [enum TextServer.GraphemeFlag]。設定此屬性不會影響繪製。" #: doc/classes/CharFXTransform.xml msgid "" "Glyph index specific to the [member font]. If you want to replace this " "glyph, use [method TextServer.font_get_glyph_index] with [member font] to " "get a new glyph index for a single character." msgstr "" #: doc/classes/CharFXTransform.xml msgid "The position offset the character will be drawn with (in pixels)." msgstr "繪製字元的位置偏移量(單位:圖元)。" #: doc/classes/CharFXTransform.xml #, fuzzy msgid "" "If [code]true[/code], FX transform is called for outline drawing.\n" "[b]Note:[/b] Read-only. Setting this property won't affect drawing." msgstr "" "如果為 [code]為true[/code],則呼叫 FX 變換進行輪廓繪製。設定該屬性不會影響繪" "制。" #: doc/classes/CharFXTransform.xml #, fuzzy msgid "" "Absolute character range in the string, corresponding to the glyph.\n" "[b]Note:[/b] Read-only. Setting this property won't affect drawing." msgstr "該字串中的絕對字元範圍,對應於字形。設定該屬性不會影響繪製。" #: doc/classes/CharFXTransform.xml #, fuzzy msgid "" "The character offset of the glyph, relative to the current [RichTextEffect] " "custom block.\n" "[b]Note:[/b] Read-only. Setting this property won't affect drawing." msgstr "" "該字形的字元偏移量,相對於目前 [RichTextEffect] 自訂塊。設定該屬性不會影響繪" "製。" #: doc/classes/CharFXTransform.xml msgid "" "The current transform of the current glyph. It can be overridden (for " "example, by driving the position and rotation from a curve). You can also " "alter the existing value to apply transforms on top of other effects." msgstr "" "目前字形的目前變換。它可以被覆寫(例如,透過從曲線驅動位置和旋轉)。您還可以" "更改現有值以在頂部應用變換其他影響。" #: doc/classes/CharFXTransform.xml msgid "" "If [code]true[/code], the character will be drawn. If [code]false[/code], " "the character will be hidden. Characters around hidden characters will " "reflow to take the space of hidden characters. If this is not desired, set " "their [member color] to [code]Color(1, 1, 1, 0)[/code] instead." msgstr "" "如果為 [code]true[/code],將繪製字元。如果為 [code]false[/code],則隱藏字元。" "隱藏字元周圍的字元將回流以佔用隱藏字元的空間。如果不希望這樣做,可以將它們的 " "[member color] 設定為[code]Color(1, 1, 1, 0)[/code]。" #: doc/classes/CheckBox.xml doc/classes/CheckButton.xml msgid "A button that represents a binary choice." msgstr "代表二元選項的按鈕。" #: doc/classes/CheckBox.xml msgid "" "[CheckBox] allows the user to choose one of only two possible options. It's " "similar to [CheckButton] in functionality, but it has a different " "appearance. To follow established UX patterns, it's recommended to use " "[CheckBox] when toggling it has [b]no[/b] immediate effect on something. For " "example, it could be used when toggling it will only do something once a " "confirmation button is pressed.\n" "See also [BaseButton] which contains common properties and methods " "associated with this node.\n" "When [member BaseButton.button_group] specifies a [ButtonGroup], [CheckBox] " "changes its appearance to that of a radio button and uses the various " "[code]radio_*[/code] theme properties." msgstr "" "[CheckBox] 允許使用者在僅有的兩個可能的選項中選擇一個。它在功能上類似於 " "[CheckButton],但外觀不同。為了遵循既定的 UX 模式,建議在切換而[b]不會[/b]立" "即對某些內容產生影響時使用 [CheckBox]。例如,切換後只會在按下確認按鈕後才執行" "某些操作時,就可以使用它。\n" "另見 [BaseButton],其中包含與該節點相關的通用屬性和方法。\n" "當 [member BaseButton.button_group] 指定 [ButtonGroup] 時,[CheckBox] 的外觀" "將變為選項按鈕,並使用各種 [code]radio_*[/code] 主題屬性。" #: doc/classes/CheckBox.xml doc/classes/CheckButton.xml #, fuzzy msgid "The color of the checked icon when the checkbox is pressed." msgstr "勾選圖示,該 [CheckBox] 被勾選時顯示。" #: doc/classes/CheckBox.xml doc/classes/CheckButton.xml #, fuzzy msgid "The color of the unchecked icon when the checkbox is not pressed." msgstr "關閉按鈕被按下時的圖示。" #: doc/classes/CheckBox.xml msgid "The vertical offset used when rendering the check icons (in pixels)." msgstr "算繪勾選圖示時使用的垂直偏移量(單位:圖元)。" #: doc/classes/CheckBox.xml msgid "The check icon to display when the [CheckBox] is checked." msgstr "勾選圖示,該 [CheckBox] 被勾選時顯示。" #: doc/classes/CheckBox.xml msgid "" "The check icon to display when the [CheckBox] is checked and is disabled." msgstr "勾選圖示,該 [CheckBox] 被勾選且被禁用時顯示。" #: doc/classes/CheckBox.xml msgid "" "The check icon to display when the [CheckBox] is configured as a radio " "button and is checked." msgstr "勾選圖示,該 [CheckBox] 被配置為選項按鈕、被勾選時顯示。" #: doc/classes/CheckBox.xml msgid "" "The check icon to display when the [CheckBox] is configured as a radio " "button, is disabled, and is unchecked." msgstr "勾選圖示,該 [CheckBox] 被配置為選項按鈕、被禁用且未勾選時顯示。" #: doc/classes/CheckBox.xml msgid "" "The check icon to display when the [CheckBox] is configured as a radio " "button and is unchecked." msgstr "勾選圖示,該 [CheckBox] 被配置為選項按鈕、未勾選時顯示。" #: doc/classes/CheckBox.xml msgid "The check icon to display when the [CheckBox] is unchecked." msgstr "勾選圖示,該 [CheckBox] 未勾選時顯示。" #: doc/classes/CheckBox.xml msgid "" "The check icon to display when the [CheckBox] is unchecked and is disabled." msgstr "勾選圖示,該 [CheckBox] 未勾選且被禁用時顯示。" #: doc/classes/CheckButton.xml msgid "" "[CheckButton] is a toggle button displayed as a check field. It's similar to " "[CheckBox] in functionality, but it has a different appearance. To follow " "established UX patterns, it's recommended to use [CheckButton] when toggling " "it has an [b]immediate[/b] effect on something. For example, it can be used " "when pressing it shows or hides advanced settings, without asking the user " "to confirm this action.\n" "See also [BaseButton] which contains common properties and methods " "associated with this node." msgstr "" "[CheckButton] 是一種顯示為勾選欄位的切換按鈕。它在功能上類似於 [CheckBox],但" "外觀不同。為了遵循既定的 UX 模式,建議在切換後會[b]立即[/b]生效時使用 " "[CheckButton]。例如,如果切換後立即啟用/禁用設定而無需使用者按下確認按鈕時," "就可以使用它。\n" "另見 [BaseButton],其中包含與該節點相關的通用屬性和方法。" #: doc/classes/CheckButton.xml msgid "The vertical offset used when rendering the toggle icons (in pixels)." msgstr "算繪切換圖示時使用的垂直偏移量(單位:圖元)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is checked (for left-to-right " "layouts)." msgstr "切換圖示,該 [CheckButton] 被勾選時顯示(用於從左至右佈局)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is checked and disabled (for left-" "to-right layouts)." msgstr "切換圖示,該 [CheckButton] 被勾選且被禁用時顯示(用於從左至右佈局)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is checked and disabled (for " "right-to-left layouts)." msgstr "切換圖示,該 [CheckButton] 被勾選且被禁用時顯示(用於從右至左佈局)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is checked (for right-to-left " "layouts)." msgstr "切換圖示,該 [CheckButton] 被勾選時顯示(用於從右至左佈局)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is unchecked (for left-to-right " "layouts)." msgstr "切換圖示,該 [CheckButton] 未勾選時顯示(用於從左至右佈局)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is unchecked and disabled (for " "left-to-right layouts)." msgstr "切換圖示,該 [CheckButton] 未勾選且被禁用時顯示(用於從左至右佈局)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is unchecked and disabled (for " "right-to-left layouts)." msgstr "切換圖示,該 [CheckButton] 未勾選且被禁用時顯示(用於從右至左佈局)。" #: doc/classes/CheckButton.xml msgid "" "The icon to display when the [CheckButton] is unchecked (for right-to-left " "layouts)." msgstr "切換圖示,該 [CheckButton] 未勾選時顯示(用於從右至左佈局)。" #: doc/classes/CircleShape2D.xml msgid "A 2D circle shape used for physics collision." msgstr "2D 圓形,旨在用於物理學。" #: doc/classes/CircleShape2D.xml msgid "" "A 2D circle shape, intended for use in physics. Usually used to provide a " "shape for a [CollisionShape2D].\n" "[b]Performance:[/b] [CircleShape2D] is fast to check collisions against. It " "is faster than [RectangleShape2D] and [CapsuleShape2D]." msgstr "" "2D 圓形,旨在用於物理學。通常用於為 [CollisionShape2D] 提供形狀。\n" "[b]性能:[/b][CircleShape2D] 可以快速偵測碰撞。比 [RectangleShape2D] 和 " "[CapsuleShape2D] 快。" #: doc/classes/CircleShape2D.xml msgid "The circle's radius." msgstr "圓的半徑。" #: doc/classes/ClassDB.xml msgid "A class information repository." msgstr "類資訊的儲存庫。" #: doc/classes/ClassDB.xml msgid "" "Provides access to metadata stored for every available engine class.\n" "[b]Note:[/b] Script-defined classes with [code]class_name[/code] are not " "part of [ClassDB], so they will not return reflection data such as a method " "or property list. However, [GDExtension]-defined classes [i]are[/i] part of " "[ClassDB], so they will return reflection data." msgstr "" #: doc/classes/ClassDB.xml msgid "" "Returns [code]true[/code] if objects can be instantiated from the specified " "[param class], otherwise returns [code]false[/code]." msgstr "" "如果可以從指定的 [param class] 產生實體物件,則返回 [code]true[/code],否則返" "回 [code]false[/code]。" #: doc/classes/ClassDB.xml #, fuzzy msgid "Calls a static method on a class." msgstr "建立 [param class] 的實例。" #: doc/classes/ClassDB.xml msgid "Returns whether the specified [param class] is available or not." msgstr "返回指定的類 [param class] 是否可用。" #: doc/classes/ClassDB.xml #, fuzzy msgid "Returns the API type of the specified [param class]." msgstr "返回指定參數的值。" #: doc/classes/ClassDB.xml msgid "" "Returns an array with all the keys in [param enum] of [param class] or its " "ancestry." msgstr "" "返回一個陣列,其中包含 [param class] 或其祖先的 [param enum] 中的所有鍵。" #: doc/classes/ClassDB.xml msgid "Returns an array with all the enums of [param class] or its ancestry." msgstr "返回一個陣列,其中包含 [param class] 或其祖先的所有列舉。" #: doc/classes/ClassDB.xml msgid "" "Returns the value of the integer constant [param name] of [param class] or " "its ancestry. Always returns 0 when the constant could not be found." msgstr "" "返回 [param class] 或其父級的整數常數值 [param name]。如果找不到該常數,則總" "是返回0。" #: doc/classes/ClassDB.xml msgid "" "Returns which enum the integer constant [param name] of [param class] or its " "ancestry belongs to." msgstr "返回 [param class] 或其祖先的整數常數 [param name] 所屬的列舉。" #: doc/classes/ClassDB.xml msgid "" "Returns an array with the names all the integer constants of [param class] " "or its ancestry." msgstr "返回包含 [param class] 或其父級全部整數常數的名稱陣列。" #: doc/classes/ClassDB.xml #, fuzzy msgid "" "Returns the number of arguments of the method [param method] of [param " "class] or its ancestry if [param no_inheritance] is [code]false[/code]." msgstr "" "如果 [param no_inheritance] 為 [code]false[/code],則返回包含 [param class] " "或其祖先的所有屬性的陣列。" #: doc/classes/ClassDB.xml msgid "" "Returns an array with all the methods of [param class] or its ancestry if " "[param no_inheritance] is [code]false[/code]. Every element of the array is " "a [Dictionary] with the following keys: [code]args[/code], " "[code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/" "code], [code]return: (class_name, hint, hint_string, name, type, usage)[/" "code].\n" "[b]Note:[/b] In exported release builds the debug info is not available, so " "the returned dictionaries will contain only method names." msgstr "" "如果 [param no_inheritance] 為 [code]false[/code],則返回包含 [param class] " "或其祖先的所有方法的陣列。陣列的每個元素都是一個 [Dictionary],包含以下鍵:" "[code]args[/code]、[code]default_args[/code]、[code]flags[/code]、[code]id[/" "code]、[code]name[/code]、[code]return: (class_name, hint, hint_string, " "name, type, usage)[/code]。\n" "[b]注意:[/b]在匯出的發行版本中,除錯資訊不可用,因此返回的字典將僅包含方法名" "稱。" #: doc/classes/ClassDB.xml msgid "" "Returns the value of [param property] of [param object] or its ancestry." msgstr "返回 [param object] 或其父級 [param property] 的屬性值。" #: doc/classes/ClassDB.xml #, fuzzy msgid "" "Returns the default value of [param property] of [param class] or its " "ancestor classes." msgstr "返回 [param object] 或其父級 [param property] 的屬性值。" #: doc/classes/ClassDB.xml #, fuzzy msgid "Returns the getter method name of [param property] of [param class]." msgstr "返回 [param object] 或其父級 [param property] 的屬性值。" #: doc/classes/ClassDB.xml msgid "" "Returns an array with all the properties of [param class] or its ancestry if " "[param no_inheritance] is [code]false[/code]." msgstr "" "如果 [param no_inheritance] 為 [code]false[/code],則返回包含 [param class] " "或其祖先的所有屬性的陣列。" #: doc/classes/ClassDB.xml #, fuzzy msgid "Returns the setter method name of [param property] of [param class]." msgstr "返回 [param object] 或其父級 [param property] 的屬性值。" #: doc/classes/ClassDB.xml msgid "" "Returns the [param signal] data of [param class] or its ancestry. The " "returned value is a [Dictionary] with the following keys: [code]args[/code], " "[code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/" "code], [code]return: (class_name, hint, hint_string, name, type, usage)[/" "code]." msgstr "" "返回 [param class] 或其祖先的 [param signal] 資料。返回值是具有以下鍵的 " "[Dictionary]:[code]args[/code]、[code]default_args[/code]、[code]flags[/" "code]、[code]id[/code]、[code]name[/code]、[code]return: (class_name, hint, " "hint_string, name, type, usage)[/code]。" #: doc/classes/ClassDB.xml msgid "" "Returns an array with all the signals of [param class] or its ancestry if " "[param no_inheritance] is [code]false[/code]. Every element of the array is " "a [Dictionary] as described in [method class_get_signal]." msgstr "" "如果 [param no_inheritance] 為 [code]false[/code],則返回包含 [param class] " "或其祖先的所有訊號的陣列。陣列的每個元素都是一個如 [method class_get_signal] " "中所述的 [Dictionary]。" #: doc/classes/ClassDB.xml msgid "" "Returns whether [param class] or its ancestry has an enum called [param " "name] or not." msgstr "返回類 [param class] 或其祖類是否有名為 [param name] 的列舉。" #: doc/classes/ClassDB.xml msgid "" "Returns whether [param class] or its ancestry has an integer constant called " "[param name] or not." msgstr "返回類 [param class] 或其祖類是否有名為 [param name] 的整數常數。" #: doc/classes/ClassDB.xml msgid "" "Returns whether [param class] (or its ancestry if [param no_inheritance] is " "[code]false[/code]) has a method called [param method] or not." msgstr "" "返回類 [param class] 是否有名為 [param method] 的方法(如果 [param " "no_inheritance] 為 [code]false[/code] 則還會檢查其祖類)。" #: doc/classes/ClassDB.xml msgid "" "Returns whether [param class] or its ancestry has a signal called [param " "signal] or not." msgstr "返回類 [param class] 或其祖類是否有名為 [param signal] 的訊號。" #: doc/classes/ClassDB.xml msgid "Sets [param property] value of [param object] to [param value]." msgstr "將物件 [param object] 的 [param property] 屬性值設定為 [param value]。" #: doc/classes/ClassDB.xml msgid "" "Returns the names of all engine classes available.\n" "[b]Note:[/b] Script-defined classes with [code]class_name[/code] are not " "included in this list. Use [method ProjectSettings.get_global_class_list] to " "get a list of script-defined classes instead." msgstr "" #: doc/classes/ClassDB.xml #, fuzzy msgid "" "Returns the names of all engine classes that directly or indirectly inherit " "from [param class]." msgstr "返回所有直接或間接繼承自 [param class] 的類的名稱。" #: doc/classes/ClassDB.xml msgid "Returns the parent class of [param class]." msgstr "返回 [param class] 的父類。" #: doc/classes/ClassDB.xml msgid "Creates an instance of [param class]." msgstr "建立 [param class] 的實例。" #: doc/classes/ClassDB.xml msgid "Returns whether this [param class] is enabled or not." msgstr "返回這個 [param class] 是否已啟用。" #: doc/classes/ClassDB.xml #, fuzzy msgid "" "Returns whether [param class] (or its ancestor classes if [param " "no_inheritance] is [code]false[/code]) has an enum called [param enum] that " "is a bitfield." msgstr "" "返回類 [param class] 是否有名為 [param method] 的方法(如果 [param " "no_inheritance] 為 [code]false[/code] 則還會檢查其祖類)。" #: doc/classes/ClassDB.xml msgid "" "Returns whether [param inherits] is an ancestor of [param class] or not." msgstr "返回 [param inherits] 是否為 [param class] 的祖先。" #: doc/classes/ClassDB.xml #, fuzzy msgid "Native Core class type." msgstr "沒有任何型別的屏障。" #: doc/classes/ClassDB.xml #, fuzzy msgid "Native Editor class type." msgstr "沒有任何型別的屏障。" #: doc/classes/ClassDB.xml #, fuzzy msgid "GDExtension class type." msgstr "[GLTFDocument] 擴充類。" #: doc/classes/ClassDB.xml msgid "GDExtension Editor class type." msgstr "" #: doc/classes/ClassDB.xml #, fuzzy msgid "Unknown class type." msgstr "未知節點型別。" #: doc/classes/CodeEdit.xml msgid "A multiline text editor designed for editing code." msgstr "多行文字編輯器,針對編輯程式碼而設計。" #: doc/classes/CodeEdit.xml msgid "" "CodeEdit is a specialized [TextEdit] designed for editing plain text code " "files. It has many features commonly found in code editors such as line " "numbers, line folding, code completion, indent management, and string/" "comment management.\n" "[b]Note:[/b] Regardless of locale, [CodeEdit] will by default always use " "left-to-right text direction to correctly display source code." msgstr "" "CodeEdit 是一種專門用於編輯純文字程式碼檔的 [TextEdit]。它包含了許多程式碼編" "輯器中的常見功能,如行號、折行、程式碼補全、縮進管理以及字串/注釋管理。\n" "[b]注意:[/b]無論使用什麼區域設定,[CodeEdit] 預設總是使用從左至右的文字方向" "來正確顯示原始程式碼。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Override this method to define how the selected entry should be inserted. If " "[param replace] is [code]true[/code], any existing text should be replaced." msgstr "" "覆蓋此方法以定義所選條目應如何插入。如果 [param replace] 為真,任何現有的文字" "都應該被替換。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Override this method to define what items in [param candidates] should be " "displayed.\n" "Both [param candidates] and the return is an [Array] of [Dictionary], see " "[method get_code_completion_option] for [Dictionary] content." msgstr "" "覆蓋此方法以確定應該顯示 [param candidates] 中的哪些項。\n" "參數 [param candidates] 和返回值都是一個 [Array] 的 [Dictionary],而 " "[Dictionary] 的鍵值,詳見 [method get_code_completion_option]。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Override this method to define what happens when the user requests code " "completion. If [param force] is [code]true[/code], any checks should be " "bypassed." msgstr "" "覆蓋此方法以定義當使用者請求程式碼完成時發生的情況。如果 [param force] 為真," "會繞過任何檢查。" #: doc/classes/CodeEdit.xml msgid "" "Adds a brace pair.\n" "Both the start and end keys must be symbols. Only the start key has to be " "unique." msgstr "" "新增一對括弧。\n" "開始和結束鍵都必須是符號。只有開始鍵必須是唯一的。" #: doc/classes/CodeEdit.xml msgid "" "Submits an item to the queue of potential candidates for the autocomplete " "menu. Call [method update_code_completion_options] to update the list.\n" "[param location] indicates location of the option relative to the location " "of the code completion query. See [enum CodeEdit.CodeCompletionLocation] for " "how to set this value.\n" "[b]Note:[/b] This list will replace all current candidates." msgstr "" "向自動補全功能表的潛在候選佇列提交條目。請呼叫 [method " "update_code_completion_options] 來更新列表。\n" "[param location] 指示的是該選項相對於程式碼補全請求位置的位置。這個值如何設定" "見 [enum CodeEdit.CodeCompletionLocation]。\n" "[b]注意:[/b]這個列表將替換所有目前候選。" #: doc/classes/CodeEdit.xml msgid "" "Adds a comment delimiter from [param start_key] to [param end_key]. Both " "keys should be symbols, and [param start_key] must not be shared with other " "delimiters.\n" "If [param line_only] is [code]true[/code] or [param end_key] is an empty " "[String], the region does not carry over to the next line." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Defines a string delimiter from [param start_key] to [param end_key]. Both " "keys should be symbols, and [param start_key] must not be shared with other " "delimiters.\n" "If [param line_only] is [code]true[/code] or [param end_key] is an empty " "[String], the region does not carry over to the next line." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Returns [code]true[/code] if the given line is foldable. A line is foldable " "if it is the start of a valid code region (see [method " "get_code_region_start_tag]), if it is the start of a comment or string " "block, or if the next non-empty line is more indented (see [method " "TextEdit.get_indent_level])." msgstr "" #: doc/classes/CodeEdit.xml msgid "Cancels the autocomplete menu." msgstr "取消自動補全功能表。" #: doc/classes/CodeEdit.xml msgid "Clears all bookmarked lines." msgstr "清除所有書簽行。" #: doc/classes/CodeEdit.xml msgid "Clears all breakpointed lines." msgstr "清除所有中斷點行。" #: doc/classes/CodeEdit.xml msgid "Removes all comment delimiters." msgstr "移除所有注釋分隔符號。" #: doc/classes/CodeEdit.xml msgid "Clears all executed lines." msgstr "清除所有已執行的行。" #: doc/classes/CodeEdit.xml msgid "Removes all string delimiters." msgstr "移除所有字串分隔符號。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Inserts the selected entry into the text. If [param replace] is [code]true[/" "code], any existing text is replaced rather than merged." msgstr "" "將選定的條目插入文字中。如果 [param replace] 為真,任何現有的文字都會被替換," "而不是合併。" #: doc/classes/CodeEdit.xml msgid "" "Converts the indents of lines between [param from_line] and [param to_line] " "to tabs or spaces as set by [member indent_use_spaces].\n" "Values of [code]-1[/code] convert the entire text." msgstr "" "將 [param from_line] 和 [param to_line] 之間的行縮進,轉換為 [member " "indent_use_spaces] 設定的定位字元或空格。\n" "值均為 [code]-1[/code] 將轉換整個文字。" #: doc/classes/CodeEdit.xml msgid "" "Creates a new code region with the selection. At least one single line " "comment delimiter have to be defined (see [method add_comment_delimiter]).\n" "A code region is a part of code that is highlighted when folded and can help " "organize your script.\n" "Code region start and end tags can be customized (see [method " "set_code_region_tags]).\n" "Code regions are delimited using start and end tags (respectively " "[code]region[/code] and [code]endregion[/code] by default) preceded by one " "line comment delimiter. (eg. [code]#region[/code] and [code]#endregion[/" "code])" msgstr "" "使用選擇建立一個新的程式碼區域。至少必須定義一個單行註解分隔符號(請參閱" "[method add_comment_delimiter])。\n" "程式碼區域是程式碼的一部分,在折疊時會被反白顯示,可以幫助組織腳本。\n" "程式碼區域的開始和結束標記可以自訂(請參閱[method set_code_region_tags])。\n" "程式碼區域使用開始和結束標記(預設分別為 [code]region[/code] 和 " "[code]endregion[/code])進行分隔,前面有一行註解分隔符號。 (例如 " "[code]#region[/code] 和 [code]#endregion[/code])" #: doc/classes/CodeEdit.xml #, fuzzy msgid "Deletes all lines that are selected or have a caret on them." msgstr "返回目前折疊的所有行。" #: doc/classes/CodeEdit.xml msgid "" "If there is no selection, indentation is inserted at the caret. Otherwise, " "the selected lines are indented like [method indent_lines]. Equivalent to " "the [member ProjectSettings.input/ui_text_indent] action. The indentation " "characters used depend on [member indent_use_spaces] and [member " "indent_size]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Duplicates all lines currently selected with any caret. Duplicates the " "entire line beneath the current one no matter where the caret is within the " "line." msgstr "" "複製所有目前使用任何脫字符號選擇的行。無論脫字符號位於行內的何處,複製目前行" "下方的整行。" #: doc/classes/CodeEdit.xml msgid "" "Duplicates all selected text and duplicates all lines with a caret on them." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Folds all lines that are possible to be folded (see [method can_fold_line])." msgstr "折疊所有可能被折疊的行(參見 [method can_fold_line])。" #: doc/classes/CodeEdit.xml msgid "Folds the given line, if possible (see [method can_fold_line])." msgstr "如果可能,折疊給定的行(參見 [method can_fold_line])。" #: doc/classes/CodeEdit.xml msgid "Gets the matching auto brace close key for [param open_key]." msgstr "獲取 [param open_key] 相配對的括弧自動閉合鍵。" #: doc/classes/CodeEdit.xml msgid "Gets all bookmarked lines." msgstr "獲取所有書簽行。" #: doc/classes/CodeEdit.xml msgid "Gets all breakpointed lines." msgstr "獲取所有中斷點行。" #: doc/classes/CodeEdit.xml msgid "" "Gets the completion option at [param index]. The return [Dictionary] has the " "following key-values:\n" "[code]kind[/code]: [enum CodeCompletionKind]\n" "[code]display_text[/code]: Text that is shown on the autocomplete menu.\n" "[code]insert_text[/code]: Text that is to be inserted when this item is " "selected.\n" "[code]font_color[/code]: Color of the text on the autocomplete menu.\n" "[code]icon[/code]: Icon to draw on the autocomplete menu.\n" "[code]default_value[/code]: Value of the symbol." msgstr "" "獲取在 [param index] 處的補全選項。返回的 [Dictionary] 有以下鍵值。\n" "[code]kind[/code]:[enum CodeCompletionKind]\n" "[code]display_text[/code] :在自動補全功能表上顯示的文字。\n" "[code]insert_text[/code] :當選中這個選項時要插入的文字。\n" "[code]font_color[/code]:自動補全功能表上文字的顏色。\n" "[code]icon[/code] :在自動補全功能表上繪製的圖示。\n" "[code]default_value[/code]:符號的值。" #: doc/classes/CodeEdit.xml msgid "" "Gets all completion options, see [method get_code_completion_option] for " "return content." msgstr "獲取所有補全選項,返回值見 [method get_code_completion_option]。" #: doc/classes/CodeEdit.xml msgid "Gets the index of the current selected completion option." msgstr "獲取目前已選定補全項的索引。" #: doc/classes/CodeEdit.xml msgid "Returns the code region end tag (without comment delimiter)." msgstr "返回該地區的導覽層。" #: doc/classes/CodeEdit.xml msgid "Returns the code region start tag (without comment delimiter)." msgstr "返回選區的原始起始列。" #: doc/classes/CodeEdit.xml msgid "Gets the end key for a string or comment region index." msgstr "獲取字串或注釋塊索引的結束鍵。" #: doc/classes/CodeEdit.xml msgid "" "If [param line] [param column] is in a string or comment, returns the end " "position of the region. If not or no end could be found, both [Vector2] " "values will be [code]-1[/code]." msgstr "" "如果 [param line] [param column] 是在一個字串或注釋中,則返回該區域的結束位元" "置。如果不在或未找到結束位置,則 [Vector2] 的兩個值都將是 [code]-1[/code] 。" #: doc/classes/CodeEdit.xml msgid "Gets the start key for a string or comment region index." msgstr "獲取字串或注釋塊索引的開始鍵。" #: doc/classes/CodeEdit.xml msgid "" "If [param line] [param column] is in a string or comment, returns the start " "position of the region. If not or no start could be found, both [Vector2] " "values will be [code]-1[/code]." msgstr "" "如果 [param line] [param column] 是在一個字串或注釋中,則返回該區域的起始位元" "置。如果不在或未找到開始位置,則 [Vector2] 的兩個值都將是 [code]-1[/code] 。" #: doc/classes/CodeEdit.xml msgid "Gets all executing lines." msgstr "獲取所有正在執行的行。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "Returns all lines that are currently folded." msgstr "返回目前折疊的所有行。" #: doc/classes/CodeEdit.xml msgid "" "Returns the full text with char [code]0xFFFF[/code] at the caret location." msgstr "返回在插入符號位置帶有 [code]0xFFFF[/code] 字元的全文。" #: doc/classes/CodeEdit.xml msgid "" "Returns the full text with char [code]0xFFFF[/code] at the cursor location." msgstr "返回在游標位置處帶有 [code]0xFFFF[/code] 字元的全文。" #: doc/classes/CodeEdit.xml msgid "" "Returns the full text with char [code]0xFFFF[/code] at the specified " "location." msgstr "返回在插入符號位置帶有 [code]0xFFFF[/code] 字元的全文。" #: doc/classes/CodeEdit.xml msgid "Returns [code]true[/code] if close key [param close_key] exists." msgstr "如果關閉鍵 [param close_key] 存在,則返回 [code]true[/code]。" #: doc/classes/CodeEdit.xml msgid "Returns [code]true[/code] if open key [param open_key] exists." msgstr "如果打開鍵 [param open_key] 存在,則返回 [code]true[/code]。" #: doc/classes/CodeEdit.xml msgid "Returns [code]true[/code] if comment [param start_key] exists." msgstr "如果注釋的 [param start_key] 存在,返回 [code]true[/code] 。" #: doc/classes/CodeEdit.xml msgid "Returns [code]true[/code] if string [param start_key] exists." msgstr "如果字串的 [param start_key] 存在,返回 [code]true[/code] 。" #: doc/classes/CodeEdit.xml msgid "" "Indents all lines that are selected or have a caret on them. Uses spaces or " "a tab depending on [member indent_use_spaces]. See [method unindent_lines]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Returns delimiter index if [param line] [param column] is in a comment. If " "[param column] is not provided, will return delimiter index if the entire " "[param line] is a comment. Otherwise [code]-1[/code]." msgstr "" "如果 [param line] [param column] 在一條注釋中,則返回分隔符號索引。如果沒有提" "供 [param column],且整個 [param line] 是一條注釋,則將返回分隔符號索引。否則" "返回 [code]-1[/code]。" #: doc/classes/CodeEdit.xml msgid "" "Returns the delimiter index if [param line] [param column] is in a string. " "If [param column] is not provided, will return the delimiter index if the " "entire [param line] is a string. Otherwise [code]-1[/code]." msgstr "" "如果 [param line] [param column] 在一條字串中,則返回分隔符號索引。如果沒有提" "供 [param column],且整個 [param line] 是一個字串,則將返回分隔符號索引。否則" "返回 [code]-1[/code]。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Returns [code]true[/code] if the given line is bookmarked. See [method " "set_line_as_bookmarked]." msgstr "" "如果該字串以給定的 [param text] 開始,則返回 [code]true[/code]。另見 [method " "get_area]。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Returns [code]true[/code] if the given line is breakpointed. See [method " "set_line_as_breakpoint]." msgstr "" "如果啟用了字形過取樣,則返回 [code]true[/code]。見 [method " "set_use_font_oversampling]。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Returns [code]true[/code] if the given line is a code region end. See " "[method set_code_region_tags]." msgstr "" "如果該物件正在阻止發出訊號,則返回 [code]true[/code]。見 [method " "set_block_signals]。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Returns [code]true[/code] if the given line is a code region start. See " "[method set_code_region_tags]." msgstr "" "如果該物件正在阻止發出訊號,則返回 [code]true[/code]。見 [method " "set_block_signals]。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Returns [code]true[/code] if the given line is marked as executing. See " "[method set_line_as_executing]." msgstr "" "如果該列啟用了擴充,則返回 [code]true[/code](見 [method " "set_column_expand])。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Returns [code]true[/code] if the given line is folded. See [method " "fold_line]." msgstr "" "如果該字串以給定的 [param text] 開始,則返回 [code]true[/code]。另見 [method " "get_area]。" #: doc/classes/CodeEdit.xml msgid "Moves all lines down that are selected or have a caret on them." msgstr "" #: doc/classes/CodeEdit.xml #, fuzzy msgid "Moves all lines up that are selected or have a caret on them." msgstr "返回目前折疊的所有行。" #: doc/classes/CodeEdit.xml msgid "Removes the comment delimiter with [param start_key]." msgstr "移除帶有 [param start_key] 的注釋分隔符號。" #: doc/classes/CodeEdit.xml msgid "Removes the string delimiter with [param start_key]." msgstr "移除帶有 [param start_key] 的字串分隔符號。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Emits [signal code_completion_requested], if [param force] is [code]true[/" "code] will bypass all checks. Otherwise will check that the caret is in a " "word or in front of a prefix. Will ignore the request if all current options " "are of type file path, node path, or signal." msgstr "" "發出 [signal code_completion_requested],如果 [param force] 為真將繞過所有檢" "查。否則,將檢查游標是否在一個詞中或在一個前綴的前面。如果目前所有選項都是文" "件路徑、節點路徑或訊號型別,將忽略該請求。" #: doc/classes/CodeEdit.xml msgid "Sets the current selected completion option." msgstr "設定目前選定的補全選項。" #: doc/classes/CodeEdit.xml msgid "Sets the code hint text. Pass an empty string to clear." msgstr "設定程式碼提示文字。傳遞一個空字串來清除。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "If [code]true[/code], the code hint will draw below the main caret. If " "[code]false[/code], the code hint will draw above the main caret. See " "[method set_code_hint]." msgstr "" "如果為 [code]true[/code],則該線將是垂直的。如果 [code]false[/code],該線將是" "水平的。" #: doc/classes/CodeEdit.xml msgid "Sets the code region start and end tags (without comment delimiter)." msgstr "設定程式碼區域開始和結束標記(無註解分隔符號)。" #: doc/classes/CodeEdit.xml msgid "" "Sets the given line as bookmarked. If [code]true[/code] and [member " "gutters_draw_bookmarks] is [code]true[/code], draws the [theme_item " "bookmark] icon in the gutter for this line. See [method " "get_bookmarked_lines] and [method is_line_bookmarked]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Sets the given line as a breakpoint. If [code]true[/code] and [member " "gutters_draw_breakpoints_gutter] is [code]true[/code], draws the [theme_item " "breakpoint] icon in the gutter for this line. See [method " "get_breakpointed_lines] and [method is_line_breakpointed]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Sets the given line as executing. If [code]true[/code] and [member " "gutters_draw_executing_lines] is [code]true[/code], draws the [theme_item " "executing_line] icon in the gutter for this line. See [method " "get_executing_lines] and [method is_line_executing]." msgstr "" #: doc/classes/CodeEdit.xml msgid "Sets the symbol emitted by [signal symbol_validate] as a valid lookup." msgstr "將 [signal symbol_validate] 發出的符號設定為有效搜尋。" #: doc/classes/CodeEdit.xml msgid "Toggle the folding of the code block at the given line." msgstr "在給定行切換程式碼塊的折疊。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "Toggle the folding of the code block on all lines with a caret on them." msgstr "在給定行切換程式碼塊的折疊。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "Unfolds all lines that are folded." msgstr "展開之前被折疊的所有行。" #: doc/classes/CodeEdit.xml msgid "" "Unfolds the given line if it is folded or if it is hidden under a folded " "line." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Unindents all lines that are selected or have a caret on them. Uses spaces " "or a tab depending on [member indent_use_spaces]. Equivalent to the [member " "ProjectSettings.input/ui_text_dedent] action. See [method indent_lines]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Submits all completion options added with [method " "add_code_completion_option]. Will try to force the autocomplete menu to " "popup, if [param force] is [code]true[/code].\n" "[b]Note:[/b] This will replace all current candidates." msgstr "" "提交所有用 [method add_code_completion_option] 新增的補全選項。如果 [param " "force] 是 [code]true[/code],將嘗試強制彈出自動補全功能表 。\n" "[b]注意:[/b]這將取代所有目前的候補選項。" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], uses [member auto_brace_completion_pairs] to " "automatically insert the closing brace when the opening brace is inserted by " "typing or autocompletion. Also automatically removes the closing brace when " "using backspace on the opening brace." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], highlights brace pairs when the caret is on either " "one, using [member auto_brace_completion_pairs]. If matching, the pairs will " "be underlined. If a brace is unmatched, it is colored with [theme_item " "brace_mismatch_color]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Sets the brace pairs to be autocompleted. For each entry in the dictionary, " "the key is the opening brace and the value is the closing brace that matches " "it. A brace is a [String] made of symbols. See [member " "auto_brace_completion_enabled] and [member " "auto_brace_completion_highlight_matching]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], the [member ProjectSettings.input/" "ui_text_completion_query] action requests code completion. To handle it, see " "[method _request_code_completion] or [signal code_completion_requested]." msgstr "" #: doc/classes/CodeEdit.xml msgid "Sets prefixes that will trigger code completion." msgstr "設定將觸發程式碼補全的前綴。" #: doc/classes/CodeEdit.xml msgid "" "Sets the comment delimiters. All existing comment delimiters will be removed." msgstr "設定注釋分隔符號。將刪除所有的現有注釋分隔符號。" #: doc/classes/CodeEdit.xml msgid "" "Sets the string delimiters. All existing string delimiters will be removed." msgstr "設定字串分隔符號。將刪除所有的現有字串分隔符號。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "If [code]true[/code], bookmarks are drawn in the gutter. This gutter is " "shared with breakpoints and executing lines. See [method " "set_line_as_bookmarked]." msgstr "設定是否應在邊欄中繪製書簽。該邊欄與中斷點和執行行共用。" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], breakpoints are drawn in the gutter. This gutter is " "shared with bookmarks and executing lines. Clicking the gutter will toggle " "the breakpoint for the line, see [method set_line_as_breakpoint]." msgstr "" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "If [code]true[/code], executing lines are marked in the gutter. This gutter " "is shared with breakpoints and bookmarks. See [method set_line_as_executing]." msgstr "設定是否應在邊欄中繪製執行行。該邊欄與中斷點和書簽共用。" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], the fold gutter is drawn. In this gutter, the " "[theme_item can_fold_code_region] icon is drawn for each foldable line (see " "[method can_fold_line]) and the [theme_item folded_code_region] icon is " "drawn for each folded line (see [method is_line_folded]). These icons can be " "clicked to toggle the fold state, see [method toggle_foldable_line]. [member " "line_folding] must be [code]true[/code] to show icons." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], the line number gutter is drawn. Line numbers start at " "[code]1[/code] and are incremented for each line of text. Clicking and " "dragging in the line number gutter will select entire lines of text." msgstr "" #: doc/classes/CodeEdit.xml msgid "The minimum width in digits reserved for the line number gutter." msgstr "" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "If [code]true[/code], line numbers drawn in the gutter are zero padded based " "on the total line count. Requires [member gutters_draw_line_numbers] to be " "set to [code]true[/code]." msgstr "" "如果為 [code]true[/code],則最外側的圖元會變得模糊。[member region_enabled] " "必須為 [code]true[/code]。" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], an extra indent is automatically inserted when a new " "line is added and a prefix in [member indent_automatic_prefixes] is found. " "If a brace pair opening key is found, the matching closing brace will be " "moved to another new line (see [member auto_brace_completion_pairs])." msgstr "" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Prefixes to trigger an automatic indent. Used when [member indent_automatic] " "is set to [code]true[/code]." msgstr "" "設定主按鈕的切換模式狀態。只有當 [member toggle_mode] 被設定為 [code]true[/" "code] 時才起作用。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Size of the tabulation indent (one [kbd]Tab[/kbd] press) in characters. If " "[member indent_use_spaces] is enabled the number of spaces to use." msgstr "" "定位字元的大小,如果啟用 [code]indent_use_spaces[/code],則代表使用的空格數。" #: doc/classes/CodeEdit.xml msgid "Use spaces instead of tabs for indentation." msgstr "使用空格代替定位字元進行縮進。" #: doc/classes/CodeEdit.xml msgid "" "If [code]true[/code], lines can be folded. Otherwise, line folding methods " "like [method fold_line] will not work and [method can_fold_line] will always " "return [code]false[/code]. See [member gutters_draw_fold_gutter]." msgstr "" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Draws vertical lines at the provided columns. The first entry is considered " "a main hard guideline and is drawn more prominently." msgstr "" "在提供的列上繪製垂直線。第一個條目被認為是主要的硬輔助線,並且被繪製得更顯" "眼。" #: doc/classes/CodeEdit.xml msgid "" "Set when a validated word from [signal symbol_validate] is clicked, the " "[signal symbol_lookup] should be emitted." msgstr "" "設定當來自 [signal symbol_validate] 的驗證詞被點擊時,應發出 [signal " "symbol_lookup]。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "If [code]true[/code], the [signal symbol_hovered] signal is emitted when " "hovering over a word." msgstr "如果為 [code]true[/code],Light2D 將只在編輯場景時出現。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Emitted when a breakpoint is added or removed from a line. If the line is " "removed via backspace, a signal is emitted at the old line." msgstr "" "在行中新增或移除中斷點時觸發。如果該行通過倒退鍵移動,則在舊行處觸發一個移除" "的訊號。" #: doc/classes/CodeEdit.xml msgid "" "Emitted when the user requests code completion. This signal will not be sent " "if [method _request_code_completion] is overridden or [member " "code_completion_enabled] is [code]false[/code]." msgstr "" #: doc/classes/CodeEdit.xml msgid "" "Emitted when the user hovers over a symbol. Unlike [signal " "Control.mouse_entered], this signal is not emitted immediately, but when the " "cursor is over the symbol for [member ProjectSettings.gui/timers/" "tooltip_delay_sec] seconds.\n" "[b]Note:[/b] [member symbol_tooltip_on_hover] must be [code]true[/code] for " "this signal to be emitted." msgstr "" #: doc/classes/CodeEdit.xml msgid "Emitted when the user has clicked on a valid symbol." msgstr "使用者點擊有效符號時發出。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Emitted when the user hovers over a symbol. The symbol should be validated " "and responded to, by calling [method set_symbol_lookup_word_as_valid].\n" "[b]Note:[/b] [member symbol_lookup_on_click] must be [code]true[/code] for " "this signal to be emitted." msgstr "" "使用者將滑鼠懸停在符號上時發出。應該通過呼叫 [method " "set_symbol_lookup_word_as_valid] 對該符號進行驗證和回應。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a class." msgstr "將該選項標記為類。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a function." msgstr "將該選項標記為函式。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a Godot signal." msgstr "將該選項標記為 Godot 訊號。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a variable." msgstr "將該選項標記為變數。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a member." msgstr "將該選項標記為成員。" #: doc/classes/CodeEdit.xml msgid "Marks the option as an enum entry." msgstr "將該選項標記為列舉條目。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a constant." msgstr "將該選項標記為常數。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a Godot node path." msgstr "將該選項標記為 Godot 節點路徑。" #: doc/classes/CodeEdit.xml msgid "Marks the option as a file path." msgstr "將該選項標記為檔路徑。" #: doc/classes/CodeEdit.xml msgid "Marks the option as unclassified or plain text." msgstr "將該選項標記為未分類或純文字。" #: doc/classes/CodeEdit.xml doc/classes/ScriptLanguageExtension.xml msgid "" "The option is local to the location of the code completion query - e.g. a " "local variable. Subsequent value of location represent options from the " "outer class, the exact value represent how far they are (in terms of inner " "classes)." msgstr "" "該選項是相對於程式碼補全查詢位置的 - 例如區域變數。位置的後續值表示選項來自外" "部類,確切的值表示它們的距離(就內部類而言)。" #: doc/classes/CodeEdit.xml doc/classes/ScriptLanguageExtension.xml #, fuzzy msgid "" "The option is from the containing class or a parent class, relative to the " "location of the code completion query. Perform a bitwise OR with the class " "depth (e.g. [code]0[/code] for the local class, [code]1[/code] for the " "parent, [code]2[/code] for the grandparent, etc.) to store the depth of an " "option in the class or a parent class." msgstr "" "該選項來自於所在的類或父類,相對於程式碼補全查詢的位置。請使用類的深度進行按" "位 OR(或)運算(例如 0 表示目前類,1 表示父類,2 表示父類的父類等),從而在" "目前類或父類中儲存選項的深度。" #: doc/classes/CodeEdit.xml doc/classes/ScriptLanguageExtension.xml msgid "" "The option is from user code which is not local and not in a derived class " "(e.g. Autoload Singletons)." msgstr "該選項來自使用者程式碼,不是局部,也不是衍生類(例如自動載入單例)。" #: doc/classes/CodeEdit.xml doc/classes/ScriptLanguageExtension.xml msgid "" "The option is from other engine code, not covered by the other enum " "constants - e.g. built-in classes." msgstr "該選項來自其他引擎程式碼,未被其他列舉常數覆蓋 - 例如內建類。" #: doc/classes/CodeEdit.xml msgid "[Color] of the bookmark icon for bookmarked lines." msgstr "書簽圖示的 [Color],用於標記了書簽的行。" #: doc/classes/CodeEdit.xml msgid "[Color] of the text to highlight mismatched braces." msgstr "用於高亮不配對括弧文字的 [Color]。" #: doc/classes/CodeEdit.xml msgid "[Color] of the breakpoint icon for bookmarked lines." msgstr "書簽行的中斷點圖示的 [Color]。" #: doc/classes/CodeEdit.xml msgid "[Color] for all icons related to line folding." msgstr "所有與折疊行相關的圖示的 [Color]。" #: doc/classes/CodeEdit.xml msgid "Sets the background [Color] for the code completion popup." msgstr "設定程式碼補全快顯視窗的背景色 [Color]。" #: doc/classes/CodeEdit.xml msgid "" "Background highlight [Color] for matching text in code completion options." msgstr "用於配對程式碼補全選項中的文字的背景高亮的 [Color]。" #: doc/classes/CodeEdit.xml msgid "[Color] of the scrollbar in the code completion popup." msgstr "程式碼補全快顯視窗中捲軸的 [Color]。" #: doc/classes/CodeEdit.xml msgid "[Color] of the scrollbar in the code completion popup when hovered." msgstr "程式碼補全快顯視窗中捲軸在懸停狀態的 [Color]。" #: doc/classes/CodeEdit.xml msgid "" "Background highlight [Color] for the current selected option item in the " "code completion popup." msgstr "程式碼補全快顯視窗中,目前選定選項的背景高亮的 [Color]。" #: doc/classes/CodeEdit.xml msgid "[Color] of the executing icon for executing lines." msgstr "執行行執行圖示的 [Color]。" #: doc/classes/CodeEdit.xml msgid "[Color] of background line highlight for folded code region." msgstr "折疊程式碼區域的背景線所反白的[Color]。" #: doc/classes/CodeEdit.xml msgid "" "[Color] of the main line length guideline, secondary guidelines will have " "50% alpha applied." msgstr "主行長度輔助線的 [Color],次要輔助線將套用 50% 的 Alpha。" #: doc/classes/CodeEdit.xml msgid "Sets the [Color] of line numbers." msgstr "設定行號的顏色 [Color]。" #: doc/classes/CodeEdit.xml msgid "" "Max number of options to display in the code completion popup at any one " "time." msgstr "同時在程式碼補全快顯視窗中顯示的最大選項數。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Max width of options in the code completion popup. Options longer than this " "will be cut off." msgstr "程式碼補全快顯視窗中選項的最大寬度。更長的選項將被切斷。" #: doc/classes/CodeEdit.xml msgid "Width of the scrollbar in the code completion popup." msgstr "程式碼補全快顯視窗中捲軸的寬度。" #: doc/classes/CodeEdit.xml msgid "" "Sets a custom [Texture2D] to draw in the bookmark gutter for bookmarked " "lines." msgstr "設定書簽行的自訂 [Texture2D],會在書簽欄中繪製。" #: doc/classes/CodeEdit.xml msgid "" "Sets a custom [Texture2D] to draw in the breakpoint gutter for breakpointed " "lines." msgstr "設定中斷點行的自訂 [Texture2D],會在中斷點欄中繪製。" #: doc/classes/CodeEdit.xml msgid "" "Sets a custom [Texture2D] to draw in the line folding gutter when a line can " "be folded." msgstr "設定可折疊行的自訂 [Texture2D],會在折疊行欄中繪製。" #: doc/classes/CodeEdit.xml msgid "" "Sets a custom [Texture2D] to draw in the line folding gutter when a code " "region can be folded." msgstr "設定可折疊行的自訂 [Texture2D],會在折疊行欄中繪製。" #: doc/classes/CodeEdit.xml #, fuzzy msgid "" "Background panel for the color preview box in autocompletion (visible when " "the color is translucent)." msgstr "顏色預覽框的背景面板(顏色為半透明時可見)。" #: doc/classes/CodeEdit.xml msgid "Icon to draw in the executing gutter for executing lines." msgstr "執行行的圖示,會在執行欄中繪製。" #: doc/classes/CodeEdit.xml msgid "" "Sets a custom [Texture2D] to draw in the line folding gutter when a line is " "folded and can be unfolded." msgstr "" "當行被折疊且可以展開時,設定要在行折疊裝訂線中繪製的一個自訂 [Texture2D]。" #: doc/classes/CodeEdit.xml msgid "" "Sets a custom [Texture2D] to draw in the line folding gutter when a code " "region is folded and can be unfolded." msgstr "" "當行被折疊且可以展開時,設定要在行折疊裝訂線中繪製的一個自訂 [Texture2D]。" #: doc/classes/CodeEdit.xml msgid "Sets a custom [Texture2D] to draw at the end of a folded line." msgstr "設定要繪製在折疊行末尾的一個自訂 [Texture2D]。" #: doc/classes/CodeEdit.xml msgid "[StyleBox] for the code completion popup." msgstr "用於程式碼補全彈窗的 [StyleBox]。" #: doc/classes/CodeHighlighter.xml msgid "A syntax highlighter intended for code." msgstr "用於程式碼的語法高亮器。" #: doc/classes/CodeHighlighter.xml msgid "" "By adjusting various properties of this resource, you can change the colors " "of strings, comments, numbers, and other text patterns inside a [TextEdit] " "control." msgstr "" "通過調整該資源的各種屬性,可以更改 [TextEdit] 控制項內的字串、注釋、數位、和" "其他文字圖案的顏色。" #: doc/classes/CodeHighlighter.xml msgid "" "Adds a color region (such as for comments or strings) from [param start_key] " "to [param end_key]. Both keys should be symbols, and [param start_key] must " "not be shared with other delimiters.\n" "If [param line_only] is [code]true[/code] or [param end_key] is an empty " "[String], the region does not carry over to the next line." msgstr "" #: doc/classes/CodeHighlighter.xml msgid "" "Sets the color for a keyword.\n" "The keyword cannot contain any symbols except '_'." msgstr "" "設定關鍵字的顏色。\n" "關鍵字不能包含除“_”之外的任何符號。" #: doc/classes/CodeHighlighter.xml msgid "" "Sets the color for a member keyword.\n" "The member keyword cannot contain any symbols except '_'.\n" "It will not be highlighted if preceded by a '.'." msgstr "" "設定成員關鍵字的顏色。\n" "成員關鍵字不能包含除“_”之外的任何符號。\n" "如果前面有“.”,則不會高亮顯示。" #: doc/classes/CodeHighlighter.xml msgid "Removes all color regions." msgstr "移除所有顏色區域。" #: doc/classes/CodeHighlighter.xml msgid "Removes all keywords." msgstr "移除所有關鍵字。" #: doc/classes/CodeHighlighter.xml msgid "Removes all member keywords." msgstr "移除所有成員關鍵字。" #: doc/classes/CodeHighlighter.xml msgid "Returns the color for a keyword." msgstr "返回某個關鍵字的顏色。" #: doc/classes/CodeHighlighter.xml msgid "Returns the color for a member keyword." msgstr "返回某個成員關鍵字的顏色。" #: doc/classes/CodeHighlighter.xml msgid "" "Returns [code]true[/code] if the start key exists, else [code]false[/code]." msgstr "如果開始鍵存在則返回 [code]true[/code],否則返回 [code]false[/code]。" #: doc/classes/CodeHighlighter.xml msgid "" "Returns [code]true[/code] if the keyword exists, else [code]false[/code]." msgstr "如果關鍵字存在則返回 [code]true[/code],否則返回 [code]false[/code]。" #: doc/classes/CodeHighlighter.xml msgid "" "Returns [code]true[/code] if the member keyword exists, else [code]false[/" "code]." msgstr "" "如果成員關鍵字存在則返回 [code]true[/code],否則返回 [code]false[/code]。" #: doc/classes/CodeHighlighter.xml msgid "Removes the color region that uses that start key." msgstr "移除使用該開始鍵的顏色區域。" #: doc/classes/CodeHighlighter.xml msgid "Removes the keyword." msgstr "移除關鍵字。" #: doc/classes/CodeHighlighter.xml msgid "Removes the member keyword." msgstr "移除成員關鍵字。" #: doc/classes/CodeHighlighter.xml msgid "" "Sets the color regions. All existing regions will be removed. The " "[Dictionary] key is the region start and end key, separated by a space. The " "value is the region color." msgstr "" "設定顏色區域。現有區域都將被移除。[Dictionary] 的鍵為該區域的開始鍵和結束鍵," "用空格隔開。對應的值為區域的顏色。" #: doc/classes/CodeHighlighter.xml msgid "" "Sets color for functions. A function is a non-keyword string followed by a " "'('." msgstr "設定函式的顏色。函式是後跟“(”的非關鍵字字串。" #: doc/classes/CodeHighlighter.xml msgid "" "Sets the keyword colors. All existing keywords will be removed. The " "[Dictionary] key is the keyword. The value is the keyword color." msgstr "" "設定關鍵字的顏色。現有關鍵字都將被移除。[Dictionary] 的鍵為關鍵字。對應的值為" "關鍵字的顏色。" #: doc/classes/CodeHighlighter.xml msgid "" "Sets the member keyword colors. All existing member keyword will be removed. " "The [Dictionary] key is the member keyword. The value is the member keyword " "color." msgstr "" "設定成員關鍵字的顏色。現有成員關鍵字都將被移除。[Dictionary] 的鍵為成員關鍵" "字。對應的值為成員關鍵字的顏色。" #: doc/classes/CodeHighlighter.xml msgid "" "Sets color for member variables. A member variable is non-keyword, non-" "function string proceeded with a '.'." msgstr "設定成員變數的顏色。成員變數是以“.”開頭的非關鍵字、非函式字串。" #: doc/classes/CodeHighlighter.xml msgid "Sets the color for numbers." msgstr "設定數字的顏色。" #: doc/classes/CodeHighlighter.xml msgid "Sets the color for symbols." msgstr "設定符號的顏色。" #: doc/classes/CollisionObject2D.xml msgid "Abstract base class for 2D physics objects." msgstr "2D 物理物件的抽象基底類別。" #: doc/classes/CollisionObject2D.xml msgid "" "Abstract base class for 2D physics objects. [CollisionObject2D] can hold any " "number of [Shape2D]s for collision. Each shape must be assigned to a " "[i]shape owner[/i]. Shape owners are not nodes and do not appear in the " "editor, but are accessible through code using the [code]shape_owner_*[/code] " "methods.\n" "[b]Note:[/b] Only collisions between objects within the same canvas " "([Viewport] canvas or [CanvasLayer]) are supported. The behavior of " "collisions between objects in different canvases is undefined." msgstr "" "2D 物理物件的抽象基底類別。[CollisionObject2D] 能夠容納任意數量的 [Shape2D] " "用作碰撞形狀。每個形狀必須分配給一個[i]形狀所有者[/i]。形狀所有者不是節點,也" "不會出現在編輯器中,但可以通過程式碼使用 [code]shape_owner_*[/code] 方法存" "取。\n" "[b]注意:[/b]僅支援相同畫布中不同物件的碰撞([Viewport] 畫布或 " "[CanvasLayer])。不同畫布中的物件之間的碰撞行為是未定義的。" #: doc/classes/CollisionObject2D.xml #, fuzzy msgid "" "Accepts unhandled [InputEvent]s. [param shape_idx] is the child index of the " "clicked [Shape2D]. Connect to [signal input_event] to easily pick up these " "events.\n" "[b]Note:[/b] [method _input_event] requires [member input_pickable] to be " "[code]true[/code] and at least one [member collision_layer] bit to be set." msgstr "" "接收未處理的 [InputEvent]。[param shape_idx] 是被點擊的 [Shape2D] 的子索引。" "連接到 [code]input_event[/code] 訊號即可輕鬆獲取這些事件。\n" "[b]注意:[/b][method _input_event] 要求 [member input_pickable] 為 " "[code]true[/code],並且至少要設定一個 [member collision_layer] 位。" #: doc/classes/CollisionObject2D.xml msgid "" "Called when the mouse pointer enters any of this object's shapes. Requires " "[member input_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set. Note that moving between different shapes " "within a single [CollisionObject2D] won't cause this function to be called." msgstr "" "當滑鼠指標進入該實體的任何形狀時呼叫。要求 [member input_pickable] 為 " "[code]true[/code] 並且至少設定了一個 [member collision_layer] 位。請注意,在" "單個 [CollisionObject2D] 中的不同形狀之間移動,不會導致該函式被呼叫。" #: doc/classes/CollisionObject2D.xml msgid "" "Called when the mouse pointer exits all this object's shapes. Requires " "[member input_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set. Note that moving between different shapes " "within a single [CollisionObject2D] won't cause this function to be called." msgstr "" "當滑鼠指標退出該實體的所有形狀時呼叫。要求 [member input_pickable] 為 " "[code]true[/code] 並且至少設定了一個 [member collision_layer] 位。請注意,在" "單個 [CollisionObject2D] 中的不同形狀之間移動,不會導致該函式被呼叫。" #: doc/classes/CollisionObject2D.xml msgid "" "Called when the mouse pointer enters any of this object's shapes or moves " "from one shape to another. [param shape_idx] is the child index of the newly " "entered [Shape2D]. Requires [member input_pickable] to be [code]true[/code] " "and at least one [member collision_layer] bit to be called." msgstr "" "當滑鼠指標進入該實體的任何形狀或從一個形狀移動到另一個形狀時呼叫。[param " "shape_idx] 是新進入的 [Shape2D] 的子索引。要求 [member input_pickable] 為 " "[code]true[/code] 並且要至少設定一個 [member collision_layer] 位。" #: doc/classes/CollisionObject2D.xml msgid "" "Called when the mouse pointer exits any of this object's shapes. [param " "shape_idx] is the child index of the exited [Shape2D]. Requires [member " "input_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be called." msgstr "" "當滑鼠指標離開該實體的任何形狀時呼叫。[param shape_idx] 是退出的 [Shape2D] 的" "子索引。要求 [member input_pickable] 為 [code]true[/code] 並且至少要設定一個 " "[member collision_layer] 位。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "" "Creates a new shape owner for the given object. Returns [code]owner_id[/" "code] of the new owner for future reference." msgstr "" "為給定物件建立一個新的形狀所有者。返回 [code]owner_id[/code]的新所有者,供將" "來引用。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml #: modules/csg/doc_classes/CSGShape3D.xml #: modules/gridmap/doc_classes/GridMap.xml doc/classes/SoftBody3D.xml msgid "" "Returns whether or not the specified layer of the [member collision_layer] " "is enabled, given a [param layer_number] between 1 and 32." msgstr "" "返回 [member collision_layer] 中是否啟用了指定的層,給定的 [param " "layer_number] 應在 1 和 32 之間。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml #: modules/csg/doc_classes/CSGShape3D.xml #: modules/gridmap/doc_classes/GridMap.xml doc/classes/RayCast2D.xml #: doc/classes/RayCast3D.xml doc/classes/ShapeCast2D.xml #: doc/classes/ShapeCast3D.xml doc/classes/SoftBody3D.xml msgid "" "Returns whether or not the specified layer of the [member collision_mask] is " "enabled, given a [param layer_number] between 1 and 32." msgstr "" "返回 [member collision_mask] 中是否啟用了指定的層,給定的 [param " "layer_number] 應在 1 和 32 之間。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "Returns the object's [RID]." msgstr "返回對象的 [RID]。" #: doc/classes/CollisionObject2D.xml msgid "" "Returns the [code]one_way_collision_margin[/code] of the shape owner " "identified by given [param owner_id]." msgstr "" "返回由給定 [param owner_id] 標識的形狀所有者的 " "[code]one_way_collision_margin[/code]。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "" "Returns an [Array] of [code]owner_id[/code] identifiers. You can use these " "ids in other methods that take [code]owner_id[/code] as an argument." msgstr "" "返回一個 [code]owner_id[/code] 識別字的 [Array]。你可以在其他使用 " "[code]owner_id[/code] 作為參數的方法中使用這些 ID。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "If [code]true[/code], the shape owner and its shapes are disabled." msgstr "如果為 [code]true[/code],則禁用形狀所有者及其形狀。" #: doc/classes/CollisionObject2D.xml msgid "" "Returns [code]true[/code] if collisions for the shape owner originating from " "this [CollisionObject2D] will not be reported to collided with " "[CollisionObject2D]s." msgstr "" "返回 [code]true[/code],如果源於這個 [CollisionObject2D] 的形狀所有者的碰撞不" "會被報告給 [CollisionObject2D]。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "Removes the given shape owner." msgstr "移除給定形狀的所有者。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml #: modules/csg/doc_classes/CSGShape3D.xml #: modules/gridmap/doc_classes/GridMap.xml doc/classes/SoftBody3D.xml msgid "" "Based on [param value], enables or disables the specified layer in the " "[member collision_layer], given a [param layer_number] between 1 and 32." msgstr "" "根據 [param value],啟用或禁用 [member collision_layer] 中指定的層,給定的 " "[param layer_number] 應在 1 和 32 之間。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml #: modules/csg/doc_classes/CSGShape3D.xml #: modules/gridmap/doc_classes/GridMap.xml doc/classes/RayCast2D.xml #: doc/classes/RayCast3D.xml doc/classes/ShapeCast2D.xml #: doc/classes/ShapeCast3D.xml doc/classes/SoftBody3D.xml msgid "" "Based on [param value], enables or disables the specified layer in the " "[member collision_mask], given a [param layer_number] between 1 and 32." msgstr "" "根據 [param value],啟用或禁用 [member collision_mask] 中指定的層,給定的 " "[param layer_number] 應在 1 和 32 之間。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "Returns the [code]owner_id[/code] of the given shape." msgstr "返回指定形狀的 [code]owner_id[/code]。" #: doc/classes/CollisionObject2D.xml msgid "Adds a [Shape2D] to the shape owner." msgstr "給形狀所有者新增一個 [Shape2D]。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "Removes all shapes from the shape owner." msgstr "移除形狀所有者的所有形狀。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "Returns the parent object of the given shape owner." msgstr "返回給定形狀所有者的父物件。" #: doc/classes/CollisionObject2D.xml msgid "Returns the [Shape2D] with the given ID from the given shape owner." msgstr "從給定形狀所有者返回具有給定 ID 的 [Shape2D]。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "Returns the number of shapes the given shape owner contains." msgstr "返回給定形狀所有者包含的形狀數量。" #: doc/classes/CollisionObject2D.xml msgid "" "Returns the child index of the [Shape2D] with the given ID from the given " "shape owner." msgstr "從給定形狀所有者返回具有給定 ID 的 [Shape2D] 的子索引。" #: doc/classes/CollisionObject2D.xml msgid "Returns the shape owner's [Transform2D]." msgstr "返回形狀所有者的 [Transform2D]。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "Removes a shape from the given shape owner." msgstr "從給定的形狀所有者中移除一個形狀。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "If [code]true[/code], disables the given shape owner." msgstr "如果為 [code]true[/code],則禁用給定的形狀所有者。" #: doc/classes/CollisionObject2D.xml msgid "" "If [param enable] is [code]true[/code], collisions for the shape owner " "originating from this [CollisionObject2D] will not be reported to collided " "with [CollisionObject2D]s." msgstr "" "如果 [param enable] 為 [code]true[/code],則源自該 [CollisionObject2D] 的形狀" "所有者的碰撞將不會被報告為與 [CollisionObject2D] 發生碰撞。" #: doc/classes/CollisionObject2D.xml msgid "" "Sets the [code]one_way_collision_margin[/code] of the shape owner identified " "by given [param owner_id] to [param margin] pixels." msgstr "" "將由給定 [param owner_id] 標識的形狀所有者的 [code]one_way_collision_margin[/" "code] 設定為 [param margin] 圖元。" #: doc/classes/CollisionObject2D.xml msgid "Sets the [Transform2D] of the given shape owner." msgstr "設定給定形狀所有者的 [Transform2D]。" #: doc/classes/CollisionObject2D.xml msgid "" "The physics layers this CollisionObject2D is in. Collision objects can exist " "in one or more of 32 different layers. See also [member collision_mask].\n" "[b]Note:[/b] Object A can detect a contact with object B only if object B is " "in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" "physics/physics_introduction.html#collision-layers-and-masks]Collision " "layers and masks[/url] in the documentation for more information." msgstr "" "此 CollisionObject2D 所在的實體層。碰撞物件可以存在於 32 個不同層中的一個或多" "個中。另見 [member collision_mask]。\n" "[b]注意:[/b]只有當物件 B 在物件 A 掃描的任何層中時,物件 A 才能偵測到與物件 " "B 的接觸。有關更多資訊,請參閱文件中的[url=$DOCS_URL/tutorials/physics/" "physics_introduction.html#collision-layers-and-masks]《碰撞層與遮罩》[/url]。" #: doc/classes/CollisionObject2D.xml msgid "" "The physics layers this CollisionObject2D scans. Collision objects can scan " "one or more of 32 different layers. See also [member collision_layer].\n" "[b]Note:[/b] Object A can detect a contact with object B only if object B is " "in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" "physics/physics_introduction.html#collision-layers-and-masks]Collision " "layers and masks[/url] in the documentation for more information." msgstr "" "此 CollisionObject2D 掃描的實體層。碰撞物件可以掃描 32 個不同層中的一個或多" "個。另見 [member collision_layer]。\n" "[b]注意:[/b]只有當物件 B 在物件 A 掃描的任何層中時,物件 A 才能偵測到與物件 " "B 的接觸。有關更多資訊,請參閱文件中的[url=$DOCS_URL/tutorials/physics/" "physics_introduction.html#collision-layers-and-masks]《碰撞層與遮罩》[/url]。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml #: modules/gridmap/doc_classes/GridMap.xml msgid "" "The priority used to solve colliding when occurring penetration. The higher " "the priority is, the lower the penetration into the object will be. This can " "for example be used to prevent the player from breaking through the " "boundaries of a level." msgstr "" "發生穿透時用於解決碰撞的優先順序。優先順序越高,對物體的穿透度就越低。例如," "可以用來防止玩家突破關卡的邊界。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml #: doc/classes/SoftBody3D.xml #, fuzzy msgid "" "Defines the behavior in physics when [member Node.process_mode] is set to " "[constant Node.PROCESS_MODE_DISABLED]." msgstr "" "當 [member Node.process_mode] 被設定為 [constant Node.PROCESS_MODE_DISABLED] " "時,定義物理行為。有關不同模式的更多詳細資訊,請參閱 [enum DisableMode]。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml msgid "" "If [code]true[/code], this object is pickable. A pickable object can detect " "the mouse pointer entering/leaving, and if the mouse is inside it, report " "input events. Requires at least one [member collision_layer] bit to be set." msgstr "" "如果為 [code]true[/code],則該對象是可拾取的。可拾取的物件可以偵測滑鼠指標的" "進入/離開,滑鼠位於其中時,就會報告輸入事件。要求至少設定一個 [member " "collision_layer] 位。" #: doc/classes/CollisionObject2D.xml msgid "" "Emitted when an input event occurs. Requires [member input_pickable] to be " "[code]true[/code] and at least one [member collision_layer] bit to be set. " "See [method _input_event] for details." msgstr "" "當輸入事件發生時發出。要求 [member input_pickable] 為 [code]true[/code] 並且" "至少設定了一個 [member collision_layer] 位。詳見 [method _input_event]。" #: doc/classes/CollisionObject2D.xml msgid "" "Emitted when the mouse pointer enters any of this object's shapes. Requires " "[member input_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set. Note that moving between different shapes " "within a single [CollisionObject2D] won't cause this signal to be emitted.\n" "[b]Note:[/b] Due to the lack of continuous collision detection, this signal " "may not be emitted in the expected order if the mouse moves fast enough and " "the [CollisionObject2D]'s area is small. This signal may also not be emitted " "if another [CollisionObject2D] is overlapping the [CollisionObject2D] in " "question." msgstr "" "當滑鼠指標進入該物件的任何形狀時發出。要求 [member input_pickable] 為 " "[code]true[/code] 並且至少設定了一個 [member collision_layer] 位。請注意,在" "單個 [CollisionObject2D] 中的不同形狀之間移動,不會導致發出該訊號。\n" "[b]注意:[/b]由於缺少連續的碰撞偵測,如果滑鼠移動得足夠快並且 " "[CollisionObject2D] 的區域很小,則該訊號可能不會按預期的順序發出。如果另一個 " "[CollisionObject2D] 與所討論的 [CollisionObject2D] 重疊,則也可能不會發出該信" "號。" #: doc/classes/CollisionObject2D.xml msgid "" "Emitted when the mouse pointer exits all this object's shapes. Requires " "[member input_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set. Note that moving between different shapes " "within a single [CollisionObject2D] won't cause this signal to be emitted.\n" "[b]Note:[/b] Due to the lack of continuous collision detection, this signal " "may not be emitted in the expected order if the mouse moves fast enough and " "the [CollisionObject2D]'s area is small. This signal may also not be emitted " "if another [CollisionObject2D] is overlapping the [CollisionObject2D] in " "question." msgstr "" "當滑鼠指標離開該物件的所有形狀時發出。要求 [member input_pickable] 為 " "[code]true[/code] 並且至少設定了一個 [member collision_layer] 位。請注意,在" "單個 [CollisionObject2D] 中的不同形狀之間移動,不會導致發出該訊號。\n" "[b]注意:[/b]由於缺少連續的碰撞偵測,如果滑鼠移動得足夠快並且 " "[CollisionObject2D] 的區域很小,則該訊號可能不會按預期的順序發出。如果另一個 " "[CollisionObject2D] 與所討論的 [CollisionObject2D] 重疊,則也可能不會發出該信" "號。" #: doc/classes/CollisionObject2D.xml msgid "" "Emitted when the mouse pointer enters any of this object's shapes or moves " "from one shape to another. [param shape_idx] is the child index of the newly " "entered [Shape2D]. Requires [member input_pickable] to be [code]true[/code] " "and at least one [member collision_layer] bit to be set." msgstr "" "當滑鼠指標進入該實體的任何形狀或從一種形狀移動到另一種形狀時發出。[param " "shape_idx] 是新進入的 [Shape2D] 的子索引。要求 [member input_pickable] 為 " "[code]true[/code] 並且至少設定一個 [member collision_layer] 位。" #: doc/classes/CollisionObject2D.xml msgid "" "Emitted when the mouse pointer exits any of this object's shapes. [param " "shape_idx] is the child index of the exited [Shape2D]. Requires [member " "input_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set." msgstr "" "當滑鼠指標離開該實體的任何形狀時發出。[param shape_idx] 是退出的 [Shape2D] 的" "子索引。要求 [member input_pickable] 為 [code]true[/code] 並且至少設定一個 " "[member collision_layer] 位。" #: doc/classes/CollisionObject2D.xml msgid "" "When [member Node.process_mode] is set to [constant " "Node.PROCESS_MODE_DISABLED], remove from the physics simulation to stop all " "physics interactions with this [CollisionObject2D].\n" "Automatically re-added to the physics simulation when the [Node] is " "processed again." msgstr "" "當 [member Node.process_mode] 被設定為 [constant Node.PROCESS_MODE_DISABLED] " "時,從物理模擬中移除,停止與此 [CollisionObject2D] 的所有物理互動。\n" "當該 [Node] 再次被處理時,會自動重新加入到物理模擬中。" #: doc/classes/CollisionObject2D.xml msgid "" "When [member Node.process_mode] is set to [constant " "Node.PROCESS_MODE_DISABLED], make the body static. Doesn't affect [Area2D]. " "[PhysicsBody2D] can't be affected by forces or other bodies while static.\n" "Automatically set [PhysicsBody2D] back to its original mode when the [Node] " "is processed again." msgstr "" "當 [member Node.process_mode] 被設定為 [constant Node.PROCESS_MODE_DISABLED] " "時,使物體進入靜態模式。不影響 [Area2D]。處於靜態模式的 [PhysicsBody2D] 不會" "受到力和其他物體的影響。\n" "當該 [Node] 再次被處理時,會自動將 [PhysicsBody2D] 設定回其原始模式。" #: doc/classes/CollisionObject2D.xml doc/classes/CollisionObject3D.xml #: doc/classes/SoftBody3D.xml msgid "" "When [member Node.process_mode] is set to [constant " "Node.PROCESS_MODE_DISABLED], do not affect the physics simulation." msgstr "" "當 [member Node.process_mode] 被設定為 [constant Node.PROCESS_MODE_DISABLED] " "時,不影響物理模擬。" #: doc/classes/CollisionObject3D.xml msgid "Abstract base class for 3D physics objects." msgstr "3D 物理物件的抽象基底類別。" #: doc/classes/CollisionObject3D.xml msgid "" "Abstract base class for 3D physics objects. [CollisionObject3D] can hold any " "number of [Shape3D]s for collision. Each shape must be assigned to a " "[i]shape owner[/i]. Shape owners are not nodes and do not appear in the " "editor, but are accessible through code using the [code]shape_owner_*[/code] " "methods.\n" "[b]Warning:[/b] With a non-uniform scale, this node will likely not behave " "as expected. It is advised to keep its scale the same on all axes and adjust " "its collision shape(s) instead." msgstr "" "3D 物理物件的抽象基底類別。[CollisionObject3D] 能夠容納任意數量的 [Shape3D] " "用作碰撞形狀。每個形狀必須分配給一個[i]形狀所有者[/i]。形狀所有者不是節點,也" "不會出現在編輯器中,但可以通過程式碼使用 [code]shape_owner_*[/code] 方法存" "取。\n" "[b]警告:[/b]如果使用非均勻縮放,則該節點可能無法按預期工作。建議讓所有軸上的" "縮放保持一致,可以用對碰撞形狀的調整來代替非均勻縮放。" #: doc/classes/CollisionObject3D.xml #, fuzzy msgid "" "Receives unhandled [InputEvent]s. [param event_position] is the location in " "world space of the mouse pointer on the surface of the shape with index " "[param shape_idx] and [param normal] is the normal vector of the surface at " "that point. Connect to the [signal input_event] signal to easily pick up " "these events.\n" "[b]Note:[/b] [method _input_event] requires [member input_ray_pickable] to " "be [code]true[/code] and at least one [member collision_layer] bit to be set." msgstr "" "接收未處理的 [InputEvent]。[param position] 是滑鼠指標在索引為 [param " "shape_idx] 的形狀表面上的世界空間位置,[param normal] 是該點表面的法向量。連" "接到 [signal input_event] 訊號即可輕鬆獲取這些事件。\n" "[b]注意:[/b][method _input_event] 要求 [member input_ray_pickable] 為 " "[code]true[/code],並且至少要設定一個 [member collision_layer] 位。" #: doc/classes/CollisionObject3D.xml msgid "" "Called when the mouse pointer enters any of this object's shapes. Requires " "[member input_ray_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set. Note that moving between different shapes " "within a single [CollisionObject3D] won't cause this function to be called." msgstr "" "當滑鼠指標進入該實體的任何形狀時呼叫。要求 [member input_ray_pickable] 為 " "[code]true[/code] 並且至少設定一個 [member collision_layer] 位。請注意,在單" "個 [CollisionObject3D] 中的不同形狀之間移動,不會導致該函式被呼叫。" #: doc/classes/CollisionObject3D.xml msgid "" "Called when the mouse pointer exits all this object's shapes. Requires " "[member input_ray_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set. Note that moving between different shapes " "within a single [CollisionObject3D] won't cause this function to be called." msgstr "" "當滑鼠指標離開該實體的所有形狀時呼叫。要求 [member input_ray_pickable] 為 " "[code]true[/code] 並且至少設定一個 [member collision_layer] 位。請注意,在單" "個 [CollisionObject3D] 中的不同形狀之間移動,不會導致該函式被呼叫。" #: doc/classes/CollisionObject3D.xml msgid "Adds a [Shape3D] to the shape owner." msgstr "向形狀擁有者新增 [Shape3D]。" #: doc/classes/CollisionObject3D.xml msgid "Returns the [Shape3D] with the given ID from the given shape owner." msgstr "返回形狀所有者中具有給定 ID 的 [Shape3D]。" #: doc/classes/CollisionObject3D.xml msgid "" "Returns the child index of the [Shape3D] with the given ID from the given " "shape owner." msgstr "返回形狀所有者中具有給定 ID 的 [Shape3D] 的子索引。" #: doc/classes/CollisionObject3D.xml msgid "Returns the shape owner's [Transform3D]." msgstr "返回形狀所有者的 [Transform3D]。" #: doc/classes/CollisionObject3D.xml msgid "Sets the [Transform3D] of the given shape owner." msgstr "設定給定形狀所有者的 [Transform3D]。" #: doc/classes/CollisionObject3D.xml msgid "" "The physics layers this CollisionObject3D [b]is in[/b]. Collision objects " "can exist in one or more of 32 different layers. See also [member " "collision_mask].\n" "[b]Note:[/b] Object A can detect a contact with object B only if object B is " "in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" "physics/physics_introduction.html#collision-layers-and-masks]Collision " "layers and masks[/url] in the documentation for more information." msgstr "" "該 CollisionObject3D [b]所在的[/b]實體層。碰撞物件可以存在於 32 個不同層中的" "一層或多層。另見 [member collision_mask]。\n" "[b]注意:[/b]只有當物件 B 位於物件 A 掃描的任何層中時,物件 A 才能偵測到與對" "象 B 的接觸。有關更多資訊,請參閱文件中的[url=$DOCS_URL/tutorials/physics/" "physics_introduction.html#collision-layers-and-masks]《碰撞層和遮罩》[/url]。" #: doc/classes/CollisionObject3D.xml msgid "" "The physics layers this CollisionObject3D [b]scans[/b]. Collision objects " "can scan one or more of 32 different layers. See also [member " "collision_layer].\n" "[b]Note:[/b] Object A can detect a contact with object B only if object B is " "in any of the layers that object A scans. See [url=$DOCS_URL/tutorials/" "physics/physics_introduction.html#collision-layers-and-masks]Collision " "layers and masks[/url] in the documentation for more information." msgstr "" "該 CollisionObject3D [b]掃描的[/b]實體層。碰撞物件可以掃描 32 個不同層中的一" "層或多層。另見 [member collision_layer]。\n" "[b]注意:[/b]只有當物件 B 位於物件 A 掃描的任何層中時,物件 A 才能偵測到與對" "象 B 的接觸。有關更多資訊,請參閱文件中的[url=$DOCS_URL/tutorials/physics/" "physics_introduction.html#collision-layers-and-masks]《碰撞層和遮罩》[/url]。" #: doc/classes/CollisionObject3D.xml msgid "" "If [code]true[/code], the [CollisionObject3D] will continue to receive input " "events as the mouse is dragged across its shapes." msgstr "" "如果為 [code]true[/code],則當滑鼠拖過其形狀時,[CollisionObject3D] 將繼續接" "收輸入事件。" #: doc/classes/CollisionObject3D.xml #, fuzzy msgid "" "Emitted when the object receives an unhandled [InputEvent]. [param " "event_position] is the location in world space of the mouse pointer on the " "surface of the shape with index [param shape_idx] and [param normal] is the " "normal vector of the surface at that point." msgstr "" "當物件收到未處理的 [InputEvent] 時發出。[param position] 是滑鼠指標在索引為 " "[param shape_idx] 的形狀表面上的世界空間位置,[param normal] 是表面在該點的法" "向量。" #: doc/classes/CollisionObject3D.xml msgid "" "Emitted when the mouse pointer enters any of this object's shapes. Requires " "[member input_ray_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set.\n" "[b]Note:[/b] Due to the lack of continuous collision detection, this signal " "may not be emitted in the expected order if the mouse moves fast enough and " "the [CollisionObject3D]'s area is small. This signal may also not be emitted " "if another [CollisionObject3D] is overlapping the [CollisionObject3D] in " "question." msgstr "" "當滑鼠指標進入該物件的任何形狀時發出。要求 [member input_ray_pickable] 為 " "[code]true[/code] 並且至少設定了一個 [member collision_layer] 位。\n" "[b]注意:[/b]由於缺少連續的碰撞偵測,如果滑鼠移動得足夠快並且 " "[CollisionObject3D] 的區域很小,則該訊號可能不會按預期的順序發出。如果另一個 " "[CollisionObject3D] 與所討論的 [CollisionObject3D] 重疊,則也可能不會發出該信" "號。" #: doc/classes/CollisionObject3D.xml msgid "" "Emitted when the mouse pointer exits all this object's shapes. Requires " "[member input_ray_pickable] to be [code]true[/code] and at least one [member " "collision_layer] bit to be set.\n" "[b]Note:[/b] Due to the lack of continuous collision detection, this signal " "may not be emitted in the expected order if the mouse moves fast enough and " "the [CollisionObject3D]'s area is small. This signal may also not be emitted " "if another [CollisionObject3D] is overlapping the [CollisionObject3D] in " "question." msgstr "" "當滑鼠指標離開該物件的所有形狀時發出。要求 [member input_ray_pickable] 為 " "[code]true[/code] 並且至少設定了一個 [member collision_layer] 位。\n" "[b]注意:[/b]由於缺少連續的碰撞偵測,如果滑鼠移動得足夠快並且 " "[CollisionObject3D] 的區域很小,則該訊號可能不會按預期的順序發出。如果另一個 " "[CollisionObject3D] 與所討論的 [CollisionObject3D] 重疊,則也可能不會發出該信" "號。" #: doc/classes/CollisionObject3D.xml msgid "" "When [member Node.process_mode] is set to [constant " "Node.PROCESS_MODE_DISABLED], remove from the physics simulation to stop all " "physics interactions with this [CollisionObject3D].\n" "Automatically re-added to the physics simulation when the [Node] is " "processed again." msgstr "" "當 [member Node.process_mode] 被設定為 [constant Node.PROCESS_MODE_DISABLED] " "時,從物理模擬中移除,停止與此 [CollisionObject3D] 的所有物理互動。\n" "當該 [Node] 再次被處理時,會自動重新加入到物理模擬中。" #: doc/classes/CollisionObject3D.xml msgid "" "When [member Node.process_mode] is set to [constant " "Node.PROCESS_MODE_DISABLED], make the body static. Doesn't affect [Area3D]. " "[PhysicsBody3D] can't be affected by forces or other bodies while static.\n" "Automatically set [PhysicsBody3D] back to its original mode when the [Node] " "is processed again." msgstr "" "當 [member Node.process_mode] 被設定為 [constant Node.PROCESS_MODE_DISABLED] " "時,使實體靜態化。不影響 [Area3D]。[PhysicsBody3D] 在靜態時不會受到力或其他實" "體的影響。\n" "當該 [Node] 再次被處理時,自動將 [PhysicsBody3D] 設定回其原始模式。" #: doc/classes/CollisionPolygon2D.xml msgid "A node that provides a polygon shape to a [CollisionObject2D] parent." msgstr "向 [CollisionObject2D] 父級提供多邊形形狀的節點。" #: doc/classes/CollisionPolygon2D.xml #, fuzzy msgid "" "A node that provides a polygon shape to a [CollisionObject2D] parent and " "allows it to be edited. The polygon can be concave or convex. This can give " "a detection shape to an [Area2D], turn a [PhysicsBody2D] into a solid " "object, or give a hollow shape to a [StaticBody2D].\n" "[b]Warning:[/b] A non-uniformly scaled [CollisionPolygon2D] will likely not " "behave as expected. Make sure to keep its scale the same on all axes and " "adjust its polygon instead." msgstr "" "向 [CollisionObject2D] 父級提供加厚多邊形形狀(角柱體)的節點,能夠為這個形狀" "提供編輯的方法。該多邊形可以是凹多邊形,也可以是凸多邊形。能夠為 [Area2D] 提" "供偵測形狀,也能夠將 [PhysicsBody2D] 變為實體。\n" "[b]警告:[/b]非均勻縮放的 [CollisionObject2D] 應該無法按預期工作。請確保它在" "所有軸上的縮放是一致的,可以用對形狀資源的調整來代替非均勻縮放。" #: doc/classes/CollisionPolygon2D.xml msgid "Collision build mode." msgstr "" #: doc/classes/CollisionPolygon2D.xml #, fuzzy msgid "" "If [code]true[/code], no collisions will be detected. This property should " "be changed with [method Object.set_deferred]." msgstr "" "禁用的碰撞形狀在世界中沒有影響。這個屬性應該用 [method Object.set_deferred] " "改變。" #: doc/classes/CollisionPolygon2D.xml msgid "" "If [code]true[/code], only edges that face up, relative to " "[CollisionPolygon2D]'s rotation, will collide with other objects.\n" "[b]Note:[/b] This property has no effect if this [CollisionPolygon2D] is a " "child of an [Area2D] node." msgstr "" "如果為 [code]true[/code],則只有面朝上的邊緣才會與其他物件發生碰撞,方向是相" "對於 [CollisionPolygon2D] 的旋轉而言的。\n" "[b]注意:[/b]如果這個 [CollisionPolygon2D] 是 [Area2D] 節點的子節點,則這個屬" "性無效。" #: doc/classes/CollisionPolygon2D.xml msgid "" "The margin used for one-way collision (in pixels). Higher values will make " "the shape thicker, and work better for colliders that enter the polygon at a " "high velocity." msgstr "" "用於單向碰撞的邊距(以圖元為單位)。較高的值將使形狀更厚,並且對於以高速進入" "多邊形的對撞機來說效果更好。" #: doc/classes/CollisionPolygon2D.xml #, fuzzy msgid "" "The polygon's list of vertices. Each point will be connected to the next, " "and the final point will be connected to the first.\n" "[b]Note:[/b] The returned vertices are in the local coordinate space of the " "given [CollisionPolygon2D]." msgstr "" "該多邊形的頂點列表。每個點都與下一個點相連,最後一個點與第一個點相連。\n" "[b]警告:[/b]返回值是 [PackedVector2Array] 的副本,不是引用。" #: doc/classes/CollisionPolygon2D.xml msgid "" "Collisions will include the polygon and its contained area. In this mode the " "node has the same effect as several [ConvexPolygonShape2D] nodes, one for " "each convex shape in the convex decomposition of the polygon (but without " "the overhead of multiple nodes)." msgstr "" "碰撞包含多邊形及其內部區域。在這個模式下,該節點的效果與使用若干 " "[ConvexPolygonShape2D] 節點相同,其中的每個節點都包含該多邊形凸分解後的凸形狀" "(但不會有使用多個節點的負擔)。" #: doc/classes/CollisionPolygon2D.xml msgid "" "Collisions will only include the polygon edges. In this mode the node has " "the same effect as a single [ConcavePolygonShape2D] made of segments, with " "the restriction that each segment (after the first one) starts where the " "previous one ends, and the last one ends where the first one starts (forming " "a closed but hollow polygon)." msgstr "" "碰撞經包含多邊形的邊緣。在這個模式下,該節點的效果與單個由若干線段組成的 " "[ConcavePolygonShape2D] 相同,其中(第一條以後的)每條線段都從上一條的終點開" "始,最後一條線段在第一條的起點結束(構成閉合但中空的多邊形)。" #: doc/classes/CollisionPolygon3D.xml msgid "" "A node that provides a thickened polygon shape (a prism) to a " "[CollisionObject3D] parent." msgstr "向 [CollisionObject3D] 父級提供加厚多邊形形狀(角柱體)的節點。" #: doc/classes/CollisionPolygon3D.xml #, fuzzy msgid "" "A node that provides a thickened polygon shape (a prism) to a " "[CollisionObject3D] parent and allows it to be edited. The polygon can be " "concave or convex. This can give a detection shape to an [Area3D] or turn a " "[PhysicsBody3D] into a solid object.\n" "[b]Warning:[/b] A non-uniformly scaled [CollisionShape3D] will likely not " "behave as expected. Make sure to keep its scale the same on all axes and " "adjust its shape resource instead." msgstr "" "向 [CollisionObject3D] 父級提供加厚多邊形形狀(角柱體)的節點,能夠為這個形狀" "提供編輯的方法。該多邊形可以是凹多邊形,也可以是凸多邊形。能夠為 [Area3D] 提" "供偵測形狀,也能夠將 [PhysicsBody3D] 變為實體。\n" "[b]警告:[/b]非均勻縮放的 [CollisionShape3D] 應該無法按預期工作。請確保它在所" "有軸上的縮放是一致的,可以用對形狀資源的調整來代替非均勻縮放。" #: doc/classes/CollisionPolygon3D.xml doc/classes/CollisionShape2D.xml #: doc/classes/CollisionShape3D.xml #, fuzzy msgid "" "The collision shape color that is displayed in the editor, or in the running " "project if [b]Debug > Visible Collision Shapes[/b] is checked at the top of " "the editor.\n" "[b]Note:[/b] The default value is [member ProjectSettings.debug/shapes/" "collision/shape_color]. The [code]Color(0, 0, 0, 0)[/code] value documented " "here is a placeholder, and not the actual default debug color." msgstr "" "碰撞形狀的除錯顏色。\n" "[b]注意:[/b]預設值為 [member ProjectSettings.debug/shapes/collision/" "shape_color]。這裡記錄的 [code]Color(0, 0, 0, 1)[/code] 值是預留位置,不是實" "際的預設除錯顏色。" #: doc/classes/CollisionPolygon3D.xml doc/classes/CollisionShape3D.xml #, fuzzy msgid "" "If [code]true[/code], when the shape is displayed, it will show a solid fill " "color in addition to its wireframe." msgstr "如果為 [code]true[/code],紋理將被居中。" #: doc/classes/CollisionPolygon3D.xml msgid "" "Length that the resulting collision extends in either direction " "perpendicular to its 2D polygon." msgstr "產生的碰撞沿著與 2D 多邊形垂直的任意方向深入的長度。" #: doc/classes/CollisionPolygon3D.xml #, fuzzy msgid "" "If [code]true[/code], no collision will be produced. This property should be " "changed with [method Object.set_deferred]." msgstr "" "禁用的碰撞形狀在世界中沒有影響。這個屬性應該用 [method Object.set_deferred] " "改變。" #: doc/classes/CollisionPolygon3D.xml msgid "" "The collision margin for the generated [Shape3D]. See [member " "Shape3D.margin] for more details." msgstr "生成的 [Shape3D] 的碰撞邊距。詳情見 [member Shape3D.margin]。" #: doc/classes/CollisionPolygon3D.xml msgid "Array of vertices which define the 2D polygon in the local XY plane." msgstr "" #: doc/classes/CollisionShape2D.xml msgid "A node that provides a [Shape2D] to a [CollisionObject2D] parent." msgstr "向 [CollisionObject2D] 父級提供 [Shape2D] 的節點。" #: doc/classes/CollisionShape2D.xml #, fuzzy msgid "" "A node that provides a [Shape2D] to a [CollisionObject2D] parent and allows " "it to be edited. This can give a detection shape to an [Area2D] or turn a " "[PhysicsBody2D] into a solid object." msgstr "" "向 [CollisionObject2D] 父級提供 [Shape2D] 並允許對其進行編輯的節點。這可以為 " "[Area2D] 提供偵測形狀或將 [PhysicsBody2D] 轉變為實體物件。" #: doc/classes/CollisionShape2D.xml doc/classes/CollisionShape3D.xml msgid "" "A disabled collision shape has no effect in the world. This property should " "be changed with [method Object.set_deferred]." msgstr "" "禁用的碰撞形狀在世界中沒有影響。這個屬性應該用 [method Object.set_deferred] " "改變。" #: doc/classes/CollisionShape2D.xml msgid "" "Sets whether this collision shape should only detect collision on one side " "(top or bottom).\n" "[b]Note:[/b] This property has no effect if this [CollisionShape2D] is a " "child of an [Area2D] node." msgstr "" "設定此碰撞形狀是否僅應偵測到一側(頂部或底部)的碰撞。\n" "[b]注意:[/b]如果這個 [CollisionShape2D] 是 [Area2D] 節點的子節點,則這個屬性" "無效。" #: doc/classes/CollisionShape2D.xml msgid "" "The margin used for one-way collision (in pixels). Higher values will make " "the shape thicker, and work better for colliders that enter the shape at a " "high velocity." msgstr "" "用於單向碰撞的邊距(以圖元為單位)。較高的值將使形狀更厚,並且對於高速進入形" "狀的對撞機來說效果更好。" #: doc/classes/CollisionShape2D.xml doc/classes/CollisionShape3D.xml msgid "The actual shape owned by this collision shape." msgstr "該碰撞形狀擁有的實際形狀。" #: doc/classes/CollisionShape3D.xml msgid "A node that provides a [Shape3D] to a [CollisionObject3D] parent." msgstr "向 [CollisionObject3D] 父級提供 [Shape3D] 的節點。" #: doc/classes/CollisionShape3D.xml #, fuzzy msgid "" "A node that provides a [Shape3D] to a [CollisionObject3D] parent and allows " "it to be edited. This can give a detection shape to an [Area3D] or turn a " "[PhysicsBody3D] into a solid object.\n" "[b]Warning:[/b] A non-uniformly scaled [CollisionShape3D] will likely not " "behave as expected. Make sure to keep its scale the same on all axes and " "adjust its [member shape] resource instead." msgstr "" "向 [CollisionObject3D] 父級提供 [Shape3D] 並能夠對其進行編輯的節點。可以為 " "[Area3D] 提供偵測形狀,也可以將 [PhysicsBody3D] 變為實體物件。\n" "[b]警告:[/b]非均勻縮放的 [CollisionShape3D] 可能無法按預期運作。請保持在所有" "軸上使用相同的縮放,需要時可以更改其 [member shape] 資源代替。" #: doc/classes/CollisionShape3D.xml msgid "" "Sets the collision shape's shape to the addition of all its convexed " "[MeshInstance3D] siblings geometry." msgstr "將碰撞形狀的形狀設定為其所有凸面 [MeshInstance3D] 兄弟幾何體的相加。" #: doc/classes/CollisionShape3D.xml modules/gridmap/doc_classes/GridMap.xml #: doc/classes/ShapeCast3D.xml #, fuzzy msgid "Use [signal Resource.changed] instead." msgstr "[i]已廢棄。[/i] 請改用[signal Resource.changed]。" #: doc/classes/CollisionShape3D.xml modules/gridmap/doc_classes/GridMap.xml #: doc/classes/RenderingDevice.xml doc/classes/RenderingServer.xml #: doc/classes/ShapeCast3D.xml doc/classes/TextEdit.xml #: doc/classes/TextServer.xml msgid "This method does nothing." msgstr "" #: doc/classes/Color.xml msgid "A color represented in RGBA format." msgstr "以 RGBA 格式表示的顏色。" #: doc/classes/Color.xml #, fuzzy msgid "" "A color represented in RGBA format by a red ([member r]), green ([member " "g]), blue ([member b]), and alpha ([member a]) component. Each component is " "a 32-bit floating-point value, usually ranging from [code]0.0[/code] to " "[code]1.0[/code]. Some properties (such as [member CanvasItem.modulate]) may " "support values greater than [code]1.0[/code], for overbright or HDR (High " "Dynamic Range) colors.\n" "Colors can be created in a number of ways: By the various [Color] " "constructors, by static methods such as [method from_hsv], and by using a " "name from the set of standardized colors based on [url=https://" "en.wikipedia.org/wiki/X11_color_names]X11 color names[/url] with the " "addition of [constant TRANSPARENT].\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/" "color_constants.png]Color constants cheatsheet[/url]\n" "Although [Color] may be used to store values of any encoding, the red " "([member r]), green ([member g]), and blue ([member b]) properties of " "[Color] are expected by Godot to be encoded using the [url=https://" "en.wikipedia.org/wiki/SRGB#Transfer_function_(%22gamma%22)]nonlinear sRGB " "transfer function[/url] unless otherwise stated. This color encoding is used " "by many traditional art and web tools, making it easy to match colors " "between Godot and these tools. Godot uses [url=https://en.wikipedia.org/wiki/" "Rec._709]Rec. ITU-R BT.709[/url] color primaries, which are used by the sRGB " "standard.\n" "All physical simulation, such as lighting calculations, and colorimetry " "transformations, such as [method get_luminance], must be performed on " "linearly encoded values to produce correct results. When performing these " "calculations, convert [Color] to and from linear encoding using [method " "srgb_to_linear] and [method linear_to_srgb].\n" "[b]Note:[/b] In a boolean context, a Color will evaluate to [code]false[/" "code] if it is equal to [code]Color(0, 0, 0, 1)[/code] (opaque black). " "Otherwise, a Color will always evaluate to [code]true[/code]." msgstr "" "由紅([member r])、綠([member g])、藍([member b])和 alpha([member a])" "分量表示的 RGBA 格式的顏色。每個分量都是一個 16 位浮點值,通常介於 " "[code]0.0[/code] 到 [code]1.0[/code] 之間。某些屬性(例如 [member " "CanvasItem.modulate])可能支援大於 [code]1.0[/code] 的值,用於表示過亮或 HDR" "(High Dynamic Range,高動態範圍)顏色。\n" "建立顏色的方法有很多:可以使用 [Color] 的各種建構子,[method from_hsv] 等靜態" "方法,以及使用基於 [url=https://en.wikipedia.org/wiki/X11_color_names]X11 顏" "色名稱[/url]的標準化顏色集外加 [constant TRANSPARENT]。GDScript 還提供了 " "[method @GDScript.Color8],使用的是 [code]0[/code] 到 [code]255[/code] 之間的" "整數,但不支援過亮的顏色。\n" "[b]注意:[/b]在布林本文中,等於 [code]Color(0, 0, 0, 1)[/code](不透明的黑" "色)的 Color 將被評估為 [code]false[/code]。否則,Color 將始終被評估為 " "[code]true[/code]。\n" "[url=https://raw.githubusercontent.com/godotengine/godot-docs/4.1/img/" "color_constants.png]Color 常數速查表[/url]" #: doc/classes/Color.xml doc/classes/ColorPickerButton.xml msgid "2D GD Paint Demo" msgstr "2D GD 畫圖演示" #: doc/classes/Color.xml doc/classes/ColorPicker.xml #, fuzzy msgid "Tween Interpolation Demo" msgstr "線性插值。" #: doc/classes/Color.xml doc/classes/ColorPickerButton.xml msgid "GUI Drag And Drop Demo" msgstr "GUI 拖放演示" #: doc/classes/Color.xml #, fuzzy msgid "" "Constructs a default [Color] from opaque black. This is the same as " "[constant BLACK].\n" "[b]Note:[/b] In C#, this constructs a [Color] with all of its components set " "to [code]0.0[/code] (transparent black)." msgstr "" "用不透明的黑色建構預設的 [Color],與 [constant BLACK] 相同。\n" "[b]注意:[/b]在 C# 中建構的空顏色,其所有分量都為 [code]0.0[/code](透明" "黑)。" #: doc/classes/Color.xml msgid "" "Constructs a [Color] from the existing color, with [member a] set to the " "given [param alpha] value.\n" "[codeblocks]\n" "[gdscript]\n" "var red = Color(Color.RED, 0.2) # 20% opaque red.\n" "[/gdscript]\n" "[csharp]\n" "var red = new Color(Colors.Red, 0.2f); // 20% opaque red.\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "從現有的顏色建構 [Color],[member a] 設定為給定的 [param alpha] 值。\n" "[codeblocks]\n" "[gdscript]\n" "var red = Color(Color.RED, 0.2) # 20% 不透明紅色。\n" "[/gdscript]\n" "[csharp]\n" "var red = new Color(Colors.Red, 0.2f); // 20% 不透明紅色。\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "Constructs a [Color] as a copy of the given [Color]." msgstr "建構給定 [Color] 的副本。" #: doc/classes/Color.xml msgid "" "Constructs a [Color] either from an HTML color code or from a standardized " "color name. The supported color names are the same as the constants." msgstr "" "從 HTML 顏色程式碼或標準化的顏色名稱中建構 [Color]。支援的顏色名稱與常數名相" "同。" #: doc/classes/Color.xml msgid "" "Constructs a [Color] either from an HTML color code or from a standardized " "color name, with [param alpha] on the range of 0.0 to 1.0. The supported " "color names are the same as the constants." msgstr "" "從 HTML 顏色程式碼或標準化的顏色名稱中建構 [Color],[param alpha] 的範圍為 " "0.0 到 1.0。支援的顏色名稱與常數名相同。" #: doc/classes/Color.xml #, fuzzy msgid "" "Constructs a [Color] from RGB values, typically between 0.0 and 1.0. [member " "a] is set to 1.0.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(0.2, 1.0, 0.7) # Similar to `Color.from_rgba8(51, 255, " "178, 255)`\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(0.2f, 1.0f, 0.7f); // Similar to `Color.Color8(51, " "255, 178, 255)`\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "從通常介於 0.0 和 1.0 之間的 RGB 值建構一個 [Color]。[member a] 被設定為 " "1.0。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(0.2, 1.0, 0.7) # 類似於 `Color8(51, 255, 178, 255)`\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(0.2f, 1.0f, 0.7f); // 類似於 `Color.Color8(51, 255, " "178, 255)`\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml #, fuzzy msgid "" "Constructs a [Color] from RGBA values, typically between 0.0 and 1.0.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(0.2, 1.0, 0.7, 0.8) # Similar to `Color.from_rgba8(51, " "255, 178, 204)`\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // Similar to " "`Color.Color8(51, 255, 178, 255, 204)`\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "從通常介於 0.0 和 1.0 之間的 RGBA 值建構一個 [Color]。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(0.2, 1.0, 0.7, 0.8) # 類似於 `Color8(51, 255, 178, 204)`\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // 類似於 `Color.Color8(51, " "255, 178, 255, 204)`\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns a new color resulting from overlaying this color over the given " "color. In a painting program, you can imagine it as the [param over] color " "painted over this color (including alpha).\n" "[codeblocks]\n" "[gdscript]\n" "var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%\n" "var fg = Color(1.0, 0.0, 0.0, 0.5) # Red with alpha of 50%\n" "var blended_color = bg.blend(fg) # Brown with alpha of 75%\n" "[/gdscript]\n" "[csharp]\n" "var bg = new Color(0.0f, 1.0f, 0.0f, 0.5f); // Green with alpha of 50%\n" "var fg = new Color(1.0f, 0.0f, 0.0f, 0.5f); // Red with alpha of 50%\n" "Color blendedColor = bg.Blend(fg); // Brown with alpha of 75%\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回將該顏色混合到給定顏色上所產生的新顏色。在繪畫程式中,你可以將其想像為在" "該顏色(包括 alpha)上繪製的 [param over] 顏色。\n" "[codeblocks]\n" "[gdscript]\n" "var bg = Color(0.0, 1.0, 0.0, 0.5) # 50% 不透明的綠色\n" "var fg = Color(1.0, 0.0, 0.0, 0.5) # 50% 不透明的紅色\n" "var blended_color = bg.blend(fg) # 75% 不透明的棕色\n" "[/gdscript]\n" "[csharp]\n" "var bg = new Color(0.0f, 1.0f, 0.0f, 0.5f); // 50% 不透明的綠色\n" "var fg = new Color(1.0f, 0.0f, 0.0f, 0.5f); // 50% 不透明的紅色\n" "Color blendedColor = bg.Blend(fg); // 75% 不透明的棕色\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns a new color with all components clamped between the components of " "[param min] and [param max], by running [method @GlobalScope.clamp] on each " "component." msgstr "" "通過在每個分量上運作 [method @GlobalScope.clamp],返回一種新顏色,其中所有分" "量都被鉗制在 [param min] 和 [param max] 的分量之間。" #: doc/classes/Color.xml msgid "" "Returns a new color resulting from making this color darker by the specified " "[param amount] (ratio from 0.0 to 1.0). See also [method lightened].\n" "[codeblocks]\n" "[gdscript]\n" "var green = Color(0.0, 1.0, 0.0)\n" "var darkgreen = green.darkened(0.2) # 20% darker than regular green\n" "[/gdscript]\n" "[csharp]\n" "var green = new Color(0.0f, 1.0f, 0.0f);\n" "Color darkgreen = green.Darkened(0.2f); // 20% darker than regular green\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回通過指定 [param amount](從 0.0 到 1.0 的比率)使該顏色變暗而產生的新顏" "色。另見 [method lightened]。\n" "[codeblocks]\n" "[gdscript]\n" "var green = Color(0.0, 1.0, 0.0)\n" "var darkgreen = green.darkened(0.2) # 比普通的綠色深 20%\n" "[/gdscript]\n" "[csharp]\n" "var green = new Color(0.0f, 1.0f, 0.0f);\n" "Color darkgreen = green.Darkened(0.2f); // 比普通的綠色深 20%\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Constructs a color from an [url=https://en.wikipedia.org/wiki/" "HSL_and_HSV]HSV profile[/url]. The hue ([param h]), saturation ([param s]), " "and value ([param v]) are typically between 0.0 and 1.0.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var color = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f);\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "根據 [url=https://zh.wikipedia.org/wiki/" "HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4]HSV 配置[/url]建構顏色。" "色相([param h])、飽和度([param s])和值([param v])通常在 0.0 和 1.0 之" "間。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color.from_hsv(0.58, 0.5, 0.79, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var color = Color.FromHsv(0.58f, 0.5f, 0.79f, 0.8f);\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Constructs a color from an [url=https://bottosson.github.io/posts/" "colorpicker/]OK HSL profile[/url]. The hue ([param h]), saturation ([param " "s]), and lightness ([param l]) are typically between 0.0 and 1.0.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color.from_ok_hsl(0.58, 0.5, 0.79, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var color = Color.FromOkHsl(0.58f, 0.5f, 0.79f, 0.8f);\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "根據 [url=https://bottosson.github.io/posts/colorpicker/]OK HSL 配置[/url]構" "建顏色。色相([param h])、飽和度([param s])和亮度([param l])通常在 0.0 " "和 1.0 之間。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color.from_ok_hsl(0.58, 0.5, 0.79, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var color = Color.FromOkHsl(0.58f, 0.5f, 0.79f, 0.8f);\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns a [Color] constructed from red ([param r8]), green ([param g8]), " "blue ([param b8]), and optionally alpha ([param a8]) integer channels, each " "divided by [code]255.0[/code] for their final value.\n" "[codeblock]\n" "var red = Color.from_rgba8(255, 0, 0) # Same as Color(1, 0, 0).\n" "var dark_blue = Color.from_rgba8(0, 0, 51) # Same as Color(0, 0, " "0.2).\n" "var my_color = Color.from_rgba8(306, 255, 0, 102) # Same as Color(1.2, 1, 0, " "0.4).\n" "[/codeblock]\n" "[b]Note:[/b] Due to the lower precision of [method from_rgba8] compared to " "the standard [Color] constructor, a color created with [method from_rgba8] " "will generally not be equal to the same color created with the standard " "[Color] constructor. Use [method is_equal_approx] for comparisons to avoid " "issues with floating-point precision error." msgstr "" "返回一個由整數紅通道([param r8])、綠通道([param g8])、藍通道([param " "b8])和可選的 Alpha 通道([param a8])建構的 [Color],每個通道的最終值都會除" "以 [code]255.0[/code]。如果你需要精確配對 [Image] 中的顏色值,[method " "Color8] 比標準的 [Color] 建構子更有用。\n" "[codeblock]\n" "var red = Color8(255, 0, 0) # 與 Color(1, 0, 0) 相同\n" "var dark_blue = Color8(0, 0, 51) # 與 Color(0, 0, 0.2) 相同。\n" "var my_color = Color8(306, 255, 0, 102) # 與 Color(1.2, 1, 0, 0.4) 相同。\n" "[/codeblock]\n" "[b]注意:[/b]因為 [method Color8] 比標準 [Color] 建構子精度更低,所以使用 " "[method Color8] 建立的顏色通常與使用標準 [Color] 建構子建立的相同顏色不相等。" "請使用 [method Color.is_equal_approx] 進行比較,避免浮點數精度誤差。" #: doc/classes/Color.xml #, fuzzy msgid "" "Decodes a [Color] from an RGBE9995 format integer. See [constant " "Image.FORMAT_RGBE9995]." msgstr "" "從 RGBE9995 格式的整數解碼 [Color]。見 [constant Image.FORMAT_RGBE9995]。" #: doc/classes/Color.xml #, fuzzy msgid "" "Creates a [Color] from the given string, which can be either an HTML color " "code or a named color (case-insensitive). Returns [param default] if the " "color cannot be inferred from the string.\n" "If you want to create a color from String in a constant expression, use the " "equivalent constructor instead (i.e. [code]Color(\"color string\")[/code])." msgstr "" "從給定的字串建立 [Color],該字串可以是 HTML 顏色程式碼,也可以是顏色名稱(不" "區分大小寫)。如果無法從字串中推斷出顏色,則返回 [param default]。" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns the light intensity of the color, as a value between 0.0 and 1.0 " "(inclusive). This is useful when determining light or dark color. Colors " "with a luminance smaller than 0.5 can be generally considered dark.\n" "[b]Note:[/b] [method get_luminance] relies on the color using linear " "encoding to return an accurate relative luminance value. If the color uses " "the default nonlinear sRGB encoding, use [method srgb_to_linear] to convert " "it to linear encoding first." msgstr "" "將顏色的光照強度返回為一個介於 0.0 和 1.0(包含)之間的值。這在確定淺色或深色" "時很有用。亮度小於 0.5 的顏色通常可以認為是深色。\n" "[b]注意:[/b][method get_luminance] 依賴於線性色彩空間中的顏色,以返回準確的" "相對亮度值。如果顏色在 sRGB 色彩空間,請先使用 [method srgb_to_linear] 將其轉" "換為線性色彩空間。" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns the [Color] associated with the provided [param hex] integer in 32-" "bit RGBA format (8 bits per channel). This method is the inverse of [method " "to_rgba32].\n" "In GDScript and C#, the [int] is best visualized with hexadecimal notation " "([code]\"0x\"[/code] prefix, making it [code]\"0xRRGGBBAA\"[/code]).\n" "[codeblocks]\n" "[gdscript]\n" "var red = Color.hex(0xff0000ff)\n" "var dark_cyan = Color.hex(0x008b8bff)\n" "var my_color = Color.hex(0xbbefd2a4)\n" "[/gdscript]\n" "[csharp]\n" "var red = new Color(0xff0000ff);\n" "var dark_cyan = new Color(0x008b8bff);\n" "var my_color = new Color(0xbbefd2a4);\n" "[/csharp]\n" "[/codeblocks]\n" "If you want to use hex notation in a constant expression, use the equivalent " "constructor instead (i.e. [code]Color(0xRRGGBBAA)[/code])." msgstr "" "返回與提供的整數 [param hex] 相關聯的 [Color],使用 32 位 RGBA 格式(每通道 " "8 位)。\n" "在 GDScript 和 C# 中,展示該 [int] 的最好方法是十六進位標記法(使用 [code]" "\"0x\"[/code] 前綴,得到 [code]\"0xRRGGBBAA\"[/code])。\n" "[codeblocks]\n" "[gdscript]\n" "var red = Color.hex(0xff0000ff)\n" "var dark_cyan = Color.hex(0x008b8bff)\n" "var my_color = Color.hex(0xbbefd2a4)\n" "[/gdscript]\n" "[csharp]\n" "var red = new Color(0xff0000ff);\n" "var dark_cyan = new Color(0x008b8bff);\n" "var my_color = new Color(0xbbefd2a4);\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns the [Color] associated with the provided [param hex] integer in 64-" "bit RGBA format (16 bits per channel). This method is the inverse of [method " "to_rgba64].\n" "In GDScript and C#, the [int] is best visualized with hexadecimal notation " "([code]\"0x\"[/code] prefix, making it [code]\"0xRRRRGGGGBBBBAAAA\"[/code])." msgstr "" "返回與提供的整數 [param hex] 相關聯的 [Color],使用 64 位 RGBA 格式(每通道 " "8 位)。\n" "在 GDScript 和 C# 中,展示該 [int] 的最好方法是十六進位標記法(使用 [code]" "\"0x\"[/code] 前綴,得到 [code]\"0xRRRRGGGGBBBBAAAA\"[/code])。" #: doc/classes/Color.xml msgid "" "Returns a new color from [param rgba], an HTML hexadecimal color string. " "[param rgba] is not case-sensitive, and may be prefixed by a hash sign " "([code]#[/code]).\n" "[param rgba] must be a valid three-digit or six-digit hexadecimal color " "string, and may contain an alpha channel value. If [param rgba] does not " "contain an alpha channel value, an alpha channel value of 1.0 is applied. If " "[param rgba] is invalid, returns an empty color.\n" "[codeblocks]\n" "[gdscript]\n" "var blue = Color.html(\"#0000ff\") # blue is Color(0.0, 0.0, 1.0, 1.0)\n" "var green = Color.html(\"#0F0\") # green is Color(0.0, 1.0, 0.0, 1.0)\n" "var col = Color.html(\"663399cc\") # col is Color(0.4, 0.2, 0.6, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var blue = Color.FromHtml(\"#0000ff\"); // blue is Color(0.0, 0.0, 1.0, " "1.0)\n" "var green = Color.FromHtml(\"#0F0\"); // green is Color(0.0, 1.0, 0.0, " "1.0)\n" "var col = Color.FromHtml(\"663399cc\"); // col is Color(0.4, 0.2, 0.6, 0.8)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "從 HTML 十六進位顏色字串 [param rgba] 返回一個新顏色。[param rgba] 不區分大小" "寫,可以使用雜湊符號([code]#[/code])作為前綴。\n" "[param rgba] 必須是有效的三位或六位元十六進位顏色字串,並且可以包含 alpha 通" "道值。如果 [param rgba] 不包含 alpha 通道值,則套用 alpha 通道值 1.0。如果 " "[param rgba] 無效,則返回一個空顏色。\n" "[codeblocks]\n" "[gdscript]\n" "var blue = Color.html(\"#0000ff\") # blue 為 Color(0.0, 0.0, 1.0, 1.0)\n" "var green = Color.html(\"#0F0\") # green 為 Color(0.0, 1.0, 0.0, 1.0)\n" "var col = Color.html(\"663399cc\") # col 為 Color(0.4, 0.2, 0.6, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var blue = Color.FromHtml(\"#0000ff\"); // blue 為 Color(0.0, 0.0, 1.0, " "1.0)\n" "var green = Color.FromHtml(\"#0F0\"); // green 為 Color(0.0, 1.0, 0.0, " "1.0)\n" "var col = Color.FromHtml(\"663399cc\"); // col 為 Color(0.4, 0.2, 0.6, 0.8)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns [code]true[/code] if [param color] is a valid HTML hexadecimal color " "string. The string must be a hexadecimal value (case-insensitive) of either " "3, 4, 6 or 8 digits, and may be prefixed by a hash sign ([code]#[/code]). " "This method is identical to [method String.is_valid_html_color].\n" "[codeblocks]\n" "[gdscript]\n" "Color.html_is_valid(\"#55aaFF\") # Returns true\n" "Color.html_is_valid(\"#55AAFF20\") # Returns true\n" "Color.html_is_valid(\"55AAFF\") # Returns true\n" "Color.html_is_valid(\"#F2C\") # Returns true\n" "\n" "Color.html_is_valid(\"#AABBC\") # Returns false\n" "Color.html_is_valid(\"#55aaFF5\") # Returns false\n" "[/gdscript]\n" "[csharp]\n" "Color.HtmlIsValid(\"#55AAFF\"); // Returns true\n" "Color.HtmlIsValid(\"#55AAFF20\"); // Returns true\n" "Color.HtmlIsValid(\"55AAFF\"); // Returns true\n" "Color.HtmlIsValid(\"#F2C\"); // Returns true\n" "\n" "Color.HtmlIsValid(\"#AABBC\"); // Returns false\n" "Color.HtmlIsValid(\"#55aaFF5\"); // Returns false\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "如果 [param color] 是一個有效的 HTML 十六進位顏色字串,則返回 [code]true[/" "code]。該字串必須是一個由 3、4、6 或 8 位元數位組成的十六進位值(不區分大小" "寫),並且可以以井號 ([code]#[/code]) 作為前綴。該方法與 [method " "String.is_valid_html_color] 相同。\n" "[codeblocks]\n" "[gdscript]\n" "Color.html_is_valid(\"#55aaFF\") # 返回 true\n" "Color.html_is_valid(\"#55AAFF20\") # 返回 true\n" "Color.html_is_valid(\"55AAFF\") # 返回 true\n" "Color.html_is_valid(\"#F2C\") # 返回 true\n" "\n" "Color.html_is_valid(\"#AABBC) # 返回 false\n" "Color.html_is_valid(\"#55aaFF5\") # 返回 false\n" "[/gdscript]\n" "[csharp]\n" "Color.HtmlIsValid(\"#55AAFF\"); // 返回 true\n" "Color.HtmlIsValid(\"#55AAFF20\"); // 返回 true\n" "Color.HtmlIsValid(\"55AAFF\"); // 返回 true\n" "Color.HtmlIsValid(\"#F2C\"); // 返回 true\n" "\n" "Color.HtmlIsValid(\"#AABBC\"); // 返回 false\n" "Color.HtmlIsValid(\"#55aaFF5\"); // 返回 false\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns the color with its [member r], [member g], and [member b] components " "inverted ([code](1 - r, 1 - g, 1 - b, a)[/code]).\n" "[codeblocks]\n" "[gdscript]\n" "var black = Color.WHITE.inverted()\n" "var color = Color(0.3, 0.4, 0.9)\n" "var inverted_color = color.inverted() # Equivalent to `Color(0.7, 0.6, " "0.1)`\n" "[/gdscript]\n" "[csharp]\n" "var black = Colors.White.Inverted();\n" "var color = new Color(0.3f, 0.4f, 0.9f);\n" "Color invertedColor = color.Inverted(); // Equivalent to `new Color(0.7f, " "0.6f, 0.1f)`\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回將 [member r]、[member g]、[member b] 分量翻轉後的顏色([code](1 - r, 1 " "- g, 1 - b, a)[/code])。\n" "[codeblocks]\n" "[gdscript]\n" "var black = Color.WHITE.inverted()\n" "var color = Color(0.3, 0.4, 0.9)\n" "var inverted_color = color.inverted() # 等價於 `Color(0.7, 0.6, 0.1)`\n" "[/gdscript]\n" "[csharp]\n" "var black = Colors.White.Inverted();\n" "var color = new Color(0.3f, 0.4f, 0.9f);\n" "Color invertedColor = color.Inverted(); // 等價於 `new Color(0.7f, 0.6f, " "0.1f)`\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns [code]true[/code] if this color and [param to] are approximately " "equal, by running [method @GlobalScope.is_equal_approx] on each component." msgstr "" "如果該顏色和 [param to] 近似相等,則返回 [code]true[/code],判斷近似相等的方" "法是通過在每個分量上運作 [method @GlobalScope.is_equal_approx]。" #: doc/classes/Color.xml msgid "" "Returns the linear interpolation between this color's components and [param " "to]'s components. The interpolation factor [param weight] should be between " "0.0 and 1.0 (inclusive). See also [method @GlobalScope.lerp].\n" "[codeblocks]\n" "[gdscript]\n" "var red = Color(1.0, 0.0, 0.0)\n" "var aqua = Color(0.0, 1.0, 0.8)\n" "\n" "red.lerp(aqua, 0.2) # Returns Color(0.8, 0.2, 0.16)\n" "red.lerp(aqua, 0.5) # Returns Color(0.5, 0.5, 0.4)\n" "red.lerp(aqua, 1.0) # Returns Color(0.0, 1.0, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var red = new Color(1.0f, 0.0f, 0.0f);\n" "var aqua = new Color(0.0f, 1.0f, 0.8f);\n" "\n" "red.Lerp(aqua, 0.2f); // Returns Color(0.8f, 0.2f, 0.16f)\n" "red.Lerp(aqua, 0.5f); // Returns Color(0.5f, 0.5f, 0.4f)\n" "red.Lerp(aqua, 1.0f); // Returns Color(0.0f, 1.0f, 0.8f)\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回將該顏色的分量和 [param to] 的分量進行線性插值的結果。插值係數 [param " "weight] 應該在 0.0 和 1.0 之間(閉區間)。另請參閱 [method " "@GlobalScope.lerp]。\n" "[codeblocks]\n" "[gdscript]\n" "var red = Color(1.0, 0.0, 0.0)\n" "var aqua = Color(0.0, 1.0, 0.8)\n" "\n" "red.lerp(aqua, 0.2) # 返回 Color(0.8, 0.2, 0.16)\n" "red.lerp(aqua, 0.5) # 返回 Color(0.5, 0.5, 0.4)\n" "red.lerp(aqua, 1.0) # 返回 Color(0.0, 1.0, 0.8)\n" "[/gdscript]\n" "[csharp]\n" "var red = new Color(1.0f, 0.0f, 0.0f);\n" "var aqua = new Color(0.0f, 1.0f, 0.8f);\n" "\n" "red.Lerp(aqua, 0.2f); // 返回 Color(0.8f, 0.2f, 0.16f)\n" "red.Lerp(aqua, 0.5f); // 返回 Color(0.5f, 0.5f, 0.4f)\n" "red.Lerp(aqua, 1.0f); // 返回 Color(0.0f, 1.0f, 0.8f)\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns a new color resulting from making this color lighter by the " "specified [param amount], which should be a ratio from 0.0 to 1.0. See also " "[method darkened].\n" "[codeblocks]\n" "[gdscript]\n" "var green = Color(0.0, 1.0, 0.0)\n" "var light_green = green.lightened(0.2) # 20% lighter than regular green\n" "[/gdscript]\n" "[csharp]\n" "var green = new Color(0.0f, 1.0f, 0.0f);\n" "Color lightGreen = green.Lightened(0.2f); // 20% lighter than regular green\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回通過指定 [param amount](從 0.0 到 1.0 的比率)使該顏色變亮而產生的新顏" "色。另見 [method darkened]。\n" "[codeblocks]\n" "[gdscript]\n" "var green = Color(0.0, 1.0, 0.0)\n" "var light_green = green.lightened(0.2) # 比普通的綠色要淡 20%\n" "[/gdscript]\n" "[csharp]\n" "var green = new Color(0.0f, 1.0f, 0.0f);\n" "Color lightGreen = green.Lightened(0.2f); // 比普通的綠色要淡 20%\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns a copy of the color that is encoded using the [url=https://" "en.wikipedia.org/wiki/SRGB]nonlinear sRGB transfer function[/url]. This " "method requires the original color to use linear encoding. See also [method " "srgb_to_linear] which performs the opposite operation.\n" "[b]Note:[/b] The color's alpha channel ([member a]) is not affected. The " "alpha channel is always stored with linear encoding, regardless of the color " "space of the other color channels." msgstr "" "返回轉換到 [url=https://en.wikipedia.org/wiki/SRGB]sRGB[/url] 色彩空間的顏" "色。該方法假定原始顏色位於線性色彩空間中。另請參閱執行相反操作的 [method " "srgb_to_linear]。" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns a copy of the color that uses linear encoding. This method requires " "the original color to be encoded using the [url=https://en.wikipedia.org/" "wiki/SRGB]nonlinear sRGB transfer function[/url]. See also [method " "linear_to_srgb] which performs the opposite operation.\n" "[b]Note:[/b] The color's alpha channel ([member a]) is not affected. The " "alpha channel is always stored with linear encoding, regardless of the color " "space of the other color channels." msgstr "" "返回轉換到線性色彩空間的顏色。該方法假定原始顏色已經在 sRGB 色彩空間中。另請" "參見執行相反操作的 [method linear_to_srgb]。" #: doc/classes/Color.xml msgid "" "Returns the color converted to a 32-bit integer in ABGR format (each " "component is 8 bits). ABGR is the reversed version of the default RGBA " "format.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_abgr32()) # Prints 4281565439\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToAbgr32()); // Prints 4281565439\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回轉換為 ABGR 格式(每個分量為 8 位)的 32 位元整數的顏色。ABGR 是預設 " "RGBA 格式的反轉版本。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_abgr32()) # 輸出 4281565439\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToAbgr32()); // 輸出 4281565439\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns the color converted to a 64-bit integer in ABGR format (each " "component is 16 bits). ABGR is the reversed version of the default RGBA " "format.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_abgr64()) # Prints -225178692812801\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToAbgr64()); // Prints -225178692812801\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回轉換為 ABGR 格式(每個分量為 16 位)的 64 位元整數的顏色。ABGR 是預設 " "RGBA 格式的反轉版本。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_abgr64()) # 輸出 -225178692812801\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToAbgr64()); // 輸出 -225178692812801\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns the color converted to a 32-bit integer in ARGB format (each " "component is 8 bits). ARGB is more compatible with DirectX.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_argb32()) # Prints 4294934323\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToArgb32()); // Prints 4294934323\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回轉換為 ARGB 格式(每個分量為 8 位)的 32 位元整數的顏色。ARGB 與 DirectX " "更相容。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_argb32()) # 輸出 4294934323\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToArgb32()); // 輸出 4294934323\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns the color converted to a 64-bit integer in ARGB format (each " "component is 16 bits). ARGB is more compatible with DirectX.\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_argb64()) # Prints -2147470541\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToArgb64()); // Prints -2147470541\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回轉換為 ARGB 格式(每個分量為 16 位)的 64 位元整數的顏色。ARGB 與 " "DirectX 更相容。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_argb64()) # 輸出 -2147470541\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1.0f, 0.5f, 0.2f);\n" "GD.Print(color.ToArgb64()); // 輸出 -2147470541\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "Returns the color converted to an HTML hexadecimal color [String] in RGBA " "format, without the hash ([code]#[/code]) prefix.\n" "Setting [param with_alpha] to [code]false[/code], excludes alpha from the " "hexadecimal string, using RGB format instead of RGBA format.\n" "[codeblocks]\n" "[gdscript]\n" "var white = Color(1, 1, 1, 0.5)\n" "var with_alpha = white.to_html() # Returns \"ffffff7f\"\n" "var without_alpha = white.to_html(false) # Returns \"ffffff\"\n" "[/gdscript]\n" "[csharp]\n" "var white = new Color(1, 1, 1, 0.5f);\n" "string withAlpha = white.ToHtml(); // Returns \"ffffff7f\"\n" "string withoutAlpha = white.ToHtml(false); // Returns \"ffffff\"\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回將該顏色轉換為 RGBA 格式的 HTML 十六進位顏色 [String],不帶([code]#[/" "code])前綴。\n" "將 [param with_alpha] 設定為 [code]false[/code],會從十六進位字串中排除 " "alpha,使用 RGB 格式而不是 RGBA 格式。\n" "[codeblocks]\n" "[gdscript]\n" "var white = Color(1, 1, 1, 0.5)\n" "var with_alpha = white.to_html() # 返回 \"ffffff7f\"\n" "var without_alpha = white.to_html(false) # 返回 \"ffffff\"\n" "[/gdscript]\n" "[csharp]\n" "var white = new Color(1, 1, 1, 0.5f);\n" "string withAlpha = white.ToHtml(); // 返回 \"ffffff7f\"\n" "string withoutAlpha = white.ToHtml(false); // 返回 \"ffffff\"\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns the color converted to a 32-bit integer in RGBA format (each " "component is 8 bits). RGBA is Godot's default format. This method is the " "inverse of [method hex].\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_rgba32()) # Prints 4286526463\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1, 0.5f, 0.2f);\n" "GD.Print(color.ToRgba32()); // Prints 4286526463\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回轉換為 RGBA 格式(每個分量為 8 位)的 32 位元整數的顏色。RGBA 是 Godot 的" "默認格式。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_rgba32()) # 輸出 4286526463\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1, 0.5f, 0.2f);\n" "GD.Print(color.ToRgba32()); // 輸出 4286526463\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml #, fuzzy msgid "" "Returns the color converted to a 64-bit integer in RGBA format (each " "component is 16 bits). RGBA is Godot's default format. This method is the " "inverse of [method hex64].\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_rgba64()) # Prints -140736629309441\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1, 0.5f, 0.2f);\n" "GD.Print(color.ToRgba64()); // Prints -140736629309441\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "返回轉換為 RGBA 格式(每個分量為 16 位)的 64 位元整數的顏色。RGBA 是 Godot " "的預設格式。\n" "[codeblocks]\n" "[gdscript]\n" "var color = Color(1, 0.5, 0.2)\n" "print(color.to_rgba64()) # 輸出 -140736629309441\n" "[/gdscript]\n" "[csharp]\n" "var color = new Color(1, 0.5f, 0.2f);\n" "GD.Print(color.ToRgba64()); // 輸出 -140736629309441\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Color.xml msgid "" "The color's alpha component, typically on the range of 0 to 1. A value of 0 " "means that the color is fully transparent. A value of 1 means that the color " "is fully opaque.\n" "[b]Note:[/b] The alpha channel is always stored with linear encoding, " "regardless of the encoding of the other color channels. The [method " "linear_to_srgb] and [method srgb_to_linear] methods do not affect the alpha " "channel." msgstr "" #: doc/classes/Color.xml msgid "Wrapper for [member a] that uses the range 0 to 255, instead of 0 to 1." msgstr "對 [member a] 的封裝,使用 0 到 255 的範圍而不是 0 到 1。" #: doc/classes/Color.xml msgid "The color's blue component, typically on the range of 0 to 1." msgstr "顏色的藍色分量,一般在 0 到 1 的範圍內。" #: doc/classes/Color.xml msgid "Wrapper for [member b] that uses the range 0 to 255, instead of 0 to 1." msgstr "對 [member b] 的封裝,使用 0 到 255 的範圍而不是 0 到 1。" #: doc/classes/Color.xml msgid "The color's green component, typically on the range of 0 to 1." msgstr "顏色的綠色分量,一般在 0 到 1 的範圍內。" #: doc/classes/Color.xml msgid "Wrapper for [member g] that uses the range 0 to 255, instead of 0 to 1." msgstr "對 [member g] 的封裝,使用 0 到 255 的範圍而不是 0 到 1。" #: doc/classes/Color.xml msgid "The HSV hue of this color, on the range 0 to 1." msgstr "這個顏色的 HSV 色相,範圍是 0 到 1。" #: doc/classes/Color.xml #, fuzzy msgid "The OKHSL hue of this color, on the range 0 to 1." msgstr "這個顏色的 HSV 色相,範圍是 0 到 1。" #: doc/classes/Color.xml #, fuzzy msgid "The OKHSL lightness of this color, on the range 0 to 1." msgstr "這個顏色的 HSV 值(亮度),範圍為 0 至 1。" #: doc/classes/Color.xml #, fuzzy msgid "The OKHSL saturation of this color, on the range 0 to 1." msgstr "這個顏色的 HSV 飽和度,範圍為 0 到 1。" #: doc/classes/Color.xml msgid "The color's red component, typically on the range of 0 to 1." msgstr "顏色的紅色分量,通常在 0 到 1 的範圍內。" #: doc/classes/Color.xml msgid "Wrapper for [member r] that uses the range 0 to 255, instead of 0 to 1." msgstr "對 [member r] 的封裝,使用 0 到 255 的範圍而不是 0 到 1。" #: doc/classes/Color.xml msgid "The HSV saturation of this color, on the range 0 to 1." msgstr "這個顏色的 HSV 飽和度,範圍為 0 到 1。" #: doc/classes/Color.xml msgid "The HSV value (brightness) of this color, on the range 0 to 1." msgstr "這個顏色的 HSV 值(亮度),範圍為 0 至 1。" #: doc/classes/Color.xml msgid "Alice blue color." msgstr "愛麗絲藍。" #: doc/classes/Color.xml msgid "Antique white color." msgstr "古董白。" #: doc/classes/Color.xml msgid "Aqua color." msgstr "水色。" #: doc/classes/Color.xml msgid "Aquamarine color." msgstr "海藍色。" #: doc/classes/Color.xml msgid "Azure color." msgstr "天藍色。" #: doc/classes/Color.xml msgid "Beige color." msgstr "米黃色。" #: doc/classes/Color.xml msgid "Bisque color." msgstr "橘黃色。" #: doc/classes/Color.xml msgid "Black color. In GDScript, this is the default value of any color." msgstr "黑色。在 GDScript 中,這是所有顏色的預設值。" #: doc/classes/Color.xml msgid "Blanched almond color." msgstr "杏仁白色。" #: doc/classes/Color.xml msgid "Blue color." msgstr "藍色。" #: doc/classes/Color.xml msgid "Blue violet color." msgstr "藍紫色的顏色。" #: doc/classes/Color.xml msgid "Brown color." msgstr "棕色。" #: doc/classes/Color.xml msgid "Burlywood color." msgstr "硬木色。" #: doc/classes/Color.xml msgid "Cadet blue color." msgstr "軍服藍。" #: doc/classes/Color.xml msgid "Chartreuse color." msgstr "黃褐色。" #: doc/classes/Color.xml msgid "Chocolate color." msgstr "巧克力色。" #: doc/classes/Color.xml msgid "Coral color." msgstr "珊瑚色。" #: doc/classes/Color.xml msgid "Cornflower blue color." msgstr "矢車菊藍色。" #: doc/classes/Color.xml msgid "Cornsilk color." msgstr "玉米須色。" #: doc/classes/Color.xml msgid "Crimson color." msgstr "緋紅的顏色。" #: doc/classes/Color.xml msgid "Cyan color." msgstr "青色。" #: doc/classes/Color.xml msgid "Dark blue color." msgstr "深藍色。" #: doc/classes/Color.xml msgid "Dark cyan color." msgstr "深青色。" #: doc/classes/Color.xml msgid "Dark goldenrod color." msgstr "深色菊科植物的顏色。" #: doc/classes/Color.xml msgid "Dark gray color." msgstr "深灰色。" #: doc/classes/Color.xml msgid "Dark green color." msgstr "深綠色。" #: doc/classes/Color.xml msgid "Dark khaki color." msgstr "深卡其色。" #: doc/classes/Color.xml msgid "Dark magenta color." msgstr "深洋紅色。" #: doc/classes/Color.xml msgid "Dark olive green color." msgstr "深橄欖綠色。" #: doc/classes/Color.xml msgid "Dark orange color." msgstr "深橙色。" #: doc/classes/Color.xml msgid "Dark orchid color." msgstr "深色的蘭花色。" #: doc/classes/Color.xml msgid "Dark red color." msgstr "深紅色。" #: doc/classes/Color.xml msgid "Dark salmon color." msgstr "深鮭魚色。" #: doc/classes/Color.xml msgid "Dark sea green color." msgstr "深海綠色。" #: doc/classes/Color.xml msgid "Dark slate blue color." msgstr "深板藍的顏色。" #: doc/classes/Color.xml msgid "Dark slate gray color." msgstr "暗石板灰色。" #: doc/classes/Color.xml msgid "Dark turquoise color." msgstr "深綠松石色。" #: doc/classes/Color.xml msgid "Dark violet color." msgstr "深紫羅蘭色。" #: doc/classes/Color.xml msgid "Deep pink color." msgstr "深粉色。" #: doc/classes/Color.xml msgid "Deep sky blue color." msgstr "深邃的天藍色。" #: doc/classes/Color.xml msgid "Dim gray color." msgstr "暗灰色。" #: doc/classes/Color.xml msgid "Dodger blue color." msgstr "道奇藍色。" #: doc/classes/Color.xml msgid "Firebrick color." msgstr "耐火磚紅色。" #: doc/classes/Color.xml msgid "Floral white color." msgstr "花白色。" #: doc/classes/Color.xml msgid "Forest green color." msgstr "森林綠色。" #: doc/classes/Color.xml msgid "Fuchsia color." msgstr "洋紅色。" #: doc/classes/Color.xml msgid "Gainsboro color." msgstr "庚斯伯勒灰色。" #: doc/classes/Color.xml msgid "Ghost white color." msgstr "幽靈白顏色。" #: doc/classes/Color.xml msgid "Gold color." msgstr "金色。" #: doc/classes/Color.xml msgid "Goldenrod color." msgstr "金菊色。" #: doc/classes/Color.xml msgid "Gray color." msgstr "灰色。" #: doc/classes/Color.xml msgid "Green color." msgstr "綠色。" #: doc/classes/Color.xml msgid "Green yellow color." msgstr "綠黃色。" #: doc/classes/Color.xml msgid "Honeydew color." msgstr "蜜露色。" #: doc/classes/Color.xml msgid "Hot pink color." msgstr "亮粉色。" #: doc/classes/Color.xml msgid "Indian red color." msgstr "印度紅色。" #: doc/classes/Color.xml msgid "Indigo color." msgstr "靛青色。" #: doc/classes/Color.xml msgid "Ivory color." msgstr "象牙色。" #: doc/classes/Color.xml msgid "Khaki color." msgstr "卡其色。" #: doc/classes/Color.xml msgid "Lavender color." msgstr "薰衣草色。" #: doc/classes/Color.xml msgid "Lavender blush color." msgstr "薰衣草紫紅色。" #: doc/classes/Color.xml msgid "Lawn green color." msgstr "草坪綠色。" #: doc/classes/Color.xml msgid "Lemon chiffon color." msgstr "檸檬雪紡色。" #: doc/classes/Color.xml msgid "Light blue color." msgstr "淺藍色。" #: doc/classes/Color.xml msgid "Light coral color." msgstr "淺珊瑚色。" #: doc/classes/Color.xml msgid "Light cyan color." msgstr "淡青色。" #: doc/classes/Color.xml msgid "Light goldenrod color." msgstr "亮金菊黃色。" #: doc/classes/Color.xml msgid "Light gray color." msgstr "淺灰色。" #: doc/classes/Color.xml msgid "Light green color." msgstr "淺綠色。" #: doc/classes/Color.xml msgid "Light pink color." msgstr "淺粉色。" #: doc/classes/Color.xml msgid "Light salmon color." msgstr "淺鮭魚色。" #: doc/classes/Color.xml msgid "Light sea green color." msgstr "淺海綠色。" #: doc/classes/Color.xml msgid "Light sky blue color." msgstr "淺天藍色。" #: doc/classes/Color.xml msgid "Light slate gray color." msgstr "淺板岩灰色。" #: doc/classes/Color.xml msgid "Light steel blue color." msgstr "淺鋼藍色。" #: doc/classes/Color.xml msgid "Light yellow color." msgstr "淺黃色。" #: doc/classes/Color.xml msgid "Lime color." msgstr "青檸色。" #: doc/classes/Color.xml msgid "Lime green color." msgstr "石灰綠色。" #: doc/classes/Color.xml msgid "Linen color." msgstr "亞麻色。" #: doc/classes/Color.xml msgid "Magenta color." msgstr "洋紅色。" #: doc/classes/Color.xml msgid "Maroon color." msgstr "栗色。" #: doc/classes/Color.xml msgid "Medium aquamarine color." msgstr "中等海藍寶石色。" #: doc/classes/Color.xml msgid "Medium blue color." msgstr "中藍色。" #: doc/classes/Color.xml msgid "Medium orchid color." msgstr "中等蘭色。" #: doc/classes/Color.xml msgid "Medium purple color." msgstr "中等紫色。" #: doc/classes/Color.xml msgid "Medium sea green color." msgstr "中海綠色。" #: doc/classes/Color.xml msgid "Medium slate blue color." msgstr "中等板岩藍色。" #: doc/classes/Color.xml msgid "Medium spring green color." msgstr "中等春天綠色。" #: doc/classes/Color.xml msgid "Medium turquoise color." msgstr "中等綠松石色。" #: doc/classes/Color.xml msgid "Medium violet red color." msgstr "中等紫紅色。" #: doc/classes/Color.xml msgid "Midnight blue color." msgstr "午夜藍色。" #: doc/classes/Color.xml msgid "Mint cream color." msgstr "薄荷奶油色。" #: doc/classes/Color.xml msgid "Misty rose color." msgstr "朦朧的玫瑰色。" #: doc/classes/Color.xml msgid "Moccasin color." msgstr "鹿皮鞋顏色。" #: doc/classes/Color.xml msgid "Navajo white color." msgstr "納瓦白。" #: doc/classes/Color.xml msgid "Navy blue color." msgstr "藏青色。" #: doc/classes/Color.xml msgid "Old lace color." msgstr "舊蕾絲色。" #: doc/classes/Color.xml msgid "Olive color." msgstr "橄欖色。" #: doc/classes/Color.xml msgid "Olive drab color." msgstr "暗淡橄欖色。" #: doc/classes/Color.xml msgid "Orange color." msgstr "橙色。" #: doc/classes/Color.xml msgid "Orange red color." msgstr "橘紅色。" #: doc/classes/Color.xml msgid "Orchid color." msgstr "蘭花色。" #: doc/classes/Color.xml msgid "Pale goldenrod color." msgstr "淡金色。" #: doc/classes/Color.xml msgid "Pale green color." msgstr "淡綠色。" #: doc/classes/Color.xml msgid "Pale turquoise color." msgstr "淡綠松石色。" #: doc/classes/Color.xml msgid "Pale violet red color." msgstr "淡紫紅色。" #: doc/classes/Color.xml msgid "Papaya whip color." msgstr "木瓜鞭色。" #: doc/classes/Color.xml msgid "Peach puff color." msgstr "桃花粉。" #: doc/classes/Color.xml msgid "Peru color." msgstr "秘魯色。" #: doc/classes/Color.xml msgid "Pink color." msgstr "粉紅色。" #: doc/classes/Color.xml msgid "Plum color." msgstr "梅花色。" #: doc/classes/Color.xml msgid "Powder blue color." msgstr "淺藍色。" #: doc/classes/Color.xml msgid "Purple color." msgstr "紫色。" #: doc/classes/Color.xml msgid "Rebecca purple color." msgstr "麗蓓嘉紫色。" #: doc/classes/Color.xml msgid "Red color." msgstr "紅色。" #: doc/classes/Color.xml msgid "Rosy brown color." msgstr "玫瑰棕。" #: doc/classes/Color.xml msgid "Royal blue color." msgstr "寶藍色。" #: doc/classes/Color.xml msgid "Saddle brown color." msgstr "鞍棕色。" #: doc/classes/Color.xml msgid "Salmon color." msgstr "鮭魚色。" #: doc/classes/Color.xml msgid "Sandy brown color." msgstr "沙褐色。" #: doc/classes/Color.xml msgid "Sea green color." msgstr "海綠色。" #: doc/classes/Color.xml msgid "Seashell color." msgstr "貝殼色。" #: doc/classes/Color.xml msgid "Sienna color." msgstr "西恩娜色。" #: doc/classes/Color.xml msgid "Silver color." msgstr "銀色。" #: doc/classes/Color.xml msgid "Sky blue color." msgstr "天藍色。" #: doc/classes/Color.xml msgid "Slate blue color." msgstr "石板藍色。" #: doc/classes/Color.xml msgid "Slate gray color." msgstr "石板灰。" #: doc/classes/Color.xml msgid "Snow color." msgstr "雪白。" #: doc/classes/Color.xml msgid "Spring green color." msgstr "春綠。" #: doc/classes/Color.xml msgid "Steel blue color." msgstr "鋼藍色。" #: doc/classes/Color.xml msgid "Tan color." msgstr "棕褐色。" #: doc/classes/Color.xml msgid "Teal color." msgstr "青色。" #: doc/classes/Color.xml msgid "Thistle color." msgstr "薊色。" #: doc/classes/Color.xml msgid "Tomato color." msgstr "番茄色。" #: doc/classes/Color.xml msgid "Transparent color (white with zero alpha)." msgstr "透明色(Alpha 為零的白色)。" #: doc/classes/Color.xml msgid "Turquoise color." msgstr "松石綠。" #: doc/classes/Color.xml msgid "Violet color." msgstr "紫羅蘭色。" #: doc/classes/Color.xml msgid "Web gray color." msgstr "網格灰。" #: doc/classes/Color.xml msgid "Web green color." msgstr "網路綠。" #: doc/classes/Color.xml msgid "Web maroon color." msgstr "網路栗。" #: doc/classes/Color.xml msgid "Web purple color." msgstr "網路紫。" #: doc/classes/Color.xml msgid "Wheat color." msgstr "小麥色。" #: doc/classes/Color.xml msgid "White color." msgstr "白色。" #: doc/classes/Color.xml msgid "White smoke color." msgstr "白煙色。" #: doc/classes/Color.xml msgid "Yellow color." msgstr "黃色。" #: doc/classes/Color.xml msgid "Yellow green color." msgstr "黃綠色。" #: doc/classes/Color.xml msgid "" "Returns [code]true[/code] if the colors are not exactly equal.\n" "[b]Note:[/b] Due to floating-point precision errors, consider using [method " "is_equal_approx] instead, which is more reliable." msgstr "" "如果顏色不完全相等,則返回 [code]true[/code]。\n" "[b]注意:[/b]由於浮點數精度誤差,請考慮改用 [method is_equal_approx],會更可" "靠。" #: doc/classes/Color.xml msgid "" "Multiplies each component of the [Color] by the components of the given " "[Color]." msgstr "將該 [Color] 的每個分量乘以給定 [Color] 的對應分量。" #: doc/classes/Color.xml msgid "Multiplies each component of the [Color] by the given [float]." msgstr "將該 [Color] 的每個分量乘以給定的 [float]。" #: doc/classes/Color.xml msgid "Multiplies each component of the [Color] by the given [int]." msgstr "將該 [Color] 的每個分量乘以給定的 [int]。" #: doc/classes/Color.xml msgid "" "Adds each component of the [Color] with the components of the given [Color]." msgstr "將該 [Color] 的每個分量加上給定 [Color] 的對應分量。" #: doc/classes/Color.xml msgid "" "Subtracts each component of the [Color] by the components of the given " "[Color]." msgstr "將該 [Color] 的每個分量減去給定 [Color] 的對應分量。" #: doc/classes/Color.xml msgid "" "Divides each component of the [Color] by the components of the given [Color]." msgstr "將該 [Color] 的每個分量除以給定 [Color] 的每個分量。" #: doc/classes/Color.xml msgid "Divides each component of the [Color] by the given [float]." msgstr "將該 [Color] 的每個分量除以給定的 [float]。" #: doc/classes/Color.xml msgid "Divides each component of the [Color] by the given [int]." msgstr "將該 [Color] 的每個分量除以給定的 [int]。" #: doc/classes/Color.xml msgid "" "Returns [code]true[/code] if the colors are exactly equal.\n" "[b]Note:[/b] Due to floating-point precision errors, consider using [method " "is_equal_approx] instead, which is more reliable." msgstr "" "如果顏色完全相同,則返回 [code]true[/code]。\n" "[b]注意:[/b]由於浮點精度誤差,請考慮改用更可靠的 [method is_equal_approx]。" #: doc/classes/Color.xml msgid "" "Access color components using their index. [code][0][/code] is equivalent to " "[member r], [code][1][/code] is equivalent to [member g], [code][2][/code] " "is equivalent to [member b], and [code][3][/code] is equivalent to [member " "a]." msgstr "" "使用索引存取顏色分量。[code][0][/code] 相當於 [member r],[code][1][/code] 相" "當於 [member g],[code][2][/code] 相當於 [member b],[code][3][/code] 相當於 " "[member a]." #: doc/classes/Color.xml doc/classes/float.xml doc/classes/int.xml #: doc/classes/Plane.xml doc/classes/Quaternion.xml doc/classes/Vector2.xml #: doc/classes/Vector2i.xml doc/classes/Vector3.xml doc/classes/Vector3i.xml #: doc/classes/Vector4.xml doc/classes/Vector4i.xml msgid "" "Returns the same value as if the [code]+[/code] was not there. Unary [code]+" "[/code] does nothing, but sometimes it can make your code more readable." msgstr "" "返回與 [code]+[/code] 不存在時相同的值。單目 [code]+[/code] 沒有作用,但有時" "可以使你的程式碼更具可讀性。" #: doc/classes/Color.xml msgid "" "Inverts the given color. This is equivalent to [code]Color.WHITE - c[/code] " "or [code]Color(1 - c.r, 1 - c.g, 1 - c.b, 1 - c.a)[/code]. Unlike with " "[method inverted], the [member a] component is inverted, too." msgstr "" "反轉給定的顏色。這相當於 [code]Color.WHITE - c[/code] 或 [code]Color(1 - " "c.r, 1 - c.g, 1 - c.b, 1 - c.a)[/code]。與 [method inverted] 不同,[member " "a] 分量也將被反轉。" #: doc/classes/ColorPalette.xml msgid "" "A resource class for managing a palette of colors, which can be loaded and " "saved using [ColorPicker]." msgstr "" #: doc/classes/ColorPalette.xml msgid "" "The [ColorPalette] resource is designed to store and manage a collection of " "colors. This resource is useful in scenarios where a predefined set of " "colors is required, such as for creating themes, designing user interfaces, " "or managing game assets. The built-in [ColorPicker] control can also make " "use of [ColorPalette] without additional code." msgstr "" #: doc/classes/ColorPalette.xml #, fuzzy msgid "A [PackedColorArray] containing the colors in the palette." msgstr "頂點顏色的 [PackedColorArray]。" #: doc/classes/ColorPicker.xml msgid "A widget that provides an interface for selecting or modifying a color." msgstr "提供用於選擇或修改顏色的介面的小工具。" #: doc/classes/ColorPicker.xml msgid "" "A widget that provides an interface for selecting or modifying a color. It " "can optionally provide functionalities like a color sampler (eyedropper), " "color modes, and presets.\n" "[b]Note:[/b] This control is the color picker widget itself. You can use a " "[ColorPickerButton] instead if you need a button that brings up a " "[ColorPicker] in a popup." msgstr "" "提供用於選擇或修改顏色的介面的小工具。還可以提供取色器(吸管)、顏色模式、預" "設等功能。\n" "[b]注意:[/b]這個控制項就是取色器本身。如果你需要一個能夠彈出 [ColorPicker] " "窗口的按鈕,可以改用 [ColorPickerButton]。" #: doc/classes/ColorPicker.xml msgid "" "Adds the given color to a list of color presets. The presets are displayed " "in the color picker and the user will be able to select them.\n" "[b]Note:[/b] The presets list is only for [i]this[/i] color picker." msgstr "" "將給定的顏色新增到顏色預設列表中。預設會顯示在取色器中,可以被使用者選擇。\n" "[b]注意:[/b]預設列表僅適用於[i]這個[/i]取色器。" #: doc/classes/ColorPicker.xml msgid "" "Adds the given color to a list of color recent presets so that it can be " "picked later. Recent presets are the colors that were picked recently, a new " "preset is automatically created and added to recent presets when you pick a " "new color.\n" "[b]Note:[/b] The recent presets list is only for [i]this[/i] color picker." msgstr "" "將給定的顏色新增到近期顏色預設列表中,以便以後可以選擇它。近期預設是最近選擇" "的顏色,當選擇新顏色時,會自動建立新的預設並將其新增到近期預設中。\n" "[b]注意:[/b]近期預設列表僅適用於[i]這個[/i]取色器。" #: doc/classes/ColorPicker.xml msgid "" "Removes the given color from the list of color presets of this color picker." msgstr "從這個取色器的顏色預設列表中移除給定的顏色。" #: doc/classes/ColorPicker.xml msgid "" "Removes the given color from the list of color recent presets of this color " "picker." msgstr "從這個取色器的顏色近期預設列表中移除給定的顏色。" #: doc/classes/ColorPicker.xml msgid "Returns the list of colors in the presets of the color picker." msgstr "返回取色器的預設顏色列表。" #: doc/classes/ColorPicker.xml msgid "Returns the list of colors in the recent presets of the color picker." msgstr "返回取色器的近期預設中的顏色列表。" #: doc/classes/ColorPicker.xml msgid "" "If [code]true[/code], it's possible to add presets under Swatches. If " "[code]false[/code], the button to add presets is disabled." msgstr "" "如果為 [code]true[/code],則可以在色板下新增預設。如果為 [code]false[/code]," "新增預設的按鈕將被禁用。" #: doc/classes/ColorPicker.xml doc/classes/ColorPickerButton.xml msgid "The currently selected color." msgstr "目前選擇的顏色。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "The currently selected color mode." msgstr "目前選擇的顏色。" #: doc/classes/ColorPicker.xml msgid "If [code]true[/code], the color mode buttons are visible." msgstr "如果為 [code]true[/code],則顏色模式按鈕可見。" #: doc/classes/ColorPicker.xml msgid "" "If [code]true[/code], the color will apply only after the user releases the " "mouse button, otherwise it will apply immediately even in mouse motion event " "(which can cause performance issues)." msgstr "" "如果為 [code]true[/code],只有在使用者鬆開滑鼠按鈕後才會套用顏色,否則即使在" "鼠標移動事件中也會立即套用(會造成性能問題)。" #: doc/classes/ColorPicker.xml msgid "If [code]true[/code], shows an alpha channel slider (opacity)." msgstr "如果為 [code]true[/code],則顯示 Alpha 通道滑動條(不透明度)。" #: doc/classes/ColorPicker.xml msgid "" "If [code]true[/code], shows an intensity slider. The intensity is applied as " "follows: convert the color to linear encoding, multiply it by [code]2 ** " "intensity[/code], and then convert it back to nonlinear sRGB encoding." msgstr "" #: doc/classes/ColorPicker.xml msgid "If [code]true[/code], the hex color code input field is visible." msgstr "如果為 [code]true[/code],則十六進位顏色程式碼輸入框可見。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "The shape of the color space view." msgstr "色彩空間視圖的形狀。見 [enum PickerShapeType]。" #: doc/classes/ColorPicker.xml msgid "" "If [code]true[/code], the Swatches and Recent Colors presets are visible." msgstr "如果為 [code]true[/code],則色板和近期顏色預設可見。" #: doc/classes/ColorPicker.xml msgid "If [code]true[/code], the color sampler and color preview are visible." msgstr "如果為 [code]true[/code],則顏色取樣器和顏色預覽可見。" #: doc/classes/ColorPicker.xml msgid "If [code]true[/code], the color sliders are visible." msgstr "如果為 [code]true[/code],則顏色滑桿可見。" #: doc/classes/ColorPicker.xml msgid "Emitted when the color is changed." msgstr "更改顏色時發出。" #: doc/classes/ColorPicker.xml msgid "Emitted when a preset is added." msgstr "新增預設時發出。" #: doc/classes/ColorPicker.xml msgid "Emitted when a preset is removed." msgstr "移除預設時發出。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "" "Allows editing the color with Red/Green/Blue sliders in sRGB color space." msgstr "允許使用紅、綠、藍滑桿編輯顏色。" #: doc/classes/ColorPicker.xml msgid "Allows editing the color with Hue/Saturation/Value sliders." msgstr "允許使用色相、飽和度、明度滑桿編輯顏色。" #: doc/classes/ColorPicker.xml msgid "This is replaced by [constant MODE_LINEAR]." msgstr "" #: doc/classes/ColorPicker.xml #, fuzzy msgid "" "Allows editing the color with Red/Green/Blue sliders in linear color space." msgstr "允許使用紅、綠、藍滑桿編輯顏色。" #: doc/classes/ColorPicker.xml msgid "" "Allows editing the color with Hue/Saturation/Lightness sliders.\n" "OKHSL is a new color space similar to HSL but that better match perception " "by leveraging the Oklab color space which is designed to be simple to use, " "while doing a good job at predicting perceived lightness, chroma and hue.\n" "[url=https://bottosson.github.io/posts/colorpicker/]Okhsv and Okhsl color " "spaces[/url]" msgstr "" "允許使用色相/飽和度/亮度滑桿編輯顏色。\n" "OKHSL 是一種類似於 HSL 的新色彩空間,但通過利用設計簡單易用的 Oklab 色彩空間" "更好地配對感知,同時在預測感知亮度、色度和色調方面做得很好。\n" "[url=https://bottosson.github.io/posts/colorpicker/]Okhsv 和 Okhsl 色彩空間[/" "url]" #: doc/classes/ColorPicker.xml msgid "HSV Color Model rectangle color space." msgstr "HSV 色彩模型矩形色彩空間。" #: doc/classes/ColorPicker.xml msgid "HSV Color Model rectangle color space with a wheel." msgstr "HSV 色彩模型矩形色彩空間,帶輪。" #: doc/classes/ColorPicker.xml msgid "HSV Color Model circle color space. Use Saturation as a radius." msgstr "HSV 色彩模型圓形色彩空間。半徑為飽和度。" #: doc/classes/ColorPicker.xml msgid "HSL OK Color Model circle color space." msgstr "HSL OK 色彩模型圓形色彩空間。" #: doc/classes/ColorPicker.xml msgid "" "The color space shape and the shape select button are hidden. Can't be " "selected from the shapes popup." msgstr "色彩空間形狀和形狀選擇按鈕被隱藏。不能從形狀快顯視窗中選擇。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "OKHSL Color Model rectangle with constant lightness." msgstr "HSV 色彩模型矩形色彩空間。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "OKHSL Color Model rectangle with constant saturation." msgstr "HSV 色彩模型矩形色彩空間。" #: doc/classes/ColorPicker.xml msgid "" "Color of rectangle or circle drawn when a picker shape part is focused but " "not editable via keyboard or joypad. Displayed [i]over[/i] the picker shape, " "so a partially transparent color should be used to ensure the picker shape " "remains visible." msgstr "" #: doc/classes/ColorPicker.xml msgid "" "Overrides the [theme_item Slider.center_grabber] theme property of the " "sliders." msgstr "覆蓋滑桿的 [theme_item Slider.center_grabber] 主題屬性。" #: doc/classes/ColorPicker.xml msgid "The width of the hue selection slider." msgstr "色相選擇滑桿的寬度。" #: doc/classes/ColorPicker.xml msgid "The minimum width of the color labels next to sliders." msgstr "滑桿旁顏色標籤的最小寬度。" #: doc/classes/ColorPicker.xml msgid "The margin around the [ColorPicker]." msgstr "[ColorPicker] 周圍的邊距。" #: doc/classes/ColorPicker.xml msgid "The height of the saturation-value selection box." msgstr "飽和值選擇框的高度。" #: doc/classes/ColorPicker.xml msgid "The width of the saturation-value selection box." msgstr "飽和度選擇框的寬度。" #: doc/classes/ColorPicker.xml msgid "The icon for the \"Add Preset\" button." msgstr "“新增預設”按鈕的圖示。" #: doc/classes/ColorPicker.xml msgid "The texture for the arrow grabber." msgstr "箭頭抓取器的紋理。" #: doc/classes/ColorPicker.xml msgid "Custom texture for the hue selection slider on the right." msgstr "右側的色相選擇滑桿的自訂紋理。" #: doc/classes/ColorPicker.xml msgid "The icon for the button that switches color text to hexadecimal." msgstr "" #: doc/classes/ColorPicker.xml msgid "The icon for color preset drop down menu when expanded." msgstr "顏色預設下拉式功能表展開時使用的圖示。" #: doc/classes/ColorPicker.xml msgid "The icon for color preset drop down menu when folded." msgstr "顏色預設下拉式功能表折疊時使用的圖示。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "The icon for color preset option menu." msgstr "顏色預設下拉式功能表折疊時使用的圖示。" #: doc/classes/ColorPicker.xml msgid "" "The indicator used to signalize that the color value is outside the 0-1 " "range." msgstr "該指示器用於指示顏色值在 0-1 範圍之外。" #: doc/classes/ColorPicker.xml msgid "" "The image displayed over the color box/circle (depending on the [member " "picker_shape]), marking the currently selected color." msgstr "" "顯示在色塊/圓(取決於 [member picker_shape])上的圖像,標記目前選擇的顏色。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "The fill image displayed behind the picker cursor." msgstr "對話方塊顯示的文字。" #: doc/classes/ColorPicker.xml msgid "" "Background panel for the color preview box (visible when the color is " "translucent)." msgstr "顏色預覽框的背景面板(顏色為半透明時可見)。" #: doc/classes/ColorPicker.xml msgid "" "The icon for the revert button (visible on the middle of the \"old\" color " "when it differs from the currently selected color). This icon is modulated " "with a dark color if the \"old\" color is bright enough, so the icon should " "be bright to ensure visibility in both scenarios." msgstr "" #: doc/classes/ColorPicker.xml msgid "The icon for the screen color picker button." msgstr "螢幕取色器按鈕的圖示。" #: doc/classes/ColorPicker.xml msgid "The icon for circular picker shapes." msgstr "圓形拾取器形狀的圖示。" #: doc/classes/ColorPicker.xml msgid "The icon for rectangular picker shapes." msgstr "矩形拾取器形狀的圖示。" #: doc/classes/ColorPicker.xml msgid "The icon for rectangular wheel picker shapes." msgstr "矩形輪拾取器形狀的圖示。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "" "The [StyleBox] used when the circle-shaped part of the picker is focused. " "Displayed [i]over[/i] the picker shape, so a partially transparent " "[StyleBox] should be used to ensure the picker shape remains visible. A " "[StyleBox] that represents an outline or an underline works well for this " "purpose. To disable the focus visual effect, assign a [StyleBoxEmpty] " "resource. Note that disabling the focus visual effect will harm keyboard/" "controller navigation usability, so this is not recommended for " "accessibility reasons." msgstr "" "該 [Button] 處於聚焦狀態時使用的 [StyleBox]。[code]focus[/code] [StyleBox] 顯" "示在基礎 [StyleBox] [i]之上[/i],所以應該使用部分透明的 [StyleBox],確保基礎 " "[StyleBox] 仍然可見。代表輪廓或底線的 [StyleBox] 可以很好地實作這個目的。要禁" "用聚焦的視覺效果,請指定 [StyleBoxEmpty] 資源。請注意,禁用聚焦的視覺效果會影" "響使用鍵盤/手柄進行導覽的可用性,所以出於可存取性的原因,不建議這樣做。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "" "The [StyleBox] used when the rectangle-shaped part of the picker is focused. " "Displayed [i]over[/i] the picker shape, so a partially transparent " "[StyleBox] should be used to ensure the picker shape remains visible. A " "[StyleBox] that represents an outline or an underline works well for this " "purpose. To disable the focus visual effect, assign a [StyleBoxEmpty] " "resource. Note that disabling the focus visual effect will harm keyboard/" "controller navigation usability, so this is not recommended for " "accessibility reasons." msgstr "" "該 [Button] 處於聚焦狀態時使用的 [StyleBox]。[code]focus[/code] [StyleBox] 顯" "示在基礎 [StyleBox] [i]之上[/i],所以應該使用部分透明的 [StyleBox],確保基礎 " "[StyleBox] 仍然可見。代表輪廓或底線的 [StyleBox] 可以很好地實作這個目的。要禁" "用聚焦的視覺效果,請指定 [StyleBoxEmpty] 資源。請注意,禁用聚焦的視覺效果會影" "響使用鍵盤/手柄進行導覽的可用性,所以出於可存取性的原因,不建議這樣做。" #: doc/classes/ColorPicker.xml #, fuzzy msgid "" "The [StyleBox] used for the old color sample part when it is focused. " "Displayed [i]over[/i] the sample, so a partially transparent [StyleBox] " "should be used to ensure the picker shape remains visible. A [StyleBox] that " "represents an outline or an underline works well for this purpose. To " "disable the focus visual effect, assign a [StyleBoxEmpty] resource. Note " "that disabling the focus visual effect will harm keyboard/controller " "navigation usability, so this is not recommended for accessibility reasons." msgstr "" "該 [Button] 處於聚焦狀態時使用的 [StyleBox]。[code]focus[/code] [StyleBox] 顯" "示在基礎 [StyleBox] [i]之上[/i],所以應該使用部分透明的 [StyleBox],確保基礎 " "[StyleBox] 仍然可見。代表輪廓或底線的 [StyleBox] 可以很好地實作這個目的。要禁" "用聚焦的視覺效果,請指定 [StyleBoxEmpty] 資源。請注意,禁用聚焦的視覺效果會影" "響使用鍵盤/手柄進行導覽的可用性,所以出於可存取性的原因,不建議這樣做。" #: doc/classes/ColorPickerButton.xml msgid "A button that brings up a [ColorPicker] when pressed." msgstr "點擊後會顯示 [ColorPicker] 的按鈕。" #: doc/classes/ColorPickerButton.xml msgid "" "Encapsulates a [ColorPicker], making it accessible by pressing a button. " "Pressing the button will toggle the [ColorPicker]'s visibility.\n" "See also [BaseButton] which contains common properties and methods " "associated with this node.\n" "[b]Note:[/b] By default, the button may not be wide enough for the color " "preview swatch to be visible. Make sure to set [member " "Control.custom_minimum_size] to a big enough value to give the button enough " "space." msgstr "" "封裝一個 [ColorPicker],按下按鈕即可存取該控制項。按下按鈕會切換 " "[ColorPicker] 的可見性。\n" "另見 [BaseButton],其中包含與該節點關聯的通用屬性和方法。\n" "[b]注意:[/b]預設情況下,按鈕的寬度可能不足以使顏色預覽色板可見。確保將 " "[member Control.custom_minimum_size] 設定為足夠大的值,以便為按鈕提供足夠的空" "間。" #: doc/classes/ColorPickerButton.xml msgid "" "Returns the [ColorPicker] that this node toggles.\n" "[b]Warning:[/b] This is a required internal node, removing and freeing it " "may cause a crash. If you wish to hide it or any of its children, use their " "[member CanvasItem.visible] property." msgstr "" "返回此節點所切換的 [ColorPicker]。\n" "[b]警告:[/b]這是一個必需的內部節點,移除和釋放它可能會導致當機。如果你希望隱" "藏它或其所有子項,請使用其 [member CanvasItem.visible] 屬性。" #: doc/classes/ColorPickerButton.xml msgid "" "Returns the control's [PopupPanel] which allows you to connect to popup " "signals. This allows you to handle events when the ColorPicker is shown or " "hidden.\n" "[b]Warning:[/b] This is a required internal node, removing and freeing it " "may cause a crash. If you wish to hide it or any of its children, use their " "[member Window.visible] property." msgstr "" "返回該控制項的 [PopupPanel],它允許連接到其彈出訊號。這允許在顯示或隱藏 " "ColorPicker 時處理事件。\n" "[b]警告:[/b]這是一個必需的內部節點,移除和釋放它可能會導致當機。如果希望隱藏" "它或它的任何子項,請使用它們的 [member Window.visible] 屬性。" #: doc/classes/ColorPickerButton.xml msgid "" "If [code]true[/code], the alpha channel in the displayed [ColorPicker] will " "be visible." msgstr "" "如果為 [code]true[/code],則顯示的 [ColorPicker] 中的 Alpha 通道將可見。" #: doc/classes/ColorPickerButton.xml #, fuzzy msgid "" "If [code]true[/code], the intensity slider in the displayed [ColorPicker] " "will be visible." msgstr "" "如果為 [code]true[/code],則顯示的 [ColorPicker] 中的 Alpha 通道將可見。" #: doc/classes/ColorPickerButton.xml msgid "Emitted when the color changes." msgstr "顏色改變時發出。" #: doc/classes/ColorPickerButton.xml msgid "" "Emitted when the [ColorPicker] is created (the button is pressed for the " "first time)." msgstr "建立 [ColorPicker] 時(第一次按下按鈕)發出。" #: doc/classes/ColorPickerButton.xml msgid "Emitted when the [ColorPicker] is closed." msgstr "當 [ColorPicker] 關閉時發出。" #: doc/classes/ColorPickerButton.xml msgid "The background of the color preview rect on the button." msgstr "顏色預覽的背景將在按鈕上顯示。" #: doc/classes/ColorRect.xml msgid "A control that displays a solid color rectangle." msgstr "顯示單色矩形的控制項。" #: doc/classes/ColorRect.xml msgid "" "Displays a rectangle filled with a solid [member color]. If you need to " "display the border alone, consider using a [Panel] instead." msgstr "" "顯示一個用純色 [member color] 填充的矩形。如果你需要單獨顯示邊框,請考慮改用 " "[Panel]。" #: doc/classes/ColorRect.xml msgid "The fill color of the rectangle." msgstr "該矩形的填充顏色。" #: doc/classes/Compositor.xml msgid "" "More customization of the rendering pipeline will be added in the future." msgstr "" #: doc/classes/Compositor.xml msgid "Stores attributes used to customize how a Viewport is rendered." msgstr "" #: doc/classes/Compositor.xml msgid "" "The compositor resource stores attributes used to customize how a [Viewport] " "is rendered." msgstr "" #: doc/classes/Compositor.xml doc/classes/CompositorEffect.xml msgid "The Compositor" msgstr "" #: doc/classes/Compositor.xml msgid "" "The custom [CompositorEffect]s that are applied during rendering of " "viewports using this compositor." msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "The implementation may change as more of the rendering internals are exposed " "over time." msgstr "" #: doc/classes/CompositorEffect.xml msgid "This resource allows for creating a custom rendering effect." msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "This resource defines a custom rendering effect that can be applied to " "[Viewport]s through the viewports' [Environment]. You can implement a " "callback that is called during rendering at a given stage of the rendering " "pipeline and allows you to insert additional passes. Note that this callback " "happens on the rendering thread. CompositorEffect is an abstract base class " "and must be extended to implement specific rendering logic." msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "Implement this function with your custom rendering code. [param " "effect_callback_type] should always match the effect callback type you've " "specified in [member effect_callback_type]. [param render_data] provides " "access to the rendering state, it is only valid during rendering and should " "not be stored." msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "If [code]true[/code] and MSAA is enabled, this will trigger a color buffer " "resolve before the effect is run.\n" "[b]Note:[/b] In [method _render_callback], to access the resolved buffer " "use:\n" "[codeblock]\n" "var render_scene_buffers = render_data.get_render_scene_buffers()\n" "var color_buffer = render_scene_buffers.get_texture(\"render_buffers\", " "\"color\")\n" "[/codeblock]" msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "If [code]true[/code] and MSAA is enabled, this will trigger a depth buffer " "resolve before the effect is run.\n" "[b]Note:[/b] In [method _render_callback], to access the resolved buffer " "use:\n" "[codeblock]\n" "var render_scene_buffers = render_data.get_render_scene_buffers()\n" "var depth_buffer = render_scene_buffers.get_texture(\"render_buffers\", " "\"depth\")\n" "[/codeblock]" msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "The type of effect that is implemented, determines at what stage of " "rendering the callback is called." msgstr "" #: doc/classes/CompositorEffect.xml #, fuzzy msgid "" "If [code]true[/code] this rendering effect is applied to any viewport it is " "added to." msgstr "" "如果為 [code]true[/code],則啟用折射效果。根據來自物件後面的光線來扭曲透明" "度。" #: doc/classes/CompositorEffect.xml msgid "" "If [code]true[/code] this triggers motion vectors being calculated during " "the opaque render state.\n" "[b]Note:[/b] In [method _render_callback], to access the motion vector " "buffer use:\n" "[codeblock]\n" "var render_scene_buffers = render_data.get_render_scene_buffers()\n" "var motion_buffer = render_scene_buffers.get_velocity_texture()\n" "[/codeblock]" msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "If [code]true[/code] this triggers normal and roughness data to be output " "during our depth pre-pass, only applicable for the Forward+ renderer.\n" "[b]Note:[/b] In [method _render_callback], to access the roughness buffer " "use:\n" "[codeblock]\n" "var render_scene_buffers = render_data.get_render_scene_buffers()\n" "var roughness_buffer = " "render_scene_buffers.get_texture(\"forward_clustered\", " "\"normal_roughness\")\n" "[/codeblock]\n" "The raw normal and roughness buffer is stored in an optimized format, " "different than the one available in Spatial shaders. When sampling the " "buffer, a conversion function must be applied. Use this function, copied " "from [url=https://github.com/godotengine/godot/blob/" "da5f39889f155658cef7f7ec3cc1abb94e17d815/servers/rendering/renderer_rd/" "shaders/forward_clustered/scene_forward_clustered_inc.glsl#L334-L341]here[/" "url]:\n" "[codeblock]\n" "vec4 normal_roughness_compatibility(vec4 p_normal_roughness) {\n" "\tfloat roughness = p_normal_roughness.w;\n" "\tif (roughness > 0.5) {\n" "\t\troughness = 1.0 - roughness;\n" "\t}\n" "\troughness /= (127.0 / 255.0);\n" "\treturn vec4(normalize(p_normal_roughness.xyz * 2.0 - 1.0) * 0.5 + 0.5, " "roughness);\n" "}\n" "[/codeblock]" msgstr "" #: doc/classes/CompositorEffect.xml msgid "" "If [code]true[/code] this triggers specular data being rendered to a " "separate buffer and combined after effects have been applied, only " "applicable for the Forward+ renderer." msgstr "" #: doc/classes/CompositorEffect.xml doc/classes/RenderingServer.xml msgid "" "The callback is called before our opaque rendering pass, but after depth " "prepass (if applicable)." msgstr "" #: doc/classes/CompositorEffect.xml doc/classes/RenderingServer.xml msgid "" "The callback is called after our opaque rendering pass, but before our sky " "is rendered." msgstr "" #: doc/classes/CompositorEffect.xml doc/classes/RenderingServer.xml msgid "" "The callback is called after our sky is rendered, but before our back " "buffers are created (and if enabled, before subsurface scattering and/or " "screen space reflections)." msgstr "" #: doc/classes/CompositorEffect.xml doc/classes/RenderingServer.xml msgid "" "The callback is called before our transparent rendering pass, but after our " "sky is rendered and we've created our back buffers." msgstr "" #: doc/classes/CompositorEffect.xml doc/classes/RenderingServer.xml msgid "" "The callback is called after our transparent rendering pass, but before any " "built-in post-processing effects and output to our render target." msgstr "" #: doc/classes/CompositorEffect.xml #, fuzzy msgid "Represents the size of the [enum EffectCallbackType] enum." msgstr "代表 [enum BillboardType] 列舉的大小。" #: doc/classes/CompressedCubemap.xml msgid "An optionally compressed [Cubemap]." msgstr "可選壓縮的 [Cubemap] 。" #: doc/classes/CompressedCubemap.xml #, fuzzy msgid "" "A cubemap that is loaded from a [code].ccube[/code] file. This file format " "is internal to Godot; it is created by importing other image formats with " "the import system. [CompressedCubemap] can use one of 4 compression " "methods:\n" "- Lossless (WebP or PNG, uncompressed on the GPU)\n" "- Lossy (WebP, uncompressed on the GPU)\n" "- VRAM Compressed (compressed on the GPU)\n" "- VRAM Uncompressed (uncompressed on the GPU)\n" "- Basis Universal (compressed on the GPU. Lower file sizes than VRAM " "Compressed, but slower to compress and lower quality than VRAM Compressed)\n" "Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. " "The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the " "required storage on disk, but they will not reduce memory usage on the GPU " "as the texture is sent to the GPU uncompressed.\n" "Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed " "textures are faster to load compared to textures using lossless or lossy " "compression. VRAM compression can exhibit noticeable artifacts and is " "intended to be used for 3D rendering, not 2D.\n" "See [Cubemap] for a general description of cubemaps." msgstr "" "一種從 [code].ccube[/code] 檔載入的立方體貼圖。這種檔案格式是 Godot 內部使用" "的;它是通過匯入系統匯入其他圖像格式建立的。[CompressedCubemap] 可以使用 4 種" "壓縮方法中的一種:\n" "- 無損(WebP 或 PNG,在 GPU 上不壓縮)\n" "- 有損(WebP,在 GPU 上不壓縮)\n" "- VRAM 壓縮(在 GPU 上壓縮)\n" "- VRAM 未壓縮(在 GPU 上不壓縮)\n" "- Basis Universal(在 GPU 上壓縮。與 VRAM 壓縮相比,檔更小,但壓縮速度更慢、" "品質更低)\n" "只有 [b]VRAM 壓縮[/b]實際上減少了 GPU 上的記憶體使用。[b]無損[/b]和[b]有損[/" "b]壓縮方法將減少磁片上所需的儲存空間,但它們不會減少 GPU 上的記憶體使用,因為" "紋理未經壓縮地被發送到 GPU。\n" "使用 [b]VRAM 壓縮[/b]還可以縮短載入時間,因為與使用無損或失真壓縮的紋理相比," "VRAM 壓縮的紋理載入速度更快。VRAM 壓縮會表現出明顯的偽影,並且它旨在用於 3D " "算繪,而不是 2D。\n" "有關立方體貼圖的一般描述,請參閱 [Cubemap]。" #: doc/classes/CompressedCubemapArray.xml msgid "An optionally compressed [CubemapArray]." msgstr "立方體貼圖紋理陣列(見 [CubemapArray])。" #: doc/classes/CompressedCubemapArray.xml #, fuzzy msgid "" "A cubemap array that is loaded from a [code].ccubearray[/code] file. This " "file format is internal to Godot; it is created by importing other image " "formats with the import system. [CompressedCubemapArray] can use one of 4 " "compression methods:\n" "- Lossless (WebP or PNG, uncompressed on the GPU)\n" "- Lossy (WebP, uncompressed on the GPU)\n" "- VRAM Compressed (compressed on the GPU)\n" "- VRAM Uncompressed (uncompressed on the GPU)\n" "- Basis Universal (compressed on the GPU. Lower file sizes than VRAM " "Compressed, but slower to compress and lower quality than VRAM Compressed)\n" "Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. " "The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the " "required storage on disk, but they will not reduce memory usage on the GPU " "as the texture is sent to the GPU uncompressed.\n" "Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed " "textures are faster to load compared to textures using lossless or lossy " "compression. VRAM compression can exhibit noticeable artifacts and is " "intended to be used for 3D rendering, not 2D.\n" "See [CubemapArray] for a general description of cubemap arrays." msgstr "" "一種從 [code].ccubearray[/code] 檔載入的立方體貼圖陣列。這種檔案格式是 Godot " "內部使用的;它是通過匯入系統匯入其他圖像格式建立的。[CompressedCubemapArray] " "可以使用 4 種壓縮方法中的一種:\n" "- 無損(WebP 或 PNG,在 GPU 上不壓縮)\n" "- 有損(WebP,在 GPU 上不壓縮)\n" "- VRAM 壓縮(在 GPU 上壓縮)\n" "- VRAM 未壓縮(在 GPU 上不壓縮)\n" "- Basis Universal(在 GPU 上壓縮。與 VRAM 壓縮相比,檔更小,但壓縮速度更慢、" "品質更低)\n" "只有 [b]VRAM 壓縮[/b]實際上減少了 GPU 上的記憶體使用。[b]無損[/b]和[b]有損[/" "b]壓縮方法將減少磁片上所需的儲存空間,但它們不會減少 GPU 上的記憶體使用,因為" "紋理未經壓縮地被發送到 GPU。\n" "使用 [b]VRAM 壓縮[/b]還可以縮短載入時間,因為與使用無損或失真壓縮的紋理相比," "VRAM 壓縮的紋理載入速度更快。VRAM 壓縮會表現出明顯的偽影,並且它旨在用於 3D " "算繪,而不是 2D。\n" "有關立方體貼圖陣列的一般說明,請參閱 [CubemapArray]。" #: doc/classes/CompressedTexture2D.xml msgid "Texture with 2 dimensions, optionally compressed." msgstr "二維紋理,可選擇壓縮。" #: doc/classes/CompressedTexture2D.xml msgid "" "A texture that is loaded from a [code].ctex[/code] file. This file format is " "internal to Godot; it is created by importing other image formats with the " "import system. [CompressedTexture2D] can use one of 4 compression methods " "(including a lack of any compression):\n" "- Lossless (WebP or PNG, uncompressed on the GPU)\n" "- Lossy (WebP, uncompressed on the GPU)\n" "- VRAM Compressed (compressed on the GPU)\n" "- VRAM Uncompressed (uncompressed on the GPU)\n" "- Basis Universal (compressed on the GPU. Lower file sizes than VRAM " "Compressed, but slower to compress and lower quality than VRAM Compressed)\n" "Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. " "The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the " "required storage on disk, but they will not reduce memory usage on the GPU " "as the texture is sent to the GPU uncompressed.\n" "Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed " "textures are faster to load compared to textures using lossless or lossy " "compression. VRAM compression can exhibit noticeable artifacts and is " "intended to be used for 3D rendering, not 2D." msgstr "" "一種從 [code].ctex[/code] 檔載入的紋理。這種檔案格式是 Godot 內部使用的;它是" "通過匯入系統匯入其他圖像格式建立的。[CompressedTexture2D] 可以使用 4 種壓縮方" "法中的一種(包括沒有任何壓縮):\n" "- 無損(WebP 或 PNG,在 GPU 上不壓縮)\n" "- 有損(WebP,在 GPU 上不壓縮)\n" "- VRAM 壓縮(在 GPU 上壓縮)\n" "- VRAM 未壓縮(在 GPU 上不壓縮)\n" "- Basis Universal(在 GPU 上壓縮。與 VRAM 壓縮相比,檔更小,但壓縮速度更慢、" "品質更低)\n" "只有 [b]VRAM 壓縮[/b]實際上減少了 GPU 上的記憶體使用。[b]無損[/b]和[b]有損[/" "b]壓縮方法將減少磁片上所需的儲存空間,但它們不會減少 GPU 上的記憶體使用,因為" "紋理未經壓縮地被發送到 GPU。\n" "使用 [b]VRAM 壓縮[/b]還可以縮短載入時間,因為與使用無損或失真壓縮的紋理相比," "VRAM 壓縮的紋理載入速度更快。VRAM 壓縮會表現出明顯的偽影,並且它旨在用於 3D " "算繪,而不是 2D。" #: doc/classes/CompressedTexture2D.xml doc/classes/CompressedTexture3D.xml msgid "Loads the texture from the specified [param path]." msgstr "從指定的路徑 [param path] 載入紋理。" #: doc/classes/CompressedTexture2D.xml msgid "The [CompressedTexture2D]'s file path to a [code].ctex[/code] file." msgstr "該 [CompressedTexture2D] 的檔路徑,指向 [code].ctex[/code] 檔案。" #: doc/classes/CompressedTexture2DArray.xml msgid "Array of 2-dimensional textures, optionally compressed." msgstr "二維紋理的陣列,可選擇壓縮。" #: doc/classes/CompressedTexture2DArray.xml #, fuzzy msgid "" "A texture array that is loaded from a [code].ctexarray[/code] file. This " "file format is internal to Godot; it is created by importing other image " "formats with the import system. [CompressedTexture2DArray] can use one of 4 " "compression methods:\n" "- Lossless (WebP or PNG, uncompressed on the GPU)\n" "- Lossy (WebP, uncompressed on the GPU)\n" "- VRAM Compressed (compressed on the GPU)\n" "- VRAM Uncompressed (uncompressed on the GPU)\n" "- Basis Universal (compressed on the GPU. Lower file sizes than VRAM " "Compressed, but slower to compress and lower quality than VRAM Compressed)\n" "Only [b]VRAM Compressed[/b] actually reduces the memory usage on the GPU. " "The [b]Lossless[/b] and [b]Lossy[/b] compression methods will reduce the " "required storage on disk, but they will not reduce memory usage on the GPU " "as the texture is sent to the GPU uncompressed.\n" "Using [b]VRAM Compressed[/b] also improves loading times, as VRAM-compressed " "textures are faster to load compared to textures using lossless or lossy " "compression. VRAM compression can exhibit noticeable artifacts and is " "intended to be used for 3D rendering, not 2D.\n" "See [Texture2DArray] for a general description of texture arrays." msgstr "" "一種從 [code].ctexarray[/code] 檔載入的紋理陣列。這種檔案格式是 Godot 內部使" "用的;它是通過匯入系統匯入其他圖像格式建立的。[CompressedTexture2DArray] 可以" "使用 4 種壓縮方法中的一種:\n" "- 無損(WebP 或 PNG,在 GPU 上不壓縮)\n" "- 有損(WebP,在 GPU 上不壓縮)\n" "- VRAM 壓縮(在 GPU 上壓縮)\n" "- VRAM 未壓縮(在 GPU 上不壓縮)\n" "- Basis Universal(在 GPU 上壓縮。與 VRAM 壓縮相比,檔更小,但壓縮速度更慢、" "品質更低)\n" "只有 [b]VRAM 壓縮[/b]實際上減少了 GPU 上的記憶體使用。[b]無損[/b]和[b]有損[/" "b]壓縮方法將減少磁片上所需的儲存空間,但它們不會減少 GPU 上的記憶體使用,因為" "紋理未經壓縮地被發送到 GPU。\n" "使用 [b]VRAM 壓縮[/b]還可以縮短載入時間,因為與使用無損或失真壓縮的紋理相比," "VRAM 壓縮的紋理載入速度更快。VRAM 壓縮會表現出明顯的偽影,並且它旨在用於 3D " "算繪,而不是 2D。\n" "有關紋理陣列的一般描述,請參閱 [Texture2DArray]。" #: doc/classes/CompressedTexture3D.xml msgid "Texture with 3 dimensions, optionally compressed." msgstr "三維紋理,可選擇壓縮。" #: doc/classes/CompressedTexture3D.xml msgid "" "[CompressedTexture3D] is the VRAM-compressed counterpart of " "[ImageTexture3D]. The file extension for [CompressedTexture3D] files is " "[code].ctex3d[/code]. This file format is internal to Godot; it is created " "by importing other image formats with the import system.\n" "[CompressedTexture3D] uses VRAM compression, which allows to reduce memory " "usage on the GPU when rendering the texture. This also improves loading " "times, as VRAM-compressed textures are faster to load compared to textures " "using lossless compression. VRAM compression can exhibit noticeable " "artifacts and is intended to be used for 3D rendering, not 2D.\n" "See [Texture3D] for a general description of 3D textures." msgstr "" "[CompressedTexture3D] 是 [ImageTexture3D] 的 VRAM 壓縮對應物。" "[CompressedTexture3D] 檔案的檔案副檔名為 [code].ctex3d[/code]。這種檔案格式" "是 Godot 內部使用的;它是通過匯入系統匯入其他圖像格式建立的。\n" "[CompressedTexture3D] 使用 VRAM 壓縮,這可以在算繪紋理時減少 GPU 的記憶體使用" "量。這也縮短了載入時間,因為與使用無失真壓縮的紋理相比,VRAM 壓縮的紋理載入速" "度更快。VRAM 壓縮會表現出明顯的偽影,並且它旨在用於 3D 算繪,而不是 2D。\n" "有關 3D 紋理的一般描述,請參閱 [Texture3D]。" #: doc/classes/CompressedTexture3D.xml msgid "The [CompressedTexture3D]'s file path to a [code].ctex3d[/code] file." msgstr "該 [CompressedTexture3D] 的檔路徑,指向 [code].ctex3d[/code] 檔案。" #: doc/classes/CompressedTextureLayered.xml msgid "Base class for texture arrays that can optionally be compressed." msgstr "可壓縮紋理陣列的基底類別。" #: doc/classes/CompressedTextureLayered.xml msgid "" "Base class for [CompressedTexture2DArray] and [CompressedTexture3D]. Cannot " "be used directly, but contains all the functions necessary for accessing the " "derived resource types. See also [TextureLayered]." msgstr "" "[CompressedTexture2DArray] 和 [CompressedTexture3D] 的基底類別。不能直接使" "用,但包含了存取衍生資源型別所需的所有函式。另見 [TextureLayered]。" #: doc/classes/CompressedTextureLayered.xml msgid "Loads the texture at [param path]." msgstr "載入位於 [param path] 的紋理。" #: doc/classes/CompressedTextureLayered.xml msgid "The path the texture should be loaded from." msgstr "載入紋理所使用的路徑。" #: doc/classes/ConcavePolygonShape2D.xml msgid "A 2D polyline shape used for physics collision." msgstr "用於物理碰撞的 2D 多線段形狀。" #: doc/classes/ConcavePolygonShape2D.xml #, fuzzy msgid "" "A 2D polyline shape, intended for use in physics. Used internally in " "[CollisionPolygon2D] when it's in [constant " "CollisionPolygon2D.BUILD_SEGMENTS] mode.\n" "Being just a collection of interconnected line segments, " "[ConcavePolygonShape2D] is the most freely configurable single 2D shape. It " "can be used to form polygons of any nature, or even shapes that don't " "enclose an area. However, [ConcavePolygonShape2D] is [i]hollow[/i] even if " "the interconnected line segments do enclose an area, which often makes it " "unsuitable for physics or detection.\n" "[b]Note:[/b] When used for collision, [ConcavePolygonShape2D] is intended to " "work with static [CollisionShape2D] nodes like [StaticBody2D] and will " "likely not behave well for [CharacterBody2D]s or [RigidBody2D]s in a mode " "other than Static.\n" "[b]Warning:[/b] Physics bodies that are small have a chance to clip through " "this shape when moving fast. This happens because on one frame, the physics " "body may be on the \"outside\" of the shape, and on the next frame it may be " "\"inside\" it. [ConcavePolygonShape2D] is hollow, so it won't detect a " "collision.\n" "[b]Performance:[/b] Due to its complexity, [ConcavePolygonShape2D] is the " "slowest 2D collision shape to check collisions against. Its use should " "generally be limited to level geometry. If the polyline is closed, " "[CollisionPolygon2D]'s [constant CollisionPolygon2D.BUILD_SOLIDS] mode can " "be used, which decomposes the polygon into convex ones; see " "[ConvexPolygonShape2D]'s documentation for instructions." msgstr "" "一種 2D 折線形狀,用於物理運算。當處於 [code]BUILD_SEGMENTS[/code] 模式下時在" "[CollisionPolygon2D]內部使用。\n" "相互連接線段的集合,[ConcavePolygonShape2D] 是最自由的可配置的單個 2D 形狀。" "它能用於形成任何性質的多邊形,甚至是不包圍區域的形狀。然而," "[ConvexPolygonShape2D]是 [i]空心的[/i],即使相互連接的線段確實形成了一個區" "域,這往往使得不適合物理運算或偵測。\n" "[b]注意:[/b]當用於碰撞時,[ConcavePolygonShape2D] 預期是與靜態的 " "[CollisionShape2D]節點一起工作(例如 [StaticBody2D])。對於 " "[CharacterBody2D] 或 [RigidBody2D],在靜態模式以外的模式下可能表現不符預" "期。\n" "[b]警告:[/b]物理物體快速移動時,體積小的物體將有機會穿過這個形狀。發生的原因" "為在某一影格物理物體可能在形狀的“外部”,而下一影格它有可能直接在形狀的“內" "部”。[ConcavePolygonShape2D] 是空心的,因此它不會偵測到碰撞。\n" "[b]性能:[/b]由於它的複雜性, [ConcavePolygonShape2D] 是偵測碰撞最慢的2D碰撞" "形狀。它的使用一般僅限於關卡幾何體。如果折線是閉合的,可以使用 " "[CollisionPolygon2D] 的 [code]BUILD_SOLIDS[/code] 模式,它會將多邊形分解成凸" "多邊形;相關說明請參閱 [ConvexPolygonShape2D] 文件。" #: doc/classes/ConcavePolygonShape2D.xml msgid "" "The array of points that make up the [ConcavePolygonShape2D]'s line " "segments. The array (of length divisible by two) is naturally divided into " "pairs (one pair for each segment); each pair consists of the starting point " "of a segment and the endpoint of a segment." msgstr "" "頂點陣列,構成 [ConcavePolygonShape2D] 的線段。該(長度能被二整除的)陣列自然" "兩兩群組(每組代表一條線段);每組都由一條線段的起點和終點構成。" #: doc/classes/ConcavePolygonShape3D.xml msgid "A 3D trimesh shape used for physics collision." msgstr "用於物理碰撞的 3D 三角網格形狀。" #: doc/classes/ConcavePolygonShape3D.xml #, fuzzy msgid "" "A 3D trimesh shape, intended for use in physics. Usually used to provide a " "shape for a [CollisionShape3D].\n" "Being just a collection of interconnected triangles, [ConcavePolygonShape3D] " "is the most freely configurable single 3D shape. It can be used to form " "polyhedra of any nature, or even shapes that don't enclose a volume. " "However, [ConcavePolygonShape3D] is [i]hollow[/i] even if the interconnected " "triangles do enclose a volume, which often makes it unsuitable for physics " "or detection.\n" "[b]Note:[/b] When used for collision, [ConcavePolygonShape3D] is intended to " "work with static [CollisionShape3D] nodes like [StaticBody3D] and will " "likely not behave well for [CharacterBody3D]s or [RigidBody3D]s in a mode " "other than Static.\n" "[b]Warning:[/b] Physics bodies that are small have a chance to clip through " "this shape when moving fast. This happens because on one frame, the physics " "body may be on the \"outside\" of the shape, and on the next frame it may be " "\"inside\" it. [ConcavePolygonShape3D] is hollow, so it won't detect a " "collision.\n" "[b]Performance:[/b] Due to its complexity, [ConcavePolygonShape3D] is the " "slowest 3D collision shape to check collisions against. Its use should " "generally be limited to level geometry. For convex geometry, " "[ConvexPolygonShape3D] should be used. For dynamic physics bodies that need " "concave collision, several [ConvexPolygonShape3D]s can be used to represent " "its collision by using convex decomposition; see [ConvexPolygonShape3D]'s " "documentation for instructions." msgstr "" "一種用於物理類比的三維三角網格形狀。通常用於為 [CollisionShape3D] 提供形" "狀。\n" "作為一組相互連接的三角形, [ConcavePolygonShape3D] 是最自由配置的單一三維形狀" "之一。它可以用於形成任何性質的多面體,甚至是不封閉體積的形狀。然而,即使相互" "連接的三角形封閉了一個體積, [ConvexPolygonShape3D] 仍然是[i]中空[/i]的,這常" "常使其不適用於物理類比或碰撞偵測。\n" "[b]注意:[/b]當用於碰撞計算時, [ConcavePolygonShape3D] 旨在與靜態的 " "[CollisionShape3D] 節點一起使用,如 [StaticBody3D] 。並且可能不適用於處於除靜" "態外的其他模式下的 [CharacterBody3D] 或 [RigidBody3D] 。\n" "[b]警告:[/b]當移動速度較快時,較小的物體有可能穿過該形狀。這是因為在一影格" "中,物理體可能在形狀的“外部”,而在下一影格中可能在其“內部”。 " "[ConcavePolygonShape3D] 是中空的,因此不會偵測到碰撞。\n" "[b]性能:[/b]由於其複雜性, [ConcavePolygonShape3D] 是用於偵測三維碰撞的形狀" "中最慢的。它的使用通常應限制在關卡幾何體上。對於凸幾何體,應使用 " "[ConvexPolygonShape3D] 。對於需要凹碰撞的動態物體,可以使用多個 " "[ConvexPolygonShape3D] 通過凸分解來表示其碰撞;請參閱 [ConvexPolygonShape3D] " "的文件以獲取指示。" #: doc/classes/ConcavePolygonShape3D.xml msgid "" "Returns the faces of the trimesh shape as an array of vertices. The array " "(of length divisible by three) is naturally divided into triples; each " "triple of vertices defines a triangle." msgstr "" "以頂點陣列的形式返回三角網格形狀中的面。該(長度能被三整除的)陣列自然三三分" "組;每組中的三個頂點定義一個三角形。" #: doc/classes/ConcavePolygonShape3D.xml msgid "" "Sets the faces of the trimesh shape from an array of vertices. The [param " "faces] array should be composed of triples such that each triple of vertices " "defines a triangle." msgstr "" "根據頂點陣列設定三角網格形狀的面。[param faces] 陣列應更多由若干三元組構成," "每三個頂點定義一個三角形。" #: doc/classes/ConcavePolygonShape3D.xml msgid "" "If set to [code]true[/code], collisions occur on both sides of the concave " "shape faces. Otherwise they occur only along the face normals." msgstr "" "如果設定為 [code]true[/code],則碰撞會發生在凹形面的兩側。否則,它們只會沿著" "面法線發生。" #: doc/classes/ConeTwistJoint3D.xml msgid "" "A physics joint that connects two 3D physics bodies in a way that simulates " "a ball-and-socket joint." msgstr "以類比球窩關節的方式連接兩個 3D 物理物體的物理關節。" #: doc/classes/ConeTwistJoint3D.xml msgid "" "A physics joint that connects two 3D physics bodies in a way that simulates " "a ball-and-socket joint. The twist axis is initiated as the X axis of the " "[ConeTwistJoint3D]. Once the physics bodies swing, the twist axis is " "calculated as the middle of the X axes of the joint in the local space of " "the two physics bodies. Useful for limbs like shoulders and hips, lamps " "hanging off a ceiling, etc." msgstr "" "以類比球窩關節的方式連接兩個 3D 物理物體的物理關節。扭轉軸被初始化為 " "[ConeTwistJoint3D] 的 X 軸。一旦物理體擺動,扭轉軸將被計算為兩個物理體局部空" "間中關節的 X 軸的中間值。可用作肩膀、臀部等肢體,也可以用作從天花板蕩下的燈之" "類的對象。" #: doc/classes/ConeTwistJoint3D.xml doc/classes/HingeJoint3D.xml #: doc/classes/PinJoint3D.xml msgid "Returns the value of the specified parameter." msgstr "返回指定參數的值。" #: doc/classes/ConeTwistJoint3D.xml doc/classes/HingeJoint3D.xml #: doc/classes/PinJoint3D.xml msgid "Sets the value of the specified parameter." msgstr "設定指定參數的值。" #: doc/classes/ConeTwistJoint3D.xml doc/classes/PhysicsServer3D.xml msgid "" "The speed with which the swing or twist will take place.\n" "The higher, the faster." msgstr "" "擺動或扭轉的速度。\n" "越高,速度越快。" #: doc/classes/ConeTwistJoint3D.xml doc/classes/PhysicsServer3D.xml msgid "" "Defines, how fast the swing- and twist-speed-difference on both sides gets " "synced." msgstr "定義兩側的擺動速度和扭轉速度差異同步的速度。" #: doc/classes/ConeTwistJoint3D.xml msgid "" "The ease with which the joint starts to twist. If it's too low, it takes " "more force to start twisting the joint." msgstr "關節開始扭轉的難易程度。如果太低,則需要更多的力才能開始扭轉關節。" #: doc/classes/ConeTwistJoint3D.xml doc/classes/PhysicsServer3D.xml msgid "" "Swing is rotation from side to side, around the axis perpendicular to the " "twist axis.\n" "The swing span defines, how much rotation will not get corrected along the " "swing axis.\n" "Could be defined as looseness in the [ConeTwistJoint3D].\n" "If below 0.05, this behavior is locked." msgstr "" "擺動是圍繞垂直於扭轉軸的軸線,從一邊到另一邊的旋轉。\n" "擺動跨度定義了沿擺動軸旋轉多少不會得到校正。\n" "可以被定義為 [ConeTwistJoint3D] 中的鬆動。\n" "如果低於 0.05,該行為將被鎖定。" #: doc/classes/ConeTwistJoint3D.xml doc/classes/PhysicsServer3D.xml msgid "" "Twist is the rotation around the twist axis, this value defined how far the " "joint can twist.\n" "Twist is locked if below 0.05." msgstr "" "扭轉是繞扭轉軸的旋轉,此值定義了關節可以扭轉多遠。\n" "如果低於 0.05,則扭轉被鎖定。" #: doc/classes/ConeTwistJoint3D.xml doc/classes/Generic6DOFJoint3D.xml #: doc/classes/HingeJoint3D.xml doc/classes/Light3D.xml #: doc/classes/SliderJoint3D.xml msgid "Represents the size of the [enum Param] enum." msgstr "代表 [enum Param] 列舉的大小。" #: doc/classes/ConfigFile.xml msgid "Helper class to handle INI-style files." msgstr "用於處理 INI 樣式檔的輔助類。" #: doc/classes/ConfigFile.xml #, fuzzy msgid "" "This helper class can be used to store [Variant] values on the filesystem " "using INI-style formatting. The stored values are identified by a section " "and a key:\n" "[codeblock lang=text]\n" "[section]\n" "some_key=42\n" "string_example=\"Hello World3D!\"\n" "a_vector=Vector3(1, 0, 2)\n" "[/codeblock]\n" "The stored data can be saved to or parsed from a file, though ConfigFile " "objects can also be used directly without accessing the filesystem.\n" "The following example shows how to create a simple [ConfigFile] and save it " "on disc:\n" "[codeblocks]\n" "[gdscript]\n" "# Create new ConfigFile object.\n" "var config = ConfigFile.new()\n" "\n" "# Store some values.\n" "config.set_value(\"Player1\", \"player_name\", \"Steve\")\n" "config.set_value(\"Player1\", \"best_score\", 10)\n" "config.set_value(\"Player2\", \"player_name\", \"V3geta\")\n" "config.set_value(\"Player2\", \"best_score\", 9001)\n" "\n" "# Save it to a file (overwrite if already exists).\n" "config.save(\"user://scores.cfg\")\n" "[/gdscript]\n" "[csharp]\n" "// Create new ConfigFile object.\n" "var config = new ConfigFile();\n" "\n" "// Store some values.\n" "config.SetValue(\"Player1\", \"player_name\", \"Steve\");\n" "config.SetValue(\"Player1\", \"best_score\", 10);\n" "config.SetValue(\"Player2\", \"player_name\", \"V3geta\");\n" "config.SetValue(\"Player2\", \"best_score\", 9001);\n" "\n" "// Save it to a file (overwrite if already exists).\n" "config.Save(\"user://scores.cfg\");\n" "[/csharp]\n" "[/codeblocks]\n" "This example shows how the above file could be loaded:\n" "[codeblocks]\n" "[gdscript]\n" "var score_data = {}\n" "var config = ConfigFile.new()\n" "\n" "# Load data from a file.\n" "var err = config.load(\"user://scores.cfg\")\n" "\n" "# If the file didn't load, ignore it.\n" "if err != OK:\n" "\treturn\n" "\n" "# Iterate over all sections.\n" "for player in config.get_sections():\n" "\t# Fetch the data for each section.\n" "\tvar player_name = config.get_value(player, \"player_name\")\n" "\tvar player_score = config.get_value(player, \"best_score\")\n" "\tscore_data[player_name] = player_score\n" "[/gdscript]\n" "[csharp]\n" "var score_data = new Godot.Collections.Dictionary();\n" "var config = new ConfigFile();\n" "\n" "// Load data from a file.\n" "Error err = config.Load(\"user://scores.cfg\");\n" "\n" "// If the file didn't load, ignore it.\n" "if (err != Error.Ok)\n" "{\n" "\treturn;\n" "}\n" "\n" "// Iterate over all sections.\n" "foreach (String player in config.GetSections())\n" "{\n" "\t// Fetch the data for each section.\n" "\tvar player_name = (String)config.GetValue(player, \"player_name\");\n" "\tvar player_score = (int)config.GetValue(player, \"best_score\");\n" "\tscore_data[player_name] = player_score;\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "Any operation that mutates the ConfigFile such as [method set_value], " "[method clear], or [method erase_section], only changes what is loaded in " "memory. If you want to write the change to a file, you have to save the " "changes with [method save], [method save_encrypted], or [method " "save_encrypted_pass].\n" "Keep in mind that section and property names can't contain spaces. Anything " "after a space will be ignored on save and on load.\n" "ConfigFiles can also contain manually written comment lines starting with a " "semicolon ([code];[/code]). Those lines will be ignored when parsing the " "file. Note that comments will be lost when saving the ConfigFile. This can " "still be useful for dedicated server configuration files, which are " "typically never overwritten without explicit user action.\n" "[b]Note:[/b] The file extension given to a ConfigFile does not have any " "impact on its formatting or behavior. By convention, the [code].cfg[/code] " "extension is used here, but any other extension such as [code].ini[/code] is " "also valid. Since neither [code].cfg[/code] nor [code].ini[/code] are " "standardized, Godot's ConfigFile formatting may differ from files written by " "other programs." msgstr "" "該輔助類可用於使用 INI 樣式格式在檔案系統上儲存 [Variant] 值。儲存的值由一個" "小節和一個鍵標識:\n" "[codeblock]\n" "[section]\n" "some_key=42\n" "string_example=\"Hello World3D!\"\n" "a_vector=Vector3(1, 0, 2)\n" "[/codeblock]\n" "儲存的資料可以被保存到檔中或從檔中解析出來,儘管 ConfigFile 物件也可以直接使" "用而無需存取檔案系統。\n" "以下範例顯示了如何建立一個簡單的 [ConfigFile] 並將其保存在磁片上:\n" "[codeblocks]\n" "[gdscript]\n" "# 建立新的 ConfigFile 物件。\n" "var config = ConfigFile.new()\n" "\n" "# 儲存一些值。\n" "config.set_value(\"Player1\", \"player_name\", \"Steve\")\n" "config.set_value(\"Player1\", \"best_score\", 10)\n" "config.set_value(\"Player2\", \"player_name\", \"V3geta\")\n" "config.set_value(\"Player2\", \"best_score\", 9001)\n" "\n" "# 將其保存到檔中(如果已存在則覆蓋)。\n" "config.save(\"user://scores.cfg\")\n" "[/gdscript]\n" "[csharp]\n" "// 建立新的 ConfigFile 物件。\n" "var config = new ConfigFile();\n" "\n" "// 儲存一些值。\n" "config.SetValue(\"Player1\", \"player_name\", \"Steve\");\n" "config.SetValue(\"Player1\", \"best_score\", 10);\n" "config.SetValue(\"Player2\", \"player_name\", \"V3geta\");\n" "config.SetValue(\"Player2\", \"best_score\", 9001);\n" "\n" "// 將其保存到檔中(如果已存在則覆蓋)。\n" "config.Save(\"user://scores.cfg\");\n" "[/csharp]\n" "[/codeblocks]\n" "該範例展示了如何載入上面的檔案:\n" "[codeblocks]\n" "[gdscript]\n" "var score_data = {}\n" "var config = ConfigFile.new()\n" "\n" "# 從檔載入資料。\n" "var err = config.load(\"user://scores.cfg\")\n" "\n" "# 如果檔沒有載入,忽略它。\n" "if err != OK:\n" "\treturn\n" "\n" "# 反覆運算所有小節。\n" "for player in config.get_sections():\n" "\t# 獲取每個小節的資料。\n" "\tvar player_name = config.get_value(player, \"player_name\")\n" "\tvar player_score = config.get_value(player, \"best_score\")\n" "\tscore_data[player_name] = player_score\n" "[/gdscript]\n" "[csharp]\n" "var score_data = new Godot.Collections.Dictionary();\n" "var config = new ConfigFile();\n" "\n" "// 從檔載入資料。\n" "Error err = config.Load(\"user://scores.cfg\");\n" "\n" "// 如果檔沒有載入,忽略它。\n" "if (err != Error.Ok)\n" "{\n" "\treturn;\n" "}\n" "\n" "// 反覆運算所有小節。\n" "foreach (String player in config.GetSections())\n" "{\n" "\t// 獲取每個小節的資料。\n" "\tvar player_name = (String)config.GetValue(player, \"player_name\");\n" "\tvar player_score = (int)config.GetValue(player, \"best_score\");\n" "\tscore_data[player_name] = player_score;\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "任何改變 ConfigFile 的操作,例如 [method set_value]、[method clear]、或 " "[method erase_section],只會改變載入到記憶體中的內容。如果要將更改寫入檔,則" "必須使用 [method save]、[method save_encrypted]、或 [method " "save_encrypted_pass] 保存更改。\n" "請記住,小節和屬性名稱不能包含空格。保存和載入時將忽略空格後的任何內容。\n" "ConfigFiles 還可以包含以分號([code];[/code])開頭的手動編寫的注釋行。解析文" "件時將忽略這些行。請注意,保存 ConfigFile 時注釋將丟失。注釋對於專用伺服器配" "置檔仍然很有用,如果沒有明確的使用者操作,這些檔通常永遠不會被覆蓋。\n" "[b]注意:[/b]為 ConfigFile 指定的檔副檔名對其格式或行為沒有任何影響。按照慣" "例,此處使用 [code].cfg[/code] 副檔名,但 [code].ini[/code] 等任何其他副檔名" "也有效。由於 [code].cfg[/code] 和 [code].ini[/code] 都不是標準化的格式," "Godot 的 ConfigFile 格式可能與其他程式編寫的檔不同。" #: doc/classes/ConfigFile.xml msgid "Removes the entire contents of the config." msgstr "移除配置的全部內容。" #: doc/classes/ConfigFile.xml msgid "" "Obtain the text version of this config file (the same text that would be " "written to a file)." msgstr "獲得該設定檔的文字版本(與寫入檔的文字相同)。" #: doc/classes/ConfigFile.xml msgid "" "Deletes the specified section along with all the key-value pairs inside. " "Raises an error if the section does not exist." msgstr "刪除指定小節以及其中的所有鍵值對。如果該小節不存在,則會引發錯誤。" #: doc/classes/ConfigFile.xml msgid "" "Deletes the specified key in a section. Raises an error if either the " "section or the key do not exist." msgstr "刪除小節中的指定鍵。如果該小節或鍵不存在,則會引發錯誤。" #: doc/classes/ConfigFile.xml msgid "" "Returns an array of all defined key identifiers in the specified section. " "Raises an error and returns an empty array if the section does not exist." msgstr "" "返回指定小節中所有已定義鍵識別字的陣列。如果該小節不存在,則會引發錯誤並返回" "一個空陣列。" #: doc/classes/ConfigFile.xml msgid "Returns an array of all defined section identifiers." msgstr "返回所有已定義小節的識別字的陣列。" #: doc/classes/ConfigFile.xml msgid "" "Returns the current value for the specified section and key. If either the " "section or the key do not exist, the method returns the fallback [param " "default] value. If [param default] is not specified or set to [code]null[/" "code], an error is also raised." msgstr "" "返回指定小節和鍵的目前值。如果該小節或鍵不存在,則該方法返回後備值 [param " "default]。如果未指定 [param default] 或將其設定為 [code]null[/code],則會引發" "一個錯誤。" #: doc/classes/ConfigFile.xml msgid "Returns [code]true[/code] if the specified section exists." msgstr "如果指定的小節存在,則返回 [code]true[/code]。" #: doc/classes/ConfigFile.xml msgid "Returns [code]true[/code] if the specified section-key pair exists." msgstr "如果指定的小節-鍵對存在,則返回 [code]true[/code]。" #: doc/classes/ConfigFile.xml msgid "" "Loads the config file specified as a parameter. The file's contents are " "parsed and loaded in the [ConfigFile] object which the method was called " "on.\n" "Returns [constant OK] on success, or one of the other [enum Error] values if " "the operation failed." msgstr "" "載入指定為參數的設定檔。解析檔的內容並將其載入到呼叫該方法的 [ConfigFile] 對" "象中。\n" "返回 [enum Error] 錯誤碼常數(成功時為 [constant OK])。" #: doc/classes/ConfigFile.xml msgid "" "Loads the encrypted config file specified as a parameter, using the provided " "[param key] to decrypt it. The file's contents are parsed and loaded in the " "[ConfigFile] object which the method was called on.\n" "Returns [constant OK] on success, or one of the other [enum Error] values if " "the operation failed." msgstr "" "載入指定為參數的加密設定檔,使用提供的 [param key] 對其解密。解析檔的內容並將" "其載入到呼叫該方法的 [ConfigFile] 物件中。\n" "返回 [enum Error] 錯誤碼常數(成功時為 [constant OK])。" #: doc/classes/ConfigFile.xml msgid "" "Loads the encrypted config file specified as a parameter, using the provided " "[param password] to decrypt it. The file's contents are parsed and loaded in " "the [ConfigFile] object which the method was called on.\n" "Returns [constant OK] on success, or one of the other [enum Error] values if " "the operation failed." msgstr "" "載入作為參數的加密設定檔,使用提供的 [param password] 解密。該檔的內容被解析" "並載入到呼叫該方法的 [ConfigFile] 物件中。\n" "返回 [enum Error] 錯誤碼常數(成功時為 [constant OK])。" #: doc/classes/ConfigFile.xml msgid "" "Parses the passed string as the contents of a config file. The string is " "parsed and loaded in the ConfigFile object which the method was called on.\n" "Returns [constant OK] on success, or one of the other [enum Error] values if " "the operation failed." msgstr "" "將傳遞的字串解析為設定檔的內容。該字串被解析並載入到呼叫該方法的 ConfigFile " "對象中。\n" "返回 [enum Error] 錯誤碼常數(成功時為 [constant OK])。" #: doc/classes/ConfigFile.xml msgid "" "Saves the contents of the [ConfigFile] object to the file specified as a " "parameter. The output file uses an INI-style structure.\n" "Returns [constant OK] on success, or one of the other [enum Error] values if " "the operation failed." msgstr "" "將 [ConfigFile] 物件的內容保存到指定為參數的檔中。輸出檔使用 INI 樣式的結" "構。\n" "返回 [enum Error] 錯誤碼常數(成功時為 [constant OK])。" #: doc/classes/ConfigFile.xml msgid "" "Saves the contents of the [ConfigFile] object to the AES-256 encrypted file " "specified as a parameter, using the provided [param key] to encrypt it. The " "output file uses an INI-style structure.\n" "Returns [constant OK] on success, or one of the other [enum Error] values if " "the operation failed." msgstr "" "使用提供的 [param key] 將 [ConfigFile] 物件的內容保存到作為參數指定的 " "AES-256 加密檔中。輸出檔使用 INI 樣式的結構。\n" "返回 [enum Error] 錯誤碼常數(成功時為 [constant OK])。" #: doc/classes/ConfigFile.xml msgid "" "Saves the contents of the [ConfigFile] object to the AES-256 encrypted file " "specified as a parameter, using the provided [param password] to encrypt it. " "The output file uses an INI-style structure.\n" "Returns [constant OK] on success, or one of the other [enum Error] values if " "the operation failed." msgstr "" "將 [ConfigFile] 物件的內容保存到作為參數指定的 AES-256 加密檔中,使用提供的 " "[param password] 進行加密。輸出檔使用 INI 風格的結構。\n" "返回 [enum Error] 錯誤碼常數(成功時為 [constant OK])。" #: doc/classes/ConfigFile.xml msgid "" "Assigns a value to the specified key of the specified section. If either the " "section or the key do not exist, they are created. Passing a [code]null[/" "code] value deletes the specified key if it exists, and deletes the section " "if it ends up empty once the key has been removed." msgstr "" "為指定小節的指定鍵賦值。如果小節或鍵不存在,則建立它們。如果指定的鍵存在,傳" "遞 [code]null[/code] 值就會移除指定的鍵,如果鍵被移除後,小節最終是空的,就會" "移除小節。" #: doc/classes/ConfirmationDialog.xml msgid "A dialog used for confirmation of actions." msgstr "用於確認動作的對話方塊。" #: doc/classes/ConfirmationDialog.xml #, fuzzy msgid "" "A dialog used for confirmation of actions. This window is similar to " "[AcceptDialog], but pressing its Cancel button can have a different outcome " "from pressing the OK button. The order of the two buttons varies depending " "on the host OS.\n" "To get cancel action, you can use:\n" "[codeblocks]\n" "[gdscript]\n" "get_cancel_button().pressed.connect(_on_canceled)\n" "[/gdscript]\n" "[csharp]\n" "GetCancelButton().Pressed += OnCanceled;\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Note:[/b] [AcceptDialog] is invisible by default. To make it visible, " "call one of the [code]popup_*[/code] methods from [Window] on the node, such " "as [method Window.popup_centered_clamped]." msgstr "" "用於確認動作的對話方塊。這個視窗類似於 [AcceptDialog],但按下“取消”按鈕和按下" "“確定”按鈕的效果是不同的。這兩個按鈕的順序取決於主機作業系統。\n" "要獲得取消操作,你可以使用:\n" "[codeblocks]\n" "[gdscript]\n" "get_cancel_button().pressed.connect(self.canceled)\n" "[/gdscript]\n" "[csharp]\n" "GetCancelButton().Pressed += Canceled;\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/ConfirmationDialog.xml msgid "" "Returns the cancel button.\n" "[b]Warning:[/b] This is a required internal node, removing and freeing it " "may cause a crash. If you wish to hide it or any of its children, use their " "[member CanvasItem.visible] property." msgstr "" "返回取消按鈕。\n" "[b]警告:[/b]這是一個必需的內部節點,移除並釋放它可能會導致當機。如果你希望隱" "藏它或其任何子項,請使用其 [member CanvasItem.visible] 屬性。" #: doc/classes/ConfirmationDialog.xml msgid "" "The text displayed by the cancel button (see [method get_cancel_button])." msgstr "取消按鈕顯示的文字(見 [method get_cancel_button])。" #: doc/classes/Container.xml msgid "Base class for all GUI containers." msgstr "所有 GUI 容器的基底類別。" #: doc/classes/Container.xml msgid "" "Base class for all GUI containers. A [Container] automatically arranges its " "child controls in a certain way. This class can be inherited to make custom " "container types." msgstr "" "所有 GUI 容器的基礎節點。[Container] 包含其他控制項,並自動以某種方式排列它" "們。可以繼承此類來生成自訂的容器類。" #: doc/classes/Container.xml msgid "" "Implement to return a list of allowed horizontal [enum Control.SizeFlags] " "for child nodes. This doesn't technically prevent the usages of any other " "size flags, if your implementation requires that. This only limits the " "options available to the user in the Inspector dock.\n" "[b]Note:[/b] Having no size flags is equal to having [constant " "Control.SIZE_SHRINK_BEGIN]. As such, this value is always implicitly allowed." msgstr "" "實作此方法以回傳子節點允許的水平 [enum Control.SizeFlags] 列表。這在技術上並" "不會阻止使用任何其他尺寸旗標,如果您的實作需要的話。這僅是限制屬性檢視器面板" "中提供給使用者的選項。\n" "[b]注意:[/b] 沒有尺寸旗標等同於擁有 [constant Control.SIZE_SHRINK_BEGIN]。因" "此,此值始終為隱式允許。" #: doc/classes/Container.xml msgid "" "Implement to return a list of allowed vertical [enum Control.SizeFlags] for " "child nodes. This doesn't technically prevent the usages of any other size " "flags, if your implementation requires that. This only limits the options " "available to the user in the Inspector dock.\n" "[b]Note:[/b] Having no size flags is equal to having [constant " "Control.SIZE_SHRINK_BEGIN]. As such, this value is always implicitly allowed." msgstr "" "實作以傳回子節點允許的垂直 [enum Control.SizeFlags] 清單。這並不會技術上阻止" "任何其他大小旗標的使用,如果您的實作需要那樣。這僅限制使用者在屬性檢視器面板" "中可用的選項。\n" "[b]注意:[/b] 沒有大小旗標等同於有 [constant Control.SIZE_SHRINK_BEGIN]。因" "此,這個值總是隱含允許的。" #: doc/classes/Container.xml msgid "" "Fit a child control in a given rect. This is mainly a helper for creating " "custom container classes." msgstr "在給定的矩形中適配子控制項。這主要是用於建立自訂容器類的輔助工具。" #: doc/classes/Container.xml msgid "" "Queue resort of the contained children. This is called automatically anyway, " "but can be called upon request." msgstr "將子節點的重排加入佇列。雖然會被自動呼叫,但也可以在需要時手動呼叫。" #: doc/classes/Container.xml msgid "Emitted when children are going to be sorted." msgstr "子節點將要被排序時發出。" #: doc/classes/Container.xml msgid "Emitted when sorting the children is needed." msgstr "需要對子節點進行排序時發出。" #: doc/classes/Container.xml msgid "" "Notification just before children are going to be sorted, in case there's " "something to process beforehand." msgstr "在子節點將要被排序之前通知,以防有事情需要事先處理。" #: doc/classes/Container.xml msgid "" "Notification for when sorting the children, it must be obeyed immediately." msgstr "對子節點進行排序時的通知,必須立即服從。" #: doc/classes/Control.xml msgid "" "Base class for all GUI controls. Adapts its position and size based on its " "parent control." msgstr "所有 GUI 控制項的基底類別。根據其父控制項調整其位置和大小。" #: doc/classes/Control.xml #, fuzzy msgid "" "Base class for all UI-related nodes. [Control] features a bounding rectangle " "that defines its extents, an anchor position relative to its parent control " "or the current viewport, and offsets relative to the anchor. The offsets " "update automatically when the node, any of its parents, or the screen size " "change.\n" "For more information on Godot's UI system, anchors, offsets, and containers, " "see the related tutorials in the manual. To build flexible UIs, you'll need " "a mix of UI elements that inherit from [Control] and [Container] nodes.\n" "[b]Note:[/b] Since both [Node2D] and [Control] inherit from [CanvasItem], " "they share several concepts from the class such as the [member " "CanvasItem.z_index] and [member CanvasItem.visible] properties.\n" "[b]User Interface nodes and input[/b]\n" "Godot propagates input events via viewports. Each [Viewport] is responsible " "for propagating [InputEvent]s to their child nodes. As the [member " "SceneTree.root] is a [Window], this already happens automatically for all UI " "elements in your game.\n" "Input events are propagated through the [SceneTree] from the root node to " "all child nodes by calling [method Node._input]. For UI elements " "specifically, it makes more sense to override the virtual method [method " "_gui_input], which filters out unrelated input events, such as by checking z-" "order, [member mouse_filter], focus, or if the event was inside of the " "control's bounding box.\n" "Call [method accept_event] so no other node receives the event. Once you " "accept an input, it becomes handled so [method Node._unhandled_input] will " "not process it.\n" "Only one [Control] node can be in focus. Only the node in focus will receive " "events. To get the focus, call [method grab_focus]. [Control] nodes lose " "focus when another node grabs it, or if you hide the node in focus. Focus " "will not be represented visually if gained via mouse/touch input, only " "appearing with keyboard/gamepad input (for accessibility), or via [method " "grab_focus].\n" "Set [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a " "[Control] node to ignore mouse or touch events. You'll need it if you place " "an icon on top of a button.\n" "[Theme] resources change the control's appearance. The [member theme] of a " "[Control] node affects all of its direct and indirect children (as long as a " "chain of controls is uninterrupted). To override some of the theme items, " "call one of the [code]add_theme_*_override[/code] methods, like [method " "add_theme_font_override]. You can also override theme items in the " "Inspector.\n" "[b]Note:[/b] Theme items are [i]not[/i] [Object] properties. This means you " "can't access their values using [method Object.get] and [method Object.set]. " "Instead, use the [code]get_theme_*[/code] and [code]add_theme_*_override[/" "code] methods provided by this class." msgstr "" "所有與 UI 相關節點的基底類別。[Control] 具有定義其範圍的邊界矩形、相對於其父" "節點 Control 或目前視埠的錨點位置,以及相對於錨點的偏移量。當節點、其任何父節" "點或螢幕尺寸變更時,偏移量會自動更新。\n" "有關 Godot 的 UI 系統、錨點、偏移量與容器的更多資訊,請參閱手冊中的相關教學。" "若要建構彈性的 UI,您需要組合繼承自 [Control] 和 [Container] 節點的 UI 元" "素。\n" "[b]注意:[/b] 由於 [Node2D] 和 [Control] 都繼承自 [CanvasItem],因此它們共用" "了此類別中的一些概念,例如 [member CanvasItem.z_index] 和 [member " "CanvasItem.visible] 屬性。\n" "[b]使用者介面節點與輸入[/b]\n" "Godot 透過視埠傳播輸入事件。每個 [Viewport] 都負責將 [InputEvent] 傳播給其子" "節點。由於 [member SceneTree.root] 是 [Window],因此這對於您遊戲中的所有 UI " "元素都已自動發生。\n" "輸入事件透過呼叫 [method Node._input] 從根節點透過 [SceneTree] 傳播到所有子節" "點。對於 UI 元素來說,更合理的做法是覆寫虛擬方法 [method _gui_input],它可以" "篩選掉不相關的輸入事件,例如檢查 Z 軸順序、[member mouse_filter]、焦點,或事" "件是否在 Control 的邊界方框內。\n" "呼叫 [method accept_event],這樣其他節點就不會收到該事件。一旦您接受了輸入," "它就會被標記為已處理,因此 [method Node._unhandled_input] 將不會處理它。\n" "只有一個 [Control] 節點可以處於焦點狀態。只有處於焦點狀態的節點會收到事件。若" "要取得焦點,請呼叫 [method grab_focus]。當另一個節點取得焦點時,或如果您隱藏" "了處於焦點狀態的節點時,[Control] 節點會失去焦點。\n" "將 [member mouse_filter] 設定為 [constant MOUSE_FILTER_IGNORE],以告訴 " "Control 節點忽略滑鼠或觸控事件。如果您在按鈕上方放置圖示,就會需要它。\n" "[Theme] 資源會改變 Control 的外觀。[Control] 節點的 [member theme] 會影響其所" "有直接與間接子節點 (只要 Control 的鏈沒有中斷)。若要覆寫一些主題項目,請呼叫" "其中一個 [code]add_theme_*_override[/code] 方法,例如 [method " "add_theme_font_override]。您也可以在屬性檢視器中覆寫主題項目。\n" "[b]注意:[/b] 主題項目 [i]不是[/i] [Object] 屬性。這表示您無法使用 [method " "Object.get] 和 [method Object.set] 存取它們的值。請改用由此類別提供的 " "[code]get_theme_*[/code] 和 [code]add_theme_*_override[/code] 方法。" #: doc/classes/Control.xml msgid "GUI documentation index" msgstr "GUI 文件索引" #: doc/classes/Control.xml msgid "Control node gallery" msgstr "控制項節點一覽" #: doc/classes/Control.xml doc/classes/SceneTree.xml msgid "Multiple resolutions" msgstr "多解析度" #: doc/classes/Control.xml msgid "All GUI Demos" msgstr "所有 GUI 演示" #: doc/classes/Control.xml msgid "" "Return the description of the keyboard shortcuts and other contextual help " "for this control." msgstr "" #: doc/classes/Control.xml #, fuzzy msgid "" "Godot calls this method to test if [param data] from a control's [method " "_get_drag_data] can be dropped at [param at_position]. [param at_position] " "is local to this control.\n" "This method should only be used to test the data. Process the data in " "[method _drop_data].\n" "[b]Note:[/b] If the drag was initiated by a keyboard shortcut or [method " "accessibility_drag], [param at_position] is set to [constant Vector2.INF], " "and the currently selected item/text position should be used as the drop " "position.\n" "[codeblocks]\n" "[gdscript]\n" "func _can_drop_data(position, data):\n" "\t# Check position if it is relevant to you\n" "\t# Otherwise, just check data\n" "\treturn typeof(data) == TYPE_DICTIONARY and data.has(\"expected\")\n" "[/gdscript]\n" "[csharp]\n" "public override bool _CanDropData(Vector2 atPosition, Variant data)\n" "{\n" "\t// Check position if it is relevant to you\n" "\t// Otherwise, just check data\n" "\treturn data.VariantType == Variant.Type.Dictionary && " "data.AsGodotDictionary().ContainsKey(\"expected\");\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "Godot 呼叫這個方法來檢查是否能夠將來自某個控制項 [method _get_drag_data] 方法" "的 [param data] 拖放到 [param at_position]。[param at_position] 使用的是這個" "控制項的局部坐標系。\n" "這個方法應該只用於檢查資料。請在 [method _drop_data] 中處理資料。\n" "[codeblocks]\n" "[gdscript]\n" "func _can_drop_data(position, data):\n" "\t# 如果和位置相關就檢查 position\n" "\t# 否則只檢查 data 即可\n" "\treturn typeof(data) == TYPE_DICTIONARY and data.has(\"expected\")\n" "[/gdscript]\n" "[csharp]\n" "public override bool _CanDropData(Vector2 atPosition, Variant data)\n" "{\n" "\t// 如果和位置相關就檢查 position\n" "\t// 否則只檢查 data 即可\n" "\treturn data.VariantType == Variant.Type.Dictionary && " "data.AsGodotDictionary().ContainsKey(\"expected\");\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Control.xml #, fuzzy msgid "" "Godot calls this method to pass you the [param data] from a control's " "[method _get_drag_data] result. Godot first calls [method _can_drop_data] to " "test if [param data] is allowed to drop at [param at_position] where [param " "at_position] is local to this control.\n" "[b]Note:[/b] If the drag was initiated by a keyboard shortcut or [method " "accessibility_drag], [param at_position] is set to [constant Vector2.INF], " "and the currently selected item/text position should be used as the drop " "position.\n" "[codeblocks]\n" "[gdscript]\n" "func _can_drop_data(position, data):\n" "\treturn typeof(data) == TYPE_DICTIONARY and data.has(\"color\")\n" "\n" "func _drop_data(position, data):\n" "\tvar color = data[\"color\"]\n" "[/gdscript]\n" "[csharp]\n" "public override bool _CanDropData(Vector2 atPosition, Variant data)\n" "{\n" "\treturn data.VariantType == Variant.Type.Dictionary && " "data.AsGodotDictionary().ContainsKey(\"color\");\n" "}\n" "\n" "public override void _DropData(Vector2 atPosition, Variant data)\n" "{\n" "\tColor color = data.AsGodotDictionary()[\"color\"].AsColor();\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "Godot 呼叫這個方法把 [param data] 傳給你,這是從某個控制項的 [method " "_get_drag_data] 獲得的結果。Godot 首先會呼叫 [method _can_drop_data] 來檢查是" "否允許把 [param data] 拖放到 [param at_position],這裡的 [param at_position] " "使用的是這個控制項的局部坐標系。\n" "[codeblocks]\n" "[gdscript]\n" "func _can_drop_data(position, data):\n" "\treturn typeof(data) == TYPE_DICTIONARY and data.has(\"color\")\n" "\n" "func _drop_data(position, data):\n" "\tvar color = data[\"color\"]\n" "[/gdscript]\n" "[csharp]\n" "public override bool _CanDropData(Vector2 atPosition, Variant data)\n" "{\n" "\treturn data.VariantType == Variant.Type.Dictionary && " "dict.AsGodotDictionary().ContainsKey(\"color\");\n" "}\n" "\n" "public override void _DropData(Vector2 atPosition, Variant data)\n" "{\n" "\tColor color = data.AsGodotDictionary()[\"color\"].AsColor();\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Control.xml msgid "" "Override this method to return a human-readable description of the position " "of the child [param node] in the custom container, added to the [member " "accessibility_name]." msgstr "" #: doc/classes/Control.xml #, fuzzy msgid "" "Godot calls this method to get data that can be dragged and dropped onto " "controls that expect drop data. Returns [code]null[/code] if there is no " "data to drag. Controls that want to receive drop data should implement " "[method _can_drop_data] and [method _drop_data]. [param at_position] is " "local to this control. Drag may be forced with [method force_drag].\n" "A preview that will follow the mouse that should represent the data can be " "set with [method set_drag_preview]. A good time to set the preview is in " "this method.\n" "[b]Note:[/b] If the drag was initiated by a keyboard shortcut or [method " "accessibility_drag], [param at_position] is set to [constant Vector2.INF], " "and the currently selected item/text position should be used as the drag " "position.\n" "[codeblocks]\n" "[gdscript]\n" "func _get_drag_data(position):\n" "\tvar mydata = make_data() # This is your custom method generating the drag " "data.\n" "\tset_drag_preview(make_preview(mydata)) # This is your custom method " "generating the preview of the drag data.\n" "\treturn mydata\n" "[/gdscript]\n" "[csharp]\n" "public override Variant _GetDragData(Vector2 atPosition)\n" "{\n" "\tvar myData = MakeData(); // This is your custom method generating the drag " "data.\n" "\tSetDragPreview(MakePreview(myData)); // This is your custom method " "generating the preview of the drag data.\n" "\treturn myData;\n" "}\n" "[/csharp]\n" "[/codeblocks]" msgstr "" "Godot 呼叫該方法來獲取可以拖放到期望放置資料的控制項上的資料。如果沒有要拖動" "的資料,則返回 [code]null[/code]。想要接收拖放資料的控制項應該實作 [method " "_can_drop_data] 和 [method _drop_data]。[param at_position] 是該控制項的局部" "位元置。可以使用 [method force_drag] 強制拖動。\n" "可以使用 [method set_drag_preview] 設定跟隨滑鼠顯示資料的預覽。設定預覽的好時" "機就是在這個方法中。\n" "[codeblocks]\n" "[gdscript]\n" "func _get_drag_data(position):\n" "\tvar mydata = make_data() # This is your custom method generating the drag " "data.\n" "\tset_drag_preview(make_preview(mydata)) # 這是你生成拖動資料預覽的自訂方" "法。\n" "\treturn mydata\n" "[/gdscript]\n" "[csharp]\n" "public override Variant _GetDragData(Vector2 atPosition)\n" "{\n" "\tvar myData = MakeData(); // This is your custom method generating the drag " "data.\n" "\tSetDragPreview(MakePreview(myData)); // 這是你生成拖動資料預覽的自訂方" "法。\n" "\treturn myData;\n" "}\n" "[/csharp]\n" "[/codeblocks]" #: doc/classes/Control.xml msgid "" "Virtual method to be implemented by the user. Returns the minimum size for " "this control. Alternative to [member custom_minimum_size] for controlling " "minimum size via code. The actual minimum size will be the max value of " "these two (in each axis separately).\n" "If not overridden, defaults to [constant Vector2.ZERO].\n" "[b]Note:[/b] This method will not be called when the script is attached to a " "[Control] node that already overrides its minimum size (e.g. [Label], " "[Button], [PanelContainer] etc.). It can only be used with most basic GUI " "nodes, like [Control], [Container], [Panel] etc." msgstr "" "由使用者實作的虛方法。返回此控制項的最小大小。替代 [member " "custom_minimum_size],以用於通過程式碼控制最小尺寸。實際的最小尺寸將是這兩者" "的最大值(分別在每個軸上)。\n" "如果未覆蓋,則預設為 [constant Vector2.ZERO]。\n" "[b]注意:[/b]當腳本被附加到已經覆蓋其最小大小的 [Control] 節點(例如 " "[Label]、[Button]、[PanelContainer] 等)時,該方法將不會被呼叫。它只能用於最" "基本的 GUI 節點,如 [Control]、[Container]、[Panel] 等。" #: doc/classes/Control.xml #, fuzzy msgid "" "Virtual method to be implemented by the user. Returns the tooltip text for " "the position [param at_position] in control's local coordinates, which will " "typically appear when the cursor is resting over this control. See [method " "get_tooltip].\n" "[b]Note:[/b] If this method returns an empty [String] and [method " "_make_custom_tooltip] is not overridden, no tooltip is displayed." msgstr "" "使用者實作的虛方法。返回位於控制項局部坐標系中 [param at_position] 位置的工具" "提示文字,工具提示一般會在滑鼠停留在該控制項上時顯示。見 [method " "get_tooltip]。\n" "[b]注意:[/b]如果返回的是空 [String],則不會顯示工具提示。" #: doc/classes/Control.xml #, fuzzy msgid "" "Virtual method to be implemented by the user. Override this method to handle " "and accept inputs on UI elements. See also [method accept_event].\n" "[b]Example:[/b] Click on the control to print a message:\n" "[codeblocks]\n" "[gdscript]\n" "func _gui_input(event):\n" "\tif event is InputEventMouseButton:\n" "\t\tif event.button_index == MOUSE_BUTTON_LEFT and event.pressed:\n" "\t\t\tprint(\"I've been clicked D:\")\n" "[/gdscript]\n" "[csharp]\n" "public override void _GuiInput(InputEvent @event)\n" "{\n" "\tif (@event is InputEventMouseButton mb)\n" "\t{\n" "\t\tif (mb.ButtonIndex == MouseButton.Left && mb.Pressed)\n" "\t\t{\n" "\t\t\tGD.Print(\"I've been clicked D:\");\n" "\t\t}\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "If the [param event] inherits [InputEventMouse], this method will [b]not[/b] " "be called when:\n" "- the control's [member mouse_filter] is set to [constant " "MOUSE_FILTER_IGNORE];\n" "- the control is obstructed by another control on top, that doesn't have " "[member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];\n" "- the control's parent has [member mouse_filter] set to [constant " "MOUSE_FILTER_STOP] or has accepted the event;\n" "- the control's parent has [member clip_contents] enabled and the [param " "event]'s position is outside the parent's rectangle;\n" "- the [param event]'s position is outside the control (see [method " "_has_point]).\n" "[b]Note:[/b] The [param event]'s position is relative to this control's " "origin." msgstr "" "由使用者實作的虛方法。使用此方法處理和接受 UI 元素上的輸入。請參閱 [method " "accept_event]。\n" "[b]點擊控制項的用法範例:[/b]\n" "[codeblocks]\n" "[gdscript]\n" "func _gui_input(event):\n" "\tif event is InputEventMouseButton:\n" "\t\tif event.button_index == MOUSE_BUTTON_LEFT and event.pressed:\n" "\t\t\tprint(\"我已被點擊 D:\")\n" "[/gdscript]\n" "[csharp]\n" "public override void _GuiInput(InputEvent @event)\n" "{\n" "\tif (@event is InputEventMouseButton mb)\n" "\t{\n" "\t\tif (mb.ButtonIndex == MouseButton.Left && mb.Pressed)\n" "\t\t{\n" "\t\t\tGD.Print(\"我已被點擊 D:\");\n" "\t\t}\n" "\t}\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "如果出現以下情況,則不會觸發該事件:\n" "* 在控制項外點擊(參閱[method _has_point]);\n" "* 控制項將 [member mouse_filter] 設定為 [constant MOUSE_FILTER_IGNORE];\n" "* 控制項被其上的另一個 [Control] 阻擋,該控制項沒有將 [member mouse_filter] " "設定為 [constant MOUSE_FILTER_IGNORE];\n" "* 控制項的父級已將 [member mouse_filter] 設定為 [constant MOUSE_FILTER_STOP] " "或已接受該事件;\n" "* 它發生在父級的矩形之外,並且父級已啟用 [member clip_contents]。\n" "[b]注意:[/b]事件位置相對於該控制項原點。" #: doc/classes/Control.xml msgid "" "Virtual method to be implemented by the user. Returns whether the given " "[param point] is inside this control.\n" "If not overridden, default behavior is checking if the point is within " "control's Rect.\n" "[b]Note:[/b] If you want to check if a point is inside the control, you can " "use [code]Rect2(Vector2.ZERO, size).has_point(point)[/code]." msgstr "" "由使用者實作的虛方法。返回給定的 [param point] 是否在該控制項內。\n" "如果沒有被覆蓋,則預設行為是檢查該點是否在控制項的 Rect 內。\n" "[b]注意:[/b]如果要檢查一個點是否在該控制項內部,可以使用 " "[code]Rect2(Vector2.ZERO, size).has_point(point)[/code]。" #: doc/classes/Control.xml #, fuzzy msgid "" "Virtual method to be implemented by the user. Returns a [Control] node that " "should be used as a tooltip instead of the default one. [param for_text] is " "the return value of [method get_tooltip].\n" "The returned node must be of type [Control] or Control-derived. It can have " "child nodes of any type. It is freed when the tooltip disappears, so make " "sure you always provide a new instance (if you want to use a pre-existing " "node from your scene tree, you can duplicate it and pass the duplicated " "instance). When [code]null[/code] or a non-Control node is returned, the " "default tooltip will be used instead.\n" "The returned node will be added as child to a [PopupPanel], so you should " "only provide the contents of that panel. That [PopupPanel] can be themed " "using [method Theme.set_stylebox] for the type [code]\"TooltipPanel\"[/code] " "(see [member tooltip_text] for an example).\n" "[b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure " "it's fully visible, you might want to set its [member custom_minimum_size] " "to some non-zero value.\n" "[b]Note:[/b] The node (and any relevant children) should have their [member " "CanvasItem.visible] set to [code]true[/code] when returned, otherwise, the " "viewport that instantiates it will not be able to calculate its minimum size " "reliably.\n" "[b]Note:[/b] If overridden, this method is called even if [method " "get_tooltip] returns an empty string. When this happens with the default " "tooltip, it is not displayed. To copy this behavior, return [code]null[/" "code] in this method when [param for_text] is empty.\n" "[b]Example:[/b] Use a constructed node as a tooltip:\n" "[codeblocks]\n" "[gdscript]\n" "func _make_custom_tooltip(for_text):\n" "\tvar label = Label.new()\n" "\tlabel.text = for_text\n" "\treturn label\n" "[/gdscript]\n" "[csharp]\n" "public override Control _MakeCustomTooltip(string forText)\n" "{\n" "\tvar label = new Label();\n" "\tlabel.Text = forText;\n" "\treturn label;\n" "}\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Example:[/b] Use a scene instance as a tooltip:\n" "[codeblocks]\n" "[gdscript]\n" "func _make_custom_tooltip(for_text):\n" "\tvar tooltip = preload(\"res://some_tooltip_scene.tscn\").instantiate()\n" "\ttooltip.get_node(\"Label\").text = for_text\n" "\treturn tooltip\n" "[/gdscript]\n" "[csharp]\n" "public override Control _MakeCustomTooltip(string forText)\n" "{\n" "\tNode tooltip = ResourceLoader.Load(\"res://" "some_tooltip_scene.tscn\").Instantiate();\n" "\ttooltip.GetNode