Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2009-05-26

テキストを表示するよ!

| 20:41

【せんせい】

 前でテキストウィンドウの準備ができたので、早速文字を表示してみましょう。

 こういうゲームのテキストは、ウェイトをかけて表示されるのが普通です。

 イメージ部品に対する文字遅延描画は、エラーが出てもできなくなっちゃいました; というわけで、ここはやはり自作の文字遅延描画改で対応しましょう。

 実際に表示してみたらちょっと見栄えがさびしい感じだったので、影付きにしてみました。

 というわけで、こんな感じに~。

#-----母艦設計-----------------------------------------------
!母艦設計=「母艦の可視はオフ母艦のタイトルは「アドベンチャー」
母艦を$000000で画面クリア母艦のスタイルは「枠固定」
母艦オフに最大化ボタン有効変更。
母艦のクライアント幅は640。母艦のクライアント高さは480。
母艦中央移動
母艦の可視はオン。
#------------------------------------------------------------

#-----宣言---------------------------------------------------
裏_背景とはイメージの可視はオフ。
裏_背景の幅は640。裏_背景の高さは480。

裏_立ち絵とはイメージの可視はオフ。

裏_テキストウィンドウとはイメージの可視はオフ。
テキストウィンドウXとは整数=0
テキストウィンドウYとは整数=360
テキストウィンドウ幅とは整数=640
テキストウィンドウ高さとは整数=120

表画面とはイメージの可視はオン。
表画面の幅は母艦のクライアント幅。表画面の高さは母艦のクライアント高さ。
表画面のXは0。表画面のYは0。
#------------------------------------------------------------

#-----背景を表示---------------------------------------------
裏_背景の画像は「背景1.jpg」
裏_背景を表画面の0,0へ画像コピー。
#------------------------------------------------------------

#-----立ち絵を表示-------------------------------------------
裏_立ち絵の画像は「NAKO.bmp」
裏_立ち絵を表画面の0,0へ画像合成改。
#------------------------------------------------------------

#-----テキストウィンドウを表示-------------------------------
裏_テキストウィンドウの画像は「TXTWIN.bmp」
裏_テキストウィンドウの5,5,630,110を表画面のテキストウィンドウX,テキストウィンドウYへ50で画像部分透過コピー。
#------------------------------------------------------------

#-----テキストを表示-----------------------------------------
#文字書体は「MS ゴシック|24|太字」。文字色白色。
表画面のテキストウィンドウX+10,テキストウィンドウY+10へ「我輩はNAKOである。  {改行}名前はまだない。{改行}             (え;)」を100でノベルテキスト描画。
#------------------------------------------------------------

#------------------------------------------------------------
# 関数
#------------------------------------------------------------
●ノベルテキスト描画({グループ=?}OBJのX,YへSを{数値=200}Aで)
  XX=X
  (Sの文字数
    Sの回数から1文字抜き出す。
   
    もしそれ=「{CHR(10)}」ならば
      X=XX
      Y=Y+(それ文字高さ取得)
      続ける

    文字書体は「MS ゴシック|24|太字」。文字色黒色。
    OBJのX+2,Y+2へそれ文字描画。
    文字書体は「MS ゴシック|24|太字」。文字色白色。
    OBJのX,Yへそれ文字描画。
    描画処理反映
    (A/1000)秒待つ。
   
    X=X+(それ文字幅取得)
#------------------------------------------------------------
●画像部分透過コピー({グループ=?}コピー元のX,Y,W,Hを{数値=$00FF00}透過色で{グループ=?}コピー先のX2,Y2へ{数値=50}透明度で)
  処理用をイメージとして作成。処理用の可視はオフ。
  処理用の幅はW。処理用の高さはH。

  #半透明にしたい部分を処理用に移す
  コピー元のX,Y,W,Hを処理用の0,0へ画像部分コピー

  #コピー元の半透明にしたい部分以外をコピー先へ合成
  塗り色は透過色。線色は透過色。線太さは0。
  コピー元のX,YからX+W,Y+Hへ四角。
  コピー元をX,Yでコピー先のX2,Y2へ画像合成改。
  
  #半透明にしたい部分を透過コピー
  処理用をコピー先のX+X2,Y+Y2へ透明度で画像半透明コピー
  
  処理用→壊す。
#------------------------------------------------------------
●画像合成改({グループ=?}Sを{数値=0}X,{数値=0}Yで{グループ=?}DのX2,Y2へ)
 Cとは整数
//マスク画像はSの透過色を黒色それ以外を白色にしたもの
 マスク画像をイメージとして作成
 マスク画像→可視はオフ
 マスク画像→画像はS→名前
 マスク画像のX,Yを画像色取得してCに代入
 マスク画像をCで画像マスク作成
//ソース画像はSの透明色を黒色に変換したもの
 ソース画像をイメージとして作成
 ソース画像→可視はオフ
 ソース画像→画像はS→名前
 マスク画像を画像ネガポジ
 マスク画像をソース画像の0,0へ画像ANDコピー
 マスク画像を画像ネガポジ
//合成実行
 マスク画像をDのX2,Y2へ画像ANDコピー
 ソース画像をDのX2,Y2へ画像ORコピー
 マスク画像→壊す
 ソース画像→壊す
#------------------------------------------------------------

【せんせい】

 文字サイズや、文字色、影色は決め打ちですが、別途指定できるようにしたいとおもいます。


【でし】

 あれれ?! 、出番が…(涙)

ゲスト



トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20090526