sprite_replace()


リソース操作・スプライト

sprite_replace

生成済みのスプライトを置き換えます

構文

sprite_replace(ind, fname, imgnumb, removeback, smooth, xorig, yorig);
ind
スプライトのインデックス番号
fname
画像ファイル名(文字列)
imgnum
サブイメージの数(単一画像であれば「1」)。GIF画像ではこの引数は使用されず「0」にします
removeback
true or false。背景色(画像左下のピクセル色で透過する)を有効にするかどうか。
smooth
true or false。エッジを滑らかにするかどうか
xorig
スプライトの原点のX座標
yorig
スプライトの原点のY座標

戻り値

N/A
なし

説明

この関数は生成済みのスプライトを別のスプライト情報で上書きします。これはスプライトのインデックス番号を指定する以外は、sprite_add()とほぼ同じ動作をします。 指定のインデックス番号はアセットのツリー、またはsprite_add()sprite_create_from_surface()により生成済みのスプライトでなければなりません。

注意:この処理はアセットを上書きするため、上書き前の状態に復元することはできません。

アニメーションスプライトとする画像は、stripフォーマットにする必要があります。 (下記の画像参照)

spr_strip.png
指定の画像の幅÷サブイメージの数=ストリップされた画像の幅

という計算式となります。

この画像では、背景色が濃い紫色となっていますが、引数「removeback」をtrueにすることによりこの背景を透過することができます。 これは画像の一番左下の色を透過します。例えば一番左下が緑色であれば、緑色のピクセルが透過されます。

引数「smooth」をtrueにすると、スプライトのエッジを滑らかにすることができます。これは背景が透過されていた場合、 そのエッジに半透明の境界を作成します。

デフォルトでは、すべての新しいスプライトの境界ボックスは、automaticallyになっています。これを変更するには、 関数sprite_collsion_mask()?を使用することで、カスタマイズが可能となります。

注意

この関数で動的にロードし不要なスプライトを削除しないと、メモリリークとなり、ゲームのパフォーマンス低下、 ひいてはゲームをクラッシュさせる危険性があります。 そのため、不要なスプライトはsprite_delete()で削除する必要があります。

sprite_replace(spr_banner, "gravemaker.png", 1, false, false, 0, 0);

上記コードはスプライト"spr_banner"を別のアセットで上書きします


Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2017-05-13 2016-10-01 2017-01-22 2017-01-14 2016-12-25 2016-12-02 2016-10-09 2016-09-25 2016-09-21 2016-08-29 2016-06-21 2016-02-23 2016-02-10 2016-01-18 2015-10-30 2015-10-20 2015-06-23 2015-06-20 2015-06-19 2015-06-10 2015-06-09 2015-06-07 2015-06-05 2015-06-03

人気の10件

今日の10件



これまでの訪問者: 1162
今日の訪問者: 2
昨日の訪問者: 0
閲覧者: 2