基于圓的方程來計算圓球血條頂部特效縮放比

//血量相關
setHp(): void
{
    let player = MainPlayer.getInstance();
    if (player)
    {
        let curHp = Number(player.getCurHp());
        let maxHp = player.getMaxHp();
        let precent = Math.floor((curHp / Number(maxHp)) * 100);
        // if (precent > 90)
        // {
        //     precent = 90;
        // }
        // else 
        if (precent < 10)
        {
            precent = 10;
        }
        this.m_hpProcessMask.setPercentage(precent);
        let h = 53 - 1.06 * precent;
        this.m_hpTopEffect.pos(0, h);
        let val = 0;
        if (precent >= 50)
        {
            val = (precent - 50) / 100 * 2;
        }
        else
        {
            val = (50 - precent) / 100 * 2;
        }
        let scaleX = Math.sqrt(1 - val * val) * this.m_hpEffect.width / this.m_hpTopEffect.width;//圓的方程
        this.m_hpTopEffect.scale(scaleX, 1);
    }
}

圓的方程有三種,分別是X2+Y2=1;x2+y2=r2;(x-a)2+(y-b)2=r2。
一、X2+Y2=1所表示的曲線是以O(0,0)為圓心,以1單位長度為半徑的圓。
二、x2+y2=r2所表示的曲線是以O(0,0)為圓心,以r為半徑的圓。
三、(x-a)2+(y-b)2=r2所表示的曲線是以O(a,b)為圓心,以r為半徑的圓。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容