示例#1
0
    // Update is called once per frame
    void Update()
    {
        if (!bgms.audioBegin && SaveLoad.sound)
        {
            bgms.playBGM();
        }
        else if (bgms.audioBegin && !SaveLoad.sound)
        {
            bgms.stopBGM();
        }
        if (SaveLoad.sound)
        {
            Sound.sprite = on;
        }
        else
        {
            Sound.sprite = off;
        }
        if (score > SaveLoad.highscore)
        {
            highScoretext.text = "HIGH " + score;
        }
        else if (gameover && score <= SaveLoad.highscore)
        {
            highScoretext.text = "HIGH " + SaveLoad.highscore;
        }
        else
        {
            highScoretext.text = "";
        }

        deadButtonControl(gameover);
        if (!started)
        {
            Touch startTouch = Input.GetTouch(0);
            if (startTouch.phase == TouchPhase.Began)
            {
                logo.enabled      = false;
                ind.enabled       = false;
                scoretext.enabled = true;
                started           = true;
                startTime         = Time.time;
                Sound.enabled     = false;
            }
        }

        if (!gameover)
        {
            score = Mathf.Round((Time.time - startTime) * 100f) / 100f;
            if (Time.time - startTime < 10f)
            {
                moveSpeed = 0.013f + Mathf.Lerp(0f, 0.007f, (Time.time - startTime) / 10f);
            }
            else if (Time.time - startTime > 10f && Time.time - startTime < 15f)
            {
                moveSpeed = 0.02f + Mathf.Lerp(0f, 0.005f, ((Time.time - startTime) - 10f) / 5f);
            }
            else if (Time.time - startTime > 15f)
            {
                moveSpeed = 0.025f;
            }
            Debug.Log(moveSpeed);
            SaveLoad.updateHighScore(score);
            scoretext.text = "" + score.ToString("F2");
        }
        if (started && !gameover)
        {
            //////////////////////////////////////
            if (!moving)
            {
                StartCoroutine(moveFinger());
            }
            if (Input.touchCount > 0 && !isPattern3)
            {
                Touch touch = Input.GetTouch(0);
                if (touch.phase == TouchPhase.Began || touch.phase == TouchPhase.Stationary || touch.phase == TouchPhase.Moved)
                {
                    Vector2      touchedPos = Camera.main.ScreenToWorldPoint(new Vector2(touch.position.x, touch.position.y));
                    RaycastHit2D hitInfo    = Physics2D.Raycast(touchedPos, Camera.main.transform.forward);
                    if (hitInfo.collider != null)
                    {
                        GameObject touchedObject = hitInfo.transform.gameObject;
                        Debug.Log("Touched " + touchedObject.transform.name);
                        gameover = false;
                    }
                    else
                    {
                        gameover = true;
                    }
                }
                else
                {
                    gameover = true;
                }
                if (touch.phase == TouchPhase.Began && SaveLoad.sound)
                {
                    audioS.PlayOneShot(tap);
                }
            }
            if (Input.touchCount > 0)
            {
                Touch   touch      = Input.GetTouch(0);
                Vector2 touchedPos = Camera.main.ScreenToWorldPoint(new Vector2(touch.position.x, touch.position.y));
                birtual.transform.position = new Vector3(touchedPos.x, touchedPos.y, 0f) + new Vector3(5, 0, -1);
            }
            else
            {
                birtual.transform.position = new Vector3(5, 0, 10);
            }
        }
        if (hand.transform.rotation.y > 0.28 && Input.touchCount > 0)
        {
            gameover = true;
        }
        // gameover check and action
        if (gameover)
        {
            if (Social.localUser.authenticated)
            {
                Social.ReportProgress("CgkIqMDE0r4GEAIQAg", 100.0f, (bool success) =>
                {
                });
            }
            Sound.enabled = true;
            SaveLoad.updateHighScore(score);
            Time.timeScale = 0;
            if (!incremented)
            {
                incremented = true;
                SaveLoad.adCounter++;
                if (SaveLoad.adCounter > 5)
                {
                    if (Social.localUser.authenticated)
                    {
                        Social.ReportProgress("CgkIqMDE0r4GEAIQBQ", 100.0f, (bool success) =>
                        {
                        });
                    }
                    SaveLoad.adCounter = 0;
                    SaveLoad.interstitialAdCnt++;
                    ad Ads = GameObject.Find("unityad").GetComponent <ad>();
                    if (SaveLoad.interstitialAdCnt > 6)
                    {
                        Ads.ShowRewardedAd();
                    }
                    else
                    {
                        Ads.ShowAd();
                    }
                }
                SaveLoad.save();
            }
        }
        ///////////////////////////////////
    }