void Update() { foreach (KeyValuePair <ulong, Body> pairIdBody in bodyManager.GetBodies()) { if (bodyManager.OrderOf(pairIdBody.Key) == 0) { ApplyJointRotation(pairIdBody.Value); } } }
// Update is called once per frame void Update() { if (DEBUG) { // Mouse Mode mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); transform.position = new Vector3(mousePos.x, mousePos.y); if (Input.GetMouseButtonDown(0) && !isHandRightClosed) { isHandRightClosed = true; m_animator.SetBool("handclosebool", true); KillMosquito(); } else if (Input.GetMouseButtonUp(0) && isHandRightClosed) { isHandRightClosed = false; m_animator.SetBool("handclosebool", false); } } else { // Fetch Body[] Information every time update() called bodies = bodyManager.GetBodies(); if (bodies == null) { bodyID = -1; } else if (bodyID == -1 || bodies[bodyID].IsTracked == false) { // Finding a new bodyID bodyID = -1; for (int _i = 0; _i < bodies.Length; ++_i) { if (bodies[_i].IsTracked) { bodyID = _i; break; } } } // If no any active body, byebye if (bodyID == -1) { return; } Kinect.CameraSpacePoint _cameraSpacePoint = bodies[bodyID].Joints[Kinect.JointType.HandRight].Position; Kinect.ColorSpacePoint _colorSpacePoint = coordinate.MapCameraPointToColorSpace(_cameraSpacePoint); transform.position = new Vector3(scalar_X * (_colorSpacePoint.X - solution_X) / solution_X, -scalar_Y * (_colorSpacePoint.Y - solution_Y) / solution_Y); stateInfo = m_animator.GetCurrentAnimatorStateInfo(0); if (bodies[bodyID].HandRightState == Kinect.HandState.Closed && !isHandRightClosed) { isHandRightClosed = true; m_animator.SetBool("handclosebool", true); KillMosquito(); Debug.Log("右手關起來ㄌ"); if (ActiveUIButtonList.Count != 0) { // Only invoke first ActiveUIButton HandClickEvent e = ActiveUIButtonList[0].GetComponent <HandClickEvent>(); Debug.Log("觸發 UI_Button 事件"); e.onHandClick.Invoke(); } ActiveUIButtonList.Clear(); if (isHandOnWiney) { isNormalBackground = false; Debug.Log("換背景"); background.GetComponent <SpriteRenderer>().sprite = winey; winey_bgm.Play(); } else if (isHandOnMoney) { isNormalBackground = false; Debug.Log("換背景"); background.GetComponent <SpriteRenderer>().sprite = money; money_bgm.Play(); } } else if (bodies[bodyID].HandRightState != Kinect.HandState.Closed && isHandRightClosed) { isHandRightClosed = false; m_animator.SetBool("handclosebool", false); Debug.Log("右手打開ㄌ"); if (!isNormalBackground) { background.GetComponent <SpriteRenderer>().sprite = normalBackground; } } if (bodies[bodyID].HandLeftState == Kinect.HandState.Closed && !isHandLeftClosed) { isHandLeftClosed = true; // 左手關閉表示進入 stop if (GlobalVars.MainGameStop != 1) { mainGameFunction.Stop(); } } else if (bodies[bodyID].HandLeftState != Kinect.HandState.Closed && isHandLeftClosed) { isHandLeftClosed = false; } } GlobalVars.lastCursorPosition = GlobalVars.cursorPosition; GlobalVars.cursorPosition = transform.position; }
// Update is called once per frame void Update() { if (DEBUG) { // Mouse Mode mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); transform.position = new Vector3(mousePos.x, mousePos.y); if (Input.GetMouseButtonDown(0) && !isHandRightClosed) { isHandRightClosed = true; m_animator.SetBool("handclosebool", true); } else if (Input.GetMouseButtonUp(0) && isHandRightClosed) { isHandRightClosed = false; m_animator.SetBool("handclosebool", false); } } else { // Fetch Body[] Information every time update() called bodies = bodyManager.GetBodies(); if (bodies == null) { bodyID = -1; } else if (bodyID == -1 || bodies[bodyID].IsTracked == false) { // Finding a new bodyID bodyID = -1; for (int _i = 0; _i < bodies.Length; ++_i) { if (bodies[_i].IsTracked) { bodyID = _i; break; } } } // If no any active body, byebye if (bodyID == -1) { return; } Kinect.CameraSpacePoint _cameraSpacePoint = bodies[bodyID].Joints[Kinect.JointType.HandRight].Position; Kinect.ColorSpacePoint _colorSpacePoint = coordinate.MapCameraPointToColorSpace(_cameraSpacePoint); transform.position = new Vector3(scalar_X * (_colorSpacePoint.X - solution_X) / solution_X, -scalar_Y * (_colorSpacePoint.Y - solution_Y) / solution_Y); stateInfo = m_animator.GetCurrentAnimatorStateInfo(0); if (bodies[bodyID].HandRightState == Kinect.HandState.Closed && !isHandRightClosed) { isHandRightClosed = true; m_animator.SetBool("handclosebool", true); if (isHoldStartButton) { StartButton.onClick.Invoke(); } } else if (bodies[bodyID].HandRightState != Kinect.HandState.Closed && isHandRightClosed) { isHandRightClosed = false; m_animator.SetBool("handclosebool", false); } if (bodies[bodyID].HandLeftState == Kinect.HandState.Closed && !isHandLeftClosed) { isHandLeftClosed = true; } else if (bodies[bodyID].HandLeftState != Kinect.HandState.Closed && isHandLeftClosed) { isHandLeftClosed = false; } } GlobalVars.lastCursorPosition = GlobalVars.cursorPosition; GlobalVars.cursorPosition = transform.position; }