SpriteKitでテクスチャー同士の間に隙間が空いてしまう。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザーSpriteKitでテクスチャー同士の間に隙間が空いてしまう。157件0お世話になります。textureとして、不透明な四角いpng画像を使っています。並んだ時に<画像1>のように隙間が空いてしまいます。//...}「Frame_right」はグリーンの縁の部分の画像です。個の銅バッジあなたが貼り付けられたpng画像を使用して、画面上に2個のSKSpriteNodeを並べて、重量任せに落っことしたのですが、細い黒い筋が見えているものの(物理計算の誤差のせいでしょうか?)、あなたの画面キャプチャーにあるような状態は再現できませんでした。画像のような状態を再現するのに必要十分なコードとなるようギリギリまでコードを絞り込んだ上で、コード全体をお示しいただくことはできるでしょうか。12:19ご回答ありがとうございます!質問にコードを追加しました。14:27コードのご提示ありがとうございます。私としては画像情報(texture)から輪郭を検出する際の誤差が1point程度出るようなアルゴリズムを使用しているのではないかと思うのですが、残念ながら確実なことはわからず、誤差を小さくして精度を高めるようなパラメーターも発見できませんでした。直接の回答とは言えないので申し訳ないのですが、「誤差」を小さくするためのヒント等を回答の形にまとめさせていただきますので、ご覧おきください。票1コメントに示しましたが、SKPhysicsBody.init(texture:size:)が内部的に使用する輪郭抽出のアルゴリズムでは1point程度の誤差が出るようになっているのではないかと思います。画像データの中身が真四角であれば、もう少し精度の高い検出ができそうにも思いますが、そう言う場合にはSKPhysicsBody.init(rectangleOf:)を使うべきなので、特殊な場合の結果だけ最適化するようなことはしていないのだと思われます。(「思います」「思われます」ばかりで申し訳ありません。)さて、少し精度を高めるための工夫ですが、Ballについては以下のようなコードを試してみてください。}元画像サイズは200x200ですから、その画像で1point程度の誤差が出ても、表示サイズの30x30まで縮小すれば、誤差も縮小され目立たなくなると言うのを狙っています。(目立たなくしたせいというよりも物理計算の限界ですが、最初のコメントに示したような「細い黒い筋」は残ってしまうかもしれません。)なお、物理形状が長方形とわかっているならSKPhysicsBody.init(rectangleOf:)を、円形とわかっているならSKPhysicsBody(circleOfRadius:)を使用した方が、一般的には高速かつ高精度に物理形状を表すことができます。sprite_leftとsprite_rightについては画像データがないので試していませんが、こちらも長方形だとわかっているのであれば、SKPhysicsBody.init(rectangleOf:)を使ったり、長方形の組み合わせなのであれば、SKPhysicsBody.init(bodies:)を使うと言う手もあります。最終的にはどのようなやり方があなたの目的に一番合うのかはわかりませんが、お試しください。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。spritekitでノードが表示されない1spritekitでのノードのランダムな動き0SpriteKitのノードをボタンにしてカメラを使いたい1storyboardの遷移でエラーが出ます。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。