大家好,我一直在尝试将.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.用adobeflashpro-cs6打开fla
4.出口到具有快速的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:UsersAdminDocumentsequipo~equipo.swf.html
编辑:
尝试从swf转换为fla,然后打开wihtadobepro(发布预览),它给了我同样的错误
所以我认为答案可能是从头开始创建文档
这是动作脚本
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.将矢量对象转换为位图。2.不使用任何外部库。使用本机Flash AS2方法制作动画。