プレイヤーがオブジェクトにめり込まないように移動を制限している部分が、ステージが停止しているときは問題ないのだが、ステージが動いているときはちょっとズレが定期的に出てきてカクつくように見えてしまう。
スクロールしているときの座標の取得が間違っているようなので調査中。
Visual Studioのデバッガのようにステップ実行しながら変数の値をチェックできればよいのだが、まだJavaScriptではそのような環境を用意していない。
まず、JavaScriptでのデバッガの使い方から学んだほうが良いかも。