【发布时间】:2014-03-04 09:21:49
【问题描述】:
我想在 iOS7 的 Spritekit 游戏中使用嵌套 SKScene 中的节点模拟物理。 但它不像它应该的那样工作。 将子场景添加到主场景后,将物理体从子场景添加到对象不会引发错误,但它似乎无法正常工作。 子场景中的 phsics 不起作用。 有没有更好的方法将静态世界与动态对象分开?
例如: 我有第一个主要场景:
@interface MyScene : SKScene
// ...
@end
@implementation MyScene
-(id)initWithSize:(CGSize)size {
// ... setup blabla
// first object
SKSpriteNode *obj1 = [SKSpriteNode spriteNodeWithImageNamed:@"obj1"];
obj1.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:obj1.size.height / 2];
// ... obj1.physicsBody setup with collisionBitMask
[self addChild:obj1];
// New SKScene with second Object
World *world = [[World alloc] initWithSize:size];
[self addChild:obj1];
[world addObjects];
}
@end
和世界 SKScene 类:
@interface World : SKScene
// ...
@end
@implementation World
-(void)addObject{
// second object
SKSpriteNode *obj2 = [SKSpriteNode spriteNodeWithImageNamed:@"obj2"];
obj2.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:obj2.size.height / 2];
// ... obj2.physicsBody setup with collisionBitMask and dynamic = no
[self addChild:obj2];
}
@end
【问题讨论】:
标签: objective-c ios7 sprite-kit game-physics