我正在尝试调整大小并将HTMLLoader
重新定位相同数量,但HTMLLoader
的大小始终落后于位置至少一帧。位置和大小都变化相同的数量。在手动更改大小和使用补间时都会发生这种情况。我试图拖延控制位置的补间,这有时会有所帮助,但其他时间会使情况变得更糟。调整HTMLLoader大小的大小滞后于位置
吐温代码:
// t is the time, 0.5 in this case
// ease is the easing function, I tried linear and Regular.easeInOut
tweenW = new Tween(gallery.masker, "width", ease, gallery.masker.width, (full ? largeX : smallX), t, true);
tweenH = new Tween(gallery.masker, "height", ease, gallery.masker.height, (full ? largeY : smallY), t, true);
tweenX = new Tween(gallery.masker, "x", ease, gallery.masker.x, (full ? -posX : 0), t, true);
tweenY = new Tween(gallery.masker, "y", ease, gallery.masker.y, (full ? -posY : 0), t, true);
tweenBX = new Tween(border, "x", ease, border.x, (full ? 0 : posX), t, true);
tweenBY = new Tween(border, "y", ease, border.y, (full ? 0 : posY), t, true);
tweenBW = new Tween(border, "width", ease, border.width, (full ? largeX * borderMultX : smallX * borderMultX), t, true);
tweenBH = new Tween(border, "height", ease, border.height, (full ? largeY * borderMultY : smallY * borderMultY), t, true);
HTMLLoader
调整大小代码(Event.EXIT_FRAME):
loader.width = gallery.masker.width;
loader.height = gallery.masker.height;
loader.x = gallery.masker.x;
loader.y = gallery.masker.y;
显示时,的gallery.masker
大小是正确的,但HTMLLoader
仍落后
例如:
HTML c意图是一个空的绿色页面,gallery.masker
是一个红色的形状与HTMLLoader
上面的50%阿尔法。补间大约完成了一半。
(它不是让我发表图片,可能有人请编辑此http://img571.imageshack.us/img571/3699/resizeq.png?)
编辑:小例子可在http://www.mediafire.com/?5c2zkhmb6v9b61u(含有CS6的.fla,所有源,.swf和app.xml中)从fl
包
'tweenW,tweenH,tweenX ...'它们是全局变量或函数级变量吗?我问,因为看起来像垃圾收集器正在从内存中删除这些补间对象,在他们完成工作之前。确保您在这些补间对象上保留参考,直到它们完成。这是来自'fl'包的补间引擎的常见问题。 – ggat 2013-04-08 20:35:37
我使用嵌套函数。补间总是完成,'HTMLLoader'似乎不能正常保持。 'private function SetupResize(/ * vars * /){/ * ... */var tweenX:Tween;/* * */function doTween(t:Number){/ * tweens here * /}}' – 2013-04-08 20:39:12