【发布时间】:2016-06-20 19:06:07
【问题描述】:
我正在尝试使用 iOS SpriteKit 使用内置物理学以编程方式构建钟摆。
目前,我有钟摆枢轴、一个重物和一个允许重物摆动的有限关节……但是,我不知道如何在枢轴和重物之间编写一条线(杆)。
我假设用 SKShapeNode 画一条线将是一个开始...?
-(void)setupPendulum
{
pivot = [SKSpriteNode spriteNodeWithImageNamed:@"pivot.png"];
pivot.position = CGPointMake(self.size.width / 2, self.size.height / 2);
pivot.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:1.0];
pivot.physicsBody.dynamic = NO;
pivot.physicsBody.affectedByGravity = NO;
pivot.xScale = 0.25;
pivot.yScale = 0.25;
[self addChild:pivot];
weight = [SKSpriteNode spriteNodeWithImageNamed:@"weight.png"];
weight.position = CGPointMake(150, 512);
weight.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:100.0];
weight.physicsBody.dynamic = YES;
weight.physicsBody.affectedByGravity = YES;
weight.physicsBody.mass = 0.5;
weight.xScale = 0.75;
weight.yScale = 0.75;
[self addChild:weight];
SKPhysicsBody *ab = pivot.physicsBody;
SKPhysicsBody *bb = weight.physicsBody;
CGPoint ap = pivot.position;
CGPoint bp = weight.position;
SKPhysicsJointLimit *joints = [SKPhysicsJointLimit jointWithBodyA:ab
bodyB:bb
anchorA:ap
anchorB:bp];
[self.physicsWorld addJoint:joints];
}
【问题讨论】:
-
正确,
SKShapeNode是您应该开始的地方。 -
感谢您确认@prototypical,有关我如何正确实现它的任何指导?
-
就我个人而言,我会从 SpriteKit 参考和编程指南开始,了解我想了解的任何内容。 developer.apple.com/LIBRARY/IOS/documentation/GraphicsAnimation/…
-
很抱歉没有为您提供示例解决方案,但问题应该是关于您尝试做但卡住的事情,而不是作为采取正确第一步的替代品。我相信在这个网站上搜索
SKShapeNode example或通过谷歌搜索也会提供一个快速的答案。 -
其实,是的...在向某人提问之前,我总是先查看参考资料。但是,您对查看 SKShapeNode 的指导并没有帮助我找出答案……查看 SKPhysicsJointPin 让我朝着正确的方向前进。
标签: ios sprite-kit