我有一个错误说:(错误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键时动画会再次旋转。
答案 0 :(得分:3)
这是因为您已经声明了变量。
从bool
的内部范围中删除if
:
bool facingLeft = true;
bool facingRight = false;
并在if
之间添加else以避免冲突。
但是也许您最好根据目标使用不同的名称来获得更好的代码味道。