Cocos2d-x Physics 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实例

?

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

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

自定义PhysicsMaterial类的值

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

?

密度 = 0.0f

恢复力 = 1.2f

摩擦力 = 0.2f

?

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

?

?

?

时间: 2024-10-14 06:26:59

Cocos2d-x Physics 3 - 掉落的头像的相关文章

cocos2d-x 头文件中添加方法变量导致编译报错

代码如下: HelloWorldScene.h #ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__ #include "cocos2d.h"class HelloWorld : public cocos2d::Layer{public:    // there's no 'id' in cpp, so we recommend returning the class instance pointer    stati

Cocos2d-x 使用物理引擎进行碰撞检测

[转自]: http://blog.csdn.net/cbbbc/article/details/38541099 通常在游戏简单逻辑判断和模拟真实的物理世界时,我们只需要在定时器中判断游戏中各个精灵的条件是否满足判断条件就可以了.例如,在飞机大战中,判断我方子弹和敌机是否发生碰撞一般在定时器中通过敌机所在位置的矩形是否包括了子弹的位置来判断是否发生碰撞.在消除类游戏中,判断在y轴或x轴上是否要消除相同物品一般在定时器中通过循环来检测在某个方向上是否有连续的相同物品满足消除个数来移除精灵就可以了

cocos2dx lua中异步加载网络图片,可用于显示微信头像

最近在做一个棋牌项目,脚本语言用的lua,登录需要使用微信登录,用户头像用微信账户的头像,微信接口返回的头像是一个url,那么遇到的一个问题就是如何在lua中异步加载这个头像,先在引擎源码里找了下可能会提供这个功能的地方,发现好像没有提供类似功能,那么只能自己动手写.所以我在ImageView这个类里面添加了一个成员方法,其实可以不写在ImageView里,而且我觉得非必需情况下还是不要修改引擎源码的好,因为如果源码改动比较多的话,将来引擎版本升级会比较麻烦.我写在ImageView里纯粹是想偷

Cocos2d-x 3.x 选择并编辑头像功能(Android、IOS双平台实现)

大连游戏行业不是太发达,最后选择在一家应用外包公司工作,在工作和业余学习过程中积累了一点微不住道的经验,希望分享给热爱游戏的小伙伴们. 在应用开发过程中会常常有用户上传头像的功能,在网上找了N多资料发现没有人具体介绍过该用cocos2d-x实现.这篇文章就来介绍一下如何在Android和IOS平台上实现该功能. 欢迎热爱游戏开发的小伙伴骚扰: 电邮:[email protected] 企鹅:601322806 先传一张完成后的图片一饱眼福: 直接上代码: 头文件 ImagePicker.h /*

cocos2d iphone环境搭建

1:首先需要安装好XCode 开发环境. (如果还没有安装XCode开发环境,可以到AppStore下载,很方便的[仅仅需要注册一下就可以下载,完全免费,最新版本为XCode4.5]) 2: cocos2d开源库下载地址如下: http://code.google.com/p/cocos2d-iphone/downloads/list 我选择的最新beta版本(cocos2d-iphone-2.1-beta2.tar.gz) 3:下载完成后,进行解压,然后在终端执行安装cocos2d模板的脚本就

Cocos2d之Node类详解之节点树(一)

一.声明 笔者分析的是用C++语言实现.版本号为cocos2d-x-3.3rc0的cocos2d框架的源代码.本文为笔者原创,允许读者分享和转载,只要读者注明文章来源即可. 二.简介 Node对象时场景图的基本元素,并且场景图的基本元素必须是Node对象和Node的子类对象.常见的Node类的子类有:Scene.Layer.Sprite.Menu和Label类. Node类主要实现几个特性: Node对象的 addChild(Node *child).getChildByTag(int tag)

POJ3684 Physics Experiment 【物理】

Physics Experiment Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1031   Accepted: 365   Special Judge Description Simon is doing a physics experiment with N identical balls with the same radius of R centimeters. Before the experiment,

关于cocos2d-X 3.x版本使用引擎自带的物理引擎Physics

今天本来打算使用BOX2D物理引擎的, 想到前段时间听说cocos2d-X在3.0版本中封装了一个自己的物理引擎Physics, 听名字就很霸气额, 用起来确实是比BOX2D简单很多( 毕竟是基于BOX2D封装的嘛), 好了, 现在我们来看看如何使用Physics这个物理引擎, 第一步: 创建项目............略 第二部: 修改场景的创建方式 将Scene::create();换成Scene::createWithPhysics(); Scene* HelloWorld::create

cocos2d相关

vs的一些概念: 解决方案,一个解决方案包含一或多个项目,具体信息可以看vs帮助页上的介绍(里面的插图很形象),链接:https://msdn.microsoft.com/zh-cn/library/b142f8e7.aspx 在解决方案属性页可以查看和设置项目依赖关系.启动项目 附加依赖项,项目中所使用的源文件的路径,新建的cocos项目的默认路径是Classes目录,而在vs IDE中新建项时的默认路径是项目根目录 vs里没有cocos2dx的模板,需要从命令行用 cocos new命令创建