我希望我的角色在单击ctrl按钮时可以蹲下,为此,我编写了这段代码,但不幸的是它无法正常工作。
if (Input.GetKey(KeyCode.LeftControl))
{
this.gameObject.GetComponent<SpriteRenderer>().sprite = crouchedSprite;
}
答案 0 :(得分:0)
释放钥匙后,您需要重置精灵。
void Update()
{
if (Input.GetKeyDown(KeyCode.LeftControl))
{
print("LeftControl pressed.");
this.gameObject.GetComponent<SpriteRenderer>().sprite = crouchedSprite;
}
else if (Input.GetKeyUp(KeyCode.LeftControl))
{
print("LeftControl released.");
this.gameObject.GetComponent<SpriteRenderer>().sprite = normalSprite;
}
}
答案 1 :(得分:0)
请勿在每次更新时调用GetComponent
。这会导致不必要的开销。在Awake
中调用一次,然后存储在字段中。
将您的代码更改为此,它应该可以工作:
spriteRenderer.sprite =
Input.GetKey(KeyCode.LeftControl) ? crouchedSprite : normalSprite;