| | |
|
投稿者:たくみ 2003/07/18(金) 10:47
どうもです〜。
>これで、選択肢以外でもシナリオがやる度に変化するという仕様のゲームができそうです。
おぉ、そういうタイプのノベルも面白そうですね(^^
>ですが、どうしても画面のフェードがうまく使えません。
そうですね…、考え方としては、縦に2枚レイヤーを並べて、 下のレイヤーはずっと不透明度100%の状態のままで、 上のレイヤーだけを不透明度100%からじょじょに0%まで下げていく、という感じです。
で、フェードのスクリプトは下のように書けるのですが、
----------------------------------------------------------------- INT[@ALPHA=256]
CG[NO=1 FILE='cg/B.BMP'] // @ CG[NO=2 FILE='cg/A.BMP'] // A
#LOOP_1
CG[NO=2 A=@ALPHA] // B @ALPHA-=4 WAIT[FRAME=1] // C
IF[@ALPHA>0] GO[#="LOOP_1"] // D ENDIF[]
-----------------------------------------------------------------
仕組みを具体的に説明しますと、 まず@Aで、下のレイヤー1にB.BMPを、上のレイヤー2にA.BMPを読み込みます。 2枚とも完全不透明なので、この状態で画面に見えているのはレイヤー2のA.BMPということになります。
で、変数ALPHAを利用して、BのCG命令でレイヤー2の不透明度属性を変更しています。 Cで1フレーム(1/60FPS≒0.016秒)分、それを画面に表示します。
これらの動作を、変数ALPHAが0になるまで、つまり、レイヤー2の不透明度が0になるまで 繰り返させます。それがDです。
と、こんなところでどうでしょうか。 蒼華さんの理解できないところと違っているようでしたらご指摘ください。 そのうち一段落ついたら、リファレンスで詳しく説明したいと思っています。
で、こういったプログラミングチックな記述をしなくても簡単にフェードが使えるようになればと思い、 今回ちょっと『フェード記述サンプル』なるものを作ってみました。 たった一行の文の記述で簡単にフェードができるようになる、といものです。 サブルーチン命令(GOSUB)を利用して実現しています。 演出のスキップにも対応していますので、もし宜しければ使ってやってください。
ダウンロードページに置いておきます。
| |
| | |
|