//-------------------------------------------------------------------------------- //電腦滑鼠測試 void MouseInput() { { if (Input.GetMouseButtonDown(0)) { m_screenPos = new Vector2(Input.mousePosition.x, Input.mousePosition.y); MO = "yes"; } if (Input.GetMouseButtonUp(0)) { Vector2 pos = new Vector2(Input.mousePosition.x, Input.mousePosition.y); aDefine.Direction mDirection = HandDirection(m_screenPos, pos); Debug.Log("mDirection: " + mDirection.ToString()); if (mDirection.ToString() == "Up" && countButtonOnClick == 0) { YN = "yes"; BO = "yes"; countButtonOnClick++; } } if (MO == "yes" && BO == "yes" && PlayerPrefs.GetInt("FeedCount") > 0) { foodList[currentIndex].transform.position += new Vector3(0f, 5f, 0f);//瞬移 foodList[currentIndex].transform.localScale -= new Vector3(20f, 20f, 20f); StartCoroutine(LateCall1()); BO = "no"; Feedcount = PlayerPrefs.GetInt("FeedCount") - 1; PlayerPrefs.SetInt("FeedCount", Feedcount); } } }
//-------------------------------------------------------------------------------- //手機觸碰測試 void MobileInput() { if (Input.touchCount <= 0) { return; } //1個手指觸碰螢幕 if (Input.touchCount == 1) { //開始觸碰 if (Input.touches[0].phase == TouchPhase.Began) { Debug.Log("Began"); //紀錄觸碰位置 m_screenPos = Input.touches[0].position; MO = "yes"; //手指移動 } else if (Input.touches[0].phase == TouchPhase.Moved) { Debug.Log("Moved"); //移動攝影機 //Camera.main.transform.Translate (new Vector3 (-Input.touches [0].deltaPosition.x * Time.deltaTime, -Input.touches [0].deltaPosition.y * Time.deltaTime, 0)); } //手指離開螢幕 if (Input.touches[0].phase == TouchPhase.Ended || Input.touches[0].phase == TouchPhase.Canceled) { Debug.Log("Ended"); Vector2 pos = Input.touches[0].position; aDefine.Direction mDirection = HandDirection(m_screenPos, pos); Debug.Log("mDirection: " + mDirection.ToString()); if (mDirection.ToString() == "Up" && countButtonOnClick == 0) { YN = "yes"; BO = "yes"; countButtonOnClick++; } } if (MO == "yes" && BO == "yes" && PlayerPrefs.GetInt("FeedCount") > 0) { foodList[currentIndex].transform.position += new Vector3(0f, 5f, 0f);//瞬移 foodList[currentIndex].transform.localScale -= new Vector3(20f, 20f, 20f); StartCoroutine(LateCall1()); BO = "no"; Feedcount = PlayerPrefs.GetInt("FeedCount") - 1; PlayerPrefs.SetInt("FeedCount", Feedcount); } //-------------------------------------------------------------------------------------------------------------------- //攝影機縮放,如果1個手指以上觸碰螢幕 } else if (Input.touchCount > 1) { //記錄兩個手指位置 Vector2 finger1 = new Vector2(); Vector2 finger2 = new Vector2(); //記錄兩個手指移動距離 Vector2 move1 = new Vector2(); Vector2 move2 = new Vector2(); //是否是小於2點觸碰 for (int i = 0; i < 2; i++) { UnityEngine.Touch touch = UnityEngine.Input.touches[i]; if (touch.phase == TouchPhase.Ended) { break; } if (touch.phase == TouchPhase.Moved) { //每次都重置 float move = 0; //觸碰一點 if (i == 0) { finger1 = touch.position; move1 = touch.deltaPosition; //另一點 } else { finger2 = touch.position; move2 = touch.deltaPosition; //取最大X if (finger1.x > finger2.x) { move = move1.x; } else { move = move2.x; } //取最大Y,並與取出的X累加 if (finger1.y > finger2.y) { move += move1.y; } else { move += move2.y; } //當兩指距離越遠,Z位置加的越多,相反之 Camera.main.transform.Translate(0, 0, move * Time.deltaTime); } } } //end for } //end else if } //end void