我對SpriteKit有點新了,而且我在物理上遇到了一些麻煩,我嘗試了很多事情來讓SKSpriteNode用力或衝動移動,但它永遠不會移動,只有重力影響它,當我設置它。iOS - SpriteKit:ApplyImpulse無法在SKSpriteNode上工作
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
self.anchorPoint = CGPointMake(0.5, 0.5);
myWorld = [SKNode node];
[self addChild:myWorld];
SKSpriteNode* map = [SKSpriteNode spriteNodeWithImageNamed:@"grass"];
[myWorld addChild:map];
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:map.frame];
self.physicsBody.friction = 0.0f;
self.physicsBody.categoryBitMask = 2;
self.physicsWorld.gravity = CGVectorMake(0.0, 0.0);
self.physicsWorld.contactDelegate = self;
pointOfView = [SKSpriteNode spriteNodeWithColor:[UIColor colorWithWhite:1 alpha:0.2] size:CGSizeMake(300, 548)];
[myWorld addChild:pointOfView];
pointOfView.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:pointOfView.frame.size];
pointOfView.physicsBody.friction = 0.0f;
pointOfView.physicsBody.restitution = 1.0f;
pointOfView.physicsBody.linearDamping = 0.0f;
pointOfView.physicsBody.allowsRotation = NO;
pointOfView.physicsBody.collisionBitMask = 2;
pointOfView.physicsBody.categoryBitMask = 3;
[pointOfView.physicsBody applyImpulse:CGVectorMake(10.0f, -10.0f)];
}
return self;
}
這裏是我的大部分代碼在我的主場景,有沒有其他的像除外或更新一些的touchesBegan空的方法..我缺少的東西?我已經嘗試了很多東西,我開始失去它了哈哈
非常感謝您的幫助!
你寫了錯誤的代碼,你的pointOfView不受重力影響,你只是在它上面應用一個小的impusle。 – dragoneye 2014-10-17 05:31:18