this.nearestZ = -c.disdanceHalf
_this = this;
this.go = function(index){
this.nTarget = 0
if (index < levelFuncs.length)
levelFuncs[index]();
}
function addDesk(h, zPos){
var desk = hp.addBox(c.roomWidth,h,canRad*2, 0, h/2, zPos);
ballControls.arrTarget.push(desk);
}
function addBox(w, h, xPos,yPos,zPos, o){
var desk = hp.addBox(w, h, canRad*2, xPos, yPos+h/2, zPos, o)
ballControls.arrTarget.push(desk);
return desk;
}
function addCan(xPos,yPos,zPos,o)
{
var can = hp.addCan(canWidth,canHeight, xPos,yPos+canHeight/2,zPos,o)
ballControls.arrTarget.push(can);
_this.nTarget++;
if (zPos + canRad > _this.nearestZ) _this.nearestZ = zPos + canRad;
return can;
}
function addBall(xPos, o)
{
var ball = hp.addBall(ballWidth, xPos, c.groundY+ballRad , c.disdanceHalf, o)
ballControls.arrBall.push(ball);
}
function addBalls(cnt){
if (cnt === undefined)
cnt = Math.floor(c.roomWidth/(2*ballRad))
var startX = -(cnt*ballRad) + ballRad;
for (var i = 0; i < cnt; ++i)
addBall(startX + i* 2*ballRad)
}
function addSwingBox(w, h, xPos,yPos,zPos){
var desk = addBox(w, h, xPos,yPos,zPos, {move:true})
var ball = hp.addBall(ballWidth, xPos, yPos+h+ballRad+w/2, zPos, {move:false})
ballControls.arrTarget.push(ball);
var spring = [2, 0.3];
world.add({ type:'jointHinge', body1:ball.body, body2:desk.body, pos1:[0, -ballRad-w/2, 0], pos2:[0, h/2, 0],
collision:false, spring:spring, min:90, max:-90, axe1:[0,0,1], axe2:[0,0,1] });
desk.body.applyImpulse(new OIMO.Vec3(0,0,0), new OIMO.Vec3(100,0,0));
}
网友评论