アフィリエイト広告を利用しています
最新記事
日別アーカイブ

広告

posted by fanblog

2012年05月24日

Sprite について

今回は、スプライト機能についてご紹介します。

通常、Canvas に描画をする際は、Image で画像を貼り付けたり、
Graphics で線などを描いたりしますが、
キャラクタものについては、Sprite を使用します。

昔懐かしい、8ビットの MSX から存在していた機能ですが、
MSX のころは、完全にグラフィックと分離していました。
画面をクリアしても、スプライトはしぶとく残っているような状態だったのですが、
DoJa では、Canvas に上書きする要素として定義されているようで、
Graphics.clearRect などで画面クリアすると、一緒に消えてしまうようです。

そうすると、何もメリットが内容に思えますが、
Sprite は、描画する際には SpriteSet として書き込みます。
つまり、Sprite をまとめて描画するわけです。

そして、Sprite どうしで重なっているのかどうかを判定して返してくれる機能があります。
これで、たとえばシューティングゲームの障害物接触判定などに使えるわけです。

Sprite を定義する際には、Image が必要です。
画像を入れておくか、createImage で領域を決めておいて
Graphics で描画するかですね。

// 画像を適当に定義します。
Image i = Image.createImage(10, 10);
// Sprite を作成します。
Sprite s = new Sprite(i);
// もうひとつ、Sprite を作成します。
Sprite s2 = new Sprite(Image.createImage(1, 1));
// SpriteSet を作成します。
SpriteSet sst = new SpriteSet(new Sprite[]{s, s2});
//Graphics(g とします) に描画します。
g.drawSpriteSet(ss);
posted by FJT at 06:28| DoJa
プロフィール
FJTさんの画像
FJT
使えそうな技術情報を掲載しています。 ぜひ、役立ててください。
プロフィール
リンク集
×

この広告は30日以上新しい記事の更新がないブログに表示されております。