My solution is easy. Code for 30FPS.
My game logic and drawing update at 30FPS, which gives me a 33ms window to do everything. If it takes longer than this, then all my calculations are adjusted to compensate so that everything still moves at the same speed; everything from sprite movement/alpha to audio triggers/fades.
My game logic and drawing update at 30FPS, which gives me a 33ms window to do everything. If it takes longer than this, then all my calculations are adjusted to compensate so that everything still moves at the same speed; everything from sprite movement/alpha to audio triggers/fades.