本文整理汇总了C++中CCPhysicsSprite::setPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ CCPhysicsSprite::setPosition方法的具体用法?C++ CCPhysicsSprite::setPosition怎么用?C++ CCPhysicsSprite::setPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCPhysicsSprite
的用法示例。
在下文中一共展示了CCPhysicsSprite::setPosition方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ccr
KDvoid TestBox2D::addNewSpriteWithCoords ( const CCPoint& tPosition )
{
// Define the dynamic body.
//Set up a 1m squared box in the physics world
b2BodyDef tBodyDef;
tBodyDef.type = b2_dynamicBody;
tBodyDef.position.Set ( tPosition.x / PTM_RATIO, tPosition.y / PTM_RATIO );
//tBodyDef.userData = sprite;
b2Body* pBody = m_pWorld->CreateBody ( &tBodyDef );
// Define another box shape for our dynamic body.
b2PolygonShape tDynamicBox;
tDynamicBox.SetAsBox ( 0.5f, 0.5f );
// Define the dynamic body fixture.
b2FixtureDef tFixtureDef;
tFixtureDef.shape = &tDynamicBox;
tFixtureDef.density = 1.0f;
tFixtureDef.friction = 0.3f;
pBody->CreateFixture ( &tFixtureDef );
CCNode* pParent = this->getChildByTag ( kTagParentNode );
// We have a 64x64 sprite sheet with 4 different 32x32 images. The following code is
// just randomly picking one of the images
KDint nOffsetX = ( CCRANDOM_0_1 ( ) > 0.5f ? 0 : 1 );
KDint nOffsetY = ( CCRANDOM_0_1 ( ) > 0.5f ? 0 : 1 );
CCPhysicsSprite* pSprite = CCPhysicsSprite::createWithTexture ( m_pSpriteTexture, ccr ( 32 * nOffsetX, 32 * nOffsetY, 32, 32 ) );
pParent->addChild ( pSprite );
pSprite->setB2Body ( pBody );
pSprite->setPTMRatio ( PTM_RATIO );
pSprite->setPosition ( tPosition );
}
示例2: addPhysicSprite
void HelloWorld::addPhysicSprite() {
#if CC_ENABLE_CHIPMUNK_INTEGRATION
// Use batch node. Faster
CCSpriteBatchNode *parent = CCSpriteBatchNode::create(s_SpinPea, 100);
m_pSpriteTexture = parent->getTexture();
addChild(parent, 100, kTagParentNode);
CCPoint pos = ccp(200,200);
int posx, posy;
CCNode *parent = getChildByTag(kTagParentNode);
posx = CCRANDOM_0_1() * 200.0f;
posy = CCRANDOM_0_1() * 200.0f;
posx = (posx % 4) * 85;
posy = (posy % 3) * 121;
int num = 4;
cpVect verts[] = {
cpv(-24,-54),
cpv(-24, 54),
cpv( 24, 54),
cpv( 24,-54),
};
cpBody *body = cpBodyNew(1.0f, cpMomentForPoly(1.0f, num, verts, cpvzero));
body->p = cpv(pos.x, pos.y);
cpSpaceAddBody(m_pSpace, body);
cpShape* shape = cpPolyShapeNew(body, num, verts, cpvzero);
shape->e = 0.5f; shape->u = 0.5f;
cpSpaceAddShape(m_pSpace, shape);
CCPhysicsSprite *sprite = CCPhysicsSprite::createWithTexture(m_pSpriteTexture, CCRectMake(posx, posy, 85, 121));
parent->addChild(sprite,50);
sprite->setCPBody(body);
sprite->setPosition(pos);
#endif
}
示例3: addNewSpriteAtPosition
void ChipmunkTestLayer::addNewSpriteAtPosition(CCPoint pos)
{
#if CC_ENABLE_CHIPMUNK_INTEGRATION
int posx, posy;
CCNode *parent = getChildByTag(kTagParentNode);
posx = CCRANDOM_0_1() * 200.0f;
posy = CCRANDOM_0_1() * 200.0f;
posx = (posx % 4) * 85;
posy = (posy % 3) * 121;
int num = 4;
cpVect verts[] = {
cpv(-24,-54),
cpv(-24, 54),
cpv( 24, 54),
cpv( 24,-54),
};
cpBody *body = cpBodyNew(1.0f, cpMomentForPoly(1.0f, num, verts, cpvzero));
body->p = cpv(pos.x, pos.y);
cpSpaceAddBody(m_pSpace, body);
cpShape* shape = cpPolyShapeNew(body, num, verts, cpvzero);
shape->e = 0.5f; shape->u = 0.5f;
cpSpaceAddShape(m_pSpace, shape);
CCPhysicsSprite *sprite = CCPhysicsSprite::createWithTexture(m_pSpriteTexture, CCRectMake(posx, posy, 85, 121));
parent->addChild(sprite);
sprite->setCPBody(body);
sprite->setPosition(pos);
#endif
}