我在unity C#中使用await Task.Delay(10);
进行延迟。在构建并以Web GL格式运行后。执行停止在有延迟的行。当我删除延迟时,它会执行。
while (XAxiscurrentXpos <= -izvalue)
{
await Task.Delay(10);
XAxiscurrentXpos += 0.001f;
Vector3 posx = new Vector3(XAxiscurrentXpos, XAxisposition.y, XAxisposition.z);
XAxis.transform.localPosition = posx;
}
我有使用UniTask的解决方案。UniTask链接在这里
所以现在知道你实际上在做什么,而不是你的任务,你更想使用例如
public class MoveObject : MonoBehaviour
{
public Transform XAxis;
public float desiredUnitsPerSecond;
// This is called once a frame by Unity
private void Update()
{
if(XAxis.localPosition.x <= -izvalue)
{
XAxis.localPosition += Vector3.right * desiredUnitsPerSecond * Time.deltaTime;
}
}
}
只要对象在CCD_ 3的左侧,它就会以CCD_。