unity3d Unity2D:在运行时减少正方形的Y

xyhw6mcr  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(139)

我努力缩小一个正方形的Y轴,同时向下移动Y轴的位置,这样正方形就保持在原地。它应该像一个剩余氧气的健康条,但在游戏对象中,而不是在画布上。
我使用以下代码随时间缩小正方形的比例:

float remainingAir = 100f;

void Start()
{
defaultY = oxygenOverlay.transform.localScale.y;
yPercent = defaultY / air;
}
float reduceFactor = newY * air;    

void AdjustOxygenBar()
{

oxygenOverlay.transform.localScale =  new Vector3(oxygenOverlay.transform.localScale.x, yPercent * remainingAir ,oxygenOverlay.transform.localScale.z);
}

比例尺从正方形的两边缩小。我如何在每一帧中向下移动正方形,使正方形只从上到下缩小?
谢谢预付款

4szc88ey

4szc88ey1#

我试过这个,它只在Y轴上缩放,但是它会向对象的中心收缩,所以是的,你必须向下移动它,使效果是一个未填充的栏

void Awake ()
    {
        percent = 100;        
    }
    
    
    void Update ()
    {
        percent -= 0.1f;
        transform.localScale = new Vector3(transform.localScale.x,transform.localScale.y*percent/100,transform.localScale.z);
    }

相关问题