1

我正在尝试将影片剪辑附加到多个颈背主体,但出现以下错误。

Line 118    1067: 
Implicit coercion of a value of type flash.display:MovieClip 
to an unrelated type nape.shape:Shape.

这是代码块:

for (var i:int = 0; i < 10; i++)
{
     var brick:Body= new Body(BodyType.DYNAMIC);
     var brickShape:Polygon = new Polygon(Polygon.box(10,30));
     brick.position.setxy(500, ((h ) - 32 * (i + 0.5)));
     var brickMovieClip:MovieClip = new Brick();
     brickMovieClip.width = 10;
     brickMovieClip.height = 30;
     addChild(brickMovieClip);
     brick.shapes.add(brickMovieClip);              
     brick.space = space;
    brick.shapes.at(0).material.elasticity = .1;            
}

如果您知道如何解决此问题,我们将不胜感激。

4

1 回答 1

3

Body 的shapes 属性是一个nape.shape.Shape 的列表,而不是MovieClip 的列表,您应该将brickShape 添加到body 的形状列表中,而不是Movieclip。

Nape 本身与图形无关,它取决于您每一帧,以根据物理对象状态将与身体相关联的图形移动到正确的位置/旋转。

您可以做的是将影片剪辑存储在正文的 userData 字段中,以便以后可以在必要时轻松访问它,例如:

body.userData.graphic = brickMovieClip;

然后每一帧你都可以像这样更新图形:

var mc:MovieClip = body.userData.graphic;
mc.x = body.position.x;
mc.y = body.position.y;
mc.rotation = body.rotation * 180 / Math.PI;
于 2013-03-26T23:56:07.670 回答