VSYNCの位置はループの最初と最後のどちらでも良いのですが…… 確かBUTTON関数の戻り値が更新されるにはVSYNCなどの呼び出しが必要らしいので、今回の場合だとサブループのBボタンで戻った後、メインループの終了まで一気に処理が進んだものだと思います。 ちなみに私は最初にVSYNCを呼ぶ派です。(大事な事は先に呼ぶと安心。ただそれだけ)