遅延コードの実装が実装されている、あなたは、Invokeを使用することができ、コルーチンを達成、あなたもこのプラグインの実装DOTween遅延実行、コルーチンコルーチンコードの実装の遅れを避けるために、コードを使用することができ、下部には、コルーチンが達成する方法である明確ではありません!大型ヘッドのバグを引き起こすことがあります。
A:DOTween.Toで実現遅延:
/// <summary>
/// DOTweenTo延时回调
/// </summary>
/// <param name="delayedTimer">延时的时间</param>
/// <param name="loopTimes">循环次数,0:不循环;负数:无限循环;正数:循环多少次</param>
public void DOTweenToTest(float delayedTimer, int loopTimes)
{
float timer = 0;
//DOTwwen.To()中参数:前两个参数是固定写法,第三个是到达的最终值,第四个是渐变过程所用的时间
Tween t = DOTween.To(() => timer, x => timer = x, 1, delayedTimer)
.OnStepComplete(() =>
{
print("996,oh yeah!");
})
.SetLoops(loopTimes);
}
。
II:キューは、遅延DOTween.Sequenceを使用して実装しました:
/// <summary>
/// DOTween.Sequence延时回调
/// </summary>
/// <param name="delayedTimer">延时的时间</param>
/// <param name="loopTimes">循环次数,0:不循环;负数:无限循环;正数:循环多少次</param>
public void DOTweenSequenceTest(float delayedTimer, ref int loopTimes)
{
Sequence seq = DOTween.Sequence();
seq.AppendCallback(() =>
{
print("yeah");
})
.SetDelay(delayedTimer)
.SetLoops(loopTimes);
}
。
DOTween.Sequenceを言えば、使用を説明した簡潔でDOTweenは、それをキューに入れ
、シンプルで、粗コードを見て↓↓↓↓↓↓↓↓↓↓↓↓
/// <summary>
/// DOTween队列
/// </summary>
public void DOTweenSequence()
{
//首先要创建一个DOTween队列
Sequence seq = DOTween.Sequence();
//seq.Append 里面是让主相机振动的临时试验代码
seq.Append(Camera.main.transform.DOShakePosition(1f, new Vector3(0.8f, 0.8f, 0.8f)));
//seq.AppendInterval 传入的是一个时间数值,是在队列上一句代码执行完毕隔多长时间执行下一句代码
float delayedTimer = 5f;
seq.AppendInterval(delayedTimer);
//seq.AppendCallback 这里面可以写自己的代码回调了
seq.AppendCallback(() => { print("oh!"); });
seq.AppendInterval(3);//延时3秒执行下面队列中的逻辑
seq.AppendCallback(() => { print("yeah!"); });
}
DOTwennこのプラグインは、それが過去2日間だけの記録に使用しているここに私の知識ですが、非常に強力です。