flash - 如何获取实例的 alpha 值(在 JSFL 中)?

flash - 如何获取实例的 alpha 值(在 JSFL 中)?

其实我很笨!colorAlphaPercent是从中读取它的正确值。

但是,如果 alpha 被补间,它将无法正确读取。它只会引用动画关键帧处的 alpha 值,而不是介于两者之间。

因此,对于简单的线性、easeIn 和 easeOut 补间,我开发了这个 MathUtils 类,它可能对尝试从补间动画中读取 alpha 和其他值(x、y、缩放、倾斜、旋转)的其他人有所帮助。

您可以将以下内容放入它自己的 JSFL 文件中,然后将其加载到您需要的任何地方。

MathUtils = {

pi2: Math.PI/2,

easeValue: function( pStart, pFinish, pRatio, pEasing ) {

var diff = pFinish - pStart;

var eased = pEasing > 0 ? this.easeOut( pRatio ) : this.easeIn( pRatio );

var linear = pRatio;

var blendRatio = Math.abs(pEasing);

var easeBlend = blendRatio * eased;

var linearBlend = (1 - blendRatio) * linear;

return pStart + diff * (easeBlend + linearBlend);

},

easeIn: function( pRatio ) {

return 1 - Math.sin((1-pRatio) * this.pi2);

},

easeOut: function( pRatio ) {

return Math.sin(pRatio * this.pi2);

}

};

如何使用这个:

pStart, pFinish:提供您尝试读取的元素的开始值和结束值(换句话说,它是开始关键帧和下一个关键帧的 alpha)。

pRatio:一个从 0.0 到 1.0 的值,表示给定帧的补间距离。通常,可以使用(currentFrameID - startFrameID) / (endFrameID - startFrameID)计算此值。

pEasing:给startFrame的缓动值,通常在 -100 和 100 之间(0 = 线性)。

相关文章

乌龟最害怕什么动物的声音
365账号限制登录不了

乌龟最害怕什么动物的声音

📅 07-04 👁️ 3876
9个常用恶意软件检测分析平台,从零基础到精通,收藏这篇就够了!
原创《弹弹岛2》如何快速升级? 《弹弹岛2》快速升级方法攻略汇总!