SPANIM

スプライトにアニメーションを設定する。

  • SPSET前に使うとエラー。
  • 設定したアニメーションが自動的に再生される。
  • アニメーションは値を設定して指定時間分待つという動作。
  • アニメーション開始はSPANIMを実行した次フレームから。
  • 対象要素ごとに最大32個のデータを受け付ける。
  • 時間にマイナス値を指定すると直前の値から線形補間を行う(なめらかに動かす)。

書式

SPANIM スプライト番号,{ アニメ対象, { { データ配列 | @ラベル文字列 | 時間1,項目1[,項目2][,時間2,項目1[,項目2]]… } [ , ループ ] | アニメーション定義番号 }

引き数

スプライト番号

アニメーションを設定するスプライトの番号:0~4095

アニメ対象

変化させる要素を管理する数値または文字列

0 “XY” XY座標
1 “Z” Z座標
2 “R” 回転角度
3 “S” 倍率XY
4 “C” 表示色
5 “V” 変数(スプライト内部変数7の値)
6 “UV” UV座標(定義元画像座標)
7 “I” 定義番号
  • 文字列の末尾に”+”を付けるか、数値に8を加えるとアニメーション開始時点からの相対値となる。
  • 文字列の末尾に”.”を付けるか、数値に16を加えるとアニメーション終了時にスプライトを削除する。

データ配列

アニメデータが格納された1次元数値配列

  • アニメデータは数値配列に次の順で用意(最大32個まで)。
    • 時間1, 項目1,[項目2,] 時間2,項目1,[項目2,]…。

@ラベル文字列

アニメデータが格納されたDATA命令の先頭ラベル。

  • @ラベル名を””でくくって文字列として指定(または文字変数)。
  • アニメデータはDATA命令に次の順で用意
    • DATA キーフレーム数(最大32)
    • DATA 時間1,項目1[,項目2]
    • DATA 時間2,項目1[,項目2]

時間,項目

アニメデータそのもの(必要な数分並べる、最大32個)。

ループ

ループ回数: (1~)

  • 0を指定するとで無限ループとなる。
  • 省略時は1。

アニメーション定義番号

ANIMDEF命令で定義済みの定義番号:0~1023

戻り値

なし

サンプル・参考動画

'はいれつをしようする
DIM PANIM[6]
PANIM[0]=-60 'frame(-60=smooth)
PANIM[1]=200 'offset X,Y
PANIM[2]=100
PANIM[3]=-30 'frame
PANIM[4]=50 'offset
PANIM[5]=20
SPSET 0,0
SPANIM 0,"XY",PANIM

'DATAぶんをしようする
@MOVDATA
DATA 2 'counter
DATA -60,200,100 'frame,offset
DATA -30,50,20 'frame,offset
SPSET 1,0
SPANIM 1,"XY",@MOVDATA

'ちょくせつしている
SPSET 2,0
SPANIM 2,"XY",-60,200,100,-30,50,20

'ANIMEDEFのていぎをしようする
ANIMDEF 0,"XY",-60,100,0
SPSET 3,0
SPANIM 3,0

コメント

タイトルとURLをコピーしました