Comment puis-je dessiner des sprites dans Unity 5 par programme? Je cherche quelque chose de similaire à spriteBatch.Draw()
XNA. Les résultats que j'obtiens lorsque je recherche à ce sujet sont soit http://wiki.unity3d.com/index.php?title=SpriteManager obsolètes (cela a été écrit en 2012), soit ils sont effectués à l'aide de l'interface de l'unité. Tout ce que je peux trouver est une Sprite
classe dans UnityEngine.dll. Est-ce ce dont j'ai besoin? Comment le dessin fonctionnerait-il? Je ne comprends vraiment pas.
8
Sprite
puis unSpriteRenderer
mais je ne peux pas comprendre comment définir une image sur l'image-objet.Sprite
objets Byte56 ne semblent même pas avoir de propriété pour définir l'image. la chose la plus proche que je vois est sprite.texture qui est en lecture seule ... en fait, chaque propriété de sprite est en lecture seuleRéponses:
Unity n'a pas ce type de rendu en "mode direct", vous n'appelerez
Draw
aucune boucle de mise à jour pour Unity.Dans Unity, vous devez créer un objet de jeu, puis attacher des scripts à cet objet de jeu. Ces scripts contrôleront le comportement de l'objet, si et comment il est affiché à l'écran, s'il fait partie du système physique, etc.
Pour créer un nouveau sprite à dessiner à l'écran, vous devrez créer un nouvel objet de jeu, puis y attacher le script SpriteRenderer et définir son sprite.
Cela suppose une structure de répertoires de
Par exemple:
Ensuite, vous aviez un script différent pour changer la position, la rotation, etc., selon la façon dont vous voulez qu'il se comporte.
La façon la plus simple d'accomplir tout cela sans avoir à écrire autant de code? Créez d'abord l'objet de jeu dans l'éditeur Unity. Une fois que l'objet de jeu est équipé du sprite que vous voulez et des scripts de comportement et tout ça. Faites-le glisser et déposez-le dans un répertoire de ressources. Cela crée un préfabriqué. Les préfabriqués sont exactement ce à quoi ils ressemblent, des préfabrication. Ce sont des objets complets que vous pouvez ensuite référencer et créer à la volée.
Vous créeriez ceux comme:
Cela engendrera un clone du préfabriqué que vous avez créé auparavant. Donc, si par exemple, vous aviez donné à votre préfabriqué le comportement de se déplacer vers le joueur et d'attaquer, chaque fois que vous générez un nouveau préfabriqué de ce type, il commencera à se déplacer vers le joueur et à attaquer. Les scripts que vous n'aviez à écrire qu'une seule fois contrôlent tous ces objets de jeu.
Je pense que la principale différence que vous voyez ici est l'utilisation intensive de composants. Ce que vous n'avez probablement pas vu dans d'autres moteurs de jeu comme XNA. L'unité est vraiment un moteur puissant, mais votre frustration vient d'essayer de l'utiliser comme d'autres moteurs, alors que ce n'est pas comme les autres moteurs. Consultez mon profil pour une formation, j'ai ajouté un lien pour un essai gratuit afin que vous n'ayez pas à payer.
la source