Quick-cocos2d-x3.3 Study (九)--------- 为物体添加物理特性

添加一个主角

 1 local Player = class("Player", function()
 2       return display.newSprite("#player.png")       
 3 end)
 4 
 5 function Player:ctor()
 6         -- 为物体添加物理属性
 7         local body = cc.PhysicsBody:createBox( self:getContentSize(), cc.PHYSICSBODY_MATERIAL_DEFAULT, cc.p( 0, 0 ) )
 8         self:setPhysicsBody( body )
 9 end
10 
11 return Player

这里调用cc.PhysicsBody::createBox()方法创建了一个矩形的 body,createBox 方法有三个参数,分别是:

  • 参数1为 cc.size 类型,它表示矩形 body 的尺寸大小。
  • 参数2为 cc.PhysicsMaterial 类型,表示物理材质的属性,默认情况下为 cc.PHYSICSBODY_MATERIAL_DEFAULT。 该参数也可自定义,方法如下:
    cc.PhysicsMaterial(density, restitution, friction)
    • density:表示密度
    • restitution:表示反弹力
    • friction:表示摩擦力
  • 参数3为 cc.p 类型,它也是一个可选参数,表示 body 与中心点的偏移量,默认下为cc.p(0,0)

与 createBox 方法类似的还有 createCircle(radius, material, offset),该方法可以创建一个圆形的 body,除第一个参数为半径外,其余两参数与 createBox 方法一样。

posted @ 2015-09-19 10:59  silent-bobo  阅读(209)  评论(0编辑  收藏  举报