Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
We use cookies to ensure that we provide you with the best possible experience on our site.
Votre source incontournable sur Unity et le développement web
Votre source incontournable sur Unity et le développement web
Sur Unity, la fonction « AddComponent » simplifie le processus de gestion des GameObject. En un simple clic dans l’inspecteur de l’éditeur, les utilisateurs peuvent facilement ajouter divers composants à leurs objets Unity.
Table des matières
La fonction `AddComponent` vous permet d’ajouter un composant à un GameObject dynamiquement.
private void Add()
{
var rigidbody2d = gameObject.AddComponent<Rigidbody2D>();
// return Component, you can cast it
var rigidbody = gameObject.AddComponent(typeof(Rigidbody2D));
}
Vous pouvez ajouter directement un composant à votre GameObject dans l’éditeur Unity en suivant ces étapes :
De plus, vous pouvez ajouter votre propre script en tant que composant. Pour ce faire, votre script doit hériter de la classe UnityEngine.Component
. Dans la plupart des cas, vos scripts hériteront de la classe MonoBehaviour
, qui elle-même hérite de Component
:
using UnityEngine;
public class MyMonoBehaviour : MonoBehaviour
{
}
public class OtherMonoBehaviour : MonoBehaviour
{
private void Awake()
{
gameObject.AddComponent<MyMonoBehaviour>();
}
}
`AddComponent` ne permet pas nativement de passer des paramètres. Il est préférable de créer une fonction séparée, par exemple, « SetParameters, » à appeler après la création du composant.
using UnityEngine;
public class TorsoEquip : MonoBehaviour
{
public int Defense { get; private set; }
public int Resiliance { get; private set; }
public void SetParameters(int defense, int resiliance)
{
Defense = defense;
Resiliance = resiliance;
}
}
private void AddComponentWithParamters()
{
var torsoEqui = gameObject.AddComponent<TorsoEquip>();
torsoEqui.SetParameters(20, 30);
}
Pour rendre le code plus réutilisable, il peut être plus judicieux de passer un objet de configuration au lieu de passer des paramètres un par un. Cet objet de configuration peut être une classe, une structure ou même un ScriptableObject, selon vos besoins :
using UnityEngine;
public class TorsoEquip : MonoBehaviour
{
public class EquipementStat
{
public int Defense { get; set; }
public int Resiliance { get; set; }
}
public EquipementStat EquipementConfiguration { get; private set; }
public void AddConfiguration(EquipementStat equipementConfiguration)
{
EquipementConfiguration = equipementConfiguration;
// maintenant vous pouvez appeler
// EquipementConfiguration.Defense
// Ou EquipementConfiguration.Resiliance
}
}
L’attribut RequireComponent
vous permet d’éviter les erreurs de configuration lors de l’ajout d’un script. Le composant requis sera ajouté simultanément, mais notez que cela ne fonctionne que dans l’éditeur.
Cet attribut est utilisé dans « TextMeshProUGUI », pour ajouter un RectTransform et un CanvasRenderer en même temps.
Code source TextMeshProUGUI
Prenons un exemple : Supposons que nous voulons toujours que notre classe « Ball » ait un Rigidbody2D
:
using UnityEngine;
[RequireComponent(typeof(Rigidbody2D))]
public class Ball : MonoBehaviour
{
private Rigidbody2D _rigidbody2D;
private void Awake()
{
_rigidbody2D = GetComponent<Rigidbody2D>();
}
}
Pour conclure, fonction « AddComponent » d’Unity fait partie des fonctionnalités de base vous permettant de customiser vos GameObjects.
Merci d’avoir parcouru ce sujet avec moi – bon codage !