如何在physicsjs中使用两个图像
How to use two images in physicsjs
我用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 );
}
}
};
相关文章:
- 单击时切换两个图像
- 一个具有两个图像按钮的表单在只能按下一个按钮的情况下发送两个按钮值
- 如何使用 jQuery 交换网页中的两个图像(连续两次点击)
- 选择最短的旋转来排列两个图像
- 在jQuery中创建两个图像之间的行
- 将两个图像合并为一个,并使用javascript进行溢出隐藏
- 淡入淡出两个图像[JavaScript]
- 单击按钮时交换两个图像
- 可以在Javascript中比较两个图像
- 如何保存带有两个图像的画布
- 如何查看两个图像源是否相等
- 如何在两个图像之间添加空间
- CSS/Javascript/Jquery:显示/隐藏 DIV 取决于单击的两个图像之一
- 如何在 javascript 中检测两个图像之间的冲突
- 响应式设计:这个Javascript会导致浏览器下载两个图像吗?
- 比较两个图像的相等性(跨域)
- 单击时并排显示两个图像的按钮
- 如何使用 HTML 或 CSS 或 JS 重叠两个图像并在两者之间划一条交叉线,如以下示例所示
- 下拉框更改两个图像
- 枚举内容滑块一次显示两个图像