« HSPTV!メルマガ 第27号 | メイン | 【講座】HSP3ワンポイントテクニック 第12回 »

2006年11月21日

【講座】HSPよく使うフレーズ 第19回 背景のあるキャラクタ移動

【講座】HSPよく使うフレーズ 第19回 背景のあるキャラクタ移動

ゲームで背景を出したい時があるよね。
海だったり、山だったり、RPGなら草原だったり。
最初のうちは背景は黒にしておいて、キャラクタの移動をするときに、
黒で消してから移動、という事になる。

でも、やっぱり写真や細かい絵と重ねたくなる。

というわけで、そんな時には、表示するスクリーンとは別に背景用の
バッファを用意して、消すときには、そこから画像をコピーする方法が
お勧めです。

で、今回のポイント

・画面全部を上書きしちゃってます。

・ちらつきは無視です。

・マウスの座標に”俺”を表示します。

・フォントの指定には3.1b6の新機能”かんたん入力”を活用。
エディタの黒い部分で右クリックしてみよう!

・グラフィックに重ね合わせるgcopyの前には「gmode 2」。
これで背景が黒の場合は透明色扱いになります。

という感じで作ってみたよ。
bufferの文字をscreenにかえると、謎がちょっと分かるかも。

1つバッファを増やすだけで、いろいろな事が出来そうだね。


screen 0,640,480,0
buffer 2,640,480,0 ;バック
buffer 3,100,100,0 ;キャラクタ
font "MS ゴシック" , 36 , 0 ; フォントを設定
;chr
color 0,0,0:boxf
color 0,200,0:mes "俺"
;back
gsel 2
font "MS ゴシック" , 80 , 0 ; フォントを設定
color 100,100,100:boxf
color 0,0,0
mes "■_■_■_■_"
mes "■_■_■_■_"
mes "■_■_■_■_"
;
gosub *bak_put
gosub *ore_put
;
*lab1
mx= mousex
my = mousey
title ""+mx+"/"+my
gosub *ore_put
wait 10
goto *lab1
stop
*ore_put
gosub *bak_put
gmode 2
pos mx,my
gcopy 3,0,0,32,32
return
*bak_put
gsel 0
gmode 0
pos 0,0
gcopy 2,0,0,640,480
return

[hsp3/erase_char.hsp]

(うすあじ)

投稿者 usuaji : 2006年11月21日 11:06

口臭チェッカー市場