我有一个.swf,我已经在互联网上下载它是一个动画,我非常想在我的.swf中,但是,当我加载它并试图控制.swf我得到一个错误码。 TypeError:错误#1034:类型强制失败:无法将flash.display :: AVM1Movie @ 10d52701转换为flash.display.MovieClip。
我在网上搜索了这个错误,这是因为.swf是在as1 / 2中编译的,因此我无法得到它的“对象”并控制它。
我也反编译了.swf并读取了代码,但代码主要在as1 / 2中完成,我不知道它的作用,因为我刚刚开始学习as3,并且从未接触过as1 / 2。< / p>
任何人都知道我该怎么办?下面是反编译的代码,据我所知,它用于“移动”动画的各个部分。这是一个“鱼”身体的一部分,创造一个非常光滑,游泳的动作。我已经尝试将其转换为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);
}
;
答案 0 :(得分:0)
您需要将以_
开头的所有属性更改为相应的AS3属性。即_width
应为width
而_rotation
应为rotation
,为_width, _height, _x, _y, _rotation
执行此操作。
答案 1 :(得分:0)
看起来您需要将poisson
的实例放置在舞台上并命名。它在图书馆吗?请务必将实例命名为poisson
。