その3 画像を表示しちゃおっか!編

「というわけで、画像を表示させるんだが、そのためには絵がないとな。前回絵を用意しろと言い忘れたからオイラが用意しといたぞ」
「おお、よかった。言ってもいねぇのに『前回言ったが絵は用意したか?』とか言い出すと思った」
「はっはっは、オイラはそこまでマヌケじゃないぞ?そんなこと言うわけないじゃないか」
「へっ!どうだか」
「はっはっは、君はおもしろいなぁ。だから黙れや、この大ボケ野郎」
「・・・・・・・。お前、ここでは口悪すぎじゃないか?」
「ああ、安心してくれ。お前に対してだけだ」
「おい!そりゃ、どういうことだよ?!」
「じゃあ始めようか!」
「お、おいコラ?!!」
「まずは背景画像を表示させよう。じゃあ、この画像を保存してくれ。もちろん自分で用意してもいい。ただ、大きさは480×640だぞ。んで、その画像の名前を『sample.jpg』にしてくれ」
「・・・・・・・。保存したぞ」
「よし、じゃあ表示させようか。背景画像を表示させるには『bg " ",数字,数字』を使う。ちなみにこれは、background(背景)の略だと思う」

*define

game
*start
背景を表示させちゃうぞ\

bg "sample.jpg",6,1000

背景を表示させちゃったぞ!@
end


「おお!表示されたぞ!!なんかうれしいなぁ!」
「じゃあ、次はキャラを・・・・・」
「ちょっと待てちょっと待て!!『bg』はいいけど、最後にある数字2つはなんだよ?!」
「ったく、察しの悪いヤローだなぁ、コンチクショー
「グッ・・・・・・!!しょ、しょうがないだろ!!まだ初心者だぞ?!」
「その数字はこの画像の表示のさせ方をあらわしているんだ。1つ目の数字の『6』は表示させるときのエフェクトもう1つの『1000』はどのくらいの時間を掛けて絵を表示させるかを表してる。単位はお馴染み、ミリ秒だ」
「エフェクトってどんなのがあるんだ?」
「それは下のを参照してくれ」

1 瞬時表示。この場合は時間指定はいらない
2 左シャッター
3 右シャッター
4 上シャッター
5 下シャッター
6 左カーテン
7 右カーテン
8 上カーテン
9 下カーテン
10 ピクセル単位のクロスフェード
11 左からスクロール
12 右からスクロール
13 上からスクロール
14 下からスクロール


「なんか、分かるような分からないような・・・・・」
「まあ、それぞれがどんな感じかは個人で試してみてくれ。他にもあるらしいが、基本的なものはこれぐらいかな」
「ほおぉぉぉ、すごいなあ!」
「ふっふっふ、まあな」
「お前の事じゃないぞ。お前は全然すごくない・・・・・」
いあやっはっはっは!すごいだなんて照れるなぁ!!
「聞けよ・・・・・・。ところで、『気を失って背景が白くなる〜』ってのを作るとき、わざわざ白い画像を用意しなくちゃいけないのか?」
「いや、そんなのは面倒くさいし、なにより容量がかさばるだろ?」
「じゃあどうするんだよ?」
「単色の場合は、わざわざ画像を用意しなくても『black』『white』または『RGB』を使って表示することができる。『bg black,6,1000』(真っ黒になる)・『bg #FF0000,10,500』(真っ赤になる)ってな具合にね」
「あれ?" "で囲まなくていいのか?」
「うん、これの場合は囲む必要はない
『RGB』を使うとき、赤以外でも平気なのか?」
「もちろん」
「ふぅん。これはありがたいな」
「うん、結構使う機会が多いと思う。白とか黒とか。じゃあ、次はキャラを表示させてみよう。絵はこれだ。」
「どれどれ・・・・・」

サンプル

「・・・・・。あえてなにも聞かないよ・・・・・・」
「うん、ありがと・・・・・・」
「これをほぞんすればいいんだな?」
「うん。で、表示させるわけだけど、1つ注意がある。」
「注意?普通に表示させればいいんじゃないの?」
「そうなんだけど、JPG画像のように圧縮された画像はBMP画像とかの無圧縮のものと違って画像が劣化するから、何もないような画像のまわりが荒れてよごれがついてしまう。実際にやってみればわかるけど、そのまま表示させるとそのよごれまで表示されてしまうんだ」
「じゃあどうすればいいんだよ?」
「表示させたい絵の部分以外の余計な部分を表示しないようにすればいい。そこで使うのが『:a;』だ。これを巷ではアルファブレンドというらしい。なんのことだろうなぁ、わっはっは」
「おい・・・・・」
「要は表示できればいいんだろ?意味なんか知らなくても平気へーき」
「そんなもんなのか・・・・・?」

サンプル


「んで、こういう画像にする。左側は表示される画像で、右側の部分でその画像の透過度が決まる。黒い部分に対する所はそのまま表示され、白い部分に対する所は透明になる。ちなみに、灰色だと、その濃さによって変わる。濃ければ濃くなって、薄ければ薄く表示される」
「赤とかだと?」
「右側にはグレースケールの画像をくっつける」
「・・・・赤の場合は?」
「右側にはグレースケールの・・・・・」
「もういいよ・・・・・。」
「立ち絵は『ld』を使う」

*define

game
*startキャラを表示させます。@

ld c,":a;hito.jpg",6,500

表示されました。@
end


「まあ、こんな具合だな。わかってると思うけど、『6』はエフェクト『500』は時間な。『c』は絵を表示させる位置だ」
「『center』の『c』?」
「うん、そう」

c ・・・・・ center(真ん中)
r ・・・・・reft(右)
l ・・・・・light(左)


「こんな具合だね」
「消すときは・・・・・clean・・・・・まさか、『cl』?」
「おお、正解。『cl a,6,1000』って感じ。『a』は『all』かな?表示されている立ち絵を全部消す。『c』の場合は真ん中の、『r』の場合は右側の、『l』の場合は左側の立ち絵を消す。数字は・・・・・いいかげんいいべ?」
「ああ、わかるよ」
「今回はこれくらいかな?次回はなにやるべ・・・・・。もう疲れた・・・・・」
「早いな〜」
「あとは自主勉で」
「おいおい・・・・・」
「じゃ、次回はオイラの気分次第で〜〜」
「平気かな・・・・・・」


【今回の復習】

背景の表示= bg "画像ファイル名",数字,数字

・エフェクトの種類
1 瞬時表示。この場合は時間指定はいらない
2 左シャッター
3 右シャッター
4 上シャッター
5 下シャッター
6 左カーテン
7 右カーテン
8 上カーテン
9 下カーテン
10 ピクセル単位のクロスフェード
11 左からスクロール
12 右からスクロール
13 上からスクロール
14 下からスクロール
※基本的なもののみ
 画像を指定する部分では、『black』、『white』、『RGB』も使える

立ち絵の表示= ld アルファベット,"画像ファイル名",数字,数字 (ld アルファベット,":a;画像ファイル名",数字,数字)
・アルファベット
c ・・・・・ center(真ん中)
r ・・・・・reft(右)
l ・・・・・light(左)

立ち絵の消去= cl アルファベット,数字,数字
・アルファベット
上の3つ + a ・・・・・all(全部)

※ここで使った背景画像はゲーム製作支援館様
背景素材を使わせていただきました。

<もどる>