我試圖在Lua中做一個簡單的淡入/淡出影片。
我覺得這些變數應該足以解決我想在每一幀設定盒子的 alpha/opacity,但是我在淡出時遇到了很多麻煩,因為 alpha = targetAlpha * animationPos 在乘以目標 alpha 為 0 時總是回傳 0。
所有這些變數都是介于0-1之間的十進制數值,代表阿爾法或完成時間百分比。
targetAlpha- 影片結束時的alpha值。initialAlpha- 影片初始化時盒子開始的alpha值。animationPos- 影片的當前位置(完成的百分比時間) 。
currentAlpha- 盒子的當前alpha。
也許是我今天太累了,但我一直在嘗試這些變數的十億分之一的組合,以找到有效的方程式,但沒有任何收獲。
感謝您的幫助!
uj5u.com熱心網友回復:
你想要的是一個線性插值,它需要兩個值a和b,以及一個介于0和1之間的插值f。
function lerp(a, b, f)
return a * (1 - f) b * f
結束。
現在你可以使用你當前的影片進度在初始和目標alpha之間進行插值:
alpha = lerp(initialAlpha, targetAlpha, animationPos)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/308824.html
標籤:
