[kansaipm] 【OF2002】動的デモの画像、作りました

KAWAI,Takanori GCD00051 at nifty.ne.jp
Tue Dec 3 04:00:58 CST 2002


川合孝典です。

動的デモの画像を作りました。
JPEG+LZHで固めてあるので解凍してみてください。<(__)>

画像はこちら(で見える予定だけど...):
http://hippo2000.atnifty.com/bin/DyFK/dyfk.pl?cmd=disp&pageid=53

これを、そのままの順序で表示しています。プログラムは
以下の通り、利用している音楽は、Free音素材「音楽室」さん
http://otosozai.com/ のものを利用しています。

[スクリプト]
use strict;
use Tk;
use Tk::JPEG;
use Win32::Sound;
my ($oCvs, $oImg, $oMw, $iPos);
my @aSnd = ( 'sound/gentei129.wav', '', 'sound/gentei136.wav', '',
             'sound/wa_002.wav', , '');
my @aImg = (
    { img => 'KOF/スライド1.jpg',   },
    { img => 'KOF/スライド2.jpg',  },
    { img => 'KOF/スライド3.jpg',  },
    { img => 'KOF/スライド4.jpg',  },
    { img => 'KOF/スライド5.jpg',  },
    { img => 'KOF/スライド6.jpg',  },
    { img => 'KOF/スライド7.jpg', wait  => 6000, },
    { img => 'KOF/スライド8.jpg',  },
    { img => 'KOF/スライド9.jpg',  },
    { img => 'KOF/スライド10.jpg', },
    { img => 'KOF/スライド11.jpg', },
    { img => 'KOF/スライド12.jpg', wait  => 1500, },
    { img => 'KOF/スライド13.jpg', wait  => 1500, },
    { img => 'KOF/スライド14.jpg', wait  => 1500, },
    { img => 'KOF/スライド15.jpg', },
    { img => 'KOF/スライド16.jpg', wait  => 6000},
    { img => 'KOF/スライド17.jpg', },
    { img => 'KOF/スライド18.jpg', },
    { img => 'KOF/スライド19.jpg', wait  => 3000},
    { img => 'KOF/スライド20.jpg', },
    { img => 'KOF/スライド21.jpg', },
    { img => 'KOF/スライド22.jpg', wait  => 7000, },
    { img => 'KOF/スライド23.jpg', wait  => 2000, },
);
my @aoImg = ();
my $iSnd=0;
sub dispImg() {
    $oCvs->delete($oImg) if($oImg);
    $iPos %=scalar(@aImg);

    if(! defined($aoImg[$iPos])) {
        my $oWk = $oMw->Photo(-file => $aImg[$iPos]->{img});
        $aoImg[$iPos]= $oWk;
    }
    $oImg = $oCvs->createImage(
                ($oMw->width)/2,
                ($oMw->height)/2,
                -image => $aoImg[$iPos]);
    if($iPos == 0) {
        $iSnd %= scalar(scalar(@aSnd));
        if($aSnd[$iSnd] ne '') {
            Win32::Sound::Play($aSnd[$iSnd], SND_ASYNC|SND_LOOP);
        }
        else {
            Win32::Sound::Stop;
        }
        ++$iSnd;
    }
    $oMw->after($aImg[$iPos]->{wait}||5000, \&dispImg);
    ++$iPos;
}
$oMw = new MainWindow;
$oMw->geometry('+0+0');
$oMw->title('DEMO');
$oMw->FullScreen(1);
$iPos = 0;
$oCvs = $oMw->Canvas(
                -background  => '#402500',
                -width       => $oMw->width,
                -height      => $oMw->height,
                -relief      => 'raised',
                -borderwidth => 0,
                -cursor =>'star',
        )->grid;
dispImg;
MainLoop;

===================================================
川合 孝典 (Hippo2000)
   DBI日本語メーリングリスト管理人、Kansai.pm所属
   kwitknr at cpan.org GCD00051 at nifty.ne.jp
   http://member.nifty.ne.jp/hippo2000、http://www.hippo2000.info/
12/6、7は「関西オープンソース+フリーウェア2002」です
  http://of.good-day.net/
===================================================




More information about the Kansai-pm mailing list