リファレンス URL:image_index

「実数型 (Real) 」として値取得

スプライトは一枚の画像もしくは複数の画像で構成されています。画像が複数ある場合には、パラパラ漫画の要領で一定時間毎に表示する画像を切り替えて、アニメーションとして見せることができます。

image_index はオブジェクト・インスタンスが持つ built-in variables の一つとして登録されています。

この Built-in 変数はオブジェクト・インスタンスの外観として表示されている現在のスプライトの、何番目に登録されているサブイメージ(sub-images)なのかを数値で保持しています。値は 0-based index なので、サブイメージの総数が1の場合、image_index は 0 を返します。

image_index は読み取り専用(read only)ではないため、値を代入した場合はスプライトのサブイメージを切り替えることができます。

リソースツリーに登録されたスプライトを対象にしてサブイメージの総数(the number of sub-images)を調べたい場合には sprite_get_number 関数を使います。現在のオブジェクト・インスタンスの外観として登録されているスプライトを対象にしてサブイメージの総数を調べたい場合には Built-In Variable である image_number が使えます。

  • sprite_get_number → リソースツリー上のスプライトを対象に
  • image_number → オブジェクト・インスタンスのスプライトが対象
※ 関数と Built-In 変数なのでコーデエディタ上では色も違います。 オレンジは関数、ピンクはオブジェクト・インスタンスの持つ Built-In 変数 サブイメージの総数が三枚の場合、sprite_get_number 関数は3を返します。前述した通り image_index は 0-base index なので、サブイメージが三枚ある場合、 0, 1, 2 0〜2の範囲で image_index を使ったサブイメージ指定ができます。 スプライトに spine 形式を利用している場合の使い方については skeleton_animation_get_duration を参考にしてください。 スクリプト・サンプル
/* アニメーション動作中ならばイメージスピードは0より大きい image_number は現在表示中のスプライトが持つ総サブイメージ数を返す image_index は 0-based index なので image_number の返す値が 1だった場合、image_index は0となる点に注意。 */ if (image_speed > 0) { if (image_index > (image_number - 1)) { instance_destroy(); }; };
Variables (Instance ) /image_index

Leave a Reply

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