2014-01-08 80 views
1

在我的遊戲中我有一個塊精靈。有了這個精靈,我製作了一個塊體,這樣我的角色就​​無法穿過它了。使用精靈的多個機構

cocos2d::CCSprite* block = cocos2d::CCSprite::create("Block.png"); 
block->setPosition(ccp(5,20)); 
this->addChild(block); 

b2BodyDef blockbodydef; 
blockbodydef.type = b2_kinematicBody; 
blockbodydef.position.Set(5/PTM_RATIO,20/PTM_RATIO); 
blockbodydef.userData = block; 
b2Body *blockbody = world->CreateBody(&blockbodydef); 
b2PolygonShape blockPoly; 
blockPoly.SetAsBox(37.5/PTM_RATIO , 37.5/PTM_RATIO); 
b2FixtureDef blockshapedef; 
blockshapedef.shape = &blockPoly; 
blockshapedef.density = 2.0f; 
blockshapedef.friction = 0.2f; 
blockshapedef.restitution = 0.8f; 
blockbody->CreateFixture(&blockshapedef); 

但是,我想有多個這些塊。有沒有一種方法可以改變bodydef和sprite的位置,而不會使原始精靈消失,或者我必須爲每個塊創建一個不同的精靈?

+0

你必須爲每個塊使用多個精靈 – Singhak

回答

0

您必須爲另一個塊創建另一個精靈。紋理被緩存在cocos2dx中,所以它只會從文件中加載一次。