diff --git a/doc/translations/fr.po b/doc/translations/fr.po index 8f526aaa0c3..62a783b9c0c 100644 --- a/doc/translations/fr.po +++ b/doc/translations/fr.po @@ -115,13 +115,14 @@ # alpikespot , 2024. # dan rastock , 2024. # Théo GUEURET , 2025. +# Olivier , 2025. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-01-23 17:32+0000\n" -"Last-Translator: Théo GUEURET \n" +"PO-Revision-Date: 2025-03-14 04:09+0000\n" +"Last-Translator: Olivier \n" "Language-Team: French \n" "Language: fr\n" @@ -129,7 +130,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" msgid "All classes" msgstr "Toutes les classes" @@ -373,9 +374,23 @@ msgstr "" msgid "Built-in GDScript constants, functions, and annotations." msgstr "Constantes, fonctions et annotations intégrées à GDScript." +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 "" +"Une liste de fonctions utilitaires et d'annotations, utilisables depuis " +"n'importe quel script écrit en GDScript.\n" +"Pour voir la liste des fonctions et constantes globales disponibles dans " +"n'importe quel langage, voir [@GlobalScope]." + msgid "GDScript exports" msgstr "Exports GDScript" +msgid "Use [method Color.from_rgba8] instead." +msgstr "Utilisez [method Color.from_rgba8] à la place." + msgid "" "Returns a [Color] constructed from red ([param r8]), green ([param g8]), blue " "([param b8]), and optionally alpha ([param a8]) integer channels, each " @@ -401,9 +416,9 @@ msgstr "" "utile lorsque vous devez faire correspondre des valeurs de couleur exactes " "dans une [Image].\n" "[codeblock]\n" -"var red = Color8(255, 0, 0) # Meme effet que Color(1, 0, 0).\n" -"var dark_blue = Color8(0, 0, 51) # Meme effet que Color(0, 0, 0.2).\n" -"var my_color = Color8(306, 255, 0, 102) # Meme effet que Color(1.2, 1, 0, " +"var red = Color8(255, 0, 0) # Même effet que Color(1, 0, 0).\n" +"var dark_blue = Color8(0, 0, 51) # Même effet que Color(0, 0, 0.2).\n" +"var my_color = Color8(306, 255, 0, 102) # Même effet que Color(1.2, 1, 0, " "0.4).\n" "[/codeblock]\n" "[b]Note :[/b] En raison de la précision inférieure de [method Color8] par " @@ -469,6 +484,23 @@ msgstr "" "pouvez donc pas y accéder en tant que [Callable] ou l'utiliser dans des " "expressions." +msgid "" +"Returns a single character (as a [String]) of the given Unicode code point " +"(which is compatible with ASCII code).\n" +"[codeblock]\n" +"var upper = char(65) # upper is \"A\"\n" +"var lower = char(65 + 32) # lower is \"a\"\n" +"var euro = char(8364) # euro is \"€\"\n" +"[/codeblock]" +msgstr "" +"Renvoie un unique caractère au format chaîne de caractère ([String]) " +"correspondant à la valeur Unicode donnée (compatible avec le code ASCII).\n" +"[codeblock]\n" +"var upper = char(65) # upper vaut « A »\n" +"var lower = char(65 + 32) # lower vaut « a »\n" +"var euro = char(8364) # euro vaut « € »\n" +"[/codeblock]" + msgid "Use [method @GlobalScope.type_convert] instead." msgstr "Utilisez [method @GlobalScope.type_convert] à la place." @@ -495,6 +527,13 @@ msgstr "" "print(b is Array) # Affiche false\n" "[/codeblock]" +msgid "" +"Consider using [method JSON.to_native] or [method Object.get_property_list] " +"instead." +msgstr "" +"Songez à utiliser [method JSON.to_native] ou [method Object." +"get_property_list] à la place." + msgid "" "Converts a [param dictionary] (created with [method inst_to_dict]) back to an " "Object instance. Can be useful for deserializing." @@ -553,6 +592,110 @@ msgstr "" "[b]Note :[/b] L'appel de cette fonction depuis un [Thread] n'est pas pris en " "charge. Cela renverra un tableau vide." +msgid "" +"Consider using [method JSON.from_native] or [method Object.get_property_list] " +"instead." +msgstr "" +"Songez à utiliser [method JSON.from_native] ou [method Object." +"get_property_list] à la place." + +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" +" var d = inst_to_dict(self)\n" +" print(d.keys())\n" +" print(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 "" +"Retourne l'[param instance] donnée convertie en un Dictionnaire. Peut " +"s'avérer utile pour la sérialisation.\n" +"[codeblock]\n" +"var foo = \"bar\"\n" +"func _ready():\n" +" var d = inst_to_dict(self)\n" +" print(d.keys())\n" +" print(d.values())\n" +"[/codeblock]\n" +"Affiche :\n" +"[codeblock lang=text]\n" +"[@subpath, @path, foo]\n" +"[, res://test.gd, bar]\n" +"[/codeblock]\n" +"[b]Remarque :[/b] Cette fonction ne peut être utilisée que pour sérialiser " +"des objets ayant un [GDScript] associé dans un fichier séparé. Les objets " +"sans script associé, avec un script écrit dans un autre langage, ou encore " +"avec un script incorporé ne sont pas supportés.\n" +"[b]Remarque :[/b] Cette fonction n'est pas récursive. Ce qui veut dire que " +"les objets contenus ne seront pas représentés sous forme de dictionnaire. " +"Aussi, les propriétés passées par référence ([Object], [Dictionary], [Array], " +"et packed arrays) seront copiées par référence, pas dupliquées." + +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 dynamic type checking.\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 "" +"Renvoie [code]true[/code] si [param value] est une instance de [param type]. " +"La valeur de [param type] doit être l'une des suivantes :\n" +"- Une constante de l'énumération [enum Variant.Type], par exemple [constant " +"TYPE_INT].\n" +"- Une classe dérivée de [Object] qui existe dans [ClassDB], par exemple " +"[Node].\n" +"- Un [Script] (vous pouvez utiliser n'importe quelle classe, y compris une " +"classe interne).\n" +"Contrairement à l'opérande droit de l'opérateur [code]is[/code], [param type] " +"peut être une valeur non constante. L'opérateur [code]is[/code] prend en " +"charge davantage de fonctionnalités (telles que les tableaux typés). Utilisez " +"l'opérateur au lieu de cette méthode si vous n'avez pas besoin d'une " +"vérification dynamique des types.\n" +"[b]Exemples :[/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] Si [param value] et/ou [param type] sont des objets libérés " +"(voir [method @GlobalScope.is_instance_valid]), ou si [param type] n'est pas " +"l'une des options ci-dessus, cette méthode lèvera une erreur d'exécution.\n" +"Voir aussi [method @GlobalScope.typeof], [method type_exists], [method Array." +"is_same_typed] (et autres méthodes [Array])." + 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 " @@ -778,7 +921,7 @@ msgstr "" "à virgule) invalide. [constant NAN] a des propriétés particulières, notamment " "que [code] !=[/code] retourne toujours [code]true[/code], tandis que les " "autres comparateurs retournerons toujours [code]false[/code]. Cela est vrai " -"meme en le comparant à lui-même ([code]NAN == NAN[/code] retourne " +"même en le comparant à lui-même ([code]NAN == NAN[/code] retourne " "[code]false[/code] et [code]NAN != NAN[/code] retourne [code]true[/code]). " "NAN est retourné par certaines operations invalides telles que diviser un " "nombre flottant [code]0.0[/code] par [code]0.0[/code].\n" @@ -12163,9 +12306,9 @@ msgstr "" "supporte la recherche dans la liste lorsque le contrôle est en focus. Appuyez " "sur une touche qui correspond à la premiere lettre d'un objet pour " "sélectionner le premier objet commençant par cette lettre. Après cela, il y à " -"deux façons d'effectuer une recherche incrémentale : 1) Appuyez sur la meme " +"deux façons d'effectuer une recherche incrémentale : 1) Appuyez sur la même " "touche pendant la fin du délai pour sélectionner l'objet suivant commençant " -"par la meme lettre. 2) Entrer les lettres qui correspondent au reste du mot " +"par la même lettre. 2) Entrer les lettres qui correspondent au reste du mot " "avant la fin du délai pour sélectionner l'objet directement.\n" "Ces deux actions retournerons au debut de la liste si le délai a expiré " "depuis le dernier appui enregistré. Vous pouvez ajuster la longueur du délai " diff --git a/doc/translations/it.po b/doc/translations/it.po index be2ac3d93bc..bdf33cafcc1 100644 --- a/doc/translations/it.po +++ b/doc/translations/it.po @@ -45,7 +45,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2025-03-13 23:27+0000\n" +"PO-Revision-Date: 2025-03-15 11:27+0000\n" "Last-Translator: Micky \n" "Language-Team: Italian \n" @@ -1713,6 +1713,97 @@ msgstr "" "@export var ruota_materiale: PhysicsMaterial\n" "[/codeblock]" +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" +" print(\"Hello world!\")\n" +"\n" +"func randomize_color():\n" +" var undo_redo = EditorInterface.get_editor_undo_redo()\n" +" undo_redo.create_action(\"Randomized Sprite2D Color\")\n" +" undo_redo.add_do_property(self, &\"self_modulate\", Color(randf(), " +"randf(), randf()))\n" +" undo_redo.add_undo_property(self, &\"self_modulate\", self_modulate)\n" +" undo_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 "" +"Esporta una proprietà [Callable] come pulsante cliccabile con l'etichetta " +"[param text]. Quando il pulsante viene premuto, il chiamabile viene " +"chiamato.\n" +"Se [param icon] è specificato, viene utilizzato per recuperare un'icona per " +"il pulsante tramite [method Control.get_theme_icon], dal tipo di tema " +"[code]\"EditorIcons\"[/code]. Se [param icon] viene omesso, viene utilizzata " +"l'icona predefinita [code]\"Callable\"[/code].\n" +"Considera di usare [EditorUndoRedoManager] per prevedere l'annullamento " +"sicuro dell'azione.\n" +"Vedi anche [constant PROPERTY_HINT_TOOL_BUTTON].\n" +"[codeblock]\n" +"@tool\n" +"extends Sprite2D\n" +"\n" +"@export_tool_button(\"Ciao\") var azione_ciao = ciao\n" +"@export_tool_button(\"Randomizza il colore!\", \"ColorRect\")\n" +"var azione_randomizza_colore = randomizza_colore\n" +"\n" +"func ciao():\n" +" print(\"Ciao mondo!\")\n" +"\n" +"func randomizza_colore():\n" +" var undo_redo = EditorInterface.get_editor_undo_redo()\n" +" undo_redo.create_action(\"Colore di Sprite2D randomizzato\")\n" +" undo_redo.add_do_property(self, &\"self_modulate\", Color(randf(), " +"randf(), randf()))\n" +" undo_redo.add_undo_property(self, &\"self_modulate\", self_modulate)\n" +" undo_redo.commit_action()\n" +"[/codeblock]\n" +"[b]Nota:[/b] La proprietà è esportata senza il flag [constant " +"PROPERTY_USAGE_STORAGE] perché un [Callable] non può essere serializzato " +"correttamente e memorizzato in un file.\n" +"[b]Nota:[/b] In un progetto esportato non esistono né [EditorInterface] né " +"[EditorUndoRedoManager], il che potrebbe causare alcuni script a non " +"funzionare correttamente. Per evitare ciò, è possibile usare [method Engine." +"get_singleton] e omettere il tipo statico dalla dichiarazione della " +"variabile:\n" +"[codeblock]\n" +"var undo_redo = Engine.get_singleton(&\"EditorInterface\")." +"get_editor_undo_redo()\n" +"[/codeblock]\n" +"[b]Nota:[/b] Evita di memorizzare i chiamabili lambda nelle variabili membro " +"delle classi basate su [RefCounted] (ad esempio risorse), poiché ciò può " +"causare perdite di memoria. Utilizza solo i chiamabili da metodi e " +"facoltativamente [method Callable.bind] o [method Callable.unbind]." + 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 " @@ -1913,6 +2004,59 @@ msgstr "" "Vedi anche [annotation @warning_ignore_start] and [annotation " "@warning_ignore_restore]." +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 "" +"Smette di ignorare i tipi di avviso elencati dopo [annotation " +"@warning_ignore_start]. Ciò sarà reimpostato sulle Impostazioni del progetto. " +"È possibile omettere questa annotazione per ignorare i tipi di avviso fino " +"alla fine del file.\n" +"[b]Nota:[/b] A differenza della maggior parte delle altre annotazioni, gli " +"argomenti dell'annotazione [annotation @warning_ignore_restore] devono essere " +"stringhe letterali (le espressioni costanti non sono supportate)." + +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" +" var a = 1 # Warning (if enabled in the Project Settings).\n" +" @warning_ignore_start(\"unused_variable\")\n" +" var b = 2 # No warning.\n" +" var c = 3 # No warning.\n" +" @warning_ignore_restore(\"unused_variable\")\n" +" var 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 "" +"Comincia a ignorare i tipi di avviso elencati fino alla fine del file o " +"dell'annotazione [annotation @warning_ignore_restore] con il tipo di avviso " +"specificato.\n" +"[codeblock]\n" +"func test():\n" +" var a = 1 # Avviso (se abilitato nelle Impostazioni del progetto).\n" +" @warning_ignore_start(\"unused_variable\")\n" +" var b = 2 # Nessun avviso.\n" +" var c = 3 # Nessun avviso.\n" +" @warning_ignore_restore(\"unused_variable\")\n" +" var d = 4 # Avviso (se abilitato nelle Impostazioni del progetto).\n" +"[/codeblock]\n" +"[b]Nota:[/b] Per sopprimere un singolo avviso, usa invece [annotation " +"@warning_ignore].\n" +"[b]Nota:[/b] A differenza della maggior parte delle altre annotazioni, gli " +"argomenti dell'annotazione [annotation @warning_ignore_restore] devono essere " +"stringhe letterali (le espressioni costanti non sono supportate)." + msgid "Global scope constants and functions." msgstr "Costanti e funzioni di ambito globale." @@ -6620,6 +6764,43 @@ msgstr "" "Induce che una proprietà di stringa è una password, e ogni carattere è " "sostituito con il carattere segreto." +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 "" +"Indica che una proprietà [Callable] dovrebbe essere visualizzata come un " +"pulsante cliccabile. Quando il pulsante viene premuto, il chiamabile viene " +"richiamato. La stringa indicativa specifica il testo del pulsante e, " +"facoltativamente, un'icona dal tipo di tema [code]\"EditorIcons\"[/code].\n" +"[codeblock lang=text]\n" +"\"Cliccami!\" - Un pulsante con il testo \"Cliccami!\" e l'icona \"Callable\" " +"predefinita.\n" +"\"Cliccami!,ColorRect\" - Un pulsante con il testo \"Cliccami!\" e l'icona " +"\"ColorRect\".\n" +"[/codeblock]\n" +"[b]Nota:[/b] Un [Callable] non può essere correttamente serializzato e " +"memorizzato in un file, quindi si consiglia di utilizzare [constant " +"PROPERTY_USAGE_EDITOR] invece di [constant PROPERTY_USAGE_DEFAULT]." + +msgid "" +"Hints that a property will be changed on its own after setting, such as " +"[member AudioStreamPlayer.playing] or [member GPUParticles3D.emitting]." +msgstr "" +"Indica che una proprietà verrà modificata automaticamente dopo che è " +"impostata, ad esempio [member AudioStreamPlayer.playing] o [member " +"GPUParticles3D.emitting]." + msgid "Represents the size of the [enum PropertyHint] enum." msgstr "Rappresenta la dimensione dell'enumerazione [enum PropertyHint]." @@ -6683,6 +6864,20 @@ msgstr "" "In seguito a una modifica della proprietà, sarà chiesto all'utente di " "riavviare l'editor." +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 "" +"La proprietà è una variabile di script. [constant " +"PROPERTY_USAGE_SCRIPT_VARIABLE] può essere utilizzata per distinguere tra le " +"variabili esportate da script e le variabili integrate (che non hanno questo " +"flag di utilizzo). Come predefinito, [constant " +"PROPERTY_USAGE_SCRIPT_VARIABLE] [b]non[/b] viene applicato alle variabili " +"create sovrascrivendo [method Object._get_property_list] in uno script." + msgid "" "The property value of type [Object] will be stored even if its value is " "[code]null[/code]." @@ -8834,6 +9029,20 @@ msgstr "" msgid "Returns the given marker's time." msgstr "Restituisce il tempo del marcatore specificato." +msgid "" +"Returns the closest marker that comes after the given time. If no such marker " +"exists, an empty string is returned." +msgstr "" +"Restituisce il marcatore più vicino che viene dopo il tempo specificato. Se " +"tale marcatore non esiste, viene restituita una stringa vuota." + +msgid "" +"Returns the closest marker that comes before the given time. If no such " +"marker exists, an empty string is returned." +msgstr "" +"Restituisce il marcatore più vicino che viene prima del tempo specificato. Se " +"tale marcatore non esiste, viene restituita una stringa vuota." + msgid "Returns the amount of tracks in the animation." msgstr "Restituisce la quantità di tracce nell'animazione." @@ -8854,6 +9063,14 @@ msgstr "" "Restituisce i valori degli argomenti da chiamare su una traccia di metodi per " "una determinata chiave in una determinata traccia." +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 "" +"Ottimizza l'animazione e tutte le sue tracce sul posto. Ciò preserverà solo " +"le chiavi necessarie per mantenere l'animazione entro i limiti specificati." + msgid "Inserts a key in a given 3D position track. Returns the key index." msgstr "" "Inserire una chiave in una determinata traccia di posizione 3D. Restituisce " @@ -9564,6 +9781,157 @@ msgstr "" "[/gdscript]\n" "[/codeblocks]" +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" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_position_accumulator = animation_tree." +"get_root_motion_position_accumulator()\n" +" var difference = current_root_motion_position_accumulator - " +"prev_root_motion_position_accumulator\n" +" prev_root_motion_position_accumulator = " +"current_root_motion_position_accumulator\n" +" transform.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 "" +"Recupera il valore combinato delle tracce di posizione con [member " +"root_motion_track] come [Vector3] che può essere utilizzato altrove.\n" +"Ciò è utile nei casi in cui si desidera rispettare i valori della chiave " +"iniziale dell'animazione.\n" +"Ad esempio, se un'animazione con una sola chiave [code]Vector3(0, 0, 0)[/" +"code] viene riprodotta nel frame precedente e poi un'animazione con una sola " +"chiave [code]Vector3(1, 0, 1)[/code] viene riprodotta nel frame successivo, " +"la differenza può essere calcolata come segue:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_position_accumulator\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_position_accumulator = animation_tree." +"get_root_motion_position_accumulator()\n" +" var difference = current_root_motion_position_accumulator - " +"prev_root_motion_position_accumulator\n" +" prev_root_motion_position_accumulator = " +"current_root_motion_position_accumulator\n" +" transform.origin += difference\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"Tuttavia, se l'animazione si ripete, potrebbe verificarsi un cambiamento " +"discreto indesiderato, quindi questa funzionalità è utile solo per alcuni " +"casi d'uso semplici." + +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" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" set_quaternion(get_quaternion() * animation_tree." +"get_root_motion_rotation())\n" +"[/gdscript]\n" +"[/codeblocks]" +msgstr "" +"Recupera il delta del movimento di rotazione con [member root_motion_track] " +"come [Quaternion] che può essere utilizzato altrove.\n" +"Se [member root_motion_track] non è un percorso verso una traccia di tipo " +"[constant Animation.TYPE_ROTATION_3D], restituisce [code]Quaternion(0, 0, 0, " +"1)[/code].\n" +"Vedi anche [member root_motion_track] e [RootMotionView].\n" +"L'esempio più basilare è per applicare la rotazione a [CharacterBody3D]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" set_quaternion(get_quaternion() * animation_tree." +"get_root_motion_rotation())\n" +"[/gdscript]\n" +"[/codeblocks]" + +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" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_rotation_accumulator = animation_tree." +"get_root_motion_rotation_accumulator()\n" +" var difference = prev_root_motion_rotation_accumulator.inverse() * " +"current_root_motion_rotation_accumulator\n" +" prev_root_motion_rotation_accumulator = " +"current_root_motion_rotation_accumulator\n" +" transform.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 "" +"Recupera il valore combinato delle tracce di rotazione con [member " +"root_motion_track] come [Quaternion] che può essere utilizzato altrove.\n" +"Ciò è necessario per applicare correttamente la posizione del movimento " +"radice, tenendo conto della rotazione. Vedi anche [method " +"get_root_motion_position].\n" +"Inoltre, ciò è utile nei casi in cui si desidera rispettare i valori della " +"chiave iniziale dell'animazione.\n" +"Ad esempio, se un'animazione con una sola chiave [code]Quaternion(0, 0, 0, 1)" +"[/code] viene riprodotta nel frame precedente e poi un'animazione con una " +"sola chiave [code]Quaternion(0, 0.707, 0, 0.707)[/code] viene riprodotta nel " +"frame successivo, la differenza può essere calcolata come segue:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_rotation_accumulator\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_rotation_accumulator = animation_tree." +"get_root_motion_rotation_accumulator()\n" +" var difference = prev_root_motion_rotation_accumulator.inverse() * " +"current_root_motion_rotation_accumulator\n" +" prev_root_motion_rotation_accumulator = " +"current_root_motion_rotation_accumulator\n" +" transform.basis *= Basis(difference)\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"Tuttavia, se l'animazione si ripete, potrebbe verificarsi un cambiamento " +"discreto indesiderato, quindi questa funzionalità è utile solo per alcuni " +"casi d'uso semplici." + msgid "" "Retrieve the motion delta of scale with the [member root_motion_track] as a " "[Vector3] that can be used elsewhere.\n" @@ -9608,6 +9976,58 @@ msgstr "" "[/gdscript]\n" "[/codeblocks]" +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" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_scale_accumulator = animation_tree." +"get_root_motion_scale_accumulator()\n" +" var difference = current_root_motion_scale_accumulator - " +"prev_root_motion_scale_accumulator\n" +" prev_root_motion_scale_accumulator = " +"current_root_motion_scale_accumulator\n" +" transform.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 "" +"Recupera il valore combinato delle tracce di scala con [member " +"root_motion_track] come [Vector3] che può essere utilizzato altrove.\n" +"Ad esempio, se un'animazione con una sola chiave [code]Vector3(1, 1, 1)[/" +"code] viene riprodotta nel frame precedente e poi un'animazione con una sola " +"chiave [code]Vector3(2, 2, 2)[/code] viene riprodotta nel frame successivo, " +"la differenza può essere calcolata come segue:\n" +"[codeblocks]\n" +"[gdscript]\n" +"var prev_root_motion_scale_accumulator\n" +"\n" +"func _process(delta):\n" +" if Input.is_action_just_pressed(\"animate\"):\n" +" state_machine.travel(\"Animate\")\n" +" var current_root_motion_scale_accumulator = animation_tree." +"get_root_motion_scale_accumulator()\n" +" var difference = current_root_motion_scale_accumulator - " +"prev_root_motion_scale_accumulator\n" +" prev_root_motion_scale_accumulator = " +"current_root_motion_scale_accumulator\n" +" transform.basis = transform.basis.scaled(difference)\n" +"[/gdscript]\n" +"[/codeblocks]\n" +"Tuttavia, se l'animazione si ripete, potrebbe verificarsi un cambiamento " +"discreto indesiderato, quindi questa funzionalità è utile solo per alcuni " +"casi d'uso semplici." + msgid "" "Returns [code]true[/code] if the [AnimationMixer] stores an [Animation] with " "key [param name]." @@ -9734,6 +10154,16 @@ msgstr "" "animazioni nell'editor, in quanto le modifiche alla scena non saranno salvate " "finché sono impostate nell'animazione di reset." +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 "" +"Se [code]true[/code], il valore da [method get_root_motion_position] viene " +"estratto come valore di traslazione locale prima della fusione. In altre " +"parole, viene trattato come se la traslazione fosse stata effettuata dopo la " +"rotazione." + 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 " @@ -9859,13 +10289,209 @@ msgstr "" "Animation.UPDATE_DISCRETE]. Questo è il comportamento predefinito per " "[AnimationPlayer]." +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 "" +"Tratta sempre il valore della traccia [constant Animation.UPDATE_DISCRETE] " +"come [constant Animation.UPDATE_CONTINUOUS] con [constant Animation." +"INTERPOLATION_NEAREST]. Questo è il comportamento predefinito per " +"[AnimationTree].\n" +"Se una traccia di valore ha valori di chiave di tipo non interpolabili, viene " +"convertita internamente per usare [constant " +"ANIMATION_CALLBACK_MODE_DISCRETE_RECESSIVE] con [constant Animation." +"UPDATE_DISCRETE].\n" +"[constant @GlobalScope.TYPE_BOOL] e [constant @GlobalScope.TYPE_INT] vengono " +"trattati come [constant @GlobalScope.TYPE_FLOAT] durante la fusione e " +"arrotondati quando il risultato viene recuperato.\n" +"Lista di tipi che non si possono interpolare:\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" +"Lo stesso vale per array e vettori, come [constant @GlobalScope." +"TYPE_PACKED_INT32_ARRAY] o [constant @GlobalScope.TYPE_VECTOR2I], vengono " +"trattati come [constant @GlobalScope.TYPE_PACKED_FLOAT32_ARRAY] o [constant " +"@GlobalScope.TYPE_VECTOR2]. Nota inoltre che per gli array, anche la " +"dimensione viene interpolata.\n" +"[constant @GlobalScope.TYPE_STRING] e [constant @GlobalScope." +"TYPE_STRING_NAME] vengono interpolate tra codici carattere e lunghezze, ma si " +"noti che esiste una differenza nell'algoritmo tra l'interpolazione tra chiavi " +"e l'interpolazione tramite fusione." + msgid "Base class for [AnimationTree] nodes. Not related to scene nodes." msgstr "" "Classe di base per nodi [AnimationTree]. Non riguarda i nodi della scena." +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 "" +"Risorsa base per i nodi [AnimationTree]. In genere, non viene utilizzata " +"direttamente, ma puoi crearne di personalizzate, con formule di fusione " +"personalizzate.\n" +"Eredita questo quando crei nodi di animazione principalmente per l'uso in " +"[AnimationNodeBlendTree], altrimenti dovrebbe essere utilizzato " +"[AnimationRootNode].\n" +"È possibile accedere alle informazioni sul tempo come parametro di sola " +"lettura, che vengono elaborati e memorizzati nel frame precedente per tutti i " +"nodi eccetto [AnimationNodeOutput].\n" +"[b]Nota:[/b] Se sono presenti più input nell'[AnimationNode], le informazioni " +"sul tempo che hanno la precedenza dipendono dal tipo di [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]" + msgid "Using AnimationTree" msgstr "Utilizzare l'AnimationTree" +msgid "" +"When inheriting from [AnimationRootNode], implement this virtual method to " +"override the text caption for this animation node." +msgstr "" +"Quando si eredita da [AnimationRootNode], implementare questo metodo virtuale " +"per sovrascrivere la didascalia di testo per questo nodo di animazione." + +msgid "" +"When inheriting from [AnimationRootNode], implement this virtual method to " +"return a child animation node by its [param name]." +msgstr "" +"Quando si eredita da [AnimationRootNode], implementare questo metodo virtuale " +"per restituire un nodo di animazione figlio dal nome [param name]." + +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 "" +"Quando si eredita da [AnimationRootNode], implementare questo metodo virtuale " +"per restituire tutti i nodi di animazione figlio in ordine, sotto forma di un " +"dizionario [code]nome: nodo[/code]." + +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 "" +"Quando si eredita da [AnimationRootNode], implementare questo metodo virtuale " +"per restituire il valore predefinito del parametro [param parameter]. I " +"parametri sono memoria locale personalizzata utilizzata per i nodi di " +"animazione, poiché una risorsa può essere riutilizzata in più alberi." + +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 "" +"Quando si eredita da [AnimationRootNode], implementare questo metodo virtuale " +"per restituire una lista di proprietà in questo nodo di animazione. I " +"parametri sono memoria locale personalizzata utilizzata per i nodi di " +"animazione, poiché una risorsa può essere riutilizzata in più alberi. Il " +"formato è simile a [method Object.get_property_list]." + +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 "" +"Quando si eredita da [AnimationRootNode], implementare questo metodo virtuale " +"per restituire se il parametro [param parameter] è di sola lettura. I " +"parametri sono memoria locale personalizzata utilizzata per i nodi di " +"animazione, poiché una risorsa può essere riutilizzata in più alberi." + +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 "" +"Quando si eredita da [AnimationRootNode], implementare questo metodo virtuale " +"per eseguire codice quando questo nodo di animazione viene elaborato. Il " +"parametro [param time] è un tempo delta relativo, a meno che [param seek] non " +"sia [code]true[/code], nel qual caso è assoluto.\n" +"Qui, chiama le funzioni [method blend_input], [method blend_node] o [method " +"blend_animation]. È anche possibile usare [method get_parameter] e [method " +"set_parameter] per modificare la memoria locale.\n" +"Questa funzione dovrebbe restituire il delta." + +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 "" +"Aggiunge un input al nodo di animazione. È utile solo per i nodi di " +"animazione creati per l'uso in un [AnimationNodeBlendTree]. Se l'aggiunta " +"fallisce, restituisce [code]false[/code]." + +msgid "" +"Blend 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. See also [enum Animation.LoopedFlag]." +msgstr "" +"Combina un'animazione della quantità [param blend] (il nome deve essere " +"valido nell'[AnimationPlayer] collegato). È possibile passare un tempo [param " +"time] e un [param delta], nonché se [param seeked] è avvenuto.\n" +"Un [param looped_flag] viene utilizzato dall'elaborazione interna " +"immediatamente dopo la ripetizione. Vedi anche [enum Animation.LoopedFlag]." + msgid "" "Blend an input. This is only useful for animation nodes created for an " "[AnimationNodeBlendTree]. The [param time] parameter is a relative delta, " @@ -9914,6 +10540,17 @@ msgstr "" "personalizzata utilizzata per i nodi di animazione, dato che una risorsa può " "essere riutilizzata in più alberi." +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 "" +"Restituisce l'ID oggetto dell'[AnimationTree] che possiede questo nodo.\n" +"[b]Nota:[/b] Questo metodo dovrebbe essere chiamato solo dall'interno del " +"metodo [method AnimationNodeExtension._process_animation_node], altrimenti " +"restituirà un ID non valido." + msgid "Returns [code]true[/code] if the given path is filtered." msgstr "Restituisce [code]true[/code] se il percorso specificato è filtrato." @@ -10003,9 +10640,86 @@ msgstr "" "Fonde due animazioni in modo additivo all'interno di un " "[AnimationNodeBlendTree]." +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 "" +"Una risorsa da aggiungere a un [AnimationNodeBlendTree]. Combina due " +"animazioni in modo additivo in base al valore di quantità.\n" +"Se la quantità è maggiore di [code]1.0[/code], l'animazione collegata alla " +"porta \"in\" viene combinata all'animazione amplificata collegata alla porta " +"\"add\".\n" +"Se la quantità è minore di [code]0.0[/code], l'animazione collegata alla " +"porta \"in\" viene combinata all'animazione invertita collegata alla porta " +"\"add\"." + +msgid "" +"Blends two of three animations additively inside of an " +"[AnimationNodeBlendTree]." +msgstr "" +"Fonde due delle tre animazioni in modo additivo all'interno di un " +"[AnimationNodeBlendTree]." + +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 "" +"Una risorsa da aggiungere a un [AnimationNodeBlendTree]. Combina due " +"animazioni su tre in modo additivo su tre in base al valore di quantità.\n" +"Questo nodo di animazione ha tre ingressi:\n" +"- L'animazione base a cui aggiungere\n" +"- Un'animazione \"-add\" con cui fondersi quando l'importo di fusione è " +"negativo\n" +"- Un'animazione \"+add\" con cui fondersi quando l'importo di fusione è " +"positivo\n" +"Se il valore assoluto di quantità è maggiore di [code]1.0[/code], " +"l'animazione connessa alla porta \"in\" viene fusa con l'animazione " +"amplificata connessa alla porta \"-add\"/\"+add\"." + +msgid "An input animation for an [AnimationNodeBlendTree]." +msgstr "Un'animazione d'ingresso per un [AnimationNodeBlendTree]." + +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 "" +"Una risorsa da aggiungere a un [AnimationNodeBlendTree]. Ha una sola porta " +"d'uscita che usa la proprietà [member animation]. Usata come ingresso per " +"[AnimationNode] che fondono le animazioni insieme." + +msgid "3D Platformer Demo" +msgstr "Demo di gioco piattaforme 3D" + +msgid "" +"Animation to use as an output. It is one of the animations provided by " +"[member AnimationTree.anim_player]." +msgstr "" +"Animazione da usare come uscita. È una delle animazioni fornite da [member " +"AnimationTree.anim_player]." + msgid "Determines the playback direction of the animation." msgstr "Restituisce la direzione di riproduzione dell'animazione." +msgid "" +"If [member use_custom_timeline] is [code]true[/code], offset the start " +"position of the animation." +msgstr "" +"Se [member use_custom_timeline] è [code]true[/code], sposta la posizione " +"iniziale dell'animazione." + msgid "" "If [code]true[/code], [AnimationNode] provides an animation based on the " "[Animation] resource with some parameters adjusted." @@ -10013,6 +10727,12 @@ msgstr "" "Se [code]true[/code], l'[AnimationNode] fornisce un'animazione basata sulla " "risorsa [Animation] con alcuni parametri aggiustati." +msgid "Plays animation in forward direction." +msgstr "Riproduce l'animazione in avanti." + +msgid "Plays animation in backward direction." +msgstr "Riproduce l'animazione all'indietro." + msgid "" "A resource used by [AnimationNodeBlendTree].\n" "[AnimationNodeBlendSpace1D] represents a virtual axis on which any type of " @@ -10334,6 +11054,21 @@ msgstr "I nodi in ingresso e in uscita sono gli stessi." msgid "The specified connection already exists." msgstr "La connessione specificata esiste già." +msgid "Base class for extending [AnimationRootNode]s from GDScript, C#, or C++." +msgstr "" +"Classe base per estendere gli [AnimationRootNode] da GDScript, C# o C++." + +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] espone le API di [AnimationRootNode] per consentire " +"agli utenti di estenderlo da GDScript, C# o C++. Questa classe non è pensata " +"per essere usata direttamente, ma per essere estesa da altre classi. È " +"utilizzata per creare nodi personalizzati per il sistema di [AnimationTree]." + msgid "" "Returns [code]true[/code] if the animation for the given [param node_info] is " "looping." @@ -10685,6 +11420,24 @@ msgstr "" "Questa proprietà può definire il processo delle transizioni per diversi casi " "d'uso. Vedi anche [enum AnimationNodeStateMachine.StateMachineType]." +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 "" +"Cercare all'inizio è considerato come una riproduzione dallo stato iniziale. " +"La transizione allo stato finale è considerata come un'uscita dalla macchina " +"a stati." + +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 "" +"Cercare all'inizio è considerato come cercare all'inizio dell'animazione " +"nello stato attuale. La transizione allo stato finale, o l'assenza di " +"transizioni in ogni stato, è considerata come un'uscita dalla macchina a " +"stati." + 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 " @@ -11359,6 +12112,61 @@ msgstr "" "riproduzione corrente.\n" "Vedi anche [method stop]." +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 "" +"Riproduce l'animazione con la chiave [param name]. È possibile impostare " +"tempi e velocità di fusione personalizzati.\n" +"L'opzione [param from_end] ha effetto solo quando si passa a una nuova " +"traccia di animazione o se è la stessa traccia ma all'inizio o alla fine. Non " +"ha effetto quando si riprende la riproduzione messa in pausa nel mezzo di " +"un'animazione. Se [param custom_speed] è negativo e [param from_end] è " +"[code]true[/code], l'animazione sarà riprodotta all'indietro (il che equivale " +"a chiamare [method play_backwards]).\n" +"[AnimationPlayer] tiene traccia della sua animazione attuale o dell'ultima " +"riprodotta con [member assignment_animation]. Se questo metodo viene chiamato " +"con la stessa animazione con [param name] o senza il parametro [param name], " +"l'animazione assegnata riprenderà la riproduzione se era stata messa in " +"pausa.\n" +"[b]Nota:[/b] L'animazione verrà aggiornata la prossima volta che " +"l'[AnimationPlayer] verrà elaborato. Se altre variabili vengono aggiornate " +"allo stesso tempo che questo metodo viene chiamato, potrebbero essere " +"aggiornate troppo presto. Per eseguire l'aggiornamento immediatamente, chiama " +"[code]advance(0)[/code]." + +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 "" +"Riproduce l'animazione con la chiave [param name] e la sezione a partire da " +"[param start_time] e che termina a [param end_time]. Vedi anche [method " +"play].\n" +"Impostando [param start_time] su un valore al di fuori dell'intervallo " +"dell'animazione, verrà utilizzato l'inizio dell'animazione, mentre impostando " +"[param end_time] su un valore al di fuori dell'intervallo dell'animazione, " +"verrà utilizzata la fine dell'animazione. [param start_time] non può essere " +"uguale a [param end_time]." + 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" @@ -11372,6 +12180,19 @@ msgstr "" "[code]custom_speed = -1.0[/code] e [code]from_end = true[/code], quindi vedi " "la sua descrizione per ulteriori informazioni." +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 "" +"Riproduce l'animazione con la chiave [param name] e la sezione che inizia da " +"[param start_marker] e termina su [param end_marker].\n" +"Se il marcatore di inizio è vuoto, la sezione inizia dall'inizio " +"dell'animazione. Se il marcatore di fine è vuoto, la sezione termina alla " +"fine dell'animazione. Vedi anche [method play]." + 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" @@ -11405,6 +12226,29 @@ msgstr "Imposta la notifica di processo in cui aggiornare le animazioni." msgid "Sets the node which node path references will travel from." msgstr "Imposta il nodo da cui i riferimenti di percorso del nodo partono." +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 "" +"Modifica i tempi di inizio e fine della sezione riprodotta. La posizione di " +"riproduzione attuale verrà limitata all'interno della nuova sezione. Vedi " +"anche [method play_section]." + +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 "" +"Modifica i marcatori di inizio e fine della sezione riprodotta. La posizione " +"di riproduzione attuale verrà limitata all'interno della nuova sezione. Vedi " +"anche [method play_section_with_markers].\n" +"Se l'argomento è vuoto, la sezione utilizza l'inizio o la fine " +"dell'animazione. Se entrambi sono vuoti, significa che la sezione non è " +"impostata." + 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[/" @@ -12485,8 +13329,9 @@ msgid "" msgstr "" "Una struttura dati che può contenere una sequenza di elementi di qualsiasi " "tipo di [Variant]. Gli elementi sono accessibili da un indice numerico a " -"partire da 0. Gli indici negativi sono utilizzati per contare dalla fine (-1 " -"è l'ultimo elemento, -2 è il penultimo, ecc.).\n" +"partire da [code]0[/code]. Gli indici negativi sono utilizzati per contare " +"dalla fine ([code]-1[/code] è l'ultimo elemento, [code]-2[/code] è il " +"penultimo, ecc.).\n" "[codeblocks]\n" "[gdscript]\n" "var array = [\"Primo\", 2, 3, \"Ultimo\"]\n" @@ -12499,14 +13344,14 @@ msgstr "" "print(array[-3]) # Stampa \"Secondo\"\n" "[/gdscript]\n" "[csharp]\n" -"var array = new Godot.Collections.Array{\"Primo\", 2, 3, \"Ultimo\"};\n" +"Godot.Collections.Array array = [\"Primo\", 2, 3, \"Ultimo\"];\n" "GD.Print(array[0]); // Stampa \"Primo\"\n" "GD.Print(array[2]); // Stampa 3\n" -"GD.Print(array[array.Count - 1]); // Stampa \"Ultimo\"\n" +"GD.Print(array[^1]);; // Stampa \"Ultimo\"\n" "\n" "array[2] = \"Secondo\";\n" "GD.Print(array[1]); // Stampa \"Secondo\"\n" -"GD.Print(array[array.Count - 3]); // Stampa \"Secondo\"\n" +"GD.Print(array[^3]); // Stampa \"Secondo\"\n" "[/csharp]\n" "[/codeblocks]\n" "[b]Nota:[/b] Gli array sono sempre passati per [b]riferimento[/b]. Per " @@ -12526,6 +13371,81 @@ msgstr "" msgid "Constructs an empty [Array]." msgstr "Costruisce un [Array] vuoto." +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" +" pass\n" +"\n" +"func _ready():\n" +" var a = Array([], TYPE_INT, \"\", null) # Array[int]\n" +" var b = Array([], TYPE_OBJECT, \"Node\", null) # Array[Node]\n" +" var c = Array([], TYPE_OBJECT, \"Node\", Sword) # Array[Sword]\n" +" var 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 "" +"Crea un array tipizzato dall'array [param base]. Un array tipizzato può " +"contenere solo elementi del tipo specificato o che ereditano dalla classe " +"specificata, come descritto dai parametri di questo costruttore:\n" +"- [param type] è il tipo di [Variant] integrato, come una delle costanti di " +"[enum Variant.Type].\n" +"- [param class_name] è il nome della classe integrata (vedi [method Object." +"get_class]).\n" +"- [param script] è lo script associato. Deve essere un'istanza di [Script] o " +"[code]null[/code].\n" +"Se [param type] non è [constant TYPE_OBJECT], [param class_name] deve essere " +"uno [StringName] vuoto e [param script] deve essere [code]null[/code].\n" +"[codeblock]\n" +"class_name Sword\n" +"extends Node\n" +"\n" +"class Stats:\n" +" pass\n" +"\n" +"func _ready():\n" +" var a = Array([], TYPE_INT, \"\", null) # Array[int]\n" +" var b = Array([], TYPE_OBJECT, \"Node\", null) # Array[Node]\n" +" var c = Array([], TYPE_OBJECT, \"Node\", Sword) # Array[Sword]\n" +" var d = Array([], TYPE_OBJECT, \"RefCounted\", Stats) # Array[Stats]\n" +"[/codeblock]\n" +"Gli elementi dell'array [param base] vengono convertiti quando necessario. Se " +"ciò non è possibile o [param base] è già tipizzato, questo costruttore " +"fallisce e restituisce un [Array] vuoto.\n" +"In GDScript, questo costruttore di solito non è necessario, poiché è " +"possibile creare un array tipizzato tramite tipizzazione statica:\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]" + msgid "" "Returns the same array as [param from]. If you need a copy of the array, use " "[method duplicate]." @@ -12563,6 +13483,184 @@ msgstr "Costruisce un array da un [PackedVector3Array]." msgid "Constructs an array from a [PackedVector4Array]." msgstr "Costruisce un [Array] da un [PackedVector4Array]." +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" +" return number > 5\n" +"\n" +"func _ready():\n" +" print([6, 10, 6].all(greater_than_5)) # Prints true (3/3 elements " +"evaluate to true).\n" +" print([4, 10, 4].all(greater_than_5)) # Prints false (1/3 elements " +"evaluate to true).\n" +" print([4, 4, 4].all(greater_than_5)) # Prints false (0/3 elements " +"evaluate to true).\n" +" print([].all(greater_than_5)) # Prints true (0/0 elements " +"evaluate to true).\n" +"\n" +" # Same as the first line above, but using a lambda function.\n" +" print([6, 10, 6].all(func(element): return element > 5)) # Prints true\n" +"[/gdscript]\n" +"[csharp]\n" +"private static bool GreaterThan5(int number)\n" +"{\n" +" return number > 5;\n" +"}\n" +"\n" +"public override void _Ready()\n" +"{\n" +" // Prints True (3/3 elements evaluate to true).\n" +" GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }." +"All(GreaterThan5));\n" +" // Prints False (1/3 elements evaluate to true).\n" +" GD.Print(new Godot.Collections.Array>int< { 4, 10, 4 }." +"All(GreaterThan5));\n" +" // Prints False (0/3 elements evaluate to true).\n" +" GD.Print(new Godot.Collections.Array>int< { 4, 4, 4 }." +"All(GreaterThan5));\n" +" // Prints True (0/0 elements evaluate to true).\n" +" GD.Print(new Godot.Collections.Array>int< { }.All(GreaterThan5));\n" +"\n" +" // Same as the first line above, but using a lambda function.\n" +" GD.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 "" +"Chiama il [Callable] fornito su ogni elemento nell'array e restituisce " +"[code]true[/code] se il [Callable] restituisce [code]true[/code] per " +"[i]tutti[/i] gli elementi nell'array. Se il [Callable] restituisce " +"[code]false[/code] per uno o più elementi nell'array, questo metodo " +"restituisce [code]true[/code].\n" +"Il [param method] dovrebbe accettare un parametro [Variant] (l'elemento " +"attuale dell'array) e restituire un [bool].\n" +"[codeblocks]\n" +"[gdscript]\n" +"func greater_than_5(number):\n" +" return number > 5\n" +"\n" +"func _ready():\n" +" print([6, 10, 6].all(greater_than_5)) # Stampa true (3/3 elementi sono " +"valutati come true).\n" +" print([4, 10, 4].all(greater_than_5)) # Stampa false (1/3 elementi sono " +"valutati come true).\n" +" print([4, 4, 4].all(greater_than_5)) # Stampa false (0/3 elementi sono " +"valutati come true).\n" +" print([].all(greater_than_5)) # Stampa true (0/0 elementi sono " +"valutati come true).\n" +"\n" +" # Come la prima riga sopra, ma usando una funzione lambda.\n" +" print([6, 10, 6].all(func(element): return element > 5)) # Stampa true\n" +"[/gdscript]\n" +"[csharp]\n" +"private static bool GreaterThan5(int number)\n" +"{\n" +" return number > 5;\n" +"}\n" +"\n" +"public override void _Ready()\n" +"{\n" +" // Stampa True (3/3 elementi sono valutati come true).\n" +" GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }." +"All(GreaterThan5));\n" +" // Stampa False (1/3 elementi sono valutati come true).\n" +" GD.Print(new Godot.Collections.Array>int< { 4, 10, 4 }." +"All(GreaterThan5));\n" +" // Stampa False (0/3 elementi sono valutati come true).\n" +" GD.Print(new Godot.Collections.Array>int< { 4, 4, 4 }." +"All(GreaterThan5));\n" +" // Stampa True (0/0 elementi sono valutati come true).\n" +" GD.Print(new Godot.Collections.Array>int< { }.All(GreaterThan5));\n" +"\n" +" // Come la prima riga sopra, ma usando una funzione lambda.\n" +" GD.Print(new Godot.Collections.Array>int< { 6, 10, 6 }.All(element => " +"element > 5)); // Stampa True\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Vedi anche [method all], [method filter], [method map] e [method reduce].\n" +"[b]Nota:[/b] A differenza di basarsi sulla dimensione di un array restituito " +"da [method filter], questo metodo restituirà il prima possibile per " +"migliorare le prestazioni (soprattutto con array di grandi dimensioni).\n" +"[b]Nota:[/b] Per un array vuoto, questo metodo restituisce [url=https://en." +"wikipedia.org/wiki/Vacuous_truth]sempre[/url] [code]true[/code]." + +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" +" return number > 5\n" +"\n" +"func _ready():\n" +" print([6, 10, 6].any(greater_than_5)) # Prints true (3 elements evaluate " +"to true).\n" +" print([4, 10, 4].any(greater_than_5)) # Prints true (1 elements evaluate " +"to true).\n" +" print([4, 4, 4].any(greater_than_5)) # Prints false (0 elements evaluate " +"to true).\n" +" print([].any(greater_than_5)) # Prints false (0 elements evaluate " +"to true).\n" +"\n" +" # Same as the first line above, but using a lambda function.\n" +" print([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 "" +"Chiama il [Callable] fornito su ogni elemento nell'array e restituisce " +"[code]true[/code] se il [Callable] restituisce [code]true[/code] per [i]uno o " +"più[/i] elementi nell'array. Se il [Callable] restituisce [code]false[/code] " +"per tutti gli elementi nell'array, questo metodo restituisce [code]false[/" +"code].\n" +"Il [param method] dovrebbe accettare un parametro [Variant] (l'elemento " +"attuale dell'array) e restituire un [bool].\n" +"[codeblock]\n" +"func greater_than_5(number):\n" +" return number > 5\n" +"\n" +"func _ready():\n" +" print([6, 10, 6].any(greater_than_5)) # Stampa true (3 elementi sono " +"valutati come true).\n" +" print([4, 10, 4].any(greater_than_5)) # Stampa true (1 elements è " +"valutato come to true).\n" +" print([4, 4, 4].any(greater_than_5)) # Stampa false (0 elementi sono " +"valutati come true).\n" +" print([].any(greater_than_5)) # Stampa false (0 elements sono " +"valutati come true).\n" +"\n" +" # Come la prima riga sopra, ma usando una funzione lambda.\n" +" print([6, 10, 6].any(func(number): return number > 5)) # Stampa true\n" +"[/codeblock]\n" +"Vedi anche [method all], [method filter], [method map] e [method reduce].\n" +"[b]Nota:[/b] A differenza di basarsi sulla dimensione di un array restituito " +"da [method filter], questo metodo restituirà il prima possibile per " +"migliorare le prestazioni (soprattutto con array di grandi dimensioni).\n" +"[b]Nota:[/b] Per un array vuoto, questo metodo restituisce sempre " +"[code]false[/code]." + msgid "" "Appends [param value] at the end of the array (alias of [method push_back])." msgstr "" @@ -12735,6 +13833,15 @@ msgstr "" "Rimuove tutti gli elementi dall'array. Questo è equivalente a utilizzare " "[method resize] con una dimensione di [code]0[/code]." +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 "" +"Restituisce il numero di volte in cui un elemento è presente nell'array.\n" +"Per contare quanti elementi in un array soddisfano una condizione, vedi " +"[method reduce]." + msgid "" "Returns a new copy of the array.\n" "By default, a [b]shallow[/b] copy is returned: all nested [Array] and " @@ -12870,6 +13977,43 @@ msgstr "" "([enum Variant.Type]) di [param what]. Ad esempio, [code]7[/code] ([int]) e " "[code]7.0[/code] ([float])) non sono considerati uguali per questo metodo." +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" +" return number % 2 == 0\n" +"\n" +"func _ready():\n" +" print([1, 3, 4, 7].find_custom(is_even.bind())) # Prints 2\n" +"[/gdscript]\n" +"[/codeblocks]" +msgstr "" +"Restituisce l'indice del [b]primo[/b] elemento nell'array che fa in modo che " +"[param method] restituisca [code]true[/code], o [code]-1[/code] se non ce ne " +"sono. L'inizio della ricerca può essere specificato con [param from], " +"continuando fino alla fine dell'array.\n" +"[param method] è un chiamabile che accetta un elemento dell'array e " +"restituisce un [bool].\n" +"[b]Nota:[/b] Se vuoi solo sapere se l'array contiene [i]qualcosa[/i] che " +"soddisfa [param method], usa [method any].\n" +"[codeblocks]\n" +"[gdscript]\n" +"func is_even(number):\n" +" return number % 2 == 0\n" +"\n" +"func _ready():\n" +" print([1, 3, 4, 7].find_custom(is_even.bind())) # Stampa 2\n" +"[/gdscript]\n" +"[/codeblocks]" + msgid "" "Returns the first element of the array. If the array is empty, fails and " "returns [code]null[/code]. See also [method back].\n" @@ -12881,13 +14025,20 @@ msgstr "" "[b]Nota:[/b] A differenza dell'operatore [code][][/code] ([code]array[0][/" "code]), viene generato un errore senza interrompere l'esecuzione del progetto." +msgid "" +"Returns the element at the given [param index] in the array. This is the same " +"as using the [code][][/code] operator ([code]array[index][/code])." +msgstr "" +"Restituisce l'elemento all'indice [param index] nell'array. È lo stesso che " +"usare l'operatore [code][][/code] ([code]array[index][/code])." + 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 "" -"Restituisce il tipo di [Variant] incorporato dell'array tipizzato come " -"constante di [enum Variant.Type]. Se l'array non tipizzato, restituisce " +"Restituisce il tipo di [Variant] integrato dell'array tipizzato come " +"constante di [enum Variant.Type]. Se l'array non è tipizzato, restituisce " "[constant TYPE_NIL]. Vedi anche [method is_typed]." msgid "" @@ -12895,8 +14046,8 @@ msgid "" "[Variant] type [constant TYPE_OBJECT]. Otherwise, returns an empty " "[StringName]. See also [method is_typed] and [method Object.get_class]." msgstr "" -"Restituisce il nome della classe [b]incorporata[/b] dell'array tipizzato, se " -"il tipo di [Variant] incorporato è [constant TYPE_OBJECT]. Altrimenti, " +"Restituisce il nome della classe [b]integrata[/b] dell'array tipizzato, se il " +"tipo di [Variant] incorporato è [constant TYPE_OBJECT]. Altrimenti, " "restituisce un [StringName] vuoto. Vedi anche [method is_typed] e [method " "Object.get_class]." @@ -17346,6 +18497,20 @@ msgstr "" msgid "Runtime file loading and saving" msgstr "Caricamento e salvataggio di file a tempo di esecuzione" +msgid "" +"Creates a new [AudioStreamOggVorbis] instance from the given buffer. The " +"buffer must contain Ogg Vorbis data." +msgstr "" +"Crea una nuova istanza [AudioStreamOggVorbis] dal buffer fornito. Il buffer " +"deve contenere i dati in Ogg Vorbis." + +msgid "" +"Creates a new [AudioStreamOggVorbis] instance from the given file path. The " +"file must be in Ogg Vorbis format." +msgstr "" +"Crea una nuova istanza [AudioStreamOggVorbis] dal percorso di file fornito. " +"Il file deve essere in formato Ogg Vorbis." + 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 " @@ -17452,6 +18617,12 @@ msgstr "" "code]. I plugin dell'editor possono utilizzare questo metodo per \"taggare\" " "la posizione corrente lungo il flusso audio e visualizzarla in un'anteprima." +msgid "Returns the number of times the stream has looped." +msgstr "Restituisce il numero di volte che il flusso si è ripetuto." + +msgid "Returns the current position in the stream, in seconds." +msgstr "Restituisce la posizione attuale nel flusso, in secondi." + msgid "" "Returns the [AudioSamplePlayback] associated with this [AudioStreamPlayback] " "for playing back the audio sample of this stream." @@ -17459,6 +18630,12 @@ msgstr "" "Restituisce l'[AudioSamplePlayback] associato a questo [AudioStreamPlayback] " "per riprodurre il campione audio di questo flusso." +msgid "Returns [code]true[/code] if the stream is playing." +msgstr "Restituisce [code]true[/code] se il flusso è in riproduzione." + +msgid "Seeks the stream at the given [param time], in seconds." +msgstr "Cerca il flusso al tempo [param time], in secondi." + msgid "" "Associates [AudioSamplePlayback] to this [AudioStreamPlayback] for playing " "back the audio sample of this stream." @@ -17466,9 +18643,22 @@ msgstr "" "Associa l'[AudioSamplePlayback] a questo [AudioStreamPlayback] per riprodurre " "il campione audio di questo flusso." +msgid "Starts the stream from the given [param from_pos], in seconds." +msgstr "Avvia il flusso dalla posizione [param from_position], in secondi." + +msgid "Stops the stream." +msgstr "Arresta il flusso." + msgid "Playback component of [AudioStreamInteractive]." msgstr "Componente di riproduzione di [AudioStreamInteractive]." +msgid "" +"Playback component of [AudioStreamInteractive]. Contains functions to change " +"the currently played clip." +msgstr "" +"Componente di riproduzione di [AudioStreamInteractive]. Contiene funzioni per " +"cambiare la clip attualmente riprodotta." + msgid "Switch to a clip (by index)." msgstr "Passa a una clip (per indice)." @@ -17496,6 +18686,15 @@ msgstr "" "AudioStreamPlayer2D.get_stream_playback] o [method AudioStreamPlayer3D." "get_stream_playback]." +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 "" +"Restituisce [code]true[/code] se il flusso associato a l'ID intero fornito è " +"ancora in riproduzione. Consulta [method play_stream] per informazioni su " +"quando questo ID diventa non valido." + msgid "" "Play an [AudioStream] at a given offset, volume, pitch scale, playback type, " "and bus. Playback starts immediately.\n" @@ -19994,6 +21193,9 @@ msgstr "" msgid "Texture specifying per-pixel detail color." msgstr "Texture che specifica il colore dei dettagli per pixel." +msgid "Texture specifying per-pixel detail normal." +msgstr "Texture che specifica le normali del dettaglio per ogni pixel." + msgid "Texture holding ambient occlusion, roughness, and metallic." msgstr "" "Texture che contiene i valori dell'occlusione ambientale, la ruvidità, e il " @@ -21365,7 +22567,7 @@ msgstr "" "[/codeblock]\n" "Se un [Vector3] o un altra [Basis] viene trasformata (moltiplicata) per " "questa costante, non si verifica alcuna trasformazione.\n" -"[b]Nota:[/b] In GDScript, questa costante è identica alla creazione di " +"[b]Nota:[/b] In GDScript, questa costante è identica alla creazione di una " "[constructor Basis] senza parametri. Questa costante può essere usata per " "rendere il codice più chiaro e per coerenza con C#." @@ -21578,6 +22780,31 @@ msgstr "" "situati all'esterno di [param rect] non sono influenzati da [method " "grow_mask]." +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 "" +"Crea un [Array] di poligoni che coprono una porzione rettangolare della " +"bitmap. Utilizza un algoritmo \"marching squares\", seguito dalla riduzione " +"di Ramer-Douglas-Peucker (RDP) del numero di vertici. Ogni poligono è " +"descritto come un [PackedVector2Array] dei suoi vertici.\n" +"Per ottenere poligoni che coprono l'intera bitmap, passa:\n" +"[codeblock]\n" +"Rect2(Vector2(), get_size())\n" +"[/codeblock]\n" +"[param epsilon] viene passato a RDP per controllare la precisione con cui i " +"poligoni coprono la bitmap: un [param epsilon] inferiore corrisponde a più " +"punti nei poligoni." + msgid "Resizes the image to [param new_size]." msgstr "Ridimensiona l'immagine a [param new_size]." @@ -21991,6 +23218,80 @@ msgstr "" msgid "A themed button that can contain text and an icon." msgstr "Un pulsante con tema che può contenere testo e un'icona." +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" +" var button = Button.new()\n" +" button.text = \"Click me\"\n" +" button.pressed.connect(_button_pressed)\n" +" add_child(button)\n" +"\n" +"func _button_pressed():\n" +" print(\"Hello world!\")\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" var button = new Button();\n" +" button.Text = \"Click me\";\n" +" button.Pressed += ButtonPressed;\n" +" AddChild(button);\n" +"}\n" +"\n" +"private void ButtonPressed()\n" +"{\n" +" GD.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] è il pulsante standard con tema. Può contenere testo e un'icona e li " +"visualizzerà in base al [Theme] attuale.\n" +"[b]Esempio[/b]: Crea di un pulsante e connetti un metodo che verrà chiamato " +"quando il pulsante viene premuto:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _ready():\n" +" var button = Button.new()\n" +" button.text = \"Cliccami\"\n" +" button.pressed.connect(self._button_pressed)\n" +" add_child(button)\n" +"\n" +"func _button_pressed():\n" +" print(\"Ciao mondo!\")\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +" var button = new Button();\n" +" button.Text = \"Cliccami\";\n" +" button.Pressed += ButtonPressed;\n" +" AddChild(button);\n" +"}\n" +"\n" +"private void ButtonPressed()\n" +"{\n" +" GD.Print(\"Ciao mondo!\");\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Vedi anche [BaseButton] che contiene proprietà e metodi comuni associati a " +"questo nodo.\n" +"[b]Nota:[/b] I pulsanti non interpretano gli input di tocco e quindi non " +"supportano il multitouch, poiché l'emulazione del mouse può premere solo un " +"pulsante alla volta. Utilizza [TouchScreenButton] per i pulsanti che attivano " +"movimenti o azioni di gioco." + msgid "Operating System Testing Demo" msgstr "Demo di test di sistema operativo" @@ -22313,6 +23614,152 @@ msgstr "Emesso quando viene premuto uno dei pulsanti del gruppo." msgid "A built-in type representing a method or a standalone function." msgstr "Un tipo integrato che rappresenta un metodo o una funzione autonoma." +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" +" prints(arg1, arg2, arg3)\n" +"\n" +"func test():\n" +" var callable = Callable(self, \"print_args\")\n" +" callable.call(\"hello\", \"world\") # Prints \"hello world \".\n" +" callable.call(Vector2.UP, 42, callable) # Prints \"(0.0, -1.0) 42 " +"Node(node.gd)::print_args\"\n" +" callable.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" +" GD.PrintS(arg1, arg2, arg3);\n" +"}\n" +"\n" +"public void Test()\n" +"{\n" +" // Invalid calls fail silently.\n" +" Callable callable = new Callable(this, MethodName.PrintArgs);\n" +" callable.Call(\"hello\", \"world\"); // Default parameter values are not " +"supported, should have 3 arguments.\n" +" callable.Call(Vector2.Up, 42, callable); // Prints \"(0, -1) 42 Node(Node." +"cs)::PrintArgs\"\n" +" callable.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" +" var my_lambda = func (message):\n" +" print(message)\n" +"\n" +" # Prints \"Hello everyone!\"\n" +" my_lambda.call(\"Hello everyone!\")\n" +"\n" +" # Prints \"Attack!\", when the button_pressed signal is emitted.\n" +" button_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 "" +"Il [Callable] (chiamabile) è un tipo di [Variant] incorporato che rappresenta " +"una funzione. Può essere un metodo all'interno di un'istanza di [Object] o un " +"chiamabile personalizzato utilizzato per diversi scopi (vedi [method " +"is_custom]). Come tutti i tipi di [Variant], può essere memorizzato in " +"variabili e passato ad altre funzioni. È più comunemente usato per le " +"richiamate di segnale.\n" +"[b]Esempio:[/b]\n" +"[codeblocks]\n" +"[gdscript]\n" +"func print_args(arg1, arg2, arg3 = \"\"):\n" +" prints(arg1, arg2, arg3)\n" +"\n" +"func test():\n" +" var callable = Callable(self, \"print_args\")\n" +" callable.call(\"ciao\", \"mondo\") # Stampa \"ciao modo\".\n" +" callable.call(Vector2.UP, 42, callable) # Stampa \"(0.0, -1.0) 42 " +"Node(node.gd)::print_args\"\n" +" callable.call(\"invalid\") # Chiamata non valida, deve avere almeno 2 " +"argomenti.\n" +"[/gdscript]\n" +"[csharp]\n" +"// I valori predefiniti dei parametri non sono supportati\n" +"public void PrintArgs(Variant arg1, Variant arg2, Variant arg3 = default)\n" +"{\n" +" GD.PrintS(arg1, arg2, arg3);\n" +"}\n" +"\n" +"public void Test()\n" +"{\n" +" // Le chiamate non valide falliscono silenziosamente.\n" +" Callable callable = new Callable(this, MethodName.PrintArgs);\n" +" callable.Call(\"ciao\", \"mondo\"); // I valori predefiniti dei parametri " +"non sono supportati, deve avere 3 argomenti.\n" +" callable.Call(Vector2.Up, 42, callable); // Stampa \"(0, -1) 42 Node(Node." +"cs)::PrintArgs\"\n" +" callable.Call(\"invalid\"); // Chiamata non valida, deve avere 3 " +"argomenti.\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"In GDScript è possibile creare funzioni lambda all'interno di un metodo. Le " +"funzioni lambda sono chiamabili personalizzati che non sono associati a " +"un'istanza di [Object]. Facoltativamente, è possibile nominare anche le " +"funzioni lambda. Il nome sarà visualizzato nel debugger o quando si chiama " +"[method get_method].\n" +"[codeblock]\n" +"func _init():\n" +" var my_lambda = func (message):\n" +" print(message)\n" +"\n" +" # Stampa \"Ciao a tutti!\"\n" +" my_lambda.call(\"Ciao a tutti!\")\n" +"\n" +" # Stampa \"Attacca!\", quando il segnale button_pressed viene emesso.\n" +" button_pressed.connect(func(): print(\"Attacca!\"))\n" +"[/codeblock]\n" +"In GDScript, è possibile accedere a metodi e funzioni globali come " +"[Callable]:\n" +"[codeblock]\n" +"tween.tween_callback(node.queue_free) # Metodi di Object.\n" +"tween.tween_callback(array.clear) # Metodi di tipi integrati.\n" +"tween.tween_callback(print.bind(\"Test\")) # Funzioni globali.\n" +"[/codeblock]\n" +"[b]Nota:[/b] [Dictionary] non supporta quanto descritto sopra a causa " +"dell'ambiguità con le chiavi.\n" +"[codeblock]\n" +"var dictionary = {\"hello\": \"world\"}\n" +"\n" +"# Questo non funzionerà, `clear` è trattato come chiave.\n" +"tween.tween_callback(dictionary.clear)\n" +"\n" +"# Questo funzionerà.\n" +"tween.tween_callback(Callable.create(dictionary, \"clear\"))\n" +"[/codeblock]" + msgid "Constructs an empty [Callable], with no object nor method bound." msgstr "Costruisce un [Callable] vuoto, senza oggetto né metodo associato." @@ -23457,6 +24904,18 @@ msgstr "" "automatica al di sotto di una certa luminosità, risultando in un punto di " "interruzione in cui la scena rimarrà luminosa." +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 "" +"La luminanza minima (in EV100) utilizzata per il calcolo dell'esposizione " +"automatica. Quando si calcola la luminanza media della scena, i valori del " +"colore saranno limitati almeno a questo valore. Ciò limita l'esposizione " +"automatica al di sopra di una certa luminosità, risultando in un punto di " +"taglio in cui la scena rimarrà scura." + 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 " @@ -24095,6 +25554,30 @@ msgstr "" "renderli visibili è di invece chiamare una delle molteplici funzioni " "[code]popup*()[/code]." +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 "" +"Se [code]true[/code], questo e i nodi [CanvasItem] figli con una posizione in " +"Y più alta sono renderizzati davanti ai nodi con una posizione in Y più " +"bassa. Se [code]false[/code], questo nodo e i [CanvasItem] figli sono " +"renderizzati normalmente nell'ordine dell'albero di scene.\n" +"Con l'ordinamento in Y abilitato su un nodo genitore ('A') ma disabilitato su " +"un nodo figlio ('B'), il nodo figlio ('B') è ordinato ma i suoi figli ('C1', " +"'C2', ecc.) renderizzano insieme sulla stessa posizione in Y del nodo figlio " +"(\"B\"). Ciò consente di organizzare l'ordine di rendering di una scena senza " +"modificare l'albero di scene.\n" +"I nodi sono ordinati l'uno rispetto all'altro solo se si trovano sullo stesso " +"[member z_index]." + msgid "" "If [code]true[/code], the node's Z index is relative to its parent's Z index. " "If this node's Z index is 2 and its parent's effective Z index is 3, then " @@ -24136,6 +25619,13 @@ msgstr "" "[b]Nota:[/b] Le connessioni differite non consentono il disegno tramite i " "metodi [code]draw_*[/code]." +msgid "" +"Emitted when the [CanvasItem] is hidden, i.e. it's no longer visible in the " +"tree (see [method is_visible_in_tree])." +msgstr "" +"Emesso quando il [CanvasItem] è nascosto, ovvero non è più visibile " +"nell'albero (vedi [method is_visible_in_tree])." + 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 " @@ -24145,6 +25635,15 @@ msgstr "" "sono cambiati o quando si svolge un'azione che potrebbe aver influito su tali " "confini (ad esempio la modifica di [member Sprite2D.texture])." +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])." +msgstr "" +"Emesso quando la visibilità del [CanvasItem] cambia, o perché è cambiata la " +"sua proprietà [member visible] o perché è cambiata la sua visibilità " +"nell'albero (vedi [method is_visible_in_tree])." + msgid "" "The [CanvasItem]'s global transform has changed. This notification is only " "received if enabled by [method set_notify_transform]." @@ -24309,6 +25808,13 @@ msgstr "" "Modalità di fusione mista. Si presuppone che i colori siano premoltiplicati " "per il valore alfa (opacità)." +msgid "" +"Render the material using both light and non-light sensitive material " +"properties." +msgstr "" +"Renderizza il materiale usando proprietà del materiale sia sensibili alla " +"luce che non sensibili alla luce." + msgid "Render the material as if there were no light." msgstr "Renderizza il materiale come se non ci fosse luce." @@ -25096,6 +26602,33 @@ msgstr "" "influisce sul movimento solo quando [member motion_mode] è [constant " "MOTION_MODE_FLOATING]." +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 "" +"Da applicare quando sono rilevanti le nozioni di muri, soffitto e pavimento. " +"In questa modalità il movimento del corpo reagirà alle pendenze " +"(accelerazione/rallentamento). Questa modalità è adatta per giochi laterali " +"come i piattaforme." + +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 "" +"Da applicare quando non c'è nozione di pavimento o soffitto. Tutte le " +"collisioni saranno segnalate come [code]on_wall[/code]. In questa modalità, " +"quando scivoli, la velocità sarà sempre costante. Questa modalità è adatta " +"per i giochi dall'alto." + +msgid "" +"Add the last platform velocity to the [member velocity] when you leave a " +"moving platform." +msgstr "" +"Aggiunge la velocità dell'ultima piattaforma alla [member velocity] quando si " +"abbandona una piattaforma in movimento." + 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 " @@ -25275,6 +26808,16 @@ msgstr "" "motion_mode] è [constant MOTION_MODE_GROUNDED], questa proprietà influisce " "sul movimento solo se [member floor_block_on_wall] è [code]true[/code]." +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 "" +"Da applicare quando sono rilevanti le nozioni di muri, soffitto e pavimento. " +"In questa modalità il movimento del corpo reagirà alle pendenze " +"(accelerazione/rallentamento). Questa modalità è adatta per giochi come i " +"piattaforme." + 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 " @@ -26066,6 +27609,9 @@ msgstr "" msgid "Gets all executing lines." msgstr "Ottiene tutte le righe in esecuzione." +msgid "Returns all lines that are currently folded." +msgstr "Restituisce tutte le righe che sono attualmente ridotte." + msgid "" "Returns the full text with char [code]0xFFFF[/code] at the caret location." msgstr "" @@ -27382,6 +28928,13 @@ msgstr "" "Se [code]true[/code], quando la forma è visualizzata, mostrerà un colore " "solido di riempimento oltre al suo wireframe." +msgid "" +"Length that the resulting collision extends in either direction perpendicular " +"to its 2D polygon." +msgstr "" +"Lunghezza per cui la collisione risultante si estende in entrambe le " +"direzioni perpendicolari al suo poligono 2D." + msgid "If [code]true[/code], no collision will be produced." msgstr "Se [code]true[/code], non sarà prodotta alcuna collisione." @@ -30380,6 +31933,93 @@ msgstr "" "Classe di base per tutti i controlli della GUI. Adatta la sua posizione e " "dimensioni in base al suo controllo padre." +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.\n" +"Sets [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 "" +"Classe base per tutti i nodi riguardanti l'interfaccia utente. [Control] " +"presenta un rettangolo di delimitazione che definisce le sue estensioni, una " +"posizione di ancoraggio relativa al suo controllo padre o alla finestra di " +"visualizzazione attuale e offset relativi all'ancoraggio. Gli offset si " +"aggiornano automaticamente quando il nodo, uno qualsiasi dei suoi genitori o " +"le dimensioni dello schermo cambiano.\n" +"Per ulteriori informazioni sul sistema di interfaccia utente di Godot, " +"ancore, offset e contenitori, consulta i tutorial al riguardo nel manuale. " +"Per creare interfacce utente flessibili, avrai bisogno di un misto di " +"elementi dell'UI che ereditano dai nodi [Control] e [Container].\n" +"[b]Nota:[/b] Poiché sia [Node2D] che [Control] ereditano da [CanvasItem], " +"essi condividono diversi concetti della classe come le proprietà [member " +"CanvasItem.z_index] e [member CanvasItem.visible].\n" +"[b]Nodi e e input per l'interfaccia utente[/b]\n" +"Godot propaga gli eventi di input tramite le viewport. Ogni [Viewport] è " +"responsabile della propagazione degli [InputEvent] ai propri nodi figlio. " +"Poiché [member SceneTree.root] è una [Window], ciò avviene automaticamente " +"per tutti gli elementi dell'UI nel tuo gioco. Gli eventi di input vengono " +"propagati tramite [SceneTree] dal nodo radice a tutti i nodi figlio chiamando " +"[method Node._input]. Per gli elementi UI in particolare, ha più senso " +"sovrascrivere il metodo virtuale [method _gui_input], che filtra gli eventi " +"di input non correlati, ad esempio controllando z-order, [member " +"mouse_filter], focus o se l'evento era all'interno del riquadro di " +"delimitazione del controllo.\n" +"Chiama [method accept_event] in modo che nessun altro nodo riceva l'evento. " +"Una volta accettato un input, questo viene gestito in modo che [method Node." +"_unhandled_input] non lo elabori.\n" +"Solo un nodo [Control] può essere in focus. Solo il nodo in focus riceverà " +"gli eventi. Per ottenere il focus, chiama [method grab_focus]. I nodi " +"[Control] perdono il focus quando un altro nodo lo ottiene o se nascondi il " +"nodo in focus. Imposta [member mouse_filter] su [constant " +"MOUSE_FILTER_IGNORE] per dire a un nodo [Control] di ignorare gli eventi del " +"mouse o di tocco. Ne avrai bisogno se posizioni un'icona sopra un pulsante.\n" +"Le risorse [Theme] cambiano l'aspetto del Control. Il [member theme] di un " +"[Control] influisce su tutti i suoi figli diretti e indiretti (purché una " +"catena di controlli non sia interrotta). Per sovrascrivere alcuni elementi " +"del tema, chiama uno dei metodi [code]add_theme_*_override[/code], come " +"[method add_theme_font_override]. È possibile anche sovrascrivere elementi " +"del tema nell'Ispettore.\n" +"[b]Nota:[/b] Gli elementi del tema [i]non[/i] sono proprietà [Object]. Ciò " +"significa che non è possibile accedere ai loro valori attraverso [method " +"Object.get] e [method Object.set]. Invece, usa i metodi [code]get_theme_*[/" +"code] e [code]add_theme_*_override[/code] forniti da questa classe." + msgid "GUI documentation index" msgstr "Indice di documentazione GUI" @@ -30683,6 +32323,128 @@ msgstr "" "[b]Nota:[/b] Se vuoi controllare se un punto è all'interno del controllo, " "puoi usare [code]Rect2(Vector2.ZERO, size).has_point(point)[/code]." +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" +" var label = Label.new()\n" +" label.text = for_text\n" +" return label\n" +"[/gdscript]\n" +"[csharp]\n" +"public override Control _MakeCustomTooltip(string forText)\n" +"{\n" +" var label = new Label();\n" +" label.Text = forText;\n" +" return label;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Example:[/b] Usa a scene instance as a tooltip:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _make_custom_tooltip(for_text):\n" +" var tooltip = preload(\"res://some_tooltip_scene.tscn\").instantiate()\n" +" tooltip.get_node(\"Label\").text = for_text\n" +" return tooltip\n" +"[/gdscript]\n" +"[csharp]\n" +"public override Control _MakeCustomTooltip(string forText)\n" +"{\n" +" Node tooltip = ResourceLoader.Load(\"res://" +"some_tooltip_scene.tscn\").Instantiate();\n" +" tooltip.GetNode