当前位置:  开发笔记 > 编程语言 > 正文

如何使用Flex获得平滑的文本爬网?

如何解决《如何使用Flex获得平滑的文本爬网?》经验,为你挑选了1个好方法。

我正在开发一个独立的Flash应用程序(使用Flex 3/ActionScript 3编写),它具有文本爬行功能,就像您在观看有线新闻频道时可能在电视底部看到的那样; 它是一个长而窄的盒子,文本从右到左移动.

我已经通过创建Label元素,用文本填充它,然后使用带有Linear.easeNone缓动函数的mx:Move对象移动它来实现它.它有效,但它有很大的改进空间.它看起来有点生涩,往往会有相当多的"撕裂"(文本的上半部分和下半部分有时会失去同步).

我尝试在问题上投掷数学,以使爬行的移动速率与显示器的刷新率同步,但这是一个半身像.我发现应用程序的帧速率跳得太厉害了."优化"爬行在看起来如丝般光滑和癫痫之间变化.

还有什么人会推荐我试着让这个东西顺利出来吗?你尝试过一些替代设计吗?


编辑: 某些上下文:抓取是数字标牌应用程序的一部分(从独立的Flash投影仪播放 - 无需网络浏览器),可以在屏幕上的其他位置执行操作,包括视频播放和渲染文本和图像.它在视频播放过程中肯定会变得更加笨拙,但它永远不会像我希望的那样顺畅.



1> Aaron..:

这个问题有两个可能的解决方案,但两者都有警告,第一个是因为你使用Flex和独立投影仪,第二个是因为它是一个缓解器,而不是一个完整的解决方案.


硬件加速

发布文件时,您可以尝试让Flash利用硬件加速来缓解您遇到的导致撕裂的垂直刷新问题.遗憾的是,Flex Builder 3无法在SWF(投影仪)级别启用此设置(链接到错误).这还有待解决,并已从4.0推送到4.1到4.x ......如果解析它,它可能是Flash Builder 4项目设置中的编译器参数.

您可以通过将投影仪作为标准SWF输出并将其嵌入到HTML文档中并将wmode设置为"direct"或"gpu"来确定此解决方案是否适合您.可悲的是,如果它(它应该),你现在无论如何都不能使用它.如果你有Flash Builder 4,某些项目能够在FB4和Flash Professional CS5之间进行往返,虽然我不确定它的标准是什么(我当前的AIR项目所有项目修改菜单选项都显示为灰色).如果您确实设法将项目放入Flash,则可以在项目的"发布设置"中启用硬件加速(文件 - >发布设置 - > Flash选项卡 - > CS5中的硬件加速选项).

这个方法几乎是你问题的一个解决方案,虽然它有两个问题,一个已在上面突出显示,和(对于发布到网络的人),通过在网页上使用直接或GPU渲染,你无法分层任何DOM元素在闪光灯之上.

direct:此模式尝试使用最快的路径来屏幕,或者直接路径.在大多数情况下,它会忽略浏览器想要做的事情,例如重叠HTML菜单或此类工作.此模式的典型用例是视频播放.在Windows上,此模式在Vista上使用DirectDraw或Direct3D,在OSX和Linux上使用OpenGL.使用此模式时,保真度不应受到影响.

gpu:这是使用显卡的某些功能完全成熟的合成(+一些附加功能).可以想象它与OSX和Vista为其桌面管理器所做的类似,Windows的内容(用flash语言表示影片剪辑)仍然使用软件进行渲染,但结果是使用硬件进行合成.如果可能,我们还会在卡片中本地缩放视频.我们的软件光栅化器的越来越多的部分可能会在接下来的几个Flash Player版本中转移到GPU,这只是一个开始.在Windows上,此模式使用Direct3D,在OSX和Linux上我们使用OpenGL.

**来源*

Direct是这种情况的理想选择,因为你实际上可以通过"gpu"降低性能,以及从显卡到显卡的视觉差异.

降低帧速率

只要您将帧速率保持在大约2FPS或以上(尽管我建议最低5FPS),Flash播放器将继续以原始刷新率播放视频,而与项目的其余部分无关.您不希望在此示例中运行该低电平,但您可以降低整个场景的帧速率而不会影响视频性能.您的帧速率越接近屏幕刷新率,您实际创建撕裂效果就越容易,除非您能够完全同步显示器的刷新率,如果没有上述内容,您可能无法做到这一点...... 硬件加速.


只要能够水平移动对象,Flash Player中就存在此问题.会发生什么是Flash在屏幕刷新的同时更新正在运行的动画的缓冲快照.如果缓存的快照在屏幕刷新过程中发生变化,那么您将获得一次破解.这就是降低帧率实际上减少了撕裂量的原因,你不经常刷新缓冲区.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有