我正在尝试在 Flex 中在两种状态之间进行交叉淡入淡出转换,这两种状态都包含一个 VideoDisplay 对象。问题是默认的 CrossFade 效果会拍摄两种状态的位图快照,并在两者之间进行混合。这意味着电影在过渡期间似乎被冻结了。
有人知道使用 PixelBender(GPU 加速)方法在两部电影之间淡入淡出的解决方案吗?我的另一个选择是手动重新排序视频对象并更改顶部的 alpha,但这会占用大量 CPU(在我的情况下为 ±300%)...
状态:
过渡:
<s:transitions>
<s:Transition >
<s:CrossFade id="crossfader" target="{this}" duration="{fadeTime}" />
</s:Transition>
</s:transitions>
对象:
<components1:VideoDisplay
id="movie_attract"
width="640" x="0" height="480" y="0"
source="{configuration.movieAttract.source}"
includeIn="attract"
/>
<components1:VideoDisplay
id="movie_engage"
left="0" right="0" top="0" bottom="0"
source="{configuration.movieEngage.source}"
includeIn="engage"
/>