■変化する画像
立ち絵と画像タグの項で、
画像タグについて説明しました。
画像タグでは透過方法を指定することができますが、それ以外にも画像の
アニメーションを指定することもできます。
ここでのアニメーションとは、画像が一定時間ごとに切り替わり、動いているように見えるもののことです。
よって、全ての動きは画像として用意されていなければなりません。
この一枚一枚の画像のことを、
セルと呼びます。
アニメーションを行うためには、画像ファイルに工夫が必要です。
一セル目から順に左から並べていって画像ファイルにします。
それぞれのセルの横幅は全て同じ長さでなければいけません。
これは、NScripterに同梱されている「デフォルトのカーソルファイル」フォルダの中の「cursor0.bmp」と「cursor1.bmp」を見てみればわかると思います。
この二つの画像はクリック待ちと改ページ待ちのアイコンとしてデフォルトで用意されている画像です。文章を表示させクリック待ちの状態にしてみれば、アニメーションしているのがわかります。
また、画像タグでアニメーションさせることができるのは
「立ち絵」と
「スプライト」、そして上記のようなクリック待ちや改ページ待ちのカーソルのみです。
他にも
「blt」命令(追加命令一覧.txt)を使うことによってアニメーションを行う方法もありますが、ここでは書きません。
■タグ指定
タグを指定する場合は、このように書きます。
":(透過形式)/(アニメ指定);(ファイル名)"
透過形式の次に「/」(半角のスラッシュ)を書き、アニメ指定、そして「;」(半角セミコロン)、ファイル名と続きます。
つまりは、画像タグの始まりが「:」、透過形式とアニメ指定の区切りが「/」、そしてそれら画像タグとファイル名を区切るものが「;」という感じでしょうか。
この画像タグは書き方にある程度の自由が利き、透過形式を書かなかったりアニメ指定を書かなかったりしてもよいことになっています。
「立ち絵と画像タグ」の項でアニメ指定を書かなかったのはそのためです。
■アニメ指定
では、アニメの指定方法です。
アニメの指定方法には二種類の方法があります。
それぞれのセルにかける時間(セルが表示されてから次のセルが表示されるまでの時間)が全て同じな場合か、一セルづつ時間が違う場合の二つです。
ですが、基本は同じです。そう違いはありません。
・時間が全て同じ場合
"(セル数),(一セルにかける時間),(ループ形式)"
・時間が一セルづつ違う場合
"(セル数),(<一セル目にかける時間,二セル目にかける時間,…Xセル目にかける時間>),(ループ形式)"
時間が全て同じ場合は、ただ時間を指定するだけです。数字の単位はミリ秒で指定します。
時間が一セルづつ違う場合は、セルごとに時間を指定します。よって、二番目のカッコの中は(実際にはカッコは記述しません。「<>」は記述します)セルの数だけ必要になります。
時間は、もちろんミリ秒で指定します。
■ループ形式
ここで、ループ形式というものが出てきました。
これは、セルが最後まで行った場合、そこからどう動くかを指定するものです。
ループ形式は数字で指定します。
(下に、「A」から「E」まで五つのセルがあった場合を書いています)
「0」…最後のセルまで行くと、また最初のセルからはじまります。そして、また最後まで行ったら最初から…というようにループします。
A→B→C→D→E→A→B→C→…
「1」…最後のセルまで行くと、そこで停止して終わります。以降動くことはありません。
A→B→C→D→E
「2」…最後のセルまで行くと、今度は逆に最初のセルに向かってアニメーションして行きます。そして、最初のセルに戻るとまた最後のセルに向かって行きます。これの繰り返しです。
A→B→C→D→E→D→C→B→A→B→C→…
「3」…これは少し他とは違います。セル数や時間の指定に関わらず、アニメーションしません。
「cell」命令(追加命令一覧.txt)を使うことによって手動でセルの切り替えを行うためや、
「spbtn」命令(追加命令一覧.txt)を使ってスプライトボタンにする時に用いるループ形式です。
これはどういうことかというと、スプライトはただ表示しただけでは自動的に「セル数1」と認識されてしまうため、複数のセルがあることを示すための画像タグ指定だと思えば良いです。
A
(cell命令等が無い限り動かない)
■スクリプト
実際にアニメ指定を行ったタグを書いてみましょう。
lsp 8,":l/5,1000,0;supuraito.bmp",50,100
|
透過形式「leftup」、時間は全て同じ、セル数5、一セルにかける時間1秒、ループ形式「0」
(実際のファイル)
lsp 8,":a/5,<100,200,300,400,500>,1;supuraito.bmp",50,100
|
透過形式「alpha」、時間はそれぞれ違う、セル数5、一セル目から0.1秒→0.2秒→0.3秒→0.4秒→0.5秒、ループ形式「1」
(実際のファイル)