【问题标题】:Very choppy animations when using Flex使用 Flex 时动画非常不稳定
【发布时间】:2012-05-15 02:01:36
【问题描述】:

我正在尝试使用 Flex(在浏览器中运行)创建一个非常简单的图像动画,该动画在屏幕上连续 300 像素水平移动。我发现动画非常不稳定。每次我运行动画,结果都不一样。有时动画会在出现断断续续之前播放几秒钟,有时会立即出现。这已在 Internet Explorer 和 Firefox 中的多台 Windows 7 机器上进行了测试。

我尝试了几种不同的方法,但似乎都无法阻止这种波动/抖动。

方法一:使用 s:move

<fx:Declarations>
<s:Power id="_powerEasing" exponent="1" />
<s:Move id="_moveRight" target="{_sword}" xFrom="{_swordMin}" xTo="{_swordMax}"
                duration="1000"
                easer="{powerEasing}" />
</fx:Declarations>

<s:BitmapImage id="_sword" visible="true" scaleX=".99" scaleY=".99"
    source="@Embed('/assets/images/combat2/attackbar/sword.png')" x="0" y="0" />

使用 _moveRight.play() 调用;

我尝试的第二种方法是在每个输入帧上移动图像对象。图像的新 x 位置是通过将时间差乘以速度来计算的。看起来像这样:

var now:Number = getTimer();
var toMove:Number = ((now - _lastTime) / 1000) * _speed;
_sword.x += toMove;
_lastTime = now;

尝试的第三种也是最后一种方法是在 Flash 中将其创建为影片剪辑。这也很波涛汹涌。

最好的结果是接近 1。

我已经尝试过使用 s:BitmapImage、mx:Image 以及使用 FlexSprite,但我开始认为我必须缺少一些东西才能使这一切顺利进行。

我遗漏的任何想法或最佳实践可以帮助这个动画吗?

编辑:感谢所有建议,但没有任何效果。

这是一个简单的例子。我已启用查看源代码,因此您可以查看实现。 http://legionofderp.com/sword-demo/SwordTestDemo.swf

一开始可能会平稳运行几秒钟,但随后动画开始运行非常不稳定

编辑 2: 这是另一个示例,这个示例是使用 Flash 创建的。 http://legionofderp.com/testing-sword-03.swf

回答感谢大家的所有建议。通过将 html 模板中的 wmode 参数设置为 direct,我能够使动画顺利运行。

【问题讨论】:

  • 我很想看看这个运行...听起来好像还有其他事情发生;没有理由简单的移动过渡在桌面上不会流畅。我可能会建议查看补间库的 GreenSock。 (我在这里做了一个演示:flextras.com/blog/index.cfm/2011/11/15/…)如果您正在构建游戏,您可能想要研究 Blitting 概念。
  • sword.png 的大小(以 kb 为单位)是多少?
  • 感谢 cmets,我今天要探索 blitting 和不同的补间库。
  • 看看这个问题,看看是不是同一个问题stackoverflow.com/questions/9676065/…
  • 感谢您的帖子。恐怕没有帮助。

标签: actionscript-3 apache-flex


【解决方案1】:

尝试使用 Enterframe 事件而不是计时器(getTimer 或 setInterval)。根据我的经验,我注意到计时器是 CPU 密集型的,因此也会影响动画。虽然 enterFrame 事件运行起来更流畅。试试看。

addEventListener(Event.ENTER_FRAME , move ) 

function move ( e:Event)
{

  // your animation code here
}

【讨论】:

  • 位图缓存呢?
【解决方案2】:

当它抖动时,动画移动真的很慢吗(每次迭代移动

另外,您是否尝试过切换 CPU 或 GPU 加速 - 如果是,结果是否相同?

在独立的 Flash 播放器中运行会产生相同的效果吗?

编辑:刚刚注意到您添加了应该覆盖像素捕捉的缩放属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多