由于最终奖励位置是已知的,此篇源码只是做出转动动画并停止在目标位置功能
using System.Collections.Generic;
using UnityEngine;
public class TestSrc : MonoBehaviour
{
public List<GameObject> rewardList;// 所有奖励列表
public GameObject signNode;// 停止标记
public int targetIndex;// 停止的目标位置(从1开始)
public float startSpeed = 0.08f;//初始间隔
public float durationVal = 0.005f;//减速时间递增数
public int loopTimes = 3;//减速循环圈数
public int startLoopTime = 4;//初始循环次数(不减速)
public float startDur = 0.01f;//初始循环间隔
class StepData
{
public int index;//停留位置
public float waitTime;//该步骤等待时间
}
// 每一步数据
private List<StepData> m_pieceList = new List<StepData>();
private float m_time = 0;//记录每一步已经消耗的时间
private bool m_isStart = false;
private int m_playIdx = 0;//当前播放的步骤下标
private void Start()
{
float slowDown_time = 0;
var useTime = startSpeed;
var duration