アニメーションしよう!

アニメーションはTVのアニメーションみたいに、
少しずつ動かしたグラフィックを用意するんだ。
牛ちゃんをぐるんぐるんと回転させたくてたまんないぜ!
という人は牛さんを3Dソフトで作って、
少しずつ動かしながらレンダリングしたグラフィックを作ろう。
今回の牛はLightwaveのサンプルデータの牛だよ。

jpgcow0010.jpg
jpgcow0011.jpg
jpgcow0012.jpg

 




cow0015.jpg

実際は、このあと更に牛が回るように、
全部で32枚の牛の絵を作りました。

まずは、単純に読みこんで見ましょう。


*top
	repeat 32,1
	cc="00"+cnt
	strmid c,cc,-1,2
	PICLOAD "cow00"+c+".jpg"
	title  "cow00"+c+".jpg"
	wait 2

	loop

	goto *top	
	stop

一応、まわってます。
さすがにこれだと、何度もHDDを読むのでカッコ悪いっす。
1つのバッファに読みこんで、アニメーションしてみましょう。

	;ushi2.as
	screen 0,192,144,0
	buffer 3,192,32*144,0

	repeat 32,1
		cc="00"+cnt
		strmid c,cc,-1,2
		p=(cnt-1)*144
		PICLOAD "cow00"+c+".jpg",1,0,p
		title  "cow00"+c+".jpg"
		wait 1
	loop

	repeat 3
		gsel 0
			repeat 32
			ofs=cnt*144
			pos 0,0
			gcopy 3,0,ofs,192,144
			wait 2
		loop
	loop
	stop


縦長のバッファを定義します。32枚分のながーいバッファ。
そこにアニメーションするグラフィックを”上書き開き読みこみ”のpicload命令で読みこみます。

事前に長いグラフィックを用意しておいて、読みこむのでもいいでしょう。

下のアニメーション部分では、3回転分のアニメーションをしています。
ofsという変数に、バッファのどの位置からグラフィックをコピーするか
計算して、そこからスクリーンにコピーしています。

これで、牛ちゃんがぐるぐる回ります。

今回は牛ちゃんが回転していますが、爆発パターンとかでも同じ方法で
アニメーションを作ることができるよ。
パターンを作るのが大変だけどね。

というわけで、アニメーションの解説はおわりです。


牛アニメーションのソースとデータのダウンロード
(実行にはWindowsの動く環境と、HSPが必要です。)

実践編の目次に戻る