Как загрузить спрайт игрока во время выполнения.Единство - PullRequest
0 голосов
/ 06 мая 2019

Мне нужно создавать спрайты во время выполнения, что вы можете перемещать и анимировать не в редакторе единства.Как это сделать?Я здесь потерян.

Небольшой вопрос, который я знаю!Спасибо за помощь:)

Сначала я попытался создать спрайт:

    char_sprite = Resources.Load<Sprite>("Art/GamesPlusJames_RPG-Character_0");

Должен ли я его как-то проверить на экране и как?

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Вы можете попробовать это:

// Load your sprite
char_sprite = Resources.Load<Sprite>("Art/GamesPlusJames_RPG-Character_0");
// Create gameobject typeof "SpriteRenderer"
GameObject spriteObject = new GameObject("Sprite", typeof(SpriteRenderer));
// Set position
spriteObject.transform.position = new Vector3(0, 0, 0);
// Set rotation
spriteObject.transform.rotation = Quaternion.Euler(0, 0, 0);
// Get SpriteRenderer component
SpriteRenderer sr = spriteObject.GetComponent<SpriteRenderer>();
// Set your sprite
sr.sprite = char_sprite;
0 голосов
/ 06 мая 2019

Поскольку вы говорили о создании, вот как вы можете это сделать

       //Create a new gameObject
        GameObject char_obj = new GameObject("char");
        //Add an SpriteRenderer component
        SpriteRenderer char_sprite = char_obj.AddComponent<SpriteRenderer>();
        //Load the sprite and assign it
        char_sprite.sprite = Resources.Load<Sprite>("Art/GamesPlusJames_RPG-Character_0");

Если вам нужно только изменить спрайт.Вы можете изменить его, открыв компонент SpriteRenderer и изменив его спрайт.

...