--创建带物理世界的scenelocal physicScene = display.newPhysicsScene("physicsecene")--用来获取场景绑定的物理世界对象physicScene:getPhysicsWorld() --改变重力值physicScene:getPhysicsWorld():setGravity(cc.p(0,-9.8*10))-- 开启调试模式scene:getPhysicsWorld():setDebugDrawMask(cc.PhysicsWorld.DEBUGDRAW_ALL)--创建物理边界 local size = display.size local body = cc.PhysicsBody:create(size,cc.PHYSICSBODY_MATERIAL_DEFAULT,3) local edgeNode = display.newNode() edgeNode:setPosition(size.width/2,size.height/2) edgeNode:setPhysicsBody(body) layer:addChild(edgeNode) --[[ 参数 1 矩形区域大小 这里为屏幕大小 2 可选参数 材质 默认为PHYSICSBODY_MATERIAL_DEFAULT 3 边界宽度,可选参数,默认为1 ]] --创建受重力作用的sprite function MiainScene:addSprite(x,y) local oneSprite = display.newSprite("1.png") local oneBody = cc.PhysicsBody:createBox(oneSprite:getContentSize(),cc.PHYSICSBODY_MATERIAL_DEFAULT,cc.p(0,0)) --[[ 参数1 cc.size类型 表示矩形长宽 2 cc.PhysicsMaterial 类型 可选参数 3 cc.p 类型 表示body 与中心点的偏移量 可选参数 默认为cc.cp(0,0) ]] --手动创建Sprite材质 cc.PhysicsMaterial(density,restiution,friction) --[[ density 密度 restiution 反弹力 friction 摩擦力 ]] oneBody:applyImpilse(cc.p(100,500)) oneSprite:setPhysicsBody(oneBody) oneSprite:setPosition(x,y) self.addChild(oneSprite) end --创建圆形body cc.PhysicsBody:createCircle(半径,cc.PhysicsMaterial 类型,cc.p 类型)