問題タブ [skemitternode]
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.
opengl-es - Spritekit と OpenGL: 滑らかな煙の軌跡
キャラクターの背後に滑らかな軌跡がある Spritekit ゲームでこの効果を実現したいと考えています。
ジェットパック ジョイライドでコインの後ろにある軌跡をご覧ください。
Jupiter Jump のヒーローの背後にあるこの軌跡:
または、スキー サファリのヒーローの背後にあるこの非常に滑らかなトレイル:
これは、他のゲーム エンジンの標準機能のように見えますか? スプライトキット パーティクル エミッターは、スムーズなトレイルではなく、ブロック状/スタンプされたトレイルのみを提供すると思います。ある種のスプライト カスタム シェーダーを使用する必要がありますか? 他に独創的なアイデアはありますか?
ios - iOS。SpriteKit: すべてのゲーム シーンで同じエミッタを使用する方法
SpriteKit と Xcode 6 を使用してゲームを開発しています。すべてのゲーム シーンで使用したい単一の sks ファイルがあります。エミッターを提示した後で各シーンに追加すると、エミッターは古いシーンで停止し、新しいシーンで新しいスターが表示されます。これは、エミッターが各シーンで作成されるためです。
そのため、一度だけエミッターを作成し、すべてのゲーム シーンで使用するためにシングルトン クラスを使用しようとしました。すべてのゲーム シーンのスーパー クラスを作成し、そのスーパー クラスですべての子シーンのエミッタを作成します。しかし、この手順で取得しようとしたことは機能していません。エミッターは、各シーンで引き続き新規作成されるため、新しいシーンごとに停止して新しく開始します。
同じエミッターを使用して一度だけ作成し、エミッターを停止して新しく開始することなく、すべてのゲームシーンで使用するにはどうすればよいですか?
ここに私のコード。私は何が欠けていますか?
PS 同じ手法がオーディオ プレーヤーでもうまく機能します。http://www.galloway.me.uk/tutorials/singleton-classes/
ios - SKEmmitterNode が初回実行後に実行されない
以下のコードで効果を作成しました。テストとしてこれを起動するボタンを配線しました。最初に押すと、効果は意図したとおりに機能します。ただし、後続のすべてのリクエストでは、効果は表示されません。ブレークポイントを介して、効果が呼び出され、最初とその後の実行の両方で完了ハンドラーに組み込まれていることがわかりました。また、runAction の一部として「totalTime」変数を確認し、最初の実行とその後の実行の両方で同じ (2 秒) であることを確認しました。興味深いことに、最初の実行では、前の if ステートメントと完了ハンドラーのブレーク ポイントの間に数秒の遅延が見られます。ただし、後続のすべての実行では、先行する if と完了ハンドラーの間に実質的に遅延はありません。繰り返しますが、すべての実行で持続時間が 2 秒であることを確認しました。最後に、コメントアウトすると[self.view setPaused:YES]
完了ハンドラーでは、エフェクトが毎回実行されます。繰り返しますが、以下のコードによって、シーンが以前に一時停止されていないことがわかります。これは時折の効果であり、余分な CPU を使用したくないため、この方法でシーンを一時停止しています。したがって、これらの効果が生成されていない時間の大半はバッテリーを消費します。
objective-c - spriteKit でパーティクルをパスに追従させることができませんでした
これは XCode SKEmitter エディターでのアニメーションです (iPhone で実現したい) :
これは iPhone のアニメーションです (このアニメーションは必要ありません)。
このコードの使用:
これはエミッタの設定です:
この質問を参考にrunActionとparticleActionの両方を試してみたのですが、思い通りにいかない...
-----------------アップデート-------------------------------- --------------
hamobi で言及されている解決策を試しました(まだ機能しません):
-----------------アップデート 2 ------------------------------- ---------------
とった!Thx to hamobi :D これが結果です :D:D
ios - SpriteKit SKEmitterNode targetNode クラッシュ EXC_BAD_ACCESS
コンテキスト
はファイルSKEmitterNode
から作成され、sks
スプライトの子として追加されます。エミッタのtargetNode
は、シーン内の他のノードに設定されています。
クラッシュ
クラッシュは 64 ビット デバイスでのみ発生します。ログは次のとおりです。
ios - 子ノードであっても、SpriteKit のシーンでパーティクルに動きを追跡させます
このプロジェクトと同じ効果が欲しい
しかし、私のパーティクルSKEmitterNode
は直接シーンにあるのではなく、子ノードにあります。パーティクルは宇宙船の背後にあるリアクター エフェクトであり、SpaceShip ノードが移動するときにシーンに痕跡を残すようにします。
現在、パーティクルは SpaceShip の子ノードであるため、「すべての」パーティクルは SpaceShip とともに移動するため、点のみが表示され、跡は残りません。
どうすればできますか?
sprite-kit - SpriteKitでフェードラインを描画しますか?
現在使用している方法よりも、フェードラインを描画するためのより良い方法があるかどうかを調べようとしています。
現在、画面上を移動できるフェード ラインを描画するために、SKEMitterNodes を使用しています。ただし、SkEmitterNodes は非常に CPU コストが高くなります。画面上を移動しながら太い線を維持できるように、300 の出生率があります。このフェードライン描画効果をより良く達成するためのより良い方法を知っている人はいますか?
私が求めている効果は、Dark Echo で描かれている線に似ています。ここにビデオがあります。https://www.youtube.com/watch?v=tuOC8oTrFbM
ありがとう、クリス