并不是转盘大抽奖那种,而是
捕鱼游戏中的这种奖励效果,背景那个图是转动的,数字是左右晃动
首先,这些写在需要效果出现的地方
timer = 0; //刷新计时器
isTurn = true;
score[fishDeadDto.KillCorner].text = fishDeadDto.Money.ToString();// 设置得分,将打死鱼得到的分数显示在转盘上
StartCoroutine(turn(fishDeadDto.KillCorner));// 转盘开始转动
canVisible = true;
scaleAni(fishDeadDto.KillCorner, fishDeadDto.Name);// 从小变大放大出现
就这些,毕竟没有抽奖只是个效果
float timer;// 转盘的计时器
bool isTurn;// 转盘是否转动
bool canVisible; // 放大
/// <summary>
/// 缩放动画 文本名字
/// </summary>
void scaleAni(int corner, string name)
{
AudioManager.Instance.PlayEffectReward(AudioManager.Sound_Bonus); //转盘音效
if (canVisible)
{
turnTable[corner].localScale = Vector3.zero;
turnTable[corner].DOScale(Vector3.one, 0.75f).SetEase(Ease.OutCirc);// 0.75秒放大出现
canVisible = false;
}
txt[corner].text = " 奖金" + name;// 显示鱼的名字
}
/// <summary>
/// 转动
/// </summary>
/// <param name="corner"></param>
/// <returns></returns>
IEnumerator turn(int corner)
{
while (isTurn)
{
timer += Time.deltaTime;
if (timer <= 4f) // 转四秒
turnTable[corner].transform.Rotate(Vector3.forward * 100, Space.World);
else
{
isTurn = false;
this.Reward[corner].gameObject.SetActive(false);
}
yield return new WaitForEndOfFrame(); // 每帧调用
}
}