このエントリーをはてなブックマークに追加

スプライト、画像の表示、透過色

スプライトの透明色の決め方>スプライトは、左下の一点と同じ色が透過される

MMF/CF25 ユーザはいつも左上を見ている

スプライト、アニメーションスピード

GML なら Built-In 変数であるimage_speedで値を指定して調整できる。

参考:image_speed

image_speed = 0.1;//遅い
image_speed = 1;//標準
image_speed = 2;//速い(二倍)

GUI からの場合、イベントのタブからControlを選択して、Set Variable から image_speed に任意の値を代入する。

オブジェクト、スプライト、回転させる

Built-In 変数の image_angle を使う。単位は当然「角度 ( angle )」で良い。

object の名前が test だった場合、test のインスタンス全てを一括して回転させるのなら Step イベントに
test.image_angle += 40;
こう書けば全てのインスタンスの角度に一括して「 40 度」が加算される。

特定のインスタンスのみに角度を与えたい場合は instance ID を利用する。

コリジョン判定などを利用した場合は以下のように書ける。
var a = collision_point(mouse_x,mouse_y,test,false,false);
a.image_angle += 40;

a.image_angle の部分は
(a).image_angle += 40;
とも書ける。

var a; の定義をサボりたいという理由で試した以下コードは不正。
(collision_point(mouse_x,mouse_y,test,false,false)).image_angle += 40;

スプライトのプロパティ、可視化オプションと Draw イベント

オブジェクトの可視化(Visible)はデフォルトでオンになっているが、この場合 Draw イベントで self.Draw 相当のアクションが自動実行されているのと同じ。可視化オプションがオンの場合、GMS の自動制御で Draw イベントが実行されている。

Draw イベントはユーザがアクションを自由に定義することもできるが、Draw イベントをカスタムした場合は GMS による自動制御から完全な手動制御に切り替わるようになっている。

手動制御の場合すべてのアクションを自分で編集する必要がある。だからスプライトの可視化オプションのオンオフ関係無しに、Draw イベントにアクションを自分で追加した時点からカスタムしたとみなされるため self.Draw 命令の追記が必要となる。

この仕様を知らないと「オブジェクトプロパティから可視化オプションをオンにしてあるのに Draw にアクション追加するとインスタンスに指定したスプライトが表示されない!バグか?」ってな勘違いをする。

スプライト、ロード、Spine

Esoteric Software® の Spine で作成されたアニメーションの再生を GMS では基本機能でサポートしている。

参考URL:Spine について/まとめ

Leave a Reply

Your email address will not be published. Required fields are marked *