その4 今日も元気にスプライト!!編

「やっぱムチャだったんだ。オイラに説明させようってのが間違いだったんだ」
「自分でやろう!って決めてやってるんだろ?今更うだうだ言うなよ」
「だいたい、なんだよ?スプライトって・・・・・」
「そんなんで平気なのかよ・・・・・」
「スプライトってのは・・・・・ホラ、アレだよ。画像を表示させるんだって、ウン」
「それだけ?!説明それだけ?!!」
「あわてんなって。これからこれから。ハハ・・・・・」
「不安・・・・・」
「まあ、もう失う物ないし、気楽にいこうぜ」
「そんなんだから人が来てくれないんだよ・・・・・」
「ホラ、話を戻すぞ!前回、背景を表示させただろ?立ち絵も表示させただろ?」
「他にはもう必要ないんじゃないの??」
「ったく、これだから・・・・・。黙ってろよ、この万年球拾いが」
「意味分かんねぇよ!!」
「スプライトってのはな、絵を自由な位置に表示させたり、動かしたりすることができるんだよ〜、きっと」
「『きっと』ってなんだ・・・・?」
「定義や意味なんてどうでもいいんだって。要は使えれば問題なし!!
「結局それってどういう時に使うんだ?」
「そんなトンチンカンなこと言ってる奴は使わなくていいんだよ〜」
「なんだとぉ?!!」
「色んなことに使えるけど、例えばポーズを変えずにキャラの表情だけを変えたいってとき、わざわざ表情だけ違う絵を用意してちゃ無駄にサイズがでかくなっちゃうだろ?そういうときにスプライトさん登場!!
「はいはい。表情だけの絵を上にのせて・・・・って感じ?」
「そうそう。スプライトはちょっとした画像を表示させたり、演出に使ったりするのが一般的な使い方だと思われる」
「思われる・・・・・?」
「だって、予想だもん」
「ふ〜〜ん・・・・・」
「百聞は一見に如かず!!例を見てみよう。まずはこれをダウンロードしておくれ」
「なに?この絵・・・・・」
「オイラが昔にゲームを作ろうとして描いた絵だ。再利用再利用」
「・・・・・へぇ・・・・」
「文句言うな!!恥を承知でやってるんだ!!」

*define

game
*start

lsph 0,"face.jpg",276,125

bg white,10,1000

立ち絵を表示させます。\

ld c,":a;sample.jpg",6,500

キャラが表示されました。@
表情が変わります・・・・・。\

vsp 0,1:print 7,500

変わった変わった!@
end


「上のを写したら、実行実行実行!!!」
「なあ、なんでお前は『clickstr』を使わないんだ?」
「使わないで作ってたら慣れちゃったんだ、使わないの。オイラにとっては『clickstr』使う方がやりにくい」
「あそう・・・・・」
「ここで新しく出てきたのは『lsph』『vsp』『:』『print』の4つだね」
「うん」
『lsph』とは、メモリ上にスプライトを呼び出す命令で、これともう1つ『lsp』の2つがある」
「どう違うんだ?」
「スペルが違う」
「な、なるほど・・・・・・」
「本気で取るな。『lsph』は見えない形で表示、『lsp』は見える形で表示するんだ」
「ふ〜ん。んで、『vsp』で見えるようにしてるのか」
『lsph』の後の『0』はスプライト番号といって、スプライトに何かするとき、どのスプライトかが分かるように付いている。例えば、スプライト番号・1を表示して、番号6を非表示にする!ってときにいちいち文字列(" "で囲まれてるやつ)を書いてたんじゃ難だろ?」
「そのスプライトの名前みたいなもんか?」
「多分」
「また・・・・・」
「一番最後の数字は、画像の一番左上のX座標、Y座標だ。つまり、画像を表示させる位置だね」
「エフェクトとかじゃないの?」
「エフェクトが276種類もあったら鼻血が出るぞ」
「そうか・・・・・・って、鼻血は・・・・・」
「そして、『vsp』でそのスプライトの表示・非表示を切り替える。1つ目の数字は切り替えるスプライト番号。んで、2つ目の数字が『0』のときは非表示『1』のときは表示に切り替えられるっちゅーこっちゃ」
「なーるほど。『"face.jpg"』って画像を見えない形で『276,125』の位置に表示して、『vsp』で表示に切り替え・・・・・って感じか」
「そうだ。しかーーし、これだけでは画像は見えない。そこで出てくるのが『print』だ」
「は、はあ・・・・」
『print』を使って初めて画面上に絵が表示される。もうわけわからんが、されるもんはされる。『print』の後の数字は、エフェクトと時間だ。分かると思うから説明はしないよ」
『vsp』『print』の間にある『: (コロン)』は?」
「それは、コロンの前後にある命令を同時に行うというものだ。これの場合は『vsp』『print』を同時にってことだな」
「ううん・・・・・」
「習うより慣れろって言うじゃん?いずれ余裕シャキシャキになるって」
「そうかねぇ・・・・・・」
「最後にスプライトからメモリから消そう。このときには『csp スプライト番号』を使う。スプライト番号のところを『-1』にすると、全てのスプライトを消去するぞ」
「これで終わりか?」
「ああ、スプライト編・終了!」
「今回は例が1つしか出なかったな」
「例が思いつかなかったんだ。でも、スプライトは非常に大切なものだから、覚えた方がいい」
「うう・・・・・」
「さて、次回はなんだ?」
「俺に聞くなって・・・・・」


【今回の復習】

『lsp スプライト番号,"画像ファイル名",X座標,Y座標』
= 見える形で表示

『lsph スプライト番号,"画像ファイル名",X座標,Y座標』
= 見えない形で表示
(共にメモリ上にスプライトを呼び出す命令)

『vsp スプライト番号,0 or 1』
= スプライトの表示・非表示を切り替える。
 『1』が表示、『0』が非表示

『print 数字(エフェクト),数字(時間)』
= これを使い初めて画面に反映される

『csp スプライト番号』
= 指定したスプライトをメモリから消す。
 『-1』を入れると全てのスプライトが消去される。

『: (コロン)』
= コロンの前後にある命令を同時に行う


<もどる>