1
我有一個SpriteNode類,它在主場景中旋轉時旋轉非常寬(就像錨點位於屏幕中間,Sprite圍繞它旋轉一樣) 。我想讓它圍繞主場景(Sprite上的錨點)自身的錨點旋轉。SpriteNode類在場景中不能正確旋轉
所以在課堂上,我有一些像下面
- (void)createChainWithPos:(CGPoint)pos {
SKTexture *myTex...
SKTexture *myTex2...
SKSpriteNode *chainFront = [SKSpriteNode spriteWithTexture:myTex];
chainFront.position = pos;
chainFront.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:mytex.size];
[self addChild:chainFront];
[_chainParts addObject:chainFront];
SKSpriteNode *chainSide = [SKSpriteNode spriteWithTexture:myTex2];
chainSide.position = CGPointMake(chainFront.position.x, chainFront.position.y - chainSide.size.height + 6);
chainSide.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:myTex2.size;
[self addChild:chainSide];
[_chainParts addObject:chainSide];
}
我有一個循環創建主文件鏈部分,但不能把它旋轉,以便在新的項目中剝離下來。實際上有4個鏈條部件,但我只做了兩個。另外兩個是剛剛超過他們的位置鏡像chainSide的那些的鏡像。(他們定位在喜歡時尚連鎖)
,並在現場
self.chain1 = [chain node];
[self.chain1 createChainWithPos:CGPointMake(self.size.width/2, self.size.height/2);
self.chain1.zRotation = 3.14/4;
[self addChild:self.chain1];
我在鏈類有一個的NSMutableArray標題,我用來舉行鏈。
物理關節
for (int i = 1; i < self.chain1.chainParts.count; i++ {
SKSpriteNode *nodeA = [[self.chain1 chainParts]objectAtindex:i-1];
SKSpriteNode *nodeB = [[self.chain1 chainParts]objectAtindex:i];
SKPhysicsJointPin *pin = [SKPhysicsJointPin jointWithBodyA:nodeA.physicsBody
bodyB:nodeB.physicsBody
anchor:CGPointMake(CGRectGetMidX(nodeA.frame), CGRectGetMinY(nodeA.Frame))];
}
我發現,如果我設置在類中間的鏈的位置,它在場景正確旋轉。然而,物理關節剛開始在屏幕上隨機移動,並且對錨點集合不正確。 (物理關節設置在場景中)
我不知道是否必須轉換座標或玩隨機錨點位置,但如果有人可以擺脫一些光,如果將不勝感激。
好吧,我明白了......絕對會試試這個。謝謝你的幫助! –