Birlikteki Nesnenin hareketli grafiğini değiştirme


11

Kahramanın (nesne) senaryo kodunun içine spriteını değiştirme imkanı eklemek istiyorum.

Böylece oyuncu boşluk düğmesine basar ve hareketli grafik, projeye eklenmiş olan hareketli hareketli grafiğe dönüşür.

Bunu yapmak için bana örnek bir kod verebilir misiniz?


1
Aşağıdaki sprite değiştirme işlevi tam olarak istediğiniz gibi çalışmasına rağmen, Unity animatörüne bakmanızı öneririm. Genellikle insanlar sprite değiştirdiğinde, bir eylem için bir animasyon oluşturmaktır (kılıç sallamak veya bir kapı açmak gibi) ve bu genellikle spriteları manuel olarak değiştirerek daha temel motorlarda yapılır. Ancak Unity, gerekli tüm sprite'lar için bir animasyon dosyası oluşturmanıza izin veren ve daha sonra animasyon kontrol cihazında belirli koşullar verildiğinde oyuna otomatik olarak oynatmanızı söyleyebileceğiniz animasyonlar için yerleşik destek içerir.
Benjamin Danger Johnson

Yanıtlar:


20

Kod sizin için yorumlanmıştır. Zevk almak.

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
    }
}

GameObject'inize bir hareketli grafik oluşturucuya sahip olmanız gerekir. Yeni bir C # Script oluşturun ve bir GameObject ekleyin. Kodu parantez arasına yapıştırın ... Eminim buradan çözebilirsiniz :)


efendim, efsanesiniz.
kal kokah
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.