問題タブ [sknode]

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 投票する
3 に答える
1926 参照

ios - init メソッドがない場合に SKNode を適切にサブクラス化する方法は?

SKNode は+nodeメソッドのみを提供します。

これを行う場合:

これを行う場合:

コンストラクターをオーバーライドできるように、便利なコンストラクターしか持たないクラスをどのようにサブクラス化しますか? それとも、独自の+customNodeメソッドを作成するのがベスト プラクティスですか?

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

objective-c - UIPinchGestureRecognizer のトラブル

わかりました、これに関するいくつかの投稿を読みました (例: UIImageView Gestures (Zoom, Rotate) Question ) が、問題を解決できないようです。

次のセットアップがあります: SKScene、SKNode _backgroundLayer、および背景を構成し、_backgroundLayer にアタッチされたタイルである 9 つの SKSpriteNodes。これらの 9 つのタイルは 3x3 の正方形を形成し、非常に大きいため、ズームインして、これらの 9 つの背景画像の上にある他の SKSpriteNode を確認できるようにする必要があります。

2 つの問題があります。1) ピンチしてズームインまたはズームアウトすると、タッチ位置からではなく、_backgroundLayer の位置 (0,0) からズームイン/ズームアウトしているように見えます。

2) ユーザーが 9 つの背景画像からスクロールできないように、いくつかの境界を追加しました。一般的には機能します。ただし、ズームインしてから9つの背景画像の上部に向かって移動し、ズームアウトすると、境界条件が暴走し、ユーザーは背景画像の外側の黒いスペースを見ることができます. ユーザーがどこにいるかに応じて、ユーザーが実行できるズームアウトの量を制限する方法が必要です。

何か案は?ありがとう!

以下にコードを含めます。

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

ios - SKNode の位置が機能せず、常にデフォルトの 0,0 になります

私が取り組んでいる SpriteKit ゲームをかなりよく開発し、いくつかのコードを追加して新しい SKSpriteNode をシーンに追加しました (コードの他の場所で行ったのと同じですが、何らかの理由で今回は単に無視していますノードに設定した位置、明示的に .position = CGPointMake(x,y) で試し、 [node setPosition:CGPointMake(x,y)] を試しました

どちらも機能しません...ノードはシーンに追加されませんが、常に0,0で、何をしても、xとyの両方をチェックして、それらが有効でシーンの範囲内にあることを確認し、試しました明示的なフロートなどを使用するには、何をしても問題ありません。このノードは常に 0,0 に表示され、まったく意味がありません。私はゲームプレイの過程で他の数十のノードで行っているのと同じことをすべて行っていますが、このノードはどこにも表示されず、何をしても 0,0 以外には表示されません:

私はここで完全に途方に暮れています.CGPointMakeへの入力に.0を追加して、フロートとして処理されることを確認しました...このノードで何をしても、シーンに追加されると常にデフォルトは 0,0 の位置ですが、イライラしています。あらゆる種類のノードを問題なく追加しています。このノードの追加に関する何かが機能していないだけで、何が違うのか、その理由がわかりません。

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

ios - ノードの角度を設定するスプライト キット (回転しない)

さて、プレイヤー(宇宙船)が惑星の周りを回ろうとしているゲームがありますが、プレイヤーの宇宙船が惑星に近づくと、惑星に向けられます。

だから私は使用しようとしています:

このコードは、シーンの更新メソッドに入れられます。回転メソッドを使用しているため、プレイヤーが惑星に近づきすぎると、惑星が回転し始めます。setAngle のようなメソッドはありますか? そうすれば、更新が呼び出されるたびに角度がリセットされ、実際にプレーヤーが惑星に向かって移動しているように見えます。

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

ios - SKNode のモーション効果

私はint SpriteKitを取得しています。また、SKNode オブジェクトにモーション効果を作成する方法を知りたいです。

UIView の場合、次のメソッドを使用します。

SKNode に似たものは見つかりませんでした。だから私の質問はそれが可能ですか?そうでない場合は、どうすれば実装できますか。

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

ios7 - SKNodes 間で SKSpriteNode を移動する方法

SKSpriteNode をある SKNode から別の SKNode に移動したいと考えています。removeFromParent メソッドは、実際にスプライトの割り当てを解除します。

たとえば、このコードでは、MySprite は SKSpriteNode のサブクラスであり、文字列を出力する dealloc カスタム メソッドを使用して、オブジェクトの割り当てが解除されたことを知らせます。

この場合、スプライトは割り当て解除されます。スプライトへの強い参照を持つことで、removeFromParent を呼び出した後でもスプライトが生き続けるはずだと思っていましたが、そうではありません。

しかし、コメントを外した場合 [self addChild:node2]; スプライトは割り当て解除されませんでした。

私はここでかなり混乱しています。removeFromParent がオブジェクトの割り当てを解除した場合、スプライトは nil である必要があり、nil ノードを親に追加するとエラーが発生するはずです。ではない?ドキュメントには、removeFromParent: 「受信ノードをその親から削除する」とだけ書かれています。ただし、ここでメモリがどのように管理されるかについては何も述べていません。