最近私のプロジェクトを普遍的なアプリケーションに変換しました。 iPhoneとiPadバージョンのすべてが正しく配置されています(上下に黒いバーがありますが、これは問題ではありません)。 iPad 2では、HUDノードが125ポイントだけシフトアップされています。私はなぜこれがiPad 2で起こっているのか分かりませんが、iPad Air 2ではありません。他に誰かがこのような問題を抱えていましたか?ノードがiPad 2上で間違った位置にある
私は、コード内のデバイスの正確なモデルを確認することで問題を解決しようとしていますが、いくつかの問題が発生しています。私はUIDevice.current.model
(と他の変種)を使ってみましたが、 "iPhone"か "iPad"のどちらかが返されます。私はこれを別の方法で行う方法を説明している他のポストを見つけましたが、それはまだ動作していません。誰かがデバイスの特定のモデルを見つける別の方法を持っているので、そのデバイスのノードを調整できますか?私はswift 3.0を使用していますが、構文がバージョンからバージョンへかなり変更されているようです。ここで
は、私は(今のところ運なしで)やろうとしていたものへのリンクです:iOS: How to determine the current iPhone/device model in Swift?
プロジェクト設定では、Universalと表示されます。私はシーンエディタ(.sksファイル)にレベルを作成し、Level1(fileNamed: "Level1") 'のようなレベルのインスタンスを作成し、viewDidLoadではシーンのサイズを' self.scene ?.size = CGSize(width:1334、height:750) 'とし、scaleModeを' self.scene?.scaleMode = .aspectFit'のように設定します。私はHUDの基底を、他のノードと同じように、1334,750のテクスチャ、クリアカラー、サイズのSKSpriteNodeとして作成し、anchorPointとpositionを設定してcameraNodeに追加します。 2つのデバイスのアスペクト比が同じではありませんか? – claassenApps
Level1.sksファイルにシーンサイズを指定する必要があります。手動で作成する必要はありません。 – Knight0fDragon
はい、そうではありませんが、何かが起こっていますが、おそらくretina gfx、iPad 2 '(@ 1x' gfx、iPad Air 2は' @ 2x' gfx – Knight0fDragon