преобразование устаревшего кода as1 / 2 в as3 - PullRequest
0 голосов
/ 15 июля 2011

У меня есть .swf, который я скачал в Интернете. Это анимация, которую я очень хотел бы иметь в своем .swf, однако, когда я загружаю его и пытаюсь контролировать .swf, я получаю ошибкукод.Ошибка типа: ошибка # 1034: сбой приведения типа: невозможно преобразовать flash.display :: AVM1Movie @ 10d52701 в flash.display.MovieClip.

Я искал в сети эту ошибку, и это потому, что файл .swf скомпилирован вas1 / 2, поэтому я не могу получить его «объект» и управлять им.

Я также декомпилировал .swf и прочитал коды, но коды в основном сделаны в as1 / 2, и я понятия не имею,что он делает, так как я только начал изучать as3, и никогда не касался as1 / 2.

У кого-нибудь есть идеи, что я могу сделать? Ниже приведен код, декомпилированный, из того, что я понимаю, он используется для "переложить "части анимации".которая представляет собой «рыбную» часть тела, для создания очень плавного, плавательного действия.Я пытался преобразовать его в код as3, но я получаю ошибки, когда он не может найти переменные.

function corps(objet)
{
    i = 0;
    for (;;) 
    {
        if (i >= 8) 
        {
            return;
        }
        tourne = Math.cos(i + getTimer() / (400 - m)) * 9;
        objet["p" + i]._rotation = (0 - tourne) / 2;
        objet.p5["p" + i]._rotation = 0 - tourne;
        objet.p5.p4["p" + i]._rotation = 0 - tourne;
        objet.p5.p4.p3["p" + i]._rotation = 0 - tourne;
        objet.p5.p4.p3.p2["p" + i]._rotation = 0 - tourne;
        objet.p5.p4.p3.p2.p1["p" + i]._rotation = (0 - tourne) / 2;
        ++i;
    }
}
function fish(objeti)
{
    if (objeti._x && objeti._y) 
    {
        corps(objeti);
    }
}
var j = Math.random(20) * 7 - 5;
var m = Math.random(50) * 2;
j = 4;
m = 4;
k = 0;
u = 0;
v = 1;
this.poisson.s = 1;
this.poisson.vari = this.poisson._width / 10 + this.poisson._height / 10;
this.onEnterFrame = function ()
{
    fish(this.poisson);
}
;

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

Похоже, вам нужен экземпляр poisson для размещения на сцене и имени. Это в библиотеке? Обязательно назовите экземпляр poisson.

0 голосов
/ 15 июля 2011

Вам нужно изменить все свойства, которые начинаются с _, на соответствующее свойство AS3. То есть _width должно быть width и _rotation должно быть rotation, сделайте это для _width, _height, _x, _y, _rotation.

...