Cocos2d iphone 创建ccsprite并将其用作绳索
我有一个轮胎在我的屏幕上,我想有一条绳子连接到轮胎的顶部和屏幕的顶部。我已经将物理融入了我与chipmunk+spaceManager的游戏中,所以我需要了解绳子对物理的反应。我只需要它在被击中时能随着轮胎前后移动。我使用了一个cpConstraintNode来绘制一条线,并将其作为一条绳子使用到这一点,但是我所看到和研究的一切,都无法将CCSprite附加到约束。所以我的问题是,我该如何制作这根绳子,让它在移动时的反应与轮胎相同?下面是我用约束完成的代码:我正在使用cocos2d和chipmunk+spaceMangerCocos2d iphone 创建ccsprite并将其用作绳索,cocos2d-iphone,chipmunk,Cocos2d Iphone,Chipmunk,我有一个轮胎在我的屏幕上,我想有一条绳子连接到轮胎的顶部和屏幕的顶部。我已经将物理融入了我与chipmunk+spaceManager的游戏中,所以我需要了解绳子对物理的反应。我只需要它在被击中时能随着轮胎前后移动。我使用了一个cpConstraintNode来绘制一条线,并将其作为一条绳子使用到这一点,但是我所看到和研究的一切,都无法将CCSprite附加到约束。所以我的问题是,我该如何制作这根绳子,让它在移动时的反应与轮胎相同?下面是我用约束完成的代码:我正在使用cocos2d和chipmu
//The "rope"
cpVect a1 = cpv(0,30); //Local coordinates of tire
cpVect a2 = cpv(70,320); //World coordinates (staticBody is at (0,0))
//calculate the length of the rope
float max = cpvdist(cpBodyLocal2World(upper->body, a1), a2);
cpConstraint *rope = [game.spaceManager addSlideToBody:upper->body fromBody:game.spaceManager.staticBody toBodyAnchor:a1 fromBodyAnchor:a2 minLength:1 maxLength:max];
cpConstraintNode *ropeNode = [cpConstraintNode nodeWithConstraint:rope];
ropeNode.color = ccBLUE;
这提供了一种使用Verlet集成在Cocos2D中绘制绳索的好方法
唯一的缺点是该示例使用Box2D。但是代码可以移植到chipmunk。如果你想使用github上的VRope项目来集成VRope和chipmunk,我已经创建了一个新的分支来实现这一点。您可以在以下网址找到: 使用它的一个例子是: 创作
pinPointJoint =
cpSlideJointNew(body,
body2,
body.anchorPoint,
body2.anchorPoint,
minimumLength,
maximumLength);
cpSpaceAddConstraint(space, pinPointJoint);
rope = [[VRope alloc] init:pinPointJoint batchNode:ropeBatchNode];
更新
[rope update:delta];