PETROOM大改造
【萌え萌えキャラクターズと遊ぼー。】

背景画像を任意に切り替えよう

この改造を行う前に、背景画像にキャラを登場させてみよう、
の改造を済ませておいて下さい。


今までの表示画面は、キャラ画像とセリフは変更できても、
背景画像は固定でした。
それを、背景画像も変更できるように改造してみましょう。

この改造で、一番の問題になるのが、
すでに他の改造を施して、ペットの現在の状況(sub petnow)がだいぶ変わっていたり、
加えて、セリフをフキダシで表示する改造をされている場合など、です。

全てのパターンをこのページでサポートするのは、困難ですので、
もし、分からないところがありましたら、サポートBBSまでご連絡下さい。


では、さっそく改造と解説に入りましょう。
最終的には、

今まで。

    &petnow('キャラ画像','セリフ');



改造後。

    &petnow('キャラ画像','セリフ','背景画像');

という書き方で、背景画像をその度に指定できるようにします。
ただし、スクリプト内の全てについて、
この書き方をしていたら、とても大変なので、

背景場像を指定しなかった場合、つまり今までと同じ書き方の場合は、
固定の背景画像を表示するようにします。



背景画像の情報、つまり3番目の情報は、
$_[2]という入れ物に入ります。
ここに何か情報が入っている場合は、それを背景画像として使用し、
空っぽの場合は、固定の背景画像を使用します。

ペットの現在の状況(sub petnow)を下記のようにしてください。

# ------------------------- #
# Sub Pet Now
# ペットの現在の状況
# ------------------------- #
sub petnow {
    if ($_[2] eq '') { $bgimage = '固定の背景画像ファイル名'; }
    else             { $bgimage = $_[2]; }
    print "<tr>\n";
    print "<td align=\"center\" background=\"$bgimage\" width=\"320\" height=\"240\" valign=\"bottom\">";
    print "<img src=\"$img$_[0]\" border=\"0\"></td>";
    print "</tr>\n";
    &bar('',$_[1]);
}



背景画像がキャラ画像などと同じフォルダにある場合は、

background=\"$img$bgimage\"

としてください。

今までと同じ、固定の背景でいいところは、いじる必要はなく、
背景画像をいじりたいところだけ、

    &petnow($○○,$○○,'背景画像ファイル名');

と、背景画像を指定してください。



時刻によって〜、や、好感度によって〜、という処理を追加している方も、
この改造は可能です。

おそらく、条件文によって、$bgimageに背景画像を入れて、表示させていると思うのですが、
その一連の処理(緑の部分)を、「固定の背景」と考え、

# ------------------------- #
# Sub Pet Now
# ペットの現在の状況
# ------------------------- #
sub petnow {
    if ($_[2] eq '') {
        if (〜)    { $bgimage = 〜 }
        elsif (〜) { $bgimage = 〜 }
        elsif (〜) { $bgimage = 〜 }
        else       { $bgimage = 〜 }
    }
    else {
        $bgimage = $_[2];
    }
    print "<tr>\n";
    print "<td align=\"center\" background=\"$bgimage\" width=\"320\" height=\"240\" valign=\"bottom\">";
    print "<img src=\"$img$_[0]\" border=\"0\"></td>";
    print "</tr>\n";
    &bar('',$_[1]);
}