StudioService

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
Service
Non répliqué

StudioService fournit un accès à la configuration de Roblox Studio, permettant l'importation de fichiers du système de fichiers de l'utilisateur et d'autres informations. Il est destiné à être utilisé par Plugins pour fournir une expérience d'utilisateur cohérente.

  • Les plugins qui permettent à l'utilisateur de déplacer des objets peuvent trouver GridSize , RotateIncrement et UseLocalSpace utiles.
  • Les plugins qui nécessitent que l'utilisateur importe des fichiers doivent utiliser PromptImportFile ou PromptImportFiles pour recevoir File d'objets.
  • Les plugins qui affichent les icônes des classes d'instance peuvent utiliser GetClassIcon .
  • Les plugins qui se soucient de savoir quel script est actuellement en cours de modification (si any) peuvent lire ceci à partir de ActiveScript.

Résumé

Propriétés

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Renvoie le LuaSourceContainer actuellement en cours de modification (si any).

  • Lecture uniquement
    Non répliqué
    Lecture parallèle
  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Détermine la distance en studs par laquelle les outils de déplacement et de détirement de Studio déplacent les objets à chaque clic.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Détermine les degrés dans lesquels Studio's outil de rotation sélectionnera les objets chaque tick.

  • Lecture parallèle
  • Lecture uniquement
    Non répliqué
    Lecture parallèle
  • Lecture uniquement
    Non répliqué
    Lecture parallèle
  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    La localisation actuellement utilisée par Studio, par exemple. en_US.

  • Non répliqué
    Lecture parallèle

    Détermine si les outils Studio utiliseront de l'espace local d'un objet ou de l'espace global.

Méthodes

Propriétés

ActiveScript

Lecture uniquement
Non répliqué
Lecture parallèle

ActiveScript fait référence au LuaSourceContainer actuellement édité par l'utilisateur. Si l'utilisateur n'édite pas de script, cela sera nil . Voici un exemple qui montre comment vous pouvez utiliser cette propriété pour mesurer pendant combien de temps un script a été actif.


local StudioService = game:GetService("StudioService")
local startTime = os.time()
local activeScript
local function onActiveScriptChanged()
local newActiveScript = StudioService.ActiveScript
if activeScript and newActiveScript ~= activeScript then
local deltaTime = os.time() - startTime
print(("You edited %s for %d:%2.d"):format(activeScript.Name, deltaTime // 60, deltaTime % 60))
end
startTime = os.time()
activeScript = newActiveScript
end
StudioService:GetPropertyChangedSignal("ActiveScript"):Connect(onActiveScriptChanged)

DraggerSolveConstraints

Lecture uniquement
Non répliqué
Lecture parallèle

GridSize

Lecture uniquement
Non répliqué
Lecture parallèle

GridSize détermine la distance en studs par laquelle les outils de déplacement et de déplacement de Studio déplacent les objets à chaque clic. Ceci est réglé dans l'onglet Modèle de l'utilisateur sous la section Accrocher à la grille de la section.

Transform snapping tools indicated in Model tab

RotateIncrement

Lecture uniquement
Non répliqué
Lecture parallèle

Incrément de Rotation détermine l'angle en degrés dans lequel l'outil de rotation de Studio fera pivoter les objets sélectionnés chaque tick. Cela est défini dans l'onglet Modèle de l'utilisateur sous la section Ajuster à la grille .

Transform snapping tools indicated in Model tab

Secrets

Lecture parallèle
Sécurité des scripts Roblox

ShowConstraintDetails

Lecture uniquement
Non répliqué
Lecture parallèle

ShowWeldDetails

Lecture uniquement
Non répliqué
Lecture parallèle
Sécurité des scripts Roblox

StudioLocaleId

Lecture uniquement
Non répliqué
Lecture parallèle

La propriété StudioLocalId contient la langue actuellement utilisée par Studio, par exemple, en_US. C'est utile lorsque vous localisez des plugins.

Ce qui suit est un exemple trivial de localisation basé sur la valeur renvoyée par cette fonction.


local locale = game:GetService("StudioService").StudioLocaleId
if locale == "en_US" then
print("Howdy, ya'll")
elseif locale == "en_GB" then
print("'Ello, gov'na")
elseif locale:sub(1, 2) == "en" then
print("Hello")
elseif locale == "fr_FR" then
print("Bonjour")
end

UseLocalSpace

Non répliqué
Lecture parallèle

UseLocalSpace détermine si les outils de mouvement/Rotation de Studio manipuleront une partie's CFrame à l'aide de l'espace local d'un objet ou de l'espace global. Par défaut, ce paramètre est basculé avec Ctrl 0> L 0> ou 3>

Méthodes

GetClassIcon

Sécurité des plugins

GetClassIcon fournit un dictionnaire qui permet l'affichage d'un icône d'explorateur de classe, par exemple, en appelant cette fonction avec «Part» renvoie les valeurs de propriété qui affichent l'icône d'explorateur de la fenêtre Explorer.

Ce qui suit est une représentation de table littérale de la valeur renvoyée lorsque cette fonction est appelée avec "Part" .


{
Image = "rbxasset://textures/ClassImages.png",
ImageRectOffset = Vector2.new(16, 0),
ImageRectSize = Vector2.new(16, 16)
}

La fonction utilitaire ci-dessous peut être utile lors de l'affichage des icônes de classe :


local StudioService = game:GetService("StudioService")
local imageLabel = script.Parent
local function displayClassIcon(image, className)
for k, v in StudioService:GetClassIcon(className) do
image[k] = v -- Définir la propriété
end
end
displayClassIcon(imageLabel, "Part")

Paramètres

className: string

Retours

GetUserId

Sécurité des plugins

Renvoie l'identifiant de l'utilisateur Studio s'il est connecté, sinon renvoie 0.


Retours

Échantillons de code

StudioService:GetUserId

-- Can only be used in a plugin
local StudioService = game:GetService("StudioService")
local Players = game:GetService("Players")
local loggedInUserId = StudioService:GetUserId()
local loggedInUserName = Players:GetNameFromUserIdAsync(loggedInUserId)
print("Hello,", loggedInUserName)

GizmoRaycast

Sécurité des plugins

Paramètres

origin: Vector3
direction: Vector3
raycastParams: RaycastParams
Valeur par défaut : "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Retours

PromptImportFile

Rendement
Sécurité des plugins

Cette fonction demande à l'utilisateur actuel de Studio de sélectionner un fichier, qui sera ensuite chargé en tant que File .

Voir aussi :

Paramètres

fileTypeFilter: Array

Une liste de types de fichiers que l'utilisateur peut selectionner. Les types de fichiers sont formatés sans virgule. Par exemple, «jpg», «png» ne permettraient que le fichier JPG ou PNG à être sélectionné. Si aucun filtre n'est fourni, le filtre est nul et permet à l'utilisateur de sélectionner n'importe quel type de fichier.

Valeur par défaut : "{}"

Retours

Le File importé. Rend zéro si aucun fichier n'a été sélectionné, ou si le fichier sélectionné était trop grand (FileSize supérieur à 100 mégabytes).

PromptImportFiles

Instances
Rendement
Sécurité des plugins

Cette fonction demande au utilisateur actuel de Studio de sélectionner un ou plusieurs fichiers, ce qui sera ensuite chargé comme Files .

Lance une erreur si le filtre de type de fichier était une liste vide.

Voir aussi :

Paramètres

fileTypeFilter: Array

Une liste de types de fichiers que l'utilisateur est autorisé à selectionner. Les types de fichiers sont formatés sans virgule. Par exemple, «jpg», «png» ne permettraient que les fichiers JPG et PNG à être sélectionnés. Si aucun filtre n'est fourni, le filtre est nul et permet à l'utilisateur de sélectionner n'importe quel type de fichier.

Valeur par défaut : "{}"

Retours

Instances

Le fichier Files importé. Renvoie une liste vide si aucun fichier n'a été sélectionné. Renvoie zéro si l'utilisateur a sélectionné un ou plusieurs fichiers trop grands (FileSize supérieur à 100 mégabytes).

Évènements