SPANIM
スプライトにアニメーションを設定
直接指定する
SPANIM spNo,mode,time1,p1a[,p1b][,time2,p2a[,p2b]]…[,loop]
数値配列で指定する
SPANIM spNo,mode,arrdata[,loop]
DATAで指定する
SPANIM spNo,mode,@label[,loop]
パラメーター
解説
スプライトキャラにアニメーションを設定します。
modeで、動作モード(移動、回転など)、
timeで、表示時間(フレーム数(1/60秒))※マイナスの場合は線形補間(そのフレーム数の時間をかけて変化)
p1a,p1bで、動作モードに合った値を渡します。
一回の命令で、「time1,p1a[,p1b]」 の1セットを、最大32セットまで同時に行え、左から順に実行します。
loopで、ループ回数を指定します。0は無限ループ。省略時は1。
また、複数のSPANIM命令を書くことで、1つのスプライトに複数種類の設定をする事もできます。
例 : "R"で回転しながら"XY"で移動など。
スプライト番号はSPSETで設定済みである必要があります。
ただしDATAで指定する場合は、先頭のデータは、セット数を表す数値でなければなりません。(サンプルコード参照)
modeで、動作モード(移動、回転など)、
timeで、表示時間(フレーム数(1/60秒))※マイナスの場合は線形補間(そのフレーム数の時間をかけて変化)
p1a,p1bで、動作モードに合った値を渡します。
一回の命令で、「time1,p1a[,p1b]」 の1セットを、最大32セットまで同時に行え、左から順に実行します。
loopで、ループ回数を指定します。0は無限ループ。省略時は1。
また、複数のSPANIM命令を書くことで、1つのスプライトに複数種類の設定をする事もできます。
例 : "R"で回転しながら"XY"で移動など。
スプライト番号はSPSETで設定済みである必要があります。
modeで設定する項目
mode | 動作内容 | パラメータ1 | パラメータ2 | |
---|---|---|---|---|
0 | "XY" | 上下左右移動 | X座標 | Y座標 |
1 | "Z" | 奥行き移動 | Z座標 | |
2 | "UV" | 定義画像 | 定義X座標 | 定義Y座標 |
3 | "I" | 定義番号 | 定義番号 | |
4 | "R" | 回転 | 角度 | |
5 | "S" | 拡大/縮小 | 倍率X | 倍率Y |
6 | "C" | 色 | 色コード | |
7 | "V" | 変数 | SP変数[7]の値 |
- "XY+"のように「+」を付けるか、modeの数字に「+8」で記述すると、パラーメーターの値は現在値からの相対座標となる
- "R"(回転)は「度」単位で、指定角度が1以上なら右回り、マイナスなら左回りに回転。
- "S"(倍率)は、2なら2倍(200%)、0.5なら半分(50%)
- "C"(色)の色コードは、RGBか、&HAARRGGBBで指定
数値配列で指定する
数値配列で指定する場合、timeN,pNa[,pNb]を1セットとするデータを羅列した配列を準備して読み込みます。(サンプルコード参照)DATAで指定する
DATAで指定する場合も配列と同じく、timeN,pNa[,pNb]を1セットとするデータを羅列したDATAを準備して読み込みます。ただしDATAで指定する場合は、先頭のデータは、セット数を表す数値でなければなりません。(サンプルコード参照)
サンプルコード
"XY"で移動(10秒かけて現在位置から座標(100,100)へ移動)
timeにマイナス指定時は、そのフレーム数をかけて現在値から指定値まで線形補間(等間隔)で変化。
"XY+"で移動(10秒かけて現在位置から右へ100,下へ100移動)SPSET 0,0SPANIM 0,"XY",-600,100,100
現在位置から左右に動き続けるSPSET 0,0SPANIM 0,"XY+",-600,100,100
定義画像の一段目を順番にスクロール表示SPSET 0,0SPANIM 0,"XY+" ,-30,100,0 ,-30,0,0,0
アニメーション(歩くネコ。4コマをそれぞれ20フレーム(0.33秒)ずつ)SPSET 0,0SPANIM 0,"UV",-600,495,0,1
F=20:A=856:SPSET 0,ASPANIM 0,"I",F,A ,F,A+1 ,F,A+2, F,A+3 ,0
回転する戦闘機(120フレーム(2秒)で右に一回転(360が-360なら左回転))F=20:SPSET 0,856SPANIM 0,"I+",F,0 ,F,1 ,F,2, F,3 ,0
大きくなるボールSPSET 0,3323SPANIM 0,"R",-120,360,0
色が茶色くなってゆくバナナSPSET 0,2385SPANIM 0,"S",-300,8,8,1
変数(SPVARの7)に8を300フレーム(約5秒間)代入し、その後0に戻すSPSET 0,5
timeにマイナス指定時は、そのフレーム数をかけて現在値から指定値まで線形補間(等間隔)で変化。
数値配列から設定を読み込み(前述の「現在位置から左右に動き続ける)SPSET 0,5SPANIM 0,"V" ,300,8 ,1,0 ,0
DATAから読み込み(前述の「現在位置から左右に動き続ける)DIM D[6]D[0]=-30:D[1]=100:D[2]=0:D[3]=-30:D[4]=0:D[5]=0SPANIM 0,"XY+",D,0
@DATDATA 2 '最初は必ずセット数を渡すDATA -30,100,0DATA -30,0,0
参照
SPPAGE
スプライトキャラの定義に使用するグラフィックページを指定・取得
SPCLIP
スプライトキャラを表示する範囲を指定
SPDEF
スプライトキャラの定義データを変更・取得
SPSET
スプライト番号にキャラクターをセット
SPCLR
スプライト番号のキャラ設定をクリア
SPSHOW
スプライトを表示状態にする
SPHIDE
スプライトを非表示状態にする
SPHOME
スプライトキャラの原点座標を変更・取得
SPOFS
スプライトキャラの表示座標を変更・取得
SPROT
スプライトキャラの回転角度を変更・取得
SPSCALE
スプライトキャラの表示倍率を変更・取得
SPCOLOR
スプライトキャラの色合いを変更・取得
SPCHR
スプライトキャラのキャラ種類を変更・取得
SPLINK
スプライトの同士をリンク・取得
SPUNLINK
スプライトの同士のリンクを解除
SPANIM
スプライトにアニメーションを設定
SPSTOP
スプライトのアニメーションを一時停止
SPSTART
スプライトのアニメーションを再開
SPCHK
スプライトのアニメーション状況を取得
SPVAR
スプライト用内部変数の値を設定・取得
SPCOL
スプライトの衝突判定のルールを設定・取得
SPCOLVEC
スプライトの衝突判定用に移動量を設定
SPHITSP
スプライト同士の衝突判定
SPHITRC
スプライトと指定領域との衝突判定
SPHITINFO
スプライトの最後の衝突結果を取得
SPUSED
スプライト番号が使用されているかチェック
SPFUNC
スプライト番号にコールバック処理を割り当て