首页 > 其他 > 详细

cocos2dx-3.2 笔记 - 物理属性

时间:2014-08-22 12:20:56      阅读:295      评论:0      收藏:0      [点我收藏+]

PhysicsBody

  添加物理属性,不多废话,直接上代码

        Sprite *land = Sprite::createWithSpriteFrame(pngName);

        PhysicsBody *Landbody = PhysicsBody::create();
        Landbody->addShape(PhysicsShapeBox::create(
            Size(land->getContentSize().width,land->getContentSize().height)
            ,PhysicsMaterial(1,0,1)));
        Landbody->setDynamic(false);//我测试的效果是 是否动态(即给他速度或力,他并不会动)
        Landbody->setLinearDamping(0.0f);//阻力
        Landbody->setGravityEnable(false);//是否受重力
        Landbody->setContactTestBitmask(1);//只要物体的这个至进行与操作后不为零则触发碰撞
        // add the sprite as a child to this layer
        land->setPhysicsBody(Landbody);

 

碰撞检测

        auto contactListener = EventListenerPhysicsContact::create();
        contactListener->onContactBegin = CC_CALLBACK_1(GameLayer::onContactBegin, this);
        this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(contactListener, this);


bool GameLayer::onContactBegin(const PhysicsContact& contact)
{

    return true;//true触发碰撞,false穿过,将碰撞事件传递给下一个检测回调函数   
}

 

cocos2dx-3.2 笔记 - 物理属性,布布扣,bubuko.com

cocos2dx-3.2 笔记 - 物理属性

原文:http://www.cnblogs.com/kee-chen/p/3928776.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!