スプライト、画像の表示、透過色
スプライトの透明色の決め方>スプライトは、左下
の一点と同じ色が透過される
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 について/まとめ