マルチタッチで touchesEnded が常に SKScene に配信されるとは限らないことに気付きました。指を離す速度などによっては、一部のタッチを完全に見逃してしまいます。touchesCancelled が実装され、カスタム UIView を追加して画面の左側に配置しました - 問題ありません。カスタム SKView を作成し、イベントをキャプチャしました。これも問題ありません。
SKScene が埋め込まれている SKView のすべての touchesEnded を取得できないことは明らかですが、なぜですか?
(ところで、ノードなしで SKScene を完全に実行しています)
編集:
さらに調査を進めると、SKScene のタッチが完全に失われる可能性があることがわかります。
ディスプレイに 3 本の指を置き、1 本の指だけが触れるまで一度に 1 本ずつ指を離します。指を動かします -> SKView だけが移動イベントを受け取り、SKScene は受け取りません。touchesEnded も受け取りません。
いくつかの実験の後、 touchesBegan が呼び出しで複数のタッチを受信した場合に発生すると言えます (たとえば、2 本の指を「同時に」押す)。これら 2 つのタッチは絡み合うため、そのうちの 1 つだけがイベントを送信します。
これは SKScene のバグのようです。iPhone 5でテストしています。