アニメーションしよう!
アニメーションは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が必要です。)
実践編の目次に戻る