Sprite Seti ile pim eklemlerini test ediyorum ve olağandışı bir şey buluyorum.Sprite Takımı pin eklemlerinin yanlış bir ankrajı var gibi görünüyor
İstenilen kurulum şudur: bir geniş, düz kutu ve iki daire; Daireler SKPhysicsPinJoints ile kutuya bağlanır, böylece tekerlek gibi davranabilirler.
İşte kodum. Ben mümkün olduğunca kısa ve öz olmasını sağlamaya çalıştık:
- (SKNode*) createWheelWithRadius:(float)wheelRadius {
CGRect wheelRect = CGRectMake(-wheelRadius, -wheelRadius, wheelRadius*2, wheelRadius*2);
SKShapeNode* wheelNode = [[SKShapeNode alloc] init];
wheelNode.path = [UIBezierPath bezierPathWithOvalInRect:wheelRect].CGPath;
wheelNode.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:wheelRadius];
return wheelNode;
}
- (void) createCar {
// Create the car
SKSpriteNode* carNode = [SKSpriteNode spriteNodeWithColor:[SKColor yellowColor] size:CGSizeMake(150, 50)];
carNode.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:carNode.size];
carNode.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
[self addChild:carNode];
// Create the left wheel
SKNode* leftWheelNode = [self createWheelWithRadius:30];
leftWheelNode.position = CGPointMake(carNode.position.x-80, carNode.position.y);
[self addChild:leftWheelNode];
// Create the right wheel
SKNode* rightWheelNode = [self createWheelWithRadius:30];
rightWheelNode.position = CGPointMake(carNode.position.x+80, carNode.position.y);
[self addChild:rightWheelNode];
// Attach the wheels to the body
CGPoint leftWheelPosition = leftWheelNode.position;
CGPoint rightWheelPosition = rightWheelNode.position;
SKPhysicsJointPin* leftPinJoint = [SKPhysicsJointPin jointWithBodyA:carNode.physicsBody bodyB:leftWheelNode.physicsBody anchor:leftWheelPosition];
SKPhysicsJointPin* rightPinJoint = [SKPhysicsJointPin jointWithBodyA:carNode.physicsBody bodyB:rightWheelNode.physicsBody anchor:rightWheelPosition];
[self.physicsWorld addJoint:leftPinJoint];
[self.physicsWorld addJoint:rightPinJoint];
}
Ne bekliyorum pim eklemler kendi merkez noktalarında demirlemiş olmasıdır; Ancak, bunu test ettiğimde, eklemler için ankrajların uzak olduğu anlaşılıyor.
Gerçekten belirgin bir şey eksik mi?
Güzel bir örnek, TVC'nizde, numberOfSectionsInTableView öğesini ve numberOfRowsInSection değerini bildirebilir, sadece [_dataSourceArray count] kullanın. Güzel bir örnek, [head.physicsBody applyTorque: 0.2] eklemelisiniz; Farkı sabit bağlantıya göstermek için pime katılmak. İyi iş - paylaşım için teşekkürler. – DogCoffee
Teşekkür ederim Smick .. Örneği güncelledik. Ancak, TVC bu şekilde kodlanır, çünkü iki bölümden oluşur. Araba örneğinizi Ortak Tip olarak ekleyemedim. :) Bu örnek farklı bir bölüme konur. – Bavan
Şimdi bir örnekte araba göremiyorum, hala sadece eklem listesi vardır. Tüm test kodumu TVC - cool fikrine koyacağım! – DogCoffee