Timed Gazing Part II

CODE

Assets -> GoogleVR -> Scripts-> UI -> GvrReticlePointerImpl.cs

/*這邊只寫出新加入的部分*/
using UnityEngine.UI;

public class GvrReticlePointerImpl : GvrBasePointer {
    public GameObject loadBar;
    public float gazeTiming = 0;

    /*中略*/

    public override void OnStart () {
        loadBar = GameObject.Find("LoadingBar");    /*這裡的LoadingBar改成image的名字*/
        base.OnStart();
    }

    /*中略*/

    public override void OnPointerHover(RaycastResult rayastResult, Ray ray, bool isInteractive) {
        if(isInteractive) {
            gazeTiming += Time.deltaTime;
            loadBar.GetComponent<Image>().fillAmount = gazeTiming / 2;    /*gazeTiming = 2(秒)時圓填滿*/
        }

        SetPointerTarget(rayastResult.worldPosition, isInteractive);
    }

    public override void OnPointerExit(GameObject previousObject) {
        gazeTiming = 0;
        if(loadBar)    loadBar.GetComponent<Image>().fillAmount = 0F;

        /*中略*/

    }
}

DEMO

把Fill Amount調回0,看看效果

results matching ""

    No results matching ""