ゲームと関係のない画像を表示させる事が出来る。
一時的な演出、クリップ、シャッターの再現などが出来る。
大別して「壁紙」「ピクチャー」「フロントピクチャー」の3種類がある。
壁紙 ・・・ 画面の一番奥に1枚の画像を表示する事が出来る
ピクチャー ・・・ 1000枚までの画像を用意し、任意の場所に表示したり変化させたりアニメーションさせたりする事が出来る
フロントピクチャー ・・・ 10枚までの画像を用意し、画面の一番手前に表示することが出来る
壁紙は、1つの画像ファイルを画面の一番奥に表示させておくもので、一番簡単に扱える画像である。
以下のような壁紙用の画像ファイルを用意する。
・bmpかjpg
・画面のサイズ(標準で512x384)と同じ大きさが望ましいが、そうでなくても良い。
・譜面ファイルと同じ場所に置くこと。
壁紙を使う場合、設定項に以下を記述する。
&wall=ファイル名,不透明度 不透明度とは、その画像をどのくらい透明にして表示するかである。 画像をそのまま表示するとゲーム画面の邪魔になる可能性があるため 暗く表示させることが出来る。 不透明度は0~100の範囲であり、100の時そのまま表示、50の時半分透明になる。 例: &wall=kabegami.jpg,80 kabegami.jpgという画像を不透明度80で表示する
画面と画像の大きさが合わない時、自動的にサイズ調整することも出来る。 不透明度のあとに、さらに「,1」と書く。 例: &wall=kabegami.jpg,80,1 kabegami.jpgという画像をサイズ調整しつつ不透明度80で表示する (画像の横幅が画面の横幅に合うように拡大縮小される。 拡大する場合はあまり綺麗にならない事に注意)
ピクチャーとは、ファイルを読み込んで定義し、画面に表示したり、動かしたり、回したり、アニメーションさせたりと様々な事が出来る画像のことである。
最も汎用性があるが、扱いは一番複雑と言える。
ピクチャーに使う画像の仕様は以下である。
・bmp/jpgファイルの画像 (bmp推奨)
・大きさは自由
・R=0 G=0 B=0 である部分は透過されるように出来る(画像ごとに設定)
・1000枚まで画像を登録出来、同時に100枚まで表示出来る。
深度ピクチャーは100個の深度を持つ。
深度とは、その画像が「どのくらい手前または奥にあるか」という数である。
CarmVTRでは深度は0から99の値を持ち、数が大きいほどそれは手前にあるという事である。
深度0〜49と深度50〜99ではピクチャー自体が表示される位置も変わる。
また、同じ深度には1枚までの画像しか表示出来ない。深度0から99にそれぞれ別の画像を表示すれば、同時に100枚の画像を表示出来る事になる。
深度は0番から順に(奥側は50番から順に)欠番なく使ったほうが良い。
欠番の深度が多いと処理時間に影響する可能性がある。
CarmVTR全体での具体的な深度は以下のようになっている。
壁紙 ↑奥 背景 ピクチャー(深度50〜99) 小節線 ロングノートの帯 ノート(時間が遅い) ノート(時間が早い) ピクチャー(深度0〜49) 情報表示 フロントピクチャー ↓手前
深度0〜49のピクチャーはノートなどよりも手前にあり、他の物を覆い隠す事が出来る。シャッターの表現などに使える。
深度50〜99のピクチャーは背景より手前、ノートよりも奥にある。ノートの表示を邪魔したくない場合や、背景そのものを入れ替えるのに使える。
座標についてCarmVTRの標準の画面サイズは、512x384である。
左上の座標が(0,0)、右下が(511,383)となる。
ピクチャーのどの部分を基準として表示するのか(基準座標)を、以下の2つから選ぶ。
1.
画像の中心を基準とする。これは画像の大きさに関係ない。
(100,100)の座標にピクチャーを表示すると、(100,100)の地点は画像の中心になる。
この方法にする場合、何も設定は必要ない。
2.
画像の左上を基準とする。
(100,100)の座標にピクチャーを表示すると、(100,100)の地点は画像の左上になる。
この方法にする場合、設定項に以下を記述する。
&picposmode=1 全てのピクチャーの画像の基準座標を左上にする。 ピクチャー毎に別々に設定する事も出来る。(後述)
ピクチャーの定義使うピクチャーの画像は、設定項に「&pic」という行を書いて設定する。
画像を透過するかしないかで記述が変わる。
ピクチャー番号は、そのピクチャーを指定する時に使う数である。
画像を透過する(R=0 G=0 B=0の部分を表示しない)場合(こちらが標準) &pic=ピクチャー番号,ファイル名 画像を透過しない(黒い色もそのまま表示する)場合 &pic=ピクチャー番号,ファイル名,0
1〜899の範囲である。欠番があっても構わない。
例:
emi.bmp を、そのまま表示する画像として1番ピクチャーに登録。
&pic=1,emi.bmp &pic=2,yuni.bmp,1
yuni.bmp を、透過する画像として2番ピクチャーに登録。
このピクチャーだけは基準座標を別にする、という記述が出来る。
&picposmode=1 &pic=1,emi.bmp &pic=2,yuni.bmp &thispic_posmode=0 全てのピクチャーの基準座標は1(左上)だが、 最後に定義した2番(yuni.bmp)だけは基準座標を0(中心)にする。
次に、ピクチャーを表示する座標を設定する。
ピクチャーは、深度ごとに表示する座標を決める必要がある。あとで変更する事は出来ない。
デフォルトでは全て、画面の中央になっている。
譜面ファイルに以下を必要なだけ書く。
&picpos=深度番号,X座標,Y座標
ピクチャーの表示定義したピクチャーを実際に表示させるには、行命令として書くか、拍データにノートのように書く方法がある。
行命令として書く場合: PIC/ピクチャー番号,深度 ノートのように書く場合: [ピクチャー番号/深度] 例:深度0にピクチャー1番を表示する PIC/1,0 または [1/0],,,,
2つのピクチャーを同時に表示したい場合:PIC行を使う場合、行命令を書いても時間は進まないので、2行並べて書けばよい。
PIC/1,0 PIC/2,1拍データに書く場合、必要なだけ同じ拍の中に書ける。
[1/0][2/1],,,,
ピクチャーを消したい場合は、ピクチャー0番を表示する。
ピクチャーを消去: PIC/0,深度 または [0/深度],,,,
深度を省略すると、前回使われた深度が使われる。
PIC/1,0 PIC/2 PIC/3 PIC/4 このように続けた場合、全て深度0のピクチャーを変更していく。
アニメーションの定義複数のピクチャーを自動的に順番に表示させておくような事が出来る。
この事をアニメーションと呼び、
およそこのような事を決めて、1つの「アニメーション」として定義する。
何番のピクチャーを、どれだけの時間表示する
次に、何番のピクチャーを、どれだけの時間表示する
次に、何番のピクチャーを、どれだけの時間表示する
・
・
定義したアニメーションは普通のピクチャーと同じように表示する事が出来る。
使うピクチャーはあらかじめ定義しておくこと。
具体的な記述は以下である。
&anime=アニメーション番号/ピクチャー番号,表示時間,ピクチャー番号,表示時間 …
アニメーション番号とは、このアニメーションにつける番号である。
1001〜1100の範囲で決める。欠番があっても良い。
次に、表示するピクチャーの番号と、それを表示しておく時間を、必要なだけ書き並べる。
時間の単位は「1小節の時間の何倍か」であり、1であれば1小節の長さと同じ、2であれば2小節の長さと同じになる。
また、「\2」のように書くことも出来、この場合は1÷2で「0.5」と書くのと同じになる。
この「ピクチャー番号、時間」を1セットとして、表示していく順番に書き並べていく。いくつ書いてもよい。
全てを表示すると、最初に戻ってまた表示していく。
0番のピクチャーを指定すると、その間は何も表示されない。
カンマ「,」と小数点「.」が混ざると非常に見難くなるので注意のこと。
&anime=1001/1,0.25,2,0.25 1001番アニメーションとして、以下のように表示する。 ・1番のピクチャーを0.25小節(=4分音符)の間表示する。 ・次に、2番のピクチャーを0.25小節(=4分音符)の間表示する。 ・最初に戻る
定義したアニメーションを表示するのは、ピクチャーの場合と全く同じである。
決めたアニメーション番号(1001~1100)をそのままピクチャー番号として使う。
表示したアニメーションを消すには、これも同様に0番ピクチャーを表示すればよい。
&seq= [1001/0], 深度0にて、アニメーション1001番の表示を開始する。 &seq= [0/0], 深度0で表示されているピクチャーやアニメーションを消す。
座標、不透明度、大きさ、角度の変更と変化ピクチャーに関する色々な状態を、変更および変化させる事が出来る。
それぞれ、譜面データの行データとして記述する。
拍に書くことも出来る。(後述)
PCLR : 設定の初期化 (Picture CLeaR) PPOS : 表示している座標を変更 (Picture POSition)PCLR/深度 この深度のピクチャーを消し、サイズ、角度、不透明度を初期化する。
PMOVE : 指定した位置から指定した位置まで移動 (Picture MOVE)PPOS/深度,X,Yその深度の表示座標を(X,Y)に変更する。
PALP : 不透明度を変更 (Picture ALPha)PMOVE/深度,X1,Y1,X2,Y2,使用時間,事後処理その深度のピクチャーを、(X1,Y1)から(X2,Y2)まで、使用時間だけの時間をかけて移動する。
移動後、事後処理を行う。
PALPS : 不透明度を指定した値で変化 (Picture ALPha Shift)PALP/深度,不透明度その深度の不透明度を変更する。
(0〜100)の範囲であり、100の時通常通りの表示、0の時完全に透明になる。
PSIZE : 大きさを変更 (Picture SIZE)PALPS/深度,開始状態,終了状態,使用時間,事後処理その深度のピクチャーの不透明度を、(開始状態)から(終了状態)まで、使用時間だけの時間をかけて変化させる。
開始状態と終了状態は不透明度であり、(0〜100)の範囲である。
その後、事後処理を行う。
PSIZES : 大きさを指定した値で変化 (Picture SIZE Shift)PSIZE/深度,大きさその深度の大きさを変更する。
単位は「倍」であり、1の時通常と同じ、2で2倍の大きさになる。
PANG : 角度を変更 (Picture ANGle)PSIZES/深度,開始状態,終了状態,使用時間,事後処理その深度のピクチャーの大きさを、(開始状態)から(終了状態)まで、使用時間だけの時間をかけて変化させる。
開始状態と終了状態は大きさであり、単位は「倍」である。
その後、事後処理を行う。
PANGS : 角度を指定した値で変化 (Picture ANGle Shift)PANG/深度,角度その深度の表示角度を変更する。
単位は「度」であり、0の時標準、90の時右に90度回転となる。
左に90度回転させる時は「270」でも「-90」でもよい。
PARC : 座標を変更(円周上) (Picture ARC)PANGS/深度,開始状態,終了状態,使用時間,事後処理その深度のピクチャーの表示角度を、(開始状態)から(終了状態)まで、使用時間だけの時間をかけて変化させる。
開始状態と終了状態は角度であり、単位は「度」である。
「0→360」のように指定すると1回転となる。「0→720」で2回転。
その後、事後処理を行う。
PARCS : 円周上を移動 (Picture ARC Shift)PARC/深度,中心X,中心Y,半径X,半径Y,角度ピクチャーの座標を、「中心座標が(中心X,中心Y)であり、横半径が(半径X)、縦半径が(半径Y)である円周上の(角度)の地点」に変更する。
開始角度と終了角度は真右を0度として右回りに数え、1周は360度である。
PJUMP : ジャンプ表示 (Picture JUMP)PARCS/深度,中心X,中心Y,半径X,半径Y,開始角度,終了角度,使用時間,事後処理ピクチャーを、「中心座標が(中心X,中心Y)であり、横半径が(半径X)、縦半径が(半径Y)である円周上の、(開始角度)の地点から(終了角度)の地点まで」移動する。
開始角度と終了角度は真右を0度として右回りに数え、1周は360度である。
「0→360」のように指定すると1回転となる。「0→720」で2回転。
その後、事後処理を行う。
PJSTOP : ジャンプ終了 (Picture Jump STOP)PJUMP/深度,高さ,使用時間,事後処理(注意)その深度のピクチャーを、上方向に跳ねるように移動(ジャンプ)させる。
最大で何ドットだけ上方向に移動するかを高さで指定し、使用時間だけの時間をかけて1回ジャンプする。
これの事後処理だけは他と扱いが違い、
・事後処理に何も書かない→1回だけジャンプ
・事後処理に「L」と書く→永遠にジャンプ
となる。
PJEND : ジャンプ強制終了 (Picture Jump END)PJSTOP/深度現在進行しているジャンプが終わったら、ジャンプを終了させる。
PJEND/深度ジャンプをただちに終了する。ピクチャーの座標は現在の位置で維持される。
使用時間とは、その変化にかかる時間のことである。
単位は「1小節の時間の何倍か」であり、1であれば1小節の長さと同じ、2であれば2小節の長さと同じになる。
また、「\2」のように書くことも出来、この場合は1÷2で「0.5」と書くのと同じになる。
事後処理とは、その変化が終わったあとどうするかという文字の事である。以下より選んで1文字を書く。
(何も書かない) 終了状態で終了
変化の最後の状態を維持したまま、変化を終了する。
S開始状態で終了
変化の最初の状態にしてから、変化を終了する。
D消去
ピクチャーを消去して終了する。
表示座標は終了状態のままである。
Lループ
再び、開始状態から終了状態への変化を始め、この深度に対して別の命令が行われるまで永遠に繰り返す。
R逆ループ
開始状態から終了状態への変化が終わると、逆に終了状態から開始状態への変化を行う。その後再び開始状態から終了状態、と往復する。
この深度に対して別の命令が行われるまで永遠に繰り返す。
気にかけておくとよい事:深度に対する命令
これらの位置や大きさなどの指定は、ピクチャーではなく深度に対して行われる。
「深度1に対して不透明度50の指定をした」のならば、この深度にあるピクチャーを消して、その後別のピクチャーを表示した時も「不透明度50」のままである。
必要に応じて変化を元に戻す事も考える。
これらの命令は全て行データとして書く必要があるが、
拍データとして、ノートなどの記述に混ぜて書くことも出来る。
拍データとして書くには、前後に大カッコ [〜] をつければよい。 PMOVE/0,0,0,100,100,2,D [PMOVE/0,0,0,100,100,2,D],,,, 上の2つは同じ意味となる。 同じ拍にいくつ書いてもよい。 [2/0][PALP/0,80],,,, 深度0にピクチャー2番を表示するのと同時に、不透明度80にする。
フロントピクチャーとは、全ての表示よりも手前に表示する画像のことである。
最大で10枚をあらかじめ登録しておき、そのうち1枚を表示させることが出来る。
画像はbmp(推奨)/jpgで用意し、大きさは画面の大きさと同じにする。
そうでなくても良いが、表示する座標を指定することは出来ない。
R=0 G=0 B=0 の部分は透過される。透過されないと本当に全てが隠れることになる。
フロントピクチャーとして登録する画像を設定項に必要なだけ記述する。
&fpic=(フロントピクチャー番号(1~10)),(ファイル名) 例: &fpic=1,front1.bmp &fpic=2,front2.jpg 「front1.bmp」をフロントピクチャー1番として、 「front2.jpg」をフロントピクチャー2番として登録する。
フロントピクチャーを表示するには、
行命令として「FPIC/n」と書くか、拍データとして「[FPIC/n]」と書く。
ピクチャーと同じである。
フロントピクチャーを消去するには、0番を表示する。
FPIC/1 (行データ) フロントピクチャー1番を表示する [FPIC/1]z,x,c,v, (拍データ) zと同時にフロントピクチャー1番を表示する FPIC/0 (行データ) フロントピクチャーを消す