在启动时,手电筒切换脚本模式会切换ON / OFF,我不确定该如何打补丁。
我相信它来自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;
}
}
答案 0 :(得分:0)
Wait
使Unity等到条件过后的下一帧。在这种情况下,它等待至少0秒后等待第一帧,这意味着它等待1帧。
如果您希望它立即发生,则需要完全删除Wait
。
void Start()
{
hasTorch = CameraDevice.Instance.SetFlashTorchMode(true);
CameraDevice.Instance.SetFlashTorchMode(false);
}
但是,当您摆弄外部设备(手机的摄像头)时,这仍然可能导致指示灯闪烁,因此您应该参考文档来解决此问题。由于CameraDevice
不是Unity类,所以我不能为您这样做。