1. まず伝送速度設定の関連パラメータに構造体↓を設定します。
public struct SpeedChangeInfo
{
public float percent; //改变速度的百分比
public float dura; //改变速度的持续时间
}
2.速度値が取得されるたびにスケーリングするために使用される速度パーセンテージ
public static float _percetV = 0f;
//速度百分比
public static float percentV
{
get { return 1-_percentV; }//如果速度变量就是“速度”,请修改为:“return _percentV”
set { _percetV += value; }
}
3.速度値。一般的にプレイヤーの移動速度を表すにはfloat値を設定しますが、ここのmoveTimeは一定の距離を移動する時間を表しています。つまり、ここの値は速度に反比例します。(これが移動速度なら2の修正が必要、備考に合わせて修正)
public static float _moveTime = 0.6f
public static float moveTime
{
get { return percentV * _moveTime; }
set { _moveTime = value; }
}
4. コルーチンの設定
IEnumerator SpeedPercentChange(SpeedChangeInfo data)
{
percentV = data.percent;//如果data.percent=0.6f,就是加速60%的基础移动速度。_percetV=0.6f,移动间隔就会减少40%
yield return new WaitForSeconds(data.dura);
percentV = -data.percent;
}
5.通話機能
public void SetSpeedAndDuration(SpeedChangeInfo data)
{
StartCoroutine(SpeedPercentChange(data));
}