2020年1月22日水曜日

SpriteKit で SKPhysicsBody の texture の形がおかしくなってしまったときの対処方法

概要

原因不明なのですが突如として SKPhysicsBody(texture: texture, size: texture.size()) で作成した物理ボディがなぜか指定した画像の形通りに動作しない場合の対処方法です
かなり一時的な対応ですが何とか対応できたので紹介します

環境

  • macOS 10.15.2
  • Xcode 11.3.1

解決策

png 画像を一旦削除して再度プロジェクトに取り込む

Xcode のプロジェクト内で管理している画像ファイルを一旦すべて削除します
そして、Finder などから再度画像を取り込むみビルドすることで SKPhysicsBody が正常に動作することが確認できました
バグのような挙動ですが解決しない場合はやってみる価値はあると思います

気づいたきっかけ

同じ画像を使って別の新規プロジェクトで同じ SKPhysicsBody の与え方をしたところ正常に動作するのを確認できたので既存のプロジェクト側に何かしら問題があるだろうと気づきました

しかし全く同じコードなのに物理ボディの挙動が違いなぜだろうと悩んだ結果「もしかしたら画像自体がおかしいのかも」ということでリフレッシュしてみたら直った感じです

もしかするとキャッシュなども影響しているのかもしれません

0 件のコメント:

コメントを投稿