スプライトにアニメーションを設定する。
- 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
コメント