我有一个错误的说法:(错误CS0136:无法在此范围内声明名为'faceingRight'的本地或参数,因为该名称在封闭的本地范围内用于定义本地或参数)。我对此很陌生,所以我不知道它在说什么,也无法在网上找到有关它的任何信息。如果任何人都可以在这里帮助我,那就太好了
我正在尝试在Unity中制作动画翻转,但是我不特别记得我尝试过的内容
bool facingRight = true;
bool facingLeft = false;
if (facingRight == true && facingLeft == false)
{
if (Input.GetKey("a"))
{
transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z);
bool facingRight = true;
bool facingLeft = false;
}
}
if (facingLeft == true && facingRight == false)
{
if (Input.GetKey("a"))
{
transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z);
bool facingLeft = true;
bool facingRight = false;
}
}
预期的结果是,我的动画在按a键时会旋转,然后在按d键时会再次旋转。
因为您已经声明了变量。
从bool
的内部范围中删除if
:
bool facingLeft = true;
bool facingRight = false;
并且在if
之间添加else以避免冲突。
但是也许您最好根据目标使用不同的名称来获得更好的代码味道。