You already changed the if statement to "if (firstSwipe == true)" right?
It's not clear to me whether (A) firstSwipe is changing before it's supposed to; before the first swipe is detected or (B) firstSwipe is working properly, but the code for falling is being run when it should not be run because you have some other condition you want to wait for like the first jump is complete.
Do you know which one is going on? A is probably a mistake in syntax somewhere, B is a mistake in design. I'd add two NSLogs to find out which it is:
Code:
//put this at the top of your game update method;
//the one triggered by the timer.
NSLog (@"firstSwipe is : %d", firstSwipe);
//put this inside the if statement that makes you fall.
NSLog (@"falling now!");
And yes, you can loop through all of the blocks in an array with a for loop
Code:
for (UIImageView *block in stoppedBlocks){
//do something to "block"
//it will loop through all of the blocks in stoppedBlocks.
}