Javascript 正确使用物理学.aabb.union()

Javascript 正确使用物理学.aabb.union(),javascript,aabb,physicsjs,Javascript,Aabb,Physicsjs,我正在学习,我试着这样使用: 但球只是从底部落下 物理(函数(世界){ var-viewWidth=300; var viewHeight=300; var renderer=physical.renderer('canvas'{ el:“视口”, 宽度:viewWidth, 高度:视图高度, 梅塔:错 }); //添加渲染器 添加(渲染器); //在每个步骤上渲染 world.subscribe('step',function()){ 世界。渲染(); }); //窗口边界 var rect

我正在学习,我试着这样使用:

但球只是从底部落下

物理(函数(世界){
var-viewWidth=300;
var viewHeight=300;
var renderer=physical.renderer('canvas'{
el:“视口”,
宽度:viewWidth,
高度:视图高度,
梅塔:错
});
//添加渲染器
添加(渲染器);
//在每个步骤上渲染
world.subscribe('step',function()){
世界。渲染();
});
//窗口边界
var rect1=Physics.aabb(0100300200);
var rect2=Physics.aabb(100,0200300);
var viewportBounds=Physics.aabb.union(rect1,rect2);
//将实体约束到这些边界
world.add(Physical.behavior('边缘碰撞检测'){
aabb:viewportBounds,
归还:0.99,
cof:0.99
}));
//加球
世界。添加(
物理。体(“圆”{
x:0,//x坐标
y:0,//y坐标
vx:0.2,//x-速度
vy:0.01,//y-速度
半径:2.0
})
);
//确保检测到边缘碰撞时对象反弹
世界。添加(物理。行为(‘身体冲动反应’);
//增加一些重力
add(物理.行为(‘恒定加速度’);
//订阅ticker以推进模拟
Physics.util.ticker.subscribe(函数(时间,dt){
世界步(时间);
});
//启动自动售票机
Physics.util.ticker.start();
});
正文{
/*背景:#121212*/
}
.pjs元{
显示:无;
}
#视区{
边框:1px实心#666;
}

我在GitHub或任何使用它的地方都找不到任何代码。有人能给我一些指导吗

你可以试着读一下这本书

示例测试,即使不懂Javascript,也应该非常可读:

js看起来是测试代码。测试实际上兼作文档,像spec这样的库可以使测试代码读起来像文档一样。此外,测试代码当然是如何使用代码的示例集合。享受

我在GitHub或任何使用它的地方都找不到任何代码。有人能给我一些指导吗

你可以试着读一下这本书

示例测试,即使不懂Javascript,也应该非常可读:

js看起来是测试代码。测试实际上兼作文档,像spec这样的库可以使测试代码读起来像文档一样。此外,测试代码当然是如何使用代码的示例集合。享受


把它弄明白了。我正在使用一个超旧版本()。我链接到了最新的版本(),它有更多的功能(这两个版本之间有4088行新代码)。我不得不重构我的代码以匹配更新的规范,但一切都很好

找到了答案。我正在使用一个超旧版本()。我链接到了最新的版本(),它有更多的功能(这两个版本之间有4088行新代码)。我不得不重构我的代码以匹配更新的规范,但一切都很好

谢谢你的建议。我会记得继续查看测试代码。不过,我没有看到任何有助于使用union函数的东西。我按照文档中的说明使用它,但仍然无法连接两个边界框。@Thomas您尝试过源代码了吗?谢谢你的建议。我会记得继续查看测试代码。不过,我没有看到任何有助于使用union函数的东西。我按照文档中的说明使用它,但仍然无法连接两个边界框。@Thomas您尝试过源代码了吗?
// Window bounds
var rect1 = Physics.aabb(0, 100, 300, 200);
var rect2 = Physics.aabb(100, 0, 200, 300);
var viewportBounds = Physics.aabb.union(rect1, rect2);

// Constrain bodies to these bounds
world.add(Physics.behavior('edge-collision-detection', {
  aabb: viewportBounds,
  restitution: 0.99,
  cof: 0.99
}));
it("should initialize provided a width/height and point", function() {
    var aabb = Physics.aabb( 4, 5, { x: 20, y: 9 } );
    matches( aabb, { x: 20, y: 9, hw: 2, hh: 2.5 });
});