RokCoder RokCoder loading
You're checking for the player's x position to be exactly the same as that of the spike. This is unlikely to happen because the acceleration you're using on the player means his x position is rarely going to be an integer. You should check for the player being approximately the same x position as the spike. Instead of -

if <([x position v] of [Player v]) = (x position)> then

Use -

if <([abs v] of (([x position v] of [Player v]) - (x position))) < (4)> then

This will return true if the player's x position is within 4 pixels to either side of a spike.

Another problem that came to light was that the spikes sometimes don't appear at all on the second screen. This happens if you hit the green flag the player is on the second screen. The reason for this is that the green flag code in the Danger sprite is running before the green flag code in the Player sprite. The Danger sprite sees that m#=2 and creates the spikes but the Player sprite then changes m# to 1 (removing the spikes which won't be created again).

The quick and nasty fix is to add a short pause at the beginning of the green flag block in the Danger sprite.

The correct way is to only have one green flag block in the project which broadcasts Initialise to set everything up and then broadcasts Play to start the game (or something structured along those lines)