Düğmeler onclick etkinlik var http://docs.unity3d.com/ScriptReference/UI.Button-onClick.html
Sadece düğme davanız değişen sprite kodu içinde, tıklandığında çağrılan bir yöntem oluşturmak
. Bir zamanlayıcı kullandığınız gibi görüldüğü halde, bir boole gibi bir şey kullanmanız gerekecek çünkü onClick()
sadece bir kez tıklandığında çağrılır, her kare değil. sprite anim bittikten sonra https://www.youtube.com/watch?v=J5ZNuM6K27E
bool b_RunSpriteAnim;
public void onClick(){
b_RunSpriteAnim = true;
}
void Update(){
if (b_RunSpriteAnim)
//your anim sprite stuff
}
Bak Sonra sadece false
için b_RunSpriteAnim
geçiş ve zamanlayıcı sıfırlanır.
Düzenlendi: Boolean'a ihtiyacınız yok. Sadece istediğini sandım çünkü bir zamanlayıcı kullanıyordun (Youtube bağlantısına göre). Eğer sprite'ı hemen değiştirmek istiyorsanız, buna ihtiyacınız yoktur. Imagethree
'un çalışmadığı gibi, kodunuza asla dahil etmediğiniz içindir. Bu, onClick
'a eklediyseniz, Imagethree
ile elde etmeye çalıştığınız şey net değil, sadece ayarlanan görüntünün üzerine yazacaktı, bu yüzden ne elde etmek istediğinize emin değilim.
public void onClick(){
this.gameObject.GetComponent<SpriteRenderer>().sprite = Imagetwo;
}
İkinci Düzenleme:
public Sprite[] Images;
//Index starts at one because we are setting the first sprite in Start() method
private int _Index = 1;
void Start(){
//Set the image to the first one
this.gameObject.GetComponent<SpriteRenderer>().sprite = Images[0];
}
public void onClick(){
//Reset back to 0 so it can loop again if the last sprite has been shown
if (_Index >= Images.Length)
_Index = 0;
//Set the image to array at element index, then increment
this.gameObject.GetComponent<SpriteRenderer>().sprite = Images[_Index++];
}
Size Imagethree' yüzden gerçekten söyleyemem 'ile yapmak isteyen vardır ne olduğu açık değildir. Ayrıca cevabımı da düzenledim. Ne zaman değişmesini istiyorsun? Bu turoial içinde –