Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        //For touch screen
        if (Input.touchCount > 0)                                                 /*如果觸碰螢幕超過0次*/
        {
            Touch touch = Input.GetTouch(0);                                      /*把觸碰螢幕的次數存在touch裡*/

            if (touch.phase == TouchPhase.Began)                                  //觸碰剛開始,表示剛把手指放到螢幕上
            {
                startTime     = Time.time;                                        //剛開始觸碰螢幕的時間,把那個time傳入startTime
                startPosition = touch.position;                                   //剛開始手指觸碰的位置
            }
            else if (touch.phase == TouchPhase.Ended)                             //觸碰結束
            {
                endTime     = Time.time;                                          //確認剛離開螢幕的時間,把那個time傳入endTime
                endPosition = touch.position;                                     //結束手指離開觸碰的位置

                swipeDistance = (endPosition - startPosition).magnitude;          //.magnitude是一個計算量值的語法,可以偵測距離
                swipeTime     = endTime - startTime;
                if (swipeDistance > swipeDistanceMin && swipeTime < swipeTimeMax) //trigger
                {
                    if ((endPosition.y - startPosition.y) < 0f)                   //往下划,to refresh
                    {
                        //  fb.SetScore();
                    }
                }
                // reset value
                startTime     = 0;
                endTime       = 0;
                startPosition = Vector3.zero;
                endPosition   = Vector3.zero;
                swipeDistance = 0;
                swipeTime     = 0;
            }
        }
        #if UNITY_EDITOR
        //For mouse control
        if (Input.mousePresent)
        {
            if (Input.GetMouseButtonDown(0))                                //按下滑鼠左鍵
            //              print("OnMousePress");
            {
                startTime     = Time.time;                                  //確認按下去的時間,把那個time傳入startTime
                startPosition = Input.mousePosition;                        //剛開始滑鼠按下去的位置
            }
            else if (Input.GetMouseButtonUp(0))                             //放開滑鼠左鍵
            //              print("OnMouseRelease");
            {
                endTime     = Time.time;                                    //確認放開的時間,把那個time傳入endTime
                endPosition = Input.mousePosition;                          //結束滑鼠放開的位置

                swipeDistance = (endPosition - startPosition).magnitude;    //.magnitude是一個計算量值的語法,可以偵測距離
                //              print("swipeDistance"+swipeDistance);
                swipeTime = endTime - startTime;
                if (swipeDistance > swipeDistanceMin && swipeTime < swipeTimeMax)   //trigger
                {
                    if ((endPosition.y - startPosition.y) < 0f)
                    {
                        // SetScore();.
                        FacebookLogin fb = GameObject.Find("GameManager").GetComponent <FacebookLogin>();
                        fb.info(FB.IsLoggedIn);
                    }

                    // reset value
                    startTime     = 0;
                    endTime       = 0;
                    startPosition = Vector3.zero;
                    endPosition   = Vector3.zero;
                    swipeDistance = 0;
                    swipeTime     = 0;
                }
            }
        }
        #endif
    }
Esempio n. 2
0
    //
    // Ranking
    //
    void RankPressed(tk2dUIItem pressed)
    {
        planet.gameObject.SetActive(false);
        arrow.gameObject.SetActive(false);
        nameSprite.gameObject.SetActive(false);
        NameText.gameObject.SetActive(false);
        ExperienceText.gameObject.SetActive(false);
        ItemList.gameObject.SetActive(false);

        if (!FB.IsLoggedIn)
        {
            Ranking.gameObject.SetActive(true);
            rank.gameObject.SetActive(true);
            ScrollView.gameObject.SetActive(false);
            FacebookRanking.gameObject.SetActive(false);

            switch (pressed.name)
            {
            case "AddSprite":
                // Call Add Ranking
                rank.gameObject.GetComponent <RankControl>().LoadScore("Add");
                AddRankingsprite.gameObject.SetActive(false);
                SubRankingsprite.gameObject.SetActive(true);
                DivRankingsprite.gameObject.SetActive(true);
                break;

            case "SubSprite":
                // Call Sub Ranking
                rank.gameObject.GetComponent <RankControl>().LoadScore("Sub");
                AddRankingsprite.gameObject.SetActive(true);
                SubRankingsprite.gameObject.SetActive(false);
                DivRankingsprite.gameObject.SetActive(true);
                break;

            case "DivSprite":
                // Call Div Ranking
                rank.gameObject.GetComponent <RankControl>().LoadScore("Div");
                AddRankingsprite.gameObject.SetActive(true);
                SubRankingsprite.gameObject.SetActive(true);
                DivRankingsprite.gameObject.SetActive(false);
                break;

            default:
                //Debug, suppose no excute
                print(pressed.name);
                Debug.Log("Unable locate Ranking pressed");
                //第一次進rank才不會沒load到東西
                rank.gameObject.GetComponent <RankControl>().LoadScore("Add");
                break;
            }
        }
        else
        {
            // When FB is logged in.
            rank.gameObject.SetActive(false);
            ScrollView.gameObject.SetActive(true);
            Ranking.gameObject.SetActive(false);
            FacebookRanking.gameObject.SetActive(true);

            FacebookLogin fb = GameObject.Find("GameManager").GetComponent <FacebookLogin>();
            fb.info(FB.IsLoggedIn);
        }
    }