ズンドコキヨシEPUB

  • 4
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

ズンドコキヨシをEPUBで

みなさんズンドコってますかー。だいぶ極まって変態(褒め言葉)実装がいろいろ出てきていて楽しいです。

さて、ちょっとQiita向けではないネタかもしれませんが、総本山なのでここに投稿しますね。

今回のネタは、EPUBです。電子書籍のファイルのアレです。

まずは、オンラインのブラウザビュアー(BiB/i)で見ていただきましょう。

http://wakufactory.jp/densho/bib/i/?book=zundoko

epubファイルのダウンロードはこちらから。お好きなEPUBビュアーでご覧ください。

iPhoneのiBooksでの表示例です。

「ズン」ページと、
ファイル 2016-03-19 17 45 42.png

「ドコ」ページがあって、
ファイル 2016-03-19 17 46 07.png

「ズンズンズンズンドコ」と遷移すると、「キ・ヨ・シ」ページが現れます。
ファイル 2016-03-19 17 44 40.png

仕組み

仕組みも何もないのですが、往年のゲームブック形式にページを移動していって、ズンドコキヨシ遷移を実現するということです。本もページという状態を持ち、読者のページ選択によって状態が遷移するコンピュータであると言っても過言ではありませんw。

EPUBはjavascriptによるインタラクティブな動作を組み込むことができます。このEPUBでは、javascriptが動作する場合は、次のページをランダムで移動するリンクが追加されるようになっています。

その部分のコードはこんな感じで、各ページのxhtmlにincludeされてます。

javascript
var sel ;
onload = function() {
    var ul = document.getElementById('sel') ;
    sel = ul.querySelectorAll("a") ;
    var n = document.createElement("li") ;
    n.innerHTML = '次は <a href="javascript:click()">ランダム</a>' ;
    ul.appendChild(n) ;
}
function click() {
    var l = sel[ (Math.random()>0.5)?1:0].getAttribute("href") ;
    var a = l.split("/") ;
    l = a[a.length-1] ;
    location.href = l ; ;   
}

現在のところ動作するのを確認できているのは、ブラウザ系のビュアーと、iBooksだけです。