По сути, я создаю 2D-игру, и персонаж должен захватывать объекты, поэтому я выполнил оператор if/else, и условие if(grab) работает, а условие else/else if(drop) — нет , я знаю, что я пришел из else if bc if a do if(!isGradding) ... а затем if(isGradding) ... персонаж захватывает объект и сразу же отбрасывает его, я попробовал оператор переключения, но ошибка то же самое, и если я сделаю 2 оператора переключения, он схватит и сразу же отбросит его.
Вот мой код, надеюсь, у кого-нибудь есть решение:
public Transform grabDetect;
public Transform Holder;
public float rayDist;
private bool isGrabbing=false;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
RaycastHit2D grabCheck = Physics2D.Raycast(grabDetect.position, Vector2.right * transform.localScale, rayDist);
if(grabCheck.collider != null && grabCheck.collider.tag == "objets")
{
if(Input.GetKeyDown("g"))
{
if(!isGrabbing)
{
grabCheck.collider.gameObject.transform.parent= Holder;
grabCheck.collider.gameObject.transform.position= Holder.position;
grabCheck.collider.gameObject.GetComponent().isKinematic = true;
isGrabbing = true;
if(isGrabbing == true)
{
Debug.Log("isGrabbing");
}
}
else
{
grabCheck.collider.gameObject.transform.parent = null;
grabCheck.collider.gameObject.transform.position= grabDetect.position;
grabCheck.collider.gameObject.GetComponent().isKinematic = false;
isGrabbing = false;
if(isGrabbing == false)
{
Debug.Log("isn't grabbing");
}
}
}
}
}
I've tried a switch statement, a while loop (that obviously crashed unity), multiple functions for grab and Drop, but the only thing that slightly worked was doing two if statements thaht were activated at the same time, I tried mapping two different keys for grabbing and dropping but it didn't worked as well, I don't think the prolem comes from my code but i don't know
Подробнее здесь: https://stackoverflow.com/questions/782 ... f-else-bug
Игра Unity 2D, если/иначе ошибка ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка CS1003. Ожидается синтаксическая ошибка ',' (Unity C#) 2D RPG-игра [закрыто]
Anonymous » » в форуме C# - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-