vendredi 31 juillet 2015

Spritekit how to add multiple .plist parameters in object call method. [self addTrampoline: CGPointFromString(level[@"trampolinePosition"])];

--> .plist file containing level parameters for trampoline object

  level3.plist file
        --Root                          Dictionary        
        ---trampoline                   Dictionary
        ----trampolineAffectedByGravity Boolean      YES
        ----trampolinePosition          String       {400,355}

--> setup method, load the .plist file but cant seem to add new parameters to call method [self addTrampoline... need to add trampolineAffectedByGravity and trampolinePosition

- (void)setupLevel:(int)levelNum
    {
        //load the plist file
        NSString *fileName = [NSString stringWithFormat:@"level%i",levelNum];
        NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"plist"];
        NSDictionary *level = [NSDictionary dictionaryWithContentsOfFile:filePath];
        [self addTrampoline: CGPointFromString(level[@"trampolinePosition"])]; 
    }

    -(void)addTrampoline:(CGPoint)pos affectedByGravity:(BOOL)affectedByGravity
    {
        trampoline = [SKSpriteNode spriteNodeWithImageNamed:@"drums0.png"];
        trampoline.position = pos;
        trampoline.name = trampolineCategoryName;
        trampoline.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:trampoline.size];
        trampoline.physicsBody.affectedByGravity = affectedByGravity;
        trampoline.physicsBody.dynamic = NO;
        trampoline.physicsBody.restitution = 1.0;
        trampoline.physicsBody.friction = 0.0;
        trampoline.physicsBody.linearDamping = 0.0;
        trampoline.physicsBody.angularDamping = 0.0;
        trampoline.physicsBody.categoryBitMask = trampolineCategory;
        trampoline.physicsBody.collisionBitMask = ballCategory;
        [_gameNode addChild:trampoline];
    }

Aucun commentaire:

Enregistrer un commentaire