手电筒切换脚本在启动时启动闪光灯

启动时,手电筒切换脚本模式会切换开/关,我不知道如何解决这个问题。


我相信它来自IEnumerator Start()但是,我尝试将 更改yield return new WaitForSeconds为 0 但这并没有改变任何事情。


using System;

using System.Collections;

using UnityEngine;

using UnityEngine.UI;

using System.Collections.Generic;

using Vuforia;


public class FlashlightAPI : MonoBehaviour

{

    IEnumerator Start()

    {


        yield return new WaitForSeconds(0);


        hasTorch = CameraDevice.Instance.SetFlashTorchMode(true);

        yield return new WaitForSeconds(0.000f);

        CameraDevice.Instance.SetFlashTorchMode(false);

    }


    bool torchState = true, hasTouch = false;

    public bool hasTorch;


    public FlashlightAPI(bool torchState, bool hasTorch)

    {

        this.torchState = torchState;

        this.hasTorch = hasTorch;

    }


精慕HU
浏览 106回答 1
1回答

qq_笑_17

零太长Wait使 Unity 等到条件通过后的下一帧。在这种情况下,它会在至少 0 秒过去后等待第一帧,这意味着它等待 1 帧。如果您希望它立即发生,您需要Wait完全删除 s。void Start(){     hasTorch = CameraDevice.Instance.SetFlashTorchMode(true);     CameraDevice.Instance.SetFlashTorchMode(false); }但是,当您摆弄外部设备(手机的摄像头)时,这仍然可能会导致指示灯闪烁,您应该参阅文档来解决问题。由于CameraDevice不是 Unity 课程,我无法为您执行此操作。
打开App,查看更多内容
随时随地看视频慕课网APP