- 概要
- abs
- acos
- asc
- asin
- assert
- atan
- atan2
- background
- beep
- bgmadd
- bgmplay
- bgmstate
- bgmstop
- bind$
- binding
- box
- call
- chr$
- circle
- cls
- connect$
- connected@
- connecting
- cos
- crash
- data
- datetime@
- def animation
- def background
- def pic
- direction
- disconnect
- distance
- do
- elemtype
- else
- else if
- end
- end function
- end if
- end procedure
- exit do
- exit for
- exit procedure
- fetch@
- for
- function
- hear$
- hide
- if
- include
- inkey$
- input
- left$
- len
- let
- line
- listen
- listening
- locate
- loop
- main
- mainvar
- mainvar$
- mainvar@
- max
- mid$
- min
- move
- moving
- next
- oval
- paint
- pause
- pi
- play
- point
- pow
- procedure
- pset
- put
- random
- read
- receive@
- render
- return
- right$
- roll
- round
- scr$
- send
- sgn
- show
- sin
- speak
- speed
- sprite
- sqr
- stay
- stop
- str$
- tan
- tap
- time
- touch
- truncate
- turn
- unbind
- val
- visible
- write
- xpos
- ypos
sprite
働き
アニメーションをスプライトに割り当てます。
文法
sprite <s>,<d>,<a>
sprite <s>,<a>
- s - スプライト番号の式。
- d - アニメーションを割り当てる方向(0 〜 8)。省略時は 0。
- a - アニメーション番号の式。
説明
アニメーションをスプライトに割り当てます。スプライトは、0 から 31 までの 32 個まで番号を使うことができ、それぞれ表示したいアニメーション番号を割り当てることができます。
スプライトは、move 命令によって画面上でアニメーションしながら動かすことができます。移動方向は、以下のように時計回りで番号が決められています。
- 0: 移動せずにアニメーションのみ行う
- 1: 上 3: 右 5: 下 7: 左
- 2: 右上 4: 右下 6: 左下 8: 左上
sprite 命令では、方向ごとにアニメーションを割り当てることができます。これにより、direction 命令でスプライトの移動方向を変更したときに、自動的にアニメーションを変えることができます。その際に、もし direction 命令で指定した方向にアニメーションが割り当てられていなかったときは、方向 0(移動しない)に割り当てられたアニメーションが使用されます。方向 0 にもアニメーションが割り当てられていなかったときは、エラーとなります。
sprite 命令にて方向 1〜8 のいずれかにアニメーションを割り当てようとしたときに、もし方向 0 にアニメーションが割り当てられていなかったときは、自動的に方向 0 に対してもしていされたアニメーションが割り当てられます。
すでにスプライトが move 命令によって画面上を動いているときに sprite 命令を使ってアニメーションの割り当てを変更したときは、直ちに割り当てられたアニメーションに画面上も変更されます。
Jasmine Tea の画面上にある「スプライト」ボタンを押して表示されるスプライトダイアログを使って、画面上で各スプライトのそれぞれの方向にアニメーションを割り当てることで、sprite 命令を使わなくても同じことができます。ほとんどのプログラムでは、スプライトダイアログを使ってアニメーションをスプライトに割り当てるだけで十分です。プログラムの実行中に、特定の条件になったらアニメーションを変化させたい、といったときには、sprite 命令を使ってアニメーションを変更すると良いでしょう。
サンプルプログラム
rem sprite
cls
sprite 0,3,3
sprite 0,5,0
sprite 0,1,1
sprite 0,7,2
show 0,(200,100)
distance 0,640
speed 0,18
direction 0,3
move 0
pause 500
direction 0,5
pause 500
direction 0,7
pause 500
direction 0,1
pause 500
stay 0