在我的程序中,我有一个文本在屏幕上滚动的功能。除了令人难以置信的迟滞运动外,这种方法很好。我只是将速度添加到文本字段的x位置,并且移动动画适用于所有其他对象(动画片段,位图等)。
编辑:
我现在尝试将文本转换为BitMap,然后移动它。不幸的是,这导致了相同的"滞后"很多突然的跳跃"跳跃"。
bmd = new BitmapData (event_field.width, event_field.height, true, 0);
bmd.draw (event_field);
bm = new Bitmap (bmd);
bm.x = event_field.x;
bm.y = event_field.y;
bm.cacheAsBitmap = true;
bm.smoothing = true;
this.addChild(bm);
在我的输入框架功能中:
bm.x-=3
有人有解决方案吗?
答案 0 :(得分:1)
不平滑文本字段可能会提高性能,但是根据我的经验,使用本机TextField类具有无法真正克服的性能限制。文本的实时渲染很昂贵。将文本实时渲染为bitmapData可能也很昂贵,并且只有在文本变化不大的情况下才真正有用。无论如何,cacheAsBitmap
应该已经在自动执行。
要克服这两个问题,应考虑使用位图字体。这些是预先渲染的,可以解决以上两个问题。但是,本机API不支持它。
我知道的两个选项:
要生成位图字体,这些是Starling Manual推荐的一些工具。我个人使用Littera和BMFont:
答案 1 :(得分:0)
您可以尝试嵌入字体或动画位图而不是文本字段