您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x Box2d中实现刚体的移动

2014-09-08 20:27 465 查看
用触摸实现刚体的移动,无论触摸到屏幕哪里再移动都可以

paddle = Sprite::create("block.png");
auto paddleBody = PhysicsBody::createBox(paddle->getContentSize(),PHYSICSBODY_MATERIAL_DEFAULT);
paddleBody->getShape(0)->setRestitution(1.0f);
paddleBody->getShape(0)->setFriction(0.0f);
paddleBody->getShape(0)->setDensity(1.0f);
paddleBody->setGravityEnable(false);
paddle->setPhysicsBody(paddleBody);


bool HelloWorld::onTouchBegan(Touch *touch, Event *unused_event){
this->startX=touch->getLocation().x;
this->startY=touch->getLocation().y;
return true;
}

void HelloWorld::onTouchMoved(Touch* touch, Event *unused_event)
{
float mx = touch->getLocation().x-startX;
float my = touch->getLocation().y-startY;
Point touchLocation = this->convertToWorldSpace(this->convertTouchToNodeSpace(touch));
paddle->setPosition(Vec2(paddle->getPosition().x+mx,paddle->getPosition().y+my));
this->startX=touch->getLocation().x;
this->startY=touch->getLocation().y;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: