博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d-x Physics 3 - 掉落的头像
阅读量:5731 次
发布时间:2019-06-18

本文共 993 字,大约阅读时间需要 3 分钟。

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

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实例

 

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

 

2014 11 08 16 17 33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

自定义PhysicsMaterial类的值

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

 

密度 = 0.0f

恢复力 = 1.2f

摩擦力 = 0.2f

 

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

 

 

 

转载于:https://www.cnblogs.com/yy99/p/4083584.html

你可能感兴趣的文章
最长递增子序列 动态规划
查看>>
「小程序JAVA实战」微信小程序工程结构了解(五)
查看>>
使用列表
查看>>
Edge browser hosts file
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>
概率dp - UVA 11021 Tribles
查看>>
webpack 4.0 中 clean-webpack-plugin 的使用
查看>>
数据库神器:Navicat Premium
查看>>
WPF
查看>>
Best website for Photogrammetry
查看>>
中文词频统计
查看>>
POJ 2236 Wireless Network (并查集)
查看>>
python分类
查看>>
linux 中常见的压缩和解压缩的命令
查看>>
GitBlit (1)-- 在linux 安装 GitBlit 并运行
查看>>
Windows与Linux之间的文件自动同步
查看>>
topcoder srm 714 div1
查看>>
20160215
查看>>
mxnet导入图像数据
查看>>
LeetCode – Refresh – Merge Sorted Array
查看>>