問題タブ [texture-atlas]

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

animation - テクスチャ アトラスから作成されたスプライト配列のアニメーション化

このようなテクスチャ アトラスからスプライト配列を作成しました。

テクスチャ アトラス内では、プレイヤー領域はplayer01player02および と名付けられていplayer03ます。

そして、私はそれをこのようにレンダリングしました。

実行すると、これはエラーをスローします。

「スレッド「LWJGL アプリケーション」の例外 java.lang.ArithmeticException: / by zero.」

私はこれらのエラーにイライラしており、この問題ですでに多くの時間を無駄にしています。

この問題を解決するのを手伝ってください。

スタックトレース:

textureregion も試してみました。次に、スタックトレースは次のようになりました。

0 投票する
4 に答える
1642 参照

swift - Swift 3 のアニメーション アトラスと動的物理ボディ

これらのフレームで構成されたアトラス アニメーションがある「Hello World」スプライト キット テンプレートを使用して、小さなテスト プロジェクトを実行しました。 ここに画像の説明を入力

-

この騎士を見せたいのですが、それはアニメーションです。

DYNAMIC物理体を設定したい。

したがって、ツールを使用して単一のフレームを分離し、atlascフォルダーを作成したので、コードは次のようになります。

出力は次のとおりです。

ここに画像の説明を入力

ご覧のとおり、physicsBodyは STATICです。アニメーションを尊重しません。アニメーション中にテクスチャの寸法/サイズが変化しphysicsBody、アクション中に同じままである を変更しないため、これは正常です。

SKAction.animateソースに続いて、 中に を変更できるメソッドはありませんphysicsBody

私たちは使用しますが:

アニメーションの各フレームのボディを作成するために、これらのボディはシーン内にすべて一緒に残り、この写真のような醜い奇妙な状況を作り出します:

ここに画像の説明を入力


したがって、それを行う正しい方法は、アニメーション中にフレームをインターセプトし、その場で変更physicsBodyすることです。update()の方法も使えますSKSceneが、拡張を考えていました。

animation私の考えは、アクションを と組み合わせて、最初のアクションの実行をチェックする別のカスタム アクションを作成し、現在のフレームと配列にSKAction.group一致するフレームをインターセプトし、外部メソッドの起動を変更することです。この場合は.knight.texturetexturesphysicsBodysetPhysicsBody

それから、私はこれを書きました:

この拡張機能を追加して、コードのアニメーション部分を次のように変更します。

これは最終的に機能し、出力は次のとおりです。

ここに画像の説明を入力

この結果を得るためのより良い方法、またはより洗練された方法を知っていますか?

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

ios - Xcode でのテクスチャ アトラスの作成に関する基本的な質問

Texture Atlases を間違って使用している可能性があるので、アドバイスをお願いしたいと思います。

オンラインで、Ball.atlas というフォルダーを作成し、そこにアニメーション フレーム (ball1、ball2、ball3) を追加することを提案するサイトをいくつか見つけました。

次に、ball.atlas を実際の Xcode コンテンツ ツリーにドラッグ アンド ドロップし、次のようなコードでそのアトラスを参照します。

次に、self.ballImages を参照してアニメーションなどを表示できます。

ただし、xcassets フォルダーに移動し、[+] をクリックして [新しいテクスチャ アトラス] をクリックすると、フォルダーが作成されるという別のガイドを見ました。次に、そこにボールの画像をドラッグするだけです。

ただし、ここには根本的な違いが 1 つあります。2 番目の方法では @1x、@2x、@3x を指定できますが、最初の例 (フォルダーをドラッグ) では指定する方法がありません。

私は何をすべきですか?何もドラッグするのではなく、単にすべてのアトラスを xcassets コレクション内に配置する必要がありますか?

ありがとう!