2014-01-16 16 views
5

xcodeのスプライトキットに新しく、SKSpriteNode'sフィジックスボディにインパルスを適用しようとしています。ここ は、私はシーンを作成する方法である:ここではSKSpriteNode物理学の本体にインパルスを適用できません

self.backgroundColor = [SKColor colorWithRed:0 green:0 blue:0 alpha:1.0]; 
     self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame]; 
     self.physicsBody.friction = 0.0f; 
     self.physicsWorld.gravity = CGVectorMake(0.0f, 0.0f); 
     ballCategory = 1; 
     wallCategory = 2; 
     self.physicsBody.categoryBitMask = wallCategory; 

は、私はプレーヤーを作成し、それにその衝撃を与える方法です:私は、次のしてきたので

player = [SKSpriteNode spriteNodeWithImageNamed:filePath]; 
    player.size = CGSizeMake(100, 100); 
    player.position = CGPointMake(150, 250); 
    player.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:player.frame]; 
    player.physicsBody.categoryBitMask = ballCategory; 
    player.physicsBody.collisionBitMask = wallCategory; 
    player.physicsBody.friction = 0.0f; 
    player.physicsBody.restitution = 1.0f; 
    player.physicsBody.linearDamping = 0.0f; 
    player.physicsBody.allowsRotation = NO; 
    [self addChild:player]; 
     CGVector impulse = CGVectorMake(100,100); 
     [player.physicsBody applyImpulse:impulse]; 

は明白なものは、私が行方不明だとありますiOSデベロッパーライブラリスプライトキットプログラミングガイド助けを前にありがとう!

答えて

11

プレイヤーのphysicsBodyをエッジボディとして作成しています。これらは常に静的です(力/衝動によって動かない)。その行を次のように変更する必要があります。

この例では、物理的な力の影響を受ける四角形に基づいた動的ボリュームにしています。あなたは、物理機関のタイプhereを読むことができます。

+0

ありがとうございました –

+9

lady;)うれしくて、幸運を助けてくれました。 – Batalia

関連する問題