Question

I am trying atm doing a game. I got some problems with the RandomPositioning with the blocks. With my code, the Blocks keep spawning at the same lane very fast. But thats not what I mean to. They should appear like a Mario Game. My Code:

HumanMovement = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(HumanMoving) userInfo:nil repeats:YES];

[self PlaceBlocks];

BlockMovement = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(BlockMoving) userInfo:nil repeats:YES];
}

-(void)BlockMoving{

StartingBlock.center = CGPointMake(StartingBlock.center.x -1, StartingBlock.center.y);
Block1.center = CGPointMake(Block1.center.x -1, Block1.center.y);
Block2.center = CGPointMake(Block2.center.x -1, Block2.center.y);

if ( Block1.center.x > 20) {
    [self PlaceBlocks];
}

}

-(void)PlaceBlocks{

    RandomBlock1Position = arc4random() %568;
    RandomBlock1Position = RandomBlock1Position + 140;
    RandomBlock2Position = RandomBlock2Position + 500;

    Block1.center = CGPointMake(193 , RandomBlock1Position);
    Block2.center = CGPointMake(280 , RandomBlock2Position);


}
Was it helpful?

Solution

So if i understood correctly your blocks should respawn once the reach the left side. In order to do so you have to change your center check position to :

if ( Block1.center.x < 20) {
    [self PlaceBlocks];
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top