MerryChristmas!! #gadvent2011

画:[twitter:@amamidokoro]


23日目 Grettyで割り勘計算機 #gadvent2011
続きまて、G* Advent Calendar 2011 24日目です。


G* Advent Calendar 2011もいよいよ、このブログをいれてあと2回です。


イラストは依頼したものだから、最悪合わないケースのことも考慮して、
技術的なモノで、gdbも考えてもいた。
Groovyの疑似デバッガgdb で思いっきり先に書かれてた。。。
あぶない。あぶない。




まぁ、僕に技術的なことは期待してないだろうから、Groovyたんサンタ画像だけでいいよね。
(JGGUG合宿を思い出す)


メリークリスマス!!



以上
















これだけじゃ許してもらえないかな。。。




ということで、JGGUG合宿にて、[twitter:@touchez_du_bois] に教えてもらった、Groovy製のプレゼンテーションソフトGreziを使って。



ソース

import javafx.beans.property.SimpleStringProperty
import javafx.scene.effect.DropShadow
import javafx.scene.media.AudioClip

def voices = [
    voiceMerryChristmas:new AudioClip("http://dl.dropbox.com/u/645223/gadvent2011/GroovytanSanta/resources/MerryChristmas.wav")
   ,voiceSanta:new AudioClip("http://dl.dropbox.com/u/645223/gadvent2011/GroovytanSanta/resources/Santa.wav")
   ,voicePresent:new AudioClip("http://dl.dropbox.com/u/645223/gadvent2011/GroovytanSanta/resources/Present.wav")
]

map = {
    vocalize = { event ->
        timeline() {
            voices["voice" + event.source.id].play()
        }.play()
    }
    path << text(x: 0 , y: 0, text: "MerryChristmas!!", fill: orange
                 ,font: "32pt", textOrigin: "top"
                 ,onMousePressed:vocalize, id: 'MerryChristmas') {
                
    }
    path << imageView(x: 200, y: 200,  onMousePressed:vocalize, 
            id: 'Santa' ) {
                image("http://dl.dropbox.com/u/645223/gadvent2011/GroovytanSanta/resources/groovytan.jpg")
                effect reflection(fraction: 0.3)
    }
    path << text(x: 1000 , y: 1500, text: "Present", fill: orange
                 ,font: "32pt", textOrigin: "top"
                 ,onMousePressed:vocalize, id: 'Present') {
    }

}

動画


実行方法

2.Greziをチェックアウトもしくは ダンロードして解凍する
  • チェックアウト
        hg clone https://bitbucket.org/bgoetzmann/grezi
  • ダウンロード
    • Mercurialをインストールしてなければ、以下からダウンロード
        https://bitbucket.org/bgoetzmann/grezi/downloads

解凍する

[C:\usr\opt\grezi]dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 20FC-BB74 です

 C:\usr\opt\grezi のディレクトリ

2011/12/24  15:21              .
2011/12/24  15:21              ..
2011/11/27  12:14              .gradle
2011/12/07  20:56               148 .hg_archival.txt
2011/11/21  00:45              build
2011/12/07  20:56             1,833 build.gradle
2011/11/21  00:45              dist
2011/11/21  00:45              images
2011/12/18  17:26              libs
2011/12/24  08:06              presentations
2011/12/24  08:06                86 RUN.bat
2011/11/21  00:45              src
               3 個のファイル               2,067 バイト
               9 個のディレクトリ  160,855,019,520 バイトの空き領域
3.presentations\gadvent2011\GroovytanSanta ディレクトリを作成
4.上記で示したコードを、3.のディレクトリにGroovytanSanta.grezi.groovy で保存
5.実行
C:\usr\opt\grezi>gradle grezi -Ppresentation=.\presentations\gadvent2011\GroovytanSanta\GroovytanSanta.grezi.groovy
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:grezi

BUILD SUCCESSFUL
6.操作
  • 次へ進む:→右矢印
  • 前へ戻る:←左矢印
  • 音声:テキストもしくは画像をクリックする

補足

残念でした。



クリスマス・イヴ-wikipedia- より

教会暦における降誕祭の日付の概要。教会暦の一日は日没から始まり日没に終わる。
24日の日没からクリスマスが始まり、25日の日没にて終わる。
従って24日の昼間は「クリスマス・イヴ」ではなく、24日の日没以降が
クリスマス・イヴである。

http://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Christmas-calendar-ja.png/400px-Christmas-calendar-ja.png
クリスマスイブ狙いだから、0:00ではなく、日没待ち








アイコンが年中クリスマスカラーのワッショイ職人 [twitter:@kimukou_26] に「G* Advent Calendar 2011」を
締めてもらいましょう。
#ghello の時は、finalize()で終了だったけど、今度はどういう幕の下ろし方をするのかなー。wktk
おっと、25日の日没までがクリスマスなので注意してね。