DXRuby 1.4.6 Reference Manual
INDEX > Sprite

class Sprite

Description

描画位置、描画パラメータ、画像データを保持し、自分自身を描画する機能を持つ描画プリミティブクラスです。
Sprite導入以前は位置やパラメータ、画像を別々に持ってWindow.draw系メソッドで描画していましたが、Spriteオブジェクトでまとめて管理することができます。
衝突判定機能では点・矩形・円・三角形の形状を自由に組み合わせて衝突判定を作ることができ、描画エフェクトの回転やスケーリングと連動して変形しますので、画像の見た目と一致した衝突判定を行うことができます。
かなり複雑な衝突判定処理ですが、C言語で実装されているため非常に高速です。
基本的にはSpriteクラスを継承してSprite#updateを定義して使いますが、Spriteオブジェクトを直接生成して使っても便利に使えます。
各種パラメータはSetter/Getterが定義されており容易にアクセスすることができますが、インスタンス変数として定義されてはいません。
従ってSpriteを継承したクラス内でもself.xという形でアクセスする必要があります。
selfを省略するとローカル変数への代入とみなされるなどしてバグの原因になりますので、できるだけselfを付けてください。
この仕様は多少面倒ですが、Spriteを継承したユーザ定義のクラスでインスタンス変数に制限が無いというメリットもあります。
Spriteクラスを活用することでゲームのキャラ等を扱う等、DXRubyのゲームプログラミングは一段とラクになるでしょう。
具体的な使い方はチュートリアルを参照してください。

Class Methods

new
Spriteオブジェクトを生成します。x/y/imageはそれぞれ座標と画像データです。
check
衝突判定を行います。
update
配列内のすべてのオブジェクトのupdateメソッドを呼び出します。
draw
配列内のすべてのオブジェクトのdrawメソッドを呼び出します。
clean
配列内のすべてのオブジェクトのvanished?メソッドを呼び出し、trueが返ってきた要素と、もともとnilだった要素を削除します。

Instance Methods

draw
selfを描画します。
===
渡されたspriteとselfの衝突チェックを行い、衝突している場合に真を返します。
check
衝突しているSpriteオブジェクトの配列を返します。
x
X座標を返します。
x=
X座標を変更します。
y
Y座標を返します。
y=
Y座標を変更します。
z
描画順序を返します。
z=
描画順序。小さいほど奥になり、同じ値の場合は最初にdrawしたものが一番奥になります。
angle
描画時の回転角度を返します。
angle=
描画時の回転角度を変更します。
scale_x
描画時のX軸方向の拡大率を返します。
scale_x=
描画時のX軸方向の拡大率を変更します。
scale_y
描画時のY軸方向の拡大率を返します。
scale_y=
描画時のY軸方向の拡大率を変更します。
center_x
描画時の画像の拡大、回転中心とするX座標を返します。
center_x=
描画時の画像の拡大、回転中心とするX座標を変更します。
center_y
描画時の画像の拡大、回転中心とするY座標を返します。
center_y=
描画時の画像の拡大、回転中心とするY座標を変更します。
alpha
描画時のアルファ値を返します。
alpha=
描画時のアルファ値を変更します。
blend
描画時の合成方法を返します。
blend=
描画時の合成方法を変更します。
shader
描画時に適用するShaderオブジェクトを返します。
shader=
描画時に適用するShaderオブジェクトを変更します。
image
Sprite#drawで描画される画像を返します。
image=
Sprite#drawで描画される画像を変更します。
target
Sprite#drawで描画する先を返します。
target=
Sprite#drawで描画する先をスクリーンではなくRenderTargetオブジェクトにする場合に指定します。
collision
衝突判定範囲を返します。
collision=
衝突判定範囲を設定します。
collision_enable
衝突判定が有効である場合に真を返します。
collision_enable=
衝突判定の有効、無効を変更します。
collision_sync
衝突判定範囲に回転/スケーリングを加味する場合に真を返します。
collision_sync=
衝突判定範囲に回転/スケーリングを加味するかを変更します。
visible
Sprite#drawにおいて実際に描画するか場合に真を返します。
visible=
Sprite#drawにおいて実際に描画するかを変更します。
vanish
vanishメソッドはSpriteを無効化します。
vanished?
Sprite#vanishによって無効化されている場合に真を返します。
param_hash
Window.draw_exに渡すことのできるHashオブジェクトを返します。
offset_sync
オフセット同期モードである場合に真を返します。
offset_sync=
オフセット同期モードにするかを変更します。