【发布时间】:2014-07-03 15:21:13
【问题描述】:
很长一段时间以来,我一直在寻找解决这个问题的方法,所以当搜索没有澄清任何问题时,我决定发布一个胎面。
我有一个应该在屏幕上移动的文本字段。我已经通过“输入帧函数”动态地为其 x 值添加速度来解决这个问题。然而,该运动非常“滞后”,并且由运动中的突然“跳跃”组成。我已经尝试了几种可能的解决方案,但都没有运气。
- 嵌入字体
- 更改文本字段的 antiAliasType
-
像这样使用 BitmapData:
bmd = new BitmapData (myTextField.width, myTextField.height, true, 0); bmd.draw (myTextField); bm = new Bitmap (bmd); bm.x = myTextField.x; bm.y = myTextField.y; bm.cacheAsBitmap = true; bm.smoothing = true; this.addChild(bm);`然后移动“bm”实例
这些方法都不起作用。
编辑:根据要求,我正在为文本的实际移动添加相关代码。
stage.addEventListener(Event.ENTER_FRAME, time);
private function time(evt:Event):void
{
bm.x-= textSpeed;
}
变量textSpeed 定义为public static var。它的值为 2。
*EDIT2:我准备了一个干净的 fla 文件,其中只有移动文本。同样的滞后也发生在这里。代码位于操作面板中。 Download link
【问题讨论】:
-
向我们展示您是如何移动它的。 (而且您不需要“缓存AsBitmap”位图...;))
-
在转换为位图时,您是否删除了原始文本字段?你的帧率是多少?您还同时制作了哪些其他动画?
-
@Fygo:我已经添加了移动代码。我还删除了“cacheAsBitmap”行,但是这并没有什么区别。
-
@LDMediaServices:不,我不会随时删除它。它被定义为从一开始就看不见,而且不动。我的帧率为 30,00。是的,它确实会在程序中出现其他动画,但不会在任何时候出现。我注意到我的帖子中描述的滞后的“严重性”不会根据程序中其他动画的数量而发生显着变化。
-
我真的不知道为什么会发生这种情况。您可以准备一个“干净”的 fla 作为示例并将其上传到某个地方吗? (无其他代码,仅用于绘制和移动)
标签: actionscript-3 actionscript textfield bitmapdata