問題タブ [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.
c++ - OpenGLおよびSDLを使用したスプライトシート
私は新しいゲームに取り組んでいて、ようやく主人公の動きをコーディングし始めるようになりましたが、それをどのように行うのか疑問があります。
以前、私はAllegroで2つのゲームを作成しました。フレームと画像上の位置を確立し、すべてのフレームを異なるビットマップに保存するため、スプライトシートは簡単に実装できますが、OpenGLでそれを行う必要はありません。もう少し費用がかかります。
ですから、スプライトシートをどのように保存してプログラムで使用するかを考えていましたが、アイデアは1つしかありません。
画像を読み込んでテクスチャに変換しました。アニメーション化に役立つ関数では、プログラムにすべてのテクスチャを保存するのではなく、テクスチャの一部を取得して描画するだけです。
これが最善の方法ですか?
助けてくれてありがとう。
iphone - iPhoneの異なるシーン間のcocos2dトランジション
cocos2dを使ったストーリーブックを開発するつもりです。なので、本のページに対応したシーンを作りたいと思います。この本は約100ページで構成されている場合があります。したがって、それだけのシーンを作成することは冗長になります。本のページを実装し、ページ間を移行するためのcocos2dの他の方法はありますか?
flash - スプライト シートとアニメーション
私はフラッシュ ゲームを開発しており、グラフィック デザイナーを雇ってよりプロフェッショナルに見えるようにしました。問題は、タイムライン アニメーションとスプライト シートのどちらを使用するべきかわからないことです。以下は彼のグラフィックの例です: www.quickguitartuner.com/monster_reduced.png
パフォーマンスを向上させるにはどうすればよいですか?
また、スプライト シートを多くの画像に分割し、それらを配列に配置して add/removeChild() を使用し続けると、パフォーマンスについて話すときに適切に機能しますか?
ios - Cocos2d で (スプライト シートを使用して) テクスチャをロードすると、メモリ使用量はどのように増加しますか?
Cocos2d を使用してコンテンツのマップ (技術的にはグラフ理論の意味での大きなツリー) を作成するアプリを構築しています。各ノードは独自のテクスチャを持つスプライトで表され、リーフ ノードはすべて 2 番目の「ボタンが押された」テクスチャを持ちます。さらに、一部のノードは PNG アニメーションです。130 ほどのノード テクスチャを含む 1 つのスプライト シートと、アニメーション用の 3 つのスプライト シートがあります。これら 4 つのファイルをすべて合計すると、約 18.4 MB になります。
アプリを実行し、cocos2d 部分を実行しない場合 (つまり、フレームワークをまったく起動しないため、テクスチャをロードしない場合)、アプリは約 10 MB で実行されます。Cocos2d とそれらのスプライト シートを読み込むと、メモリが 90 MB を超えて急増します。
私の調査によると、私は可能な限り最も効率的な方法で物事を行っているようですが、メモリ使用量がすでに非常に高いため、iPad 1 で多くのメモリ関連のクラッシュが発生しています。
これは cocos2d では正常ですか? 画像自体はそれほど大きくないので、スプライトの数の分だけメモリを消費しているのでしょうか。メモリフットプリントを下げる方法はありますか? 私は途方に暮れていて、非常に銃の下にいます...
android - Android Cocos2D の CCGLSurfaceView にスプライト シートの一部だけを描画するには?
ここから Android Cocos2D を始めます。スプライト画像を直接追加できることがわかりました。
しかし、私はすでに巨大なスプライト シートを手に入れており、ゲームで使用されるすべてのスプライトが含まれています。
Cocos2D に、「スプライト シートから (x1,y1) から (x2,y2) の部分を CCGLSurfaceView 上の場所に描画したい」と指定するだけの関数呼び出しがありますか?
android - プログラムによるカットのスプライトシート:ベストプラクティス
42フレームで構成された大きなスプライトシート(3808x1632)があります。これらのフレームを使用してアニメーションを表示し、スレッドを使用してすべてのフレームを含むビットマップ配列をロードし、スプラッシュ画面が終了するのを待ちます。私はSurfaceView(およびキャンバスの描画機能)を使用していません。メインレイアウトのImageViewにフレームごとにロードするだけです。私のアプローチは、スプライトシートから多数の画像をロードするのと似ています 。完了には実際には約15秒かかりますが、受け入れられません。
私はこの種の関数を使用します:
frameBitmapTeapotBGは大きなスプライトシートです。もっと深く見てみると、おそらくスプライトシートが大きすぎるために、createBitmap関数に時間がかかることをlogcatで読みました。rect関数とcanvasを使用して、配列にロードする小さなビットマップを作成して、大きなスプライトシートにウィンドウを作成できる場所を見つけましたが、実際には明確ではありませんでした。私はその投稿について話している:ビットマップの一部を切り取る
私の質問は、スプライトシートのカットをどのように高速化できるかということです。
編集:私はこのアプローチを使おうとしていますが、最終的なアニメーションを見ることができません:
おそらく、ビットマップbmFrameが正しく管理されていません。
android - 静止しているはずの Android スプライトが動く
長さ 18 フレームのスプライトを作成しました。スプライトは静止してフレームを通過し、アニメーションをループするはずですが、実行すると、最後のフレームに到達するまでアニメートしながら画面上をゆっくりと移動し、元のフレームに戻ります。留まるはずだった本来の位置。
これを行う理由がわかりませんが、サイズを小さくしたり大きくしたりしようとしましたが、サイズによっては動かず、本来のようにアニメーション化するだけです。なぜこれが起こるのか、そしてそれが動くのを止めて本来あるべき場所にとどまる方法について誰かが答えを持っているなら、それは大歓迎です.
スプライトに 1 行だけ使用し、gimp を使用してスプライトを作成し、png として保存しました。
javascript - lime.fill.Frame はコンストラクターではありません
Lime.js を使用して JS スクリプトを作成し、アニメーションを画面上に移動させようとしています。画像のソースはスプライトシートです。いつこれにたどり着くのか
var frame = newlime.fill.Frame('image.png', 40, 50, 100, 100);
デバッガーは、lime.fill.Frame はコンストラクターではないと言います。誰でもこれで私を助けることができますか? これを修正する方法がわかりません。ありがとう。
javascript - スプライトシートアニメーション
スクリプトを実行しようとしていますが、少し問題があります。以前はJavaScriptを1回しか使用していませんでしたが、今度はキャラクターアニメーションをWebページ上で前後に移動させ、ページが閉じるまで続行する必要があります。私のデバッガーは57行目に参照エラーがあると言っていますが、それだけが問題ではないと確信しています。誰かがコードを見て、何かが飛び出すかどうかを確認できれば、私は感謝します。
ios - iOS のテクスチャとアニメーション
iPhone Retina 対応のゲームを開発しています。
このゲームには、使用するスプライト シートがたくさんあります。より使いやすい MyQuest
- pvr
- pvr.gz
- pvr.ccz
- または通常のpng形式
これは、スプライト シートを使用するためのベスト プラクティスです。