Zmień duszkę obiektu w jedności


11

Wewnątrz kodu skryptu bohatera (obiektu) chcę dodać możliwość zmiany jego duszka.

Tak więc gracz naciska przycisk spacji, a duszek zmienia się w innego duszka już dodanego do projektu.

Czy możesz podać mi przykładowy kod, aby to zrobić?


1
Chociaż funkcja zmiany duszków poniżej powinna działać dokładnie tak, jak prosiłeś, proponuję zajrzeć do animatora Unity. Zwykle, gdy ludzie zmieniają duszki, należy stworzyć animację dla akcji (takiej jak wymachiwanie mieczem lub otwieranie drzwi) i zwykle odbywa się to w bardziej podstawowych silnikach poprzez ręczne zmienianie duszek. Jednak Unity ma wbudowaną obsługę animacji, która umożliwia utworzenie pliku animacji dla wszystkich potrzebnych duszków, a następnie pozwala powiedzieć grze, aby grała automatycznie w określonych warunkach w kontrolerze animacji.
Benjamin Danger Johnson

Odpowiedzi:


20

Kod został skomentowany dla Ciebie. Cieszyć się.

public Sprite sprite1; // Drag your first sprite here
public Sprite sprite2; // Drag your second sprite here

private SpriteRenderer spriteRenderer; 

void Start ()
{
    spriteRenderer = GetComponent<SpriteRenderer>(); // we are accessing the SpriteRenderer that is attached to the Gameobject
    if (spriteRenderer.sprite == null) // if the sprite on spriteRenderer is null then
        spriteRenderer.sprite = sprite1; // set the sprite to sprite1
}

void Update ()
{
    if (Input.GetKeyDown (KeyCode.Space)) // If the space bar is pushed down
    {
        ChangeTheDamnSprite (); // call method to change sprite
    }
}

void ChangeTheDamnSprite ()
{
    if (spriteRenderer.sprite == sprite1) // if the spriteRenderer sprite = sprite1 then change to sprite2
    {
        spriteRenderer.sprite = sprite2;
    }
    else
    {
        spriteRenderer.sprite = sprite1; // otherwise change it back to sprite1
    }
}

Do GameObject musisz mieć renderera duszków. Utwórz nowy skrypt C # i dołącz do niego GameObject. Wklej kod między nawiasami ... Jestem pewien, że możesz to zrozumieć :)


proszę pana, jesteś legendą.
kal kokah
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.