Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2011/01/29 (土)

背景を変更するよ!

| 17:24 | 背景を変更するよ! - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - 背景を変更するよ! - 雪乃☆雫のなでしこ日和 背景を変更するよ! - 雪乃☆雫のなでしこ日和 のブックマークコメント

【でし】

 復帰そうそう、サボり気味の毎日ですね。

【せんせい】

 仕方ありません;

 例年にない豪雪で、雪はねに追われてぐったりなのです~。

【でし】

 家に引きこもっているのに、弱っているのを言い訳に、ダラダラすごしているそうですw

【せんせい】

 (無視して)

 さて、今日は背景を変更したいと思います!

 ずっと同じ場所で話が進むってゲームはあまりありませんから、場所が移動すればそれに応じて背景が変わっていくのは、当然のことですよね。

 「背景,背景1.jpg」のよーな書式で、指定したファイルを背景に設定することにします。

 まず、メッセージ.csvをこんな感じに!

メッセージ,我輩はNAKOである。  
メッセージ,名前はまだない。
改ページ,
メッセージ,ここは百合が原公園。
改行,
メッセージ,死体発見現場ですw
改ページ,
背景,背景2.jpg
メッセージ,背景をへんこうしました。
改ページ,

 シナリオ解析関数の中に

    違えばもし、コマンドが「背景」ならば
      裏_背景の画像はシナリオ¥番号,1
      ADV画面合成
      番号=番号+1
      シナリオ解析

 を追加し、ADV画面合成という関数を作ります。

 背景を変えた後は、再度全部の画像を重ねあわせなおさないといけないからです。

*ADV画面合成
  裏_背景を表画面の0,0へ画像コピー。
  裏_立ち絵を表画面の0,0へ画像合成改。
  裏_テキストウィンドウの5,5,630,110を表画面のテキストウィンドウX,テキストウィンドウYへ50で画像部分透過コピー。
  表画面を保持用の0,0へ画像コピー

 これで、できたかな~? と思ったら・・・


【でし】

 あれれ~?

 テキストウィンドウが、緑色になっちゃいましたよ~?!

【せんせい】

 ううぅ・・・画像部分コピー関数の問題でした(泣)

●画像部分透過コピー({グループ=?}コピー元の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へ透明度で画像半透明コピー
  
#  処理用→壊す。

 このような、内容でした。

 よくみたら、元画像(コピー元)に変更を加えてしまっています!

 こりゃ、緑色になるわけだ(汗)

 本当なら、元画像はいじらずに、別画面で処理を行うようにしたら良いと思いますが、面倒なので、ちょいと元に戻して終わらせるようにしました。

  #コピー元を元に戻す
  処理用をコピー元のX,Yへ画像コピー

 この一文を追加で解決!

 ちなみに、ナゾの「無効なポインタ操作」対策で、処理用→壊す。は、コメントにしてます。

 のところは、これで正常動作です。むむむ。

【でし】

 ところで、画面ですけど、ぱって変わっちゃいますけど、これじゃゲームっぽくないですよぅ。

 普通、場面が変わるときとか、なんかあるじゃないですか。

【せんせい】

 トランジョン(?)は、後し!

 簡単なのは、わりと簡単に実装できるはずですが・・・

【でし】

 先生にとっては、簡単じゃないってことですね?

【せんせい】

 しくしくしく・・・

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