
1.制作玩家UI (1.制作玩家血条UI ((1.作为一个独立的Canvas物体 ((2.当检查到记录中血量和真实剩余血量不一样,重刷新血量UI ((3.保存子物体列表,一共10个爱心 ((4.保存两张UI图片 ((5.当触发重刷新UI,遍历10个爱心,把前Left个数的爱心换成红色,其他的换成白色 ((6.将血条UI放置到每一个场景 (2.制作镰刀CDUI ((1.初始化时,获取玩家镰刀CD总时长 ((2.当玩家发射镰刀,额外让玩家找到UI组件,并发送信号,触发Tween动画,以圆圈形式从0到1重显现CDUI ((3.适配到每一个场景 2.制作boss血条 (1.逻辑基本上与玩家的一致 (2.额外增加一个boss名字文字栏 (3.当Boss进入攻击状态,开始显示血条和名字 *优化和修复 1.镰刀攻击同时按卡动画 2.修复读板时按确定会出错的问题 3.修复疯狂发射镰刀会卡动画的问题 4.修复玩家死后着地会滑动的问题 5.修复了未开启开幕演出,死亡后报错的问题 6.修复各个场景玩家UI和专场块的遮挡问题 下班
36 lines
928 B
C#
36 lines
928 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using DG.Tweening;
|
|
using Sirenix.OdinInspector;
|
|
|
|
/// <summary>
|
|
/// 控制镰刀CDUI的脚本
|
|
/// </summary>
|
|
public class SickleCD : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 镰刀CD总时长,初始化的时候从玩家获取
|
|
/// </summary>
|
|
private float allTime;
|
|
private MyPlayer player;
|
|
private Image image;
|
|
void Start(){
|
|
player = FindObjectOfType<MyPlayer>();
|
|
allTime = player.sickleCD;
|
|
image = GetComponent<Image>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 玩家发射镰刀的时候顺便触发,开始计算镰刀UI
|
|
/// </summary>
|
|
public void OnSickle(){
|
|
//先让标志shake一下,很酷
|
|
transform.parent.DOShakePosition(0.5f,10);
|
|
//再开始Tween填充
|
|
image.fillAmount = 0;
|
|
image.DOFillAmount(1,allTime).SetEase(Ease.Linear);
|
|
}
|
|
}
|