PluginToolbarButton

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible

Un bouton PluginToolbar est un objet créé par la fonction PluginToolbar:CreateButton().Il permet à l'utilisateur d'initier une seule action unique dans Roblox Studio via l'événement Click.

Lorsqu'il est pressé, l'événement Click se déclenche.Un bouton restera également dans l'état appuyé, qui peut être défini manuellement en utilisant SetActive .À l'activation du plugin ( Plugin:Activate() ), les boutons dans tous les autres PluginToolbars seront désactivés.Si tous les boutons dans une barre d'outils sont off, le plugin de la barre d'outils est désactivé (Plugin:Deactivate()).

Lorsque la fenêtre de jeu n'est pas visible, les boutons seront désactivés comme si leur propriété Enabled était fausse.Les boutons désactivés sont saturés et ne répondent pas aux clics de l'utilisateur.En définissant ClickableWhenViewportHidden à vrai, vous pouvez permettre aux boutons de plugin de rester cliquables (comme pendant l'édition de scripts).

Résumé

Propriétés

  • Non répliqué
    Lecture parallèle

    Détermine si le bouton peut être cliqué lorsque la fenêtre du jeu est cachée, comme lors de l'édition d'un script dans une autre fenêtre de studio.

  • Non répliqué
    Lecture parallèle

    Détermine si le bouton est cliquable en général.

  • Icon:ContentId
    Non répliqué
    Lecture parallèle

    Détermine quelle icône doit représenter le bouton.

Méthodes

  • SetActive(active : boolean):()
    Sécurité des plugins

    Définit l'état du bouton du plugin.

Évènements

  • Sécurité des plugins

    S'allume lorsque l'utilisateur appuie et relâche son curseur sur le bouton.

Propriétés

ClickableWhenViewportHidden

Non répliqué
Lecture parallèle

CliqueableWhenViewportHidden détermine si un bouton de barre d'outils de plugin peut être cliqué lorsque la fenêtre de jeu est cachée, comme lorsqu'un Script est en cours d'édition dans une autre fenêtre.

Typiquement, cette propriété est bonne pour activer si une action déclenchée par l'événement Click d'un bouton de plugin ne se produit pas dans le monde du jeu (Workspace).Par exemple, un bouton qui ouvre un widget devrait avoir cette propriété être vraie, comme montrer un widget est visible pour l'utilisateur même si la vue du jeu n'est pas visible.

Enabled

Non répliqué
Lecture parallèle

Activé détermine si un bouton est cliquable en général.Lorsque cette propriété est fausse, le bouton sera grisé et non cliquable, empêchant l'utilisateur de déclencher l'événement Click.Les boutons sont activés par défaut.

Lors de la réactivation de cette propriété, l'état du bouton du plugin ne sera pas souvenu de l'état précédent dans lequel l'utilisateur a quitté le bouton.Au lieu de cela, il sera défini par défaut sur l'état dernier défini par SetActive() ou sur l'état inactif si SetActive() n'a jamais été utilisé.

Les plugins doivent désactiver leurs boutons lorsque l'action du bouton n'est pas pertinente dans le contexte actuel.Par exemple, un bouton de plugin qui attribue des couleurs aléatoires à la sélection ne doit pas être activé lorsque la sélection ne contient pas de parties.Voir les échantillons de code pour plus d'informations.

Voir aussi :

  • ClickableWhenViewportHidden , qui détermine si un bouton est cliquable lorsque la vue du jeu est cachée (et pas seulement en général)

Échantillons de code

This code sample is for a studio Plugin. The plugin creates a PluginToolbarButton which randomizes the BrickColor() of each selected part using BrickColor.random(). Furthermore, the button is only enabled if at least one part is selected. It does this by detecting changes in the Selection using Selection.SelectionChanged.

BrickColor Randomizer Plugin

assert(plugin, "This script must be run as a plugin")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Parts")
local pluginToolbarButton = toolbar:CreateButton(
"Randomize Colors",
"Click this button to assign random colors to selected parts",
"rbxassetid://5325741572" -- A rainbow
)
local function onClick()
local selection = Selection:Get()
for _, object in pairs(selection) do
if object:IsA("BasePart") then
object.BrickColor = BrickColor.random()
end
end
end
pluginToolbarButton.Click:Connect(onClick)
local function doesSelectionContainAPart()
local selection = Selection:Get()
for _, object in pairs(selection) do
if object:IsA("BasePart") then
return true
end
end
return false
end
local function onSelectionChanged()
pluginToolbarButton.Enabled = doesSelectionContainAPart()
end
Selection.SelectionChanged:Connect(onSelectionChanged)
onSelectionChanged()

Icon

ContentId
Non répliqué
Lecture parallèle

L'icône détermine ce que icon devrait être affiché pour le bouton dans la barre d'outils du plugin.Lorsque cette propriété n'est pas configurer, le bouton utilisera plutôt le texte du bouton donné par PluginToolbar:CreateButton() .

Méthodes

SetActive

()
Sécurité des plugins

Cette méthode peut être utilisée pour définir manuellement l'état actif du bouton du plugin.

Lorsque la propriété Enabled est réactivée, le bouton reviendra à l'état dernier défini par cette méthode ou sera inactif si cette méthode n'a pas été utilisée précédemment.

Paramètres

active: boolean
Valeur par défaut : ""

Retours

()

Évènements

Click

Sécurité des plugins

Cliquez déclenche des incendies lorsque le bouton PluginToolbar est pressé et libéré par l'utilisateur.

En cliquant sur un bouton PluginToolbar, l'état du bouton activer/désactiver. Appelez SetActive pour définir manuellement l'état du bouton.


Échantillons de code

This code sample demonstrates creating a PluginToolbar and a PluginToolbarButton on it, then connecting a function onClick to the PluginToolbarButton.Click event. When pressed, the button will print "Hello, world" to the output.

PluginToolbarButton.Click

assert(plugin, "This script must be run as a plugin")
local toolbar = plugin:CreateToolbar("Hello World Plugin Toolbar")
local pluginToolbarButton =
toolbar:CreateButton("Print Hello World", "Click this button to print Hello World!", "rbxassetid://133293265")
local function onClick()
print("Hello, world")
end
pluginToolbarButton.Click:Connect(onClick)