1
PhysicsJoint的使用

T09Join.h

#ifndef__T09Joint_H__

#define__T09Joint_H__

#include"T32.h"

classT09Joint:
publicLayer

{

public:

CREATE_FUNC(T09Joint);

voidonEnter();

PhysicsWorld*getPhysicsWorld()

{

return((Scene*)getParent())->getPhysicsWorld();

}

Sprite*_A;

Sprite*_B;

Sprite*_C;

};

#endif

T09Join.cpp

#include"T09Join.h"

voidT09Joint::onEnter()

{

Layer::onEnter();

PhysicsBody*bodyA;

PhysicsBody*bodyB;

{

PhysicsBody*body=
PhysicsBody::createCircle(20);

bodyA=
body;

Sprite*sprite=
Sprite::create();

_A=
sprite;

sprite->setContentSize(Size(40,40));

sprite->setPhysicsBody(body);

sprite->setPosition(winSize.width/
2 - 50, winSize.height/
2 + 100);

addChild(sprite);

}

{

//PhysicsBody*body
= PhysicsBody::createEdgeBox(Size(40, 40));

PhysicsBody*body=
PhysicsBody::createBox(Size(40,40));

bodyB=
body;

Sprite*sprite=
Sprite::create();

sprite->setContentSize(Size(40,40));

_B=
sprite;

sprite->setPhysicsBody(body);

sprite->setPosition(winSize.width/
2 + 50, winSize.height/
2 + 100);

addChild(sprite);

}

{

PhysicsBody*body=
PhysicsBody::createEdgeBox(winSize,PhysicsMaterial(1.0f,1.0f,
0.0f));

Sprite*sprite=
Sprite::create();

addChild(sprite);

sprite->setPhysicsBody(body);

sprite->setPosition(winSize.width/
2, winSize.height/
2);

}

//
PhysicsJoint*joint = PhysicsJointDistance::construct(bodyA, bodyB, Vec2(0, 0),Vec2(0, 0));

//
PhysicsJoint*joint = PhysicsJointSpring::construct(bodyA, bodyB, Vec2(0, 0),Vec2(0, 0), 500.0f, 500.0f);

//
PhysicsJoint*joint = PhysicsJointPin::construct(bodyA, bodyB,Vec2(winSize.width / 2, winSize.height / 2));

PhysicsJoint*joint=
PhysicsJointMotor::construct(bodyA,bodyB,1.0);

{

autoev=
EventListenerTouchOneByOne::create();

ev->onTouchBegan=
[&](Touch*touch,Event*){

Pointpt=
touch->getLocation();

if(_A->getBoundingBox().containsPoint(pt));

{

_C=
_A;

returntrue;

}

if(_B->getBoundingBox().containsPoint(pt))

{

_C=
_B;

returntrue;

}

returnfalse;

};

ev->onTouchEnded=
[&](Touch*pTouch,Event*){

Vec2pt=
pTouch->getLocation()-
pTouch->getStartLocation();

_C->getPhysicsBody()->setVelocity(Vec2(pt));

};

}

}

PhysicsJoint的更多相关文章

  1. cocos2d-x快乐的做让人快乐的游戏3:cocos-2d 3.x中的物理世界

    Cocos2d-x 3.0+ 中全新的封装的物理引擎给了开发人员最大的便捷,你不用再繁琐与各种物理引擎的细节,全然的封装让开发人员能够更快更好的将物理引擎的机制加入�到自己的游戏中,简化的设计是从2. ...

  2. cocos2d-x 3.x 物理碰撞机制

    近期又弄了物理引擎.写一下吧,以下有在其它博客学习到的知识.加上自己的理解,总结下. cocos2d-x 3.X 中全新的封装的物理引擎给了开发人员最大的便捷,你不用再繁琐与各种物理引擎的细节,全然的 ...

  3. Cocos2d-x 2.x 升级为 3.x 常见变化纪录

    1.去CC 之前2.0的CC**,把CC都去掉,主要的元素都是保留的 2.0 CCSprite  CCCallFunc CCNode .. 3.0 Sprite CallFunc Node .. 2. ...

随机推荐

  1. 微信小程序开发小记

    年前的时候,因为公司开发小程序的人员不够,临时参与了一个项目中几个小模块的开发,这里做个简单的小记录,眼过千篇不若手过一遍,希望将来如果要用到时不至于大脑空白! 开发工具:wechat_devtool ...

  2. 顺序或者说优先级的重要性---解决dom生成问题有感

    我们的大脑有逻辑,程序也有逻辑,只要一切都刚刚好,那么我们大脑的逻辑和程序的逻辑是没有冲突的:但是,有时候,我们想当然,只顾自己头脑中的逻辑,而随意臆想程序的逻辑,这个时候,就会有很多我们觉得不可思议 ...

  3. scrapy爬取数据进行数据库存储和本地存储

    今天记录下scrapy将数据存储到本地和数据库中,不是不会写,因为小编每次都写觉得都一样,所以记录下,以后直接用就可以了-^o^- 1.本地存储 设置pipel ines.py class Ak17P ...

  4. 对于IO流的个人理解

    Samuel 2018-04-21 在这之前,我给你们构造这样一个生活用水的场景: 人们日常生活需要生活用水,那么,水从哪里来呢? 大家都学过初中的物理常识,水在地表,通过蒸发,变成水蒸气去到空中,在 ...

  5. Words to Use Instead of "Very"

  6. [Codeforces 919F]A Game With Numbers

    Description 题库链接 两个人 Van♂ 游戏,每人手上各有 \(8\) 张牌,牌上数字均为 \([0,4]\) 之间的数.每个人在自己的回合选自己手牌中数字不为 \(0\) 的一张与对方手 ...

  7. [NOI 2010]航空管制

    Description 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此,小X表示很不满意. 在这次来烟台的路上 ...

  8. [SCOI 2010]字符串

    Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgw ...

  9. hdu 5830 FFT + cdq分治

    Shell Necklace Time Limit: 16000/8000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  10. 5分钟快速打造WebRTC视频聊天

    百度一下WebRTC,我想也是一堆.本以为用这位朋友( 搭建WebRtc环境 )的SkyRTC-demo 就可以一马平川的实现聊天,结果折腾了半天,文本信息都发不出去,更别说视频了.于是自己动手. 想 ...