It looks like when the highlighted line runs, the ground shifts right?
When this happens, you'll find that if the treasureFlower is on the floor then it will shift along with the the ground tiles. However, if treasureFlower isn't on the floor (i.e., it is in the air being knocked back) then it will stay where it's at while the ground shifts to x=0.
One way to solve this would be to remove the Solid behavior from the current TiledBackground and then add another sprite to act like the real ground and make it
- Invisible
- Stationary and
- Have the Solid behavior
I've went ahead and did this already bit.ly/1eW6qwf but you'll have to decide whether this works for the rest of your game.