| | |
| | | /// </summary> |
| | | public class BulletUICtl : MonoBehaviour |
| | | { |
| | | public Image bulletScaleMask; |
| | | public SpriteRenderer bulletScaleMask; |
| | | |
| | | public float fAdjValue; |
| | | |
| | | /// <summary> |
| | | /// 最大子弹数目. |
| | | /// </summary> |
| | | public int maxBulletNum; |
| | | |
| | | /// <summary> |
| | | /// 当前的子弹数目. |
| | | /// </summary> |
| | | protected int curBulletNum; |
| | | |
| | | private float[] scaleArr = { 0, 0.16f, 0.32f, 0.48f, 0.64f, 0.8f, 1f }; |
| | | |
| | | private float[] yArr = { 0.4f, 0.377f, 0.307f, 0.227f, 0.153f, 0.074f, 0 }; |
| | | |
| | | private float gap = 0.15f; |
| | | |
| | | // Start is called before the first frame update |
| | | void Start() |
| | |
| | | public void updateBulletUI( int curBNum,int totalBNum) |
| | | { |
| | | if (bulletScaleMask == null) return; |
| | | float scaleY = 1.0f - curBNum / (float)totalBNum - fAdjValue; |
| | | bulletScaleMask.rectTransform.DOScaleY( scaleY, 0.0f); |
| | | |
| | | Vector3 pos = bulletScaleMask.transform.localPosition; |
| | | pos.y = yArr[maxBulletNum - curBulletNum]; |
| | | bulletScaleMask.transform.localPosition = pos; |
| | | Vector3 s = bulletScaleMask.transform.localScale; |
| | | s.y = scaleArr[maxBulletNum - curBulletNum]; |
| | | bulletScaleMask.transform.localScale = s; |
| | | } |
| | | |
| | | // Update is called once per frame |