예제 #1
0
파일: Marble.cs 프로젝트: tmokmss/Marble10
    // Update is called once per frame
    void Update()
    {
        float h, s, v;
        var   mat = sphereMesh.sharedMaterial;

        Color.RGBToHSV(mat.GetColor("_EmissionColor"), out h, out s, out v);
        var val = Beat.Sine(0.30f, 0.25f);

        mat.SetColor("_EmissionColor", Color.HSVToRGB(h, s, val));
    }
예제 #2
0
    void DopeBeat()
    {
        var dilate = Beat.Sine(0.05f, 0.15f);

        timeText.fontSharedMaterial.SetFloat("_FaceDilate", dilate);

        // なぜZに1たさないといけないかはよくわからん
        // Screen Space - CameraでCanvasを描画するようにしたら必要になった
        var posDiff = new Vector3(0, Beat.Sine(0, 0.10f), 1);

        timeText.transform.position        = timeTextInitialPosition + posDiff;
        instructionText.transform.position = instructionTextInitialPosition + new Vector3(0, 0, 1);

        instructionText.fontSize = instructionTextInitialSize + Beat.Sine(0, 2);
    }
예제 #3
0
    public async Task ShowLevelUp(float duration)
    {
        levelUpText.gameObject.SetActive(true);
        // 位置振動させるか
        var initialPos = levelUpText.transform.position;
        var start      = Time.time;

        while (true)
        {
            var progress = (Time.time - start) / duration;
            levelUpText.transform.position = initialPos + new Vector3(0, Beat.Sine(0, 0.2f), 1);
            if (progress >= 1)
            {
                break;
            }
            await new WaitForEndOfFrame();
        }
        levelUpText.gameObject.SetActive(false);
        levelUpText.transform.position = initialPos;
    }