Преобразование SWF / FLA в HTML5 = медленная анимация

Привет, люди, поэтому я пытался преобразовать анимацию .swf в html5, она работала с flash pro cs6 и расширением Swiffy, но анимация очень медленная.

вот оригинальная анимация: http://alquilercochestanger.com/equipo.swf

вот преобразованный http://www.alquilercochestanger.com/equipo.swf.html

Что я делаю:
1. Откройте исходный SWF-файл с помощью декомпилятора sothink SFW
2. Экспортируйте его в .fla (flash cs6 и flash 8 дали тот же результат) Actionscript2
3. Откройте fla с помощью adobe flash pro cs6
4. экспорт в html5 с помощью swiffy

вот журнал

  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

Кто-нибудь, у кого была такая же проблема?


person Simo    schedule 01.10.2014    source источник


Ответы (1)


Попробуйте следующее: 1. Преобразуйте векторные объекты в растровые. 2. Не использовать внешние библиотеки. Используйте собственные методы Flash AS2 для анимации.

person mike.zimin    schedule 22.12.2015