[kansaipm] 【OF2002】動的デコレーションについて

KAWAI,Takanori GCD00051 at nifty.ne.jp
Mon Dec 2 04:21:01 CST 2002


川合孝典です。

<引用>
・動的デコレーション
  ロゴ、マスコット等々をディスプレーでエンドレスにスライドショーする

</引用>
をPerl/Tkで作ろうと思い、作っています。
そこで、ついでに音楽もならそうかなと思っています。
今のところ、Free音素材「音楽室」(http://www.otosozai.com/)さんの
ところからダウンロードしたものを利用しようかと考えています。

表示する画像や音楽で「こんなんがいいなぁ」といったことがあったら
お知らせください。

[スクリプト]
use strict;
use Tk;
use Tk::JPEG;
use Win32::Sound;
my ($oCvs, $oImg, $oMw, $iPos);
my @aImg = (
    { img => 'img/toraneko3.jpg',
      sound => 'sound/gentei136.wav',
      wait  => 3000,    },
    { img => 'img/perl_momo.jpg',
      sound => '',
      wait  => 5000, },
    { img => 'img/stamp.jpg',
      sound => 'sound/wa_002.wav',
      wait  => 3000, },
    { img => 'img/kansai_pm_hp.jpg',
      sound => '',
      wait  => 3000, },
);
sub dispImg() {
    $oCvs->delete($oImg) if($oImg);
    $iPos %=scalar(@aImg);
    $oImg = $oCvs->createImage(
            ($oMw->width)/2,
            ($oMw->height)/2,
            -image => $oMw->Photo(-file => $aImg[$iPos]->{img}));

    Win32::Sound::Play($aImg[$iPos]->{sound}, SND_ASYNC)
                    if($aImg[$iPos]->{sound});
    $oMw->after($aImg[$iPos]->{wait}||3000, \&dispImg);
    ++$iPos;
}
$oMw = new MainWindow;
$oMw->geometry('+0+0');
$oMw->title('DEMO');
$oMw->FullScreen(1);
$iPos = 0;
$oCvs = $oMw->Canvas(
                -background  => 'gray',
                -width       => $oMw->width,
                -height      => $oMw->height,
                -relief      => 'raised',
                -borderwidth => 0,
        )->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