Javascript 如何在physicsjs中使用两个图像

Javascript 如何在physicsjs中使用两个图像,javascript,html,canvas,physicsjs,Javascript,Html,Canvas,Physicsjs,我用PhysicsJS制作了一个简单的“动画”,我有这样一个身体: balon = Physics.body('circle', { x: 50, y: random(20, 350), vx: 0.45, angle: random(0,360), angularV

我用PhysicsJS制作了一个简单的“动画”,我有这样一个身体:

                balon = Physics.body('circle', {
                    x: 50,
                    y: random(20, 350),
                    vx: 0.45,
                    angle: random(0,360),
                    angularVelocity:-0.005,
                    radius: 60,
                    mass: 1,
                    fixed: true
                });
                    balon.view = new Image();
                    balon.view.src = 'ballon.png';
这一切都很好,但我需要为“球”添加一个阴影,这意味着我需要使用两个图像“ballon.png”和第二个图像(阴影)需要固定在第一个图像上(不要随身体旋转)

有什么好主意吗


提前谢谢你

如果需要其中一个图像具有不同的行为,则需要自己处理渲染

可以为阴影添加另一个渲染层。如果将阴影图像存储在body.shadow中,则可以执行以下操作

var shd = renderer.addLayer('shadows');
var bodies = [balon];
// draw the provided shadow view
shd.drawShadow = function( body, view ){
    var pos = body.state.pos
        ,v = body.state.vel
        ,t = renderer._interpolateTime || 0
        ,x
        ,y
        ,aabb
        ,ctx = shd.ctx;
        ;

    // interpolate positions
    x = pos.x + v.x * t;
    y = pos.y + + v.y * t;

    ctx.save();
    ctx.translate( x, y );
    ctx.drawImage(view, -view.width/2, -view.height/2, view.width, view.height);
    ctx.restore();
}
shd.render = function(){
    var body;

    for (var i = 0, l = bodies.length; i < l; i++){
        body = bodies[ i ];
        if ( body.shadow ){
            shd.drawShadow( body, body.shadow );
        }
    }
};
var shd=renderer.addLayer('shadows');
var Body=[balon];
//绘制提供的阴影视图
shd.drawShadow=函数(主体、视图){
var pos=body.state.pos
,v=body.state.vel
,t=渲染器。_插值时间| | 0
,x
Y
,aabb
,ctx=shd.ctx;
;
//插值位置
x=位置x+v.x*t;
y=pos.y++v.y*t;
ctx.save();
ctx.translate(x,y);
ctx.drawImage(视图,-view.width/2,-view.height/2,view.width,view.height);
ctx.restore();
}
shd.render=函数(){
变异体;
对于(变量i=0,l=body.length;i
谢谢您的回答!很抱歉,我对这件事一无所知。我应该在哪里加上这个?因为我有一个函数可以随机创建物体。但是如果我把代码放在里面,我会收到一条错误消息:“未捕获层”阴影“已经添加了。”你只需要创建一次阴影层。只需确保Bodys变量包含所有添加的需要阴影的实体。把它放在你的身体创造功能之外