码迷,mamicode.com
首页 > 其他好文 > 详细

Cocos2d-x Physics 3 - 掉落的头像

时间:2014-11-08 18:01:19      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   os   使用   sp   

添加一个精灵, 让它从高处落下

boolHelloWorld::init()

{

? ? //////////////////////////////

? ? // 1. super init first

? ? if ( !Layer::init() )

? ? {

? ? ? ? return false;

? ? }

?? ?

#if CC_ENABLE_BOX2D_INTEGRATION

? ? log("启用了Box2d");

#endif

?? ?

? ? Size visibleSize = Director::getInstance()->getVisibleSize();

? ? Vec2 origin = Director::getInstance()->getVisibleOrigin();

?? ?

?? ?

? ??//创建一个精灵

? ? auto sprite = Sprite::create("Icon-58.png");

? ? //创建一个刚体

? ? auto spriteBody = PhysicsBody::createBox(sprite->getContentSize(), PHYSICSBODY_MATERIAL_DEFAULT);

? ? //将刚体赋值给精灵, 这时精灵就具备了物理特性

? ? sprite->setPhysicsBody(spriteBody);

? ? //设置精灵的位置

? ? sprite->setPosition(visibleSize.width/2, visibleSize.height/3*2);

? ? //将精灵添加到层

? ? this->addChild(sprite);

?? ?

? ? this->addChild(sprite);

?

...

}

?

createBox方法有三个参数, 依次是:

1. 矩形区域的大小

2. 设置材质

3. 边线宽度

?

精灵的材质也是使用了预设的PHYSICS_MATERIAL_DEFAUTL实例

?

运行结果可以看到屏幕有一个精灵从高度由慢到快落下, 碰到底部还会反弹

?

bubuko.com,布布扣

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

自定义PhysicsMaterial类的值

auto spriteBody = PhysicsBody::createBox(sprite->getContentSize(), PhysicsMaterial(0.0f, 1.2f, 0.2f));

?

密度 = 0.0f

恢复力 = 1.2f

摩擦力 = 0.2f

?

重新运行, 精灵落到底部弹得更高了

?

?

?

Cocos2d-x Physics 3 - 掉落的头像

标签:style   blog   http   io   color   ar   os   使用   sp   

原文地址:http://www.cnblogs.com/yy99/p/4083584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!