問題タブ [sprite-sheet]
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.
java - What's the best way of reading a sprite sheet in Java?
私は自分の娯楽のために、また Java の 2d API に慣れるために、基本的なスプライト エンジンを作成しています。現在、必要なアニメーションのさまざまなスプライトとさまざまなフレームを表すために、背景が透明な多数の個別の .png ファイルを使用しています。ほとんどの「現実世界」のゲーム開発プロジェクトでは、1 つのファイル内に複数のスプライトまたはアニメーション フレームを含む「スプライト シート」を使用しているようです。また、ネイティブの画像透過サポートを利用するのではなく、スプライト パレットに表示されない任意の色を透過色として指定することがよくあります。このようなファイルをプログラムでどのように管理しますか?
- あるスプライトの開始位置と次のスプライトの開始位置をどうやって知るのですか?
- 透明性をどう扱うか
私がここで考えていなかった他の要因があるかもしれないので、私が物事を考えたり、人々が提案したりしたときに、上記のリストに追加するかもしれません (コメントでそうしてください)。
iphone - OpenGLES for iPhone でスプライト シートを実装するにはどうすればよいですか?
私は GLSprite サンプル コード例から作業しています。私が知りたいのは、テクスチャをスプライト シートとして扱うためにコードに何をする必要があるかということです。これまでに行った唯一の変更は、16 個の小さな画像の 256 x 256 の png をフレームとして作成することです。これまでスプライトシートを扱ったことはありません。ご協力いただきありがとうございます。
c# - XNAゲーム、フルスクリーンアニメーション/ビデオ再生
XNAゲーム(スロットマシン)を持っています。
私のアーティストが私のために作った本当にクールなアニメーションがいくつかあります。それは多かれ少なかれ1600x1000で50フレームを超えています。
これまでのすべてのアニメーションでは、スプライトシートを使用してきました。(すべてのフレームが1つの画像ファイルにあり、レンダリング時に画像のどの部分を表示するかを選択します)。
問題は、特定のサイズの画像しかロードできないことです。ビデオカードに応じて2kx2kまたは4kx4k。明らかに、各フレームを1つのファイルに入れることは、この大きなアニメーションでは問題外です。
各画像を個別に読み込んで順番に表示できますか?(それは、あなたがそれをすることになっていた方法ではないことに気付く前に、とにかく小さなアニメーションのために私がしていたことです)
私の質問:
これらの大きなアニメーションを再生するための良い方法があるとしたらどうでしょうか。
フレームをTexture2Dとして個別にロードする代わりに、スプライトシートを使用する利点はありますか?
XNAでフルスクリーンビデオを再生する(無料の)方法はありますか?
animation - Cocos2D SpriteSheet アニメーションの問題、私のフレーム数ははるかに大きい
SpriteSheet を使用してアニメーションを実行しようとしています。私のフレームはそれぞれ 320x480 のサイズなので、テクスチャ イメージに最大 6 フレームを配置できます。しかし、私のアニメーションは 50 から 200 の範囲のフレーム数で構成され、すべて 320x480 のサイズです。ただし、サイズが 1024x1024 に制限されているため、テクスチャ イメージにこれだけ多くのフレームを追加することはできません。私が試すことができる他のアプローチはありますか?アニメーションを次々と再生できますか? また、パフォーマンスの妨げにはなりませんか? 提案が必要です。ベスト、バイバフ・テカム。
iphone - iPhoneで大きなスプライトシートを操作する
アプリケーションでスプライトシートアニメーションを使用しようとしています。小さなスプライトシートを使用した最初のPOCは正常に機能しましたが、スプライトシートを大きなものに変更すると、「check_safe_call:現在のフレームを復元できませんでした」という警告が表示され、アプリケーションが終了します。
すばやく検索すると、この問題は、アプリがメモリを大量に消費しているか、画像のサイズが大きすぎることを意味していることがわかりました。
私の画像は4.9Mbで、サイズは6720 * 10080(おっと!!)です。私は、iphoneが最大1024 * 1024の寸法の最大3Mbの画像を許可することを読みました。また、スプライトシートの画像の寸法は2の累乗でなければなりません。
だから、こんなに大きなスプライトシートをどうやって使うことができるか教えてください。
1つのアプローチは、スプライトシートを多数の小さなスプライトシートにカットし、一度に1つずつ使用することです。
より大きなスプライトシートに対応するための他の/より良いアプローチを知っているかどうか、そして私のスプライトシートの問題がサイズ(4.9 Mb)または寸法(6720 * 10080)であるかどうかを提案してください。
(参考までに、私は映画を再生しようとはしていないので、代わりにMP4ファイルを使用することはできません。加速度計の入力に基づいてスプライトシートをアニメーション化する必要があり、POCで小さいスプライトシートを使用してそれを実現できました。 。)
ありがとう、Swapnil
html - HTML 5キャンバスを使用したスプライトシートBLIT?
javascript と HTML 5 Canvas タグを使用してスプライト シート BLIT を実行している例を探しています。
私はProcessing.jsを少し見てきましたが、そこでそれを行う方法の明確な例は見つかりませんでした.
iphone - 複数のスプライト シートを使用するにはどうすればよいですか? cocos2d/アイフォン
複数のスプライト シートを使用しようとしています。すべてを 1 つに収めることができず、2 つあると注文が簡単になります (スプライト シート 1 つのスプライトは後ろにあり、zOrder が低くなります)。私は現在やっています:
最後の行が次のエラーでクラッシュします: キャッチされていない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。理由: 'スプライトのスプライト フレームが無効です' SIGABRT
複数のスプライト シートをキャッシュすることはできませんか? そうでない場合、これを処理する別の効率的な方法はありますか?
image - What are the pros and cons of a sprite sheet compared to an image sequence?
I come from a 2D animation background and so when ever I us an animated sequence I prefer to use a sequence of images. To me this makes a lot of sense because you can easily export the image sequence from your compositing/editing software and easily define the aspect.
I am new to game development and am curious about the use of a sprite sheet. What are the advantages and disadvantages. Is file size an issue? - to me it would seem that a bunch of small images would be the same as one massive one. Also, defining each individual area of the sprites seems time cumbersome.
Basically, I dont get why you would use a sprite sheet - please enlighten me.
Thanks
objective-c - 画面上のユーザーが触れている場所を決定するcocos2d
cocos2dスプライトを使用して、画面上のキャラクターに対してユーザーがどこに触れているかを判断しようとしています。ユーザーがスプライトの左側をクリックすると、スプライトが左側に実行されるようにします。その逆も同様です。私の問題は、ユーザーがタッチを離さずに一方の側をクリックしてもう一方の側に移動すると(cctouchendedは起動しません)、スプライトは実行を続けますが、方向が間違っていることです。ユーザーのタッチがキャラクターの反対側に移動したかどうかを判断するためのチェック(および方法)をどこに実装しますか?
私が試した現在のコード:
ありがとう。
textures - texSubImage2D を使用して webgl でスプライトを表示するにはどうすればよいですか?
gl.texImage2D を呼び出すと、スプライト全体 (32x512) を正常に表示できます。
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
予想通り、水平方向に押しつぶされていますが、少なくとも画面にはレンダリングされます。シートに最初の 32x32 スプライトのみを表示しようとしていますが、単純に gl.texSubImage2D を使用してこの効果を実現できると想定しました。texImage2D を texSubImage2D (変更されたパラメーターを使用) に簡単に置き換えようとしましたが、画面にブラック ボックスが表示されます。私が使用しているコードは次のとおりです。
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 32, 32, gl.RGBA, gl.UNSIGNED_BYTE, image);
texSubImage2D の実装について何か不足していますか? 私がしなければならない他のステップはありますか?それとも、texSubImage2D はスプライト シートを行う正しい方法ではありませんか?