問題タブ [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 投票する
2 に答える
668 参照

ios - SKView bounds.size がタッチ イベントで反転する (スプライト キット)

次の動作を理解するのを手伝ってください(iOS Sprite Kit)。

以下に示すコードの出力は次のとおりです。

1.skView.bounds.size = 768.00、1024.00

2.skView.bounds.size = 1024.00、768.00

上記のように、幅と高さが 2 つの方法の間で入れ替わっているため、2 番目のシーンが正しい縮尺で表示されません。

私のゲームはランドスケープ モードでのみ実行されます。つまり、実際には、2 番目の幅 x 高さの比率が正しいことを意味します (ただし、シーンを正しいアスペクト比でレンダリングするのは最初のものであり、それ自体が謎です)。 .

この動作を修正する方法を誰か教えてもらえますか? 私は何を間違っていますか?

あらかじめご了承ください。

** 編集: **

@giorashc は、シーンの開始を -(void)viewWillLayoutSubviews メソッドに移動することを提案して私の問題を解決しました。

しかし、私の 2 番目のシーンは引き伸ばされたままです.... 変更後の SKTViewController.m の完全なコードは次のとおりです (2 番目のビューがまだ引き伸ばされている理由は誰にもわかりますか?):

* 編集 2 **

わかりました、これですべてが整理されました。

@giorashc は、シーンの開始を viewWillLayoutSubviews に移動することを提案したとき、すぐに私の問題を解決しました。以前は間違った境界で作業していたので、間違った値で元のシーンを設定しましたが、修正されたので引き伸ばされたように見えました。

でも今は治りました。@giorashc ありがとうございました!!

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

ios - UIVisualEffectView は SKView スーパービューをぼかしません

私は SpriteKit ゲームを書いていますが、SKView にあるぼやけたビューの問題に直面しました。ゲームが一時停止されたときに右からスライドし、iOS 7 のコントロール センター パネルのように親ビュー (SKView) のコンテンツをぼかす必要があります。望ましい外観は次のとおりです。

ここに画像の説明を入力

私が実際に得るものは次のとおりです。

ここに画像の説明を入力

実際、左側のビューは完全な黒ではありません。スーパービューのハイライトがほとんど不透明なサブビューでわずかに苦労している様子がわかりますが、ぼかしは適用されていません。iOS 8 のバグ/機能ですか、それとも私の間違い/誤解ですか?

これが私の UIVisualEffectView サブクラスのエッセンシャルです:

次に GameScene クラスで:

初期化子で:

didMoveToView(ビュー:SKView)で:

一時停止ボタンを押したとき:

PS私はぼかしビューを実装する別の2つの方法を知っていますが、私のアプリはiOS8のみをサポートする予定なので、これが最も簡単だと思いました

  1. スーパービューからぼやけた静止画像をレンダリングします - > clipsToBounds = trueでUIImageViewをOptionsViewに配置します - > optionsViewの位置をアニメーション化しながらUIImageViewの位置をアニメーション化して、ぼかしがスーパービューに対して相対的に静止するようにします

  2. UIView、UIVisualEffectView、UIBlurView を忘れて、SKEffectNode を SKCropNode と一緒に使用します。

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

ios - SKView の前に UIView を表示する - iOS - SpriteKit

iOS 用のシンプルな小さなスプライト キット ゲームがあります。UIView (メイン メニュー ボタン/タイトルを含む) を SKView の上に表示しようとしています。これはゲームプレイ用ではなく、別のビューにあります。

UIView (クラスが SKView に設定されている) と、すべての UIButtons とゲーム タイトルを持つ別の UIView をセットアップしました。

ただし、ボタン/タイトルを含む UIView の上に SKView を表示することはできません。

私がこれをやろうとしている一般的な理由は、メイン メニューで、ユーザーがボタンを選択する際に、一種の素敵な効果としてバックグラウンドで素敵な連続アニメーションを発生させたいからです。いくつかのメソッドと非常に基本的な UIView アニメーション コードでアニメーションを試してみることができますが、UI がブロックされ、それを機能させるのが面倒になるため、SpriteKit アニメーションははるかに優れており、スムーズです。

これが私がそれをやろうとしている方法です:

私のストーリーボード ファイルには、次のように話したように 2 つの UIView があります。

Storyboard UIView 設定イメージ

この問題を回避するにはどうすればよいですか?

時間をありがとう、ダン。

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

objective-c - SKSceneからゲームセンターを直接表示する

私はしばらくの間Sksceneを越えてゲームセンターのリーダーボードを展示しようとしてきましたが、私はそれを理解することができません。シーンはあなたをそこに連れて行き、灰色の画面を表示します。それは私がプレーヤーとすべてを認証したことです。景色が舞台裏にある可能性はありますか?これは私が使っている私のシーンです

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

objective-c - SpriteKit シーンを実装する ViewController の呼び出しがクラッシュする

次のコードを使用して、viewcontrollerA から viewcontrollerB を呼び出そうとしています。

viewcontrollerB 内に次のコードがあります。

次のエラーが表示されます。

[UIView setShowsFPS:]: 認識されないセレクターがインスタンスに送信されました

そのため、次のリンクに記載されているソリューションを読んで実装しました。

シンプルなスプライト キット シーンのセットアップがうまくいかない

しかし、私は同じエラーがあります。

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

ios - SpriteKit の一時停止と再開 SKView

同じ位置に 2 つのボタンを配置して、SpriteKit でシーンを一時停止および一時停止解除したいと考えています。シーンの実行中に「一時停止」ボタンを表示したい。シーンが一時停止している間、「一時停止」ボタンを非表示にして「再生」ボタンを表示したいと考えています。self.scene.view.pausedSpriteKitでは、SpriteKit で定義されているものを使用できます。

私のコード:

シーンを一時停止しますが、一時停止ボタンがまだあり、もう一度一時停止ボタンをタッチすると、シーンが再開されます。したがって、画像だけが変更されることはありません。どうすればこれを修正できますか?

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

objective-c - Cocoa アプリケーションでの SKView と NSView の混在に関する問題

私のプロジェクトでは、SKView と標準の NSView オブジェクトを 1 つのウィンドウに混在させています。そして今、SKscene (mouseDown の場所) からいくつかの情報を取得して、skview オブジェクトの近くのラベルに表示しようとしています。グローバル変数を使用して、skviewメソッドで値を割り当てようとしました

しかし、次のように nsbutton からチェックすると:

...初期化(廃止)後のように残ります。
これらの技術を混在させることさえ可能ですか?
ps: 私の英語でごめんなさい
プロジェクト画面: http://s8.postimg.org/kdmu36h6d/2014_09_19_20_02_30.png

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

ios - SwiftでSpriteKitのSKScenesを適切に切り替えるには?

3 つの異なる SKScenes (scene1、scene2、scene3) を使用してゲームを開発しています。GameViewController では、次のようにすべてを初期化します。

私のアイデアは、最初のシーンを最初に提示し、後で別のシーンを提示する(つまり、ヒーローが強い場合)ということです。各シーンで、ヒーロー スプライトは次のように追加されました。

そして更新方法では、タッチすることでヒーローの位置が更新されます。

ヒーロークラスは次のようになります。

問題は、最初のシーン(scene1)だけを初期化すると、主人公がタッチで動くようになることです。つまり、上記のコードではヒーローは移動できなくなります。

私が間違ったことを誰かにアドバイスしてもらえますか?前もって感謝します!

PS: 完全なコードはGithubにあります。

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

uiview - transitionWithView で SpriteKit がクラッシュする

いくつかのクラッシュ レポートがありますがCollection <__NSArrayM: 0x12345678> was mutated while being enumerated. 、私のテストではエラーを再現できません。

これは、別の SKView に移行したときに一連のイベントを介してトリガーされるようです。

子ノードの列挙中に親からノードを削除すると、このエラーが発生する可能性があることを読みましたが、ここでこれを行っているとは思いません。また、以下の完全なスタック トレースもそれを示していないようです。

子ノードが追加または削除される理由がわかり[SKNode setPaused:]ません。また、他のスレッドでもこれが発生していることを示す兆候はないようです。

完全なスタックトレース