Bir GameObject hareketli grafiğin altına düştüğünde bir eylem gerçekleştiren basit bir yordam oluşturuyorum. Sprite'ın sınırlarını kullanarak boyutlarını nasıl alacağımı anladım, ancak sprite'ın nerede olduğunu düşündüğüm yeri hesapladığımda, beklediğimden daha küçük bir sayı veriyor.Unity'deki bir hareketli grafiğin alt kısmı için neden yanlış yerel konum hesaplanıyor?
public class FooBehaviour : MonoBehaviour
{
public SpriteRenderer ChildSprite;
void Start()
{
float bottomEdgeInLocalSpace =
ChildSprite.gameObject.transform.localPosition.y - ChildSprite.bounds.extents.y;
}
}
sen ne yapmaları gerektiğini Debugger'ı kullanılarak .. ayrıca birisi nasıl belirleyebilirsiniz: InverseTransformPoint kullanarak yerel alana
bounds.min
dönüştürerek, şu kullanarak sprite beklenen altını elde edebildi Sadece 1'lik kod satırını yazarken hesaplama (lar) ınız için yanlış gideceğiniz yer. – MethodMan
Düzenleme: Nevermind, pivot noktanın kafesin üstünde olduğu yerdir. –
@MartinMazzaDawson Transform.position sadece nesnenin merkezini vermiyor mu? Benliğin kendisinin en alt kenarının konumunu hesaplamak istiyorum. – TVOHM