SWF/FLA 到 HTML5 转换 = 慢动画
Posted
技术标签:
【中文标题】SWF/FLA 到 HTML5 转换 = 慢动画【英文标题】:SWF/FLA to HTML5 conversion = Slow animation 【发布时间】:2014-11-26 15:58:35 【问题描述】:大家好,所以我一直在尝试将 .swf 动画转换为 html5,它可以与 flash pro cs6 和 Swiffy 扩展一起使用,但动画很慢很慢。
这是原始动画: http://alquilercochestanger.com/equipo.swf
这里是转换后的 http://www.alquilercochestanger.com/equipo.swf.html
我所做的是: 1.用sothink SFW反编译器打开原swf文件 2.导出为.fla(flash cs6和flash 8的结果相同)Actionscript2 3.用adobe flash pro cs6打开fla 4.用swiffy导出到html5
这是日志
Swiffy Flash Extension for Win v1.1.1 [Swiffy v7.0.3]
- Warnings -
The ActionScript class Sound is not supported.
The ActionScript method Sound.getVolume() is not supported.
The ActionScript method Sound.setVolume() is not supported.
The file includes complex animations which may be slow on mobile devices.
- Info -
Filters, blend modes and color-adjusted images may render slowly on mobile devices.
Exported to: C:\Users\Admin\Documents\equipo\~equipo.swf.html
编辑:
尝试从 swf 转换为 fla,然后用 adobe pro 打开(发布预览),它给了我同样的错误
所以我认为答案可能是从头开始创建文档
这里是动作脚本
var activo = 0;
var my_profundidad = [0, -79, -54, -57, -61, -60, -70, -73, -47, -76, -51, -67, -83, -43, 14000, -100, 14500];
for (i = 1; i < 17; i++)
this["keko" + i].swapDepths(my_profundidad[i]);
// end of for
for (j = 1; j < 17; j++)
this["keko" + j].boton.onRollOver = function ()
trace (this._parent.getDepth());
this._parent.swapDepths(15000);
cadena = this._parent._name;
var _loc2 = cadena.split("keko");
com.greensock.TweenMax.to(this._parent, 0.500000, _xscale: 110, _yscale: 110, ease: com.greensock.easing.Cubic.easeOut);
i = 1;
if (i >= 17)
return;
// end if
if (i != _loc2[1] && i != activo)
com.greensock.TweenMax.to(this._parent._parent["keko" + i], 0.500000, colorTransform: tint: 16777215, tintAmount: 0.500000);
// end if
if (i == _loc2[1])
com.greensock.TweenMax.to(this._parent._parent["keko" + i], 0.500000, colorTransform: tint: null, tintAmount: 0);
// end if
++i;
;
this["keko" + j].boton.onRollOut = function ()
cadena = this._parent._name;
var _loc5 = cadena.split("keko");
this._parent.swapDepths(my_profundidad[_loc5[1]]);
com.greensock.TweenMax.to(this._parent, 0.500000, _xscale: 100, _yscale: 100, ease: com.greensock.easing.Cubic.easeOut);
i = 1;
if (i >= 17)
return;
// end if
if (activo == 0)
com.greensock.TweenMax.to(this._parent._parent["keko" + i], 0.500000, colorTransform: tint: null, tintAmount: 0);
// end if
if (i == _loc5[1] && activo != 0)
com.greensock.TweenMax.to(this._parent._parent["keko" + i], 0.500000, colorTransform: tint: 16777215, tintAmount: 0.500000);
// end if
++i;
;
this["keko" + j].boton.onRelease = function ()
this.enabled = false;
this._parent.swapDepths(20000);
cadena = this._parent._name;
var _loc13 = cadena.split("keko");
activo = _loc13[1];
trace (activo);
com.greensock.TweenMax.to(this._parent, 0.500000, _xscale: 110, _yscale: 110, ease: com.greensock.easing.Cubic.easeOut);
com.greensock.TweenMax.to(this._parent, 0.500000, glowFilter: color: 6710886, alpha: 1, blurX: 10, blurY: 10);
getURL("javascript:cargaPersona(\'" + activo + "\')", "");
i = 1;
if (i >= 17)
return;
// end if
if (i != activo)
this._parent._parent["keko" + i].boton.enabled = true;
this._parent._parent["keko" + i].swapDepths(my_profundidad[i]);
com.greensock.TweenMax.to(this._parent._parent["keko" + i], 0.500000, colorTransform: tint: 16777215, tintAmount: 0.500000);
com.greensock.TweenMax.to(this._parent._parent["keko" + i], 0.500000, _xscale: 100, _yscale: 100, ease: com.greensock.easing.Cubic.easeOut);
com.greensock.TweenMax.to(this._parent._parent["keko" + i], 0.500000, glowFilter: color: 6710886, alpha: 0, blurX: 0, blurY: 0);
// end if
++i;
;
// end of for
谁有同样的问题?
【问题讨论】:
【参考方案1】:试试这个: 1. 将矢量对象转换为位图。 2.不使用任何外部库。使用原生 Flash AS2 方法制作动画。
【讨论】:
以上是关于SWF/FLA 到 HTML5 转换 = 慢动画的主要内容,如果未能解决你的问题,请参考以下文章