問題タブ [skview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
138 参照

ios - iPhone 5s SpriteKit の描画の奇妙な点

iPhone 5s のピクセル解像度は 640 x 1136 で、ポイント解像度は 320 x 568 (非 Retina デバイスとの後方互換性のため) であることを理解しています。

SpriteKit を使用しているときに、問題/混乱/奇妙さが発生するようです。例:

左下隅 (0, 0) から右上隅 (幅、高さ) まで線を引いています。その結果、線は半分近く引かれました。実際、画面サイズを印刷すると、320 x 568 になるはずです。したがって、(0, 0) から (幅 * 2、高さ * 2) に描画することにしました。そしてもちろん、これは 640 x 1136 で印刷されました。

奇妙な点は次のとおりです。対角線であるべきものから角まで描いているのに、実際には角から角まで描かれていません。

ノート:

ここで何が起こっているのですか? ここに画像の説明を入力

0 投票する
2 に答える
627 参照

memory-leaks - コレクション ビュー セルの SpriteKit でのメモリ リーク

UICollectionView の UICollectionViewCell でアニメーションを行うために SpriteKit を使用しています。シーンには、SKAction を使用してアニメーション化する 1 つのスプライトがあります。各セルの contentView には、独自の SKView/SKScene があります。メモリリークが発生しています。Xcode 6.3 の Allocations Instrument でこれを見ると、新しいセルごとに、1 MB を超える割り当てのペアがあり、1 つは「SKView set_context」に起因し、もう 1 つは allocateWCMemory GLEngine に起因することがわかります。

各 UICollectionViewCell 内では、かなり標準的なものです。他の (アニメーションとは関係のない) UIView サブビューを作成し、それらを contentView に追加しています。

奇妙でおそらく関連していることの 1 つは、UICollectionViewCell の deinit メソッドが一貫して呼び出されないことです。

考え?

アップデート:

1) これはアニメーションに直接関係しているようで、コレクション ビューにはあまり関係していないようです。コードのアニメーション部分をオフにするだけでは、メモリ リークは発生していないようです。または、少なくともそれほど多くのメモリがリークしていません。この場合、SKScene/SKView は引き続き (コレクション ビュー セルごとに) 割り当てられますが、スプライトをアニメーション化しません。また、この場合、アニメーションを無効にすると、すべての割り当て解除ブレークポイントがヒットするはずの場所 (UICollectionViewCell deinit メソッドなど) にヒットすることも付け加えておく必要があります。

2) アニメーションを再度追加しましたが、1 サイクルだけ実行します。私は繰り返しアニメーションを行っていました(同じアニメーションを繰り返し、タイマーで制御します)。一度だけ実行して停止すると、メモリリークは発生しません。したがって、問題はアニメーションの繰り返しに起因しているようです。

0 投票する
1 に答える
236 参照

macos - SKView で frameInterval を設定しても機能しないのはなぜですか?

フレームレートを最大 30 FPS に下げようとしています。公式ドキュメントには、次を使用するように記載されています。

利用可能なすべてのドキュメントと、ここでスタックオーバーフローまたは他のページ/ブログ/などで尋ねられた同様の質問をすべて読みました。私は非常に多くの方法でそれを試しましたが、プロパティを設定しようとしても、FPS には影響しませんでした。

SpriteKit 以外のタイミング メカニズムは使用していません。ドキュメントとStackoverflowの回答に応じて設定しています。

Xcode で提供されている基本的な SpriteKit テンプレートを起動して、フレーム レート プロパティを設定しようとしましたが、それでもうまくいきませんでした。

誰かが類似点を経験していますか? 最大 fps を減らす別の方法はありますか? FPS を下げるには他に何ができますか?

ところで: 私は OS X で作業しており、第 1 世代の Retina Macbook Pro を持っています。ハードウェアの問題でしょうか?

編集:

メソッドをオーバーライドしていません-(void)update:-のみ-(void)didSimulatePhysics

これは、Interface Builder で設定した NSViewController サブクラスで行うことです。私のサブクラスself.spriteKitViewへのアウトレットですNSViewNSViewController

これを SKScene-Subclass に入れて、Interface Builder 内のユーザー プロパティとして SKView にアタッチしようとさえしました。

どうすればうまくいきませんか?私のゲームと Xcode テンプレートの両方で、デバッグ出力に 60 FPS と表示されます。アニメーションを減らしskView.frameInterval = 4てもスムーズです。

0 投票する
2 に答える
1607 参照

ios - UIViewをSKViewにキャストすると、スレッド1シグナルSIGABRTクラッシュ

GameViewController.swift に次のコードがあります。

次のメッセージでクラッシュしlet currentView = self.view as! SKView.ます。

タイプ 'UIView' (0x1079b7e88) の値を 'SKView' (0x106b79718) にキャストできませんでした

同様の質問が提起されましたが、彼らの解決策は絵コンテにありました。ストーリーボードはなく、コードだけです。

0 投票する
1 に答える
329 参照

sprite-kit - Spritekit でビューの一時停止を解除すると、fps が大幅に低下する

SpriteKit でビューの一時停止を解除すると、fps が大幅に低下する (フレームレートが 5 ~ 10 fps に低下する) ことに気付きました。空のプロジェクト (Spritekit ゲーム テンプレート) でこれを試しました。コードは次のとおりです。

シーンを一時停止すると、すべてが期待どおりに機能し、フレームは 60 fps で安定します。これをデバイスでテストしています。

一部のフレームがスキップされるため、一時停止を解除するときにゲームプレイに問題が発生する可能性があります...何が起こっているのか考えていますか?

0 投票する
0 に答える
90 参照

swift - SWIFT: 画面 (SKView) を今すぐ更新

アプリの初期化に時間がかかります。そこで、ユーザー用の画面を作成し、それをユーザーに見せて、計算を続行できるようにします。しかし、単に画面の更新を開始する方法がわかりません。プロセスが終了した場合、それは自動的に行われます。(しかし遅すぎる!) :-)

0 投票する
2 に答える
80 参照

swift - SKView でビューを変更しますか?

ゲームオーバー時にキャラクターが敵と衝突するシーンへの切り替え方を知りたいです。main.storyboard の下にシーンを作成しましたが、コードを介してそれを接続する方法を知りたいです。ボタンを使用して接続する方法しか知りませんが、死ぬときにボタンを押さないので、それは私が探しているものではありませんゲームオーバーのシーンにあなたを連れて行きます。

アップデート:

それが、衝突が検出されたときの私のゲームオーバーです。はい、新しいシーンに移動しますが、main.storyboard で作成したシーンには移動しません。

0 投票する
0 に答える
251 参照

swift - SKScene のコンテナーに関する奇妙な警告

コンソールに奇妙な警告があります:

2015-09-11 19:13:19.966 myApp[2171:693733] |エラー| name:'myScene' frame:{{-160, -240}, {320, 480}} からコンテナー チェーンをたどりましたが、> の順序付けられた子の 1 つであるコンテナーを見つけることができませんでした。

コンパイル中に警告はなく、アプリの実行は問題なく実行され、このメッセージは時々表示されます。

更新 1

Xcode 7 と Swift2 ではまだここにあります