大家好,所以我一直试图将.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
任何有同样问题的人?
答案 0 :(得分:0)
试试这个: 1.将矢量对象转换为位图。 2.不使用任何外部库。使用原生Flash AS2方法进行动画制作。