以前作った『銀河鉄道の夜』のセリフだけをぬきだしたデータをJSONファイル化し、スワイプで順番に表示するサイトを作った。
画面イメージ
ソースコード
index.html
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,user-scalable=yes">
<title>銀河鉄道の夜</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Kaisei+Opti&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
<script src="main.js" type="text/javascript"></script>
</head>
<body>
<main>
<p id="ginga"></p>
</main>
</body>
</html>
style.css
/* style.css */
@charset "utf-8";
*{
margin: 0;
padding: 0;
}
body{
font-family: 'Kaisei Opti', serif;
-webkit-text-size-adjust: none; /* iPhoneのSafariで左上が拡大されて表示される場合の対処 */
display: grid; /* CSSグリッドを適用 */
grid-template-columns: 100vw; /* ビューポート幅最大 */
grid-template-rows: 100vh; /* ビューポート高さ最大 */
background-image: url("ginga_nasa.jpg");
}
main{
justify-self: center; /* 横方向中央揃え */
align-self: center; /* 縦方向中央揃え */
color: #fff;
}
p{
text-align: justify;
padding: 0 0.5em;
}
main.js
// main.js
/*
* グローバル変数
*/
let count; // セリフカウンタ格納用
let ginga; // 表示部分のDOM取得用
let talk = []; // 銀河鉄道のセリフ格納用配列
const STORAGE_KEY = "GINGA"; // ローカルストレージキー
const url = "ginga.json"; // セリフの入ったJSONファイル
/*
* スワイプイベント設定
*/
function setSwipe(elem) {
const dist = 50; // スワイプを感知する最低距離(ピクセル単位)
let t = document.querySelector(elem); // イベント対象
let startX, startY; // スワイプ開始時 xy座標
let moveX, moveY; // スワイプ中 xy座標
let endX, endY; // スワイプ終了時 xy座標
let tapCount = 0; // ダブルタップカウント用
// スワイプ開始時
t.addEventListener("touchstart", function(e) {
// スマホのデフォルト動作をキャンセル
e.preventDefault();
// xy座標を取得
startX = e.touches[0].pageX;
startY = e.touches[0].pageY;
// ダブルタップでリセット
if(tapCount === 0){
tapCount++;
// 300ミリ秒以内にタップしたらダブルタップ扱いとする
setTimeout( () => {
tapCount = 0;
}, 300);
}
else{
tapCount = 0;
reset();
}
});
// スワイプ中
t.addEventListener("touchmove", function(e) {
tapCount = 0; // 素早くスワイプするとダブルタップ扱いになるため必要
// スマホのデフォルト動作をキャンセル
e.preventDefault();
// xy座標を取得
moveX = e.changedTouches[0].pageX;
moveY = e.changedTouches[0].pageY;
});
// スワイプ終了時: スワイプした距離から左右どちらにスワイプしたかを判定する/距離が短い場合何もしない
t.addEventListener("touchend", function(e) {
// スワイプ終了時のxy座標を取得
endX = e.changedTouches[0].pageX;
endY = e.changedTouches[0].pageY;
// 設定した距離より短い場合は処理をキャンセル
if(Math.abs(startX - endX) < dist){
console.log("スワイプキャンセル");
return;
}
// 左 <=== 右 スワイプ
if (startX > moveX && startX - dist > moveX) {
sub(); // 数値を-1する
}
// 左 ==> 右 スワイプ
else if (startX < moveX && startX + dist < moveX) {
add(); // 数値を+1する
}
/*
else if(startY < moveY && startY + dist < moveY){ // 下方向にスワイプ
reset();
}
*/
});
}
/*
* ローカルストレージチェックし、前回最後に表示していた数値データを取得
*/
function checkStorageKey(){
// ローカルストレージチェック
let ret = localStorage.getItem(STORAGE_KEY);
console.log("保存状態: " + ret);
// キーが存在するかのチェック
if(ret !== null){ // 戻り値がnull:保存データあり
count = Number(ret); // 数値化して変数に代入(ローカルストレージデータは文字列のため計算できるようにする)
}
else{ // 戻り値が存在:保存データなし
count = 0; // カウンターに0を代入
}
console.log("count = " + count);
}
/*
* ローカルストレージに現在表示中の番号を保存
*/
function setStorageKey(){
localStorage.setItem(STORAGE_KEY, count);
}
/*
* カウンタを+1する
*/
function add(){
count ++;
if(count >= talk.length) count = 0;
setGinga(); // 表示とローカルストレージ保存
}
/*
* カウンタを-1する
*/
function sub(){
count --;
if(count < 0) count = talk.length - 1;
setGinga(); // 表示とローカルストレージ保存
}
/*
* カウンタを0にリセット
*/
function reset(){
let ret = confirm("最初のセリフに戻しますか?");
if(ret === true){
count = 0;
setGinga(); // 表示とローカルストレージ保存
}
}
/*
* セリフ表示処理
*/
function setGinga(){
// 167番目のセリフだけ長いのでフォントサイズを小さくする
ginga.style.fontSize = "5vw";
if(count == 167){
ginga.style.fontSize = "2.5vw";
}
// セリフ表示
ginga.textContent = talk[count];
// ストレージに表示中の数値を保存
setStorageKey();
}
/*
* セリフデータを配列に読み込んで表示
*/
function setJSON(json){
console.log(json);
talk = json;
setGinga();
}
/*
* 起動時の処理
*/
window.addEventListener("load", function(){
// 数値表示部分のDOM取得
ginga = document.getElementById("ginga");
// ローカルストレージをチェック
checkStorageKey();
// JSONデータ読み込み後、セリフ表示
this.fetch(url)
.then( response => response.json() )
.then( data => setJSON(data) );
// スワイプイベント設定
setSwipe("body");
});
JSONデータファイル
ginga.json
[
["ではみなさんは、そういうふうに川だと云(い)われたり、乳の流れたあとだと云われたりしていたこのぼんやりと白いものがほんとうは何かご承知ですか。"],
["ジョバンニさん。あなたはわかっているのでしょう。"],
["大きな望遠鏡で銀河をよっく調べると銀河は大体何でしょう。"],
["ではカムパネルラさん。"],
["では。よし。"],
["このぼんやりと白い銀河を大きないい望遠鏡で見ますと、もうたくさんの小さな星に見えるのです。ジョバンニさんそうでしょう。"],
["ですからもしもこの天(あま)の川(がわ)がほんとうに川だと考えるなら、その一つ一つの小さな星はみんなその川のそこの砂や砂利(じゃり)の粒(つぶ)にもあたるわけです。またこれを巨きな乳の流れと考えるならもっと天の川とよく似ています。つまりその星はみな、乳のなかにまるで細かにうかんでいる脂油(しゆ)の球にもあたるのです。そんなら何がその川の水にあたるかと云いますと、それは真空という光をある速さで伝えるもので、太陽や地球もやっぱりそのなかに浮(うか)んでいるのです。つまりは私どもも天の川の水のなかに棲(す)んでいるわけです。そしてその天の川の水のなかから四方を見ると、ちょうど水が深いほど青く見えるように、天の川の底の深く遠いところほど星がたくさん集って見えしたがって白くぼんやり見えるのです。この模型をごらんなさい。"],
["天の川の形はちょうどこんななのです。このいちいちの光るつぶがみんな私どもの太陽と同じようにじぶんで光っている星だと考えます。私どもの太陽がこのほぼ中ごろにあって地球がそのすぐ近くにあるとします。みなさんは夜にこのまん中に立ってこのレンズの中を見まわすとしてごらんなさい。こっちの方はレンズが薄(うす)いのでわずかの光る粒即(すなわ)ち星しか見えないのでしょう。こっちやこっちの方はガラスが厚いので、光る粒即ち星がたくさん見えその遠いのはぼうっと白く見えるというこれがつまり今日の銀河の説なのです。そんならこのレンズの大きさがどれ位あるかまたその中のさまざまの星についてはもう時間ですからこの次の理科の時間にお話します。では今日はその銀河のお祭なのですからみなさんは外へでてよくそらをごらんなさい。ではここまでです。本やノートをおしまいなさい。"],
["これだけ拾って行けるかね。"],
["よう、虫めがね君、お早う。"],
["お母(っか)さん。いま帰ったよ。工合(ぐあい)悪くなかったの。"],
["ああ、ジョバンニ、お仕事がひどかったろう。今日は涼(すず)しくてね。わたしはずうっと工合がいいよ。"],
["お母さん。今日は角砂糖を買ってきたよ。牛乳に入れてあげようと思って。"],
["ああ、お前さきにおあがり。あたしはまだほしくないんだから。"],
["お母さん。姉さんはいつ帰ったの。"],
["ああ三時ころ帰ったよ。みんなそこらをしてくれてね。"],
["お母さんの牛乳は来ていないんだろうか。"],
["来なかったろうかねえ。"],
["ぼく行ってとって来よう。"],
["あああたしはゆっくりでいいんだからお前さきにおあがり、姉さんがね、トマトで何かこしらえてそこへ置いて行ったよ。"],
["ではぼくたべよう。"],
["ねえお母さん。ぼくお父さんはきっと間もなく帰ってくると思うよ。"],
["あああたしもそう思う。けれどもおまえはどうしてそう思うの。"],
["だって今朝の新聞に今年は北の方の漁は大へんよかったと書いてあったよ。"],
["ああだけどねえ、お父さんは漁へ出ていないかもしれない。"],
["きっと出ているよ。お父さんが監獄(かんごく)へ入るようなそんな悪いことをした筈(はず)がないんだ。この前お父さんが持ってきて学校へ寄贈(きぞう)した巨(おお)きな蟹(かに)の甲(こう)らだのとなかいの角だの今だってみんな標本室にあるんだ。六年生なんか授業のとき先生がかわるがわる教室へ持って行くよ。一昨年修学旅行で〔以下数文字分空白〕"],
["お父さんはこの次はおまえにラッコの上着をもってくるといったねえ。"],
["みんながぼくにあうとそれを云うよ。ひやかすように云うんだ。"],
["おまえに悪口を云うの。"],
["うん、けれどもカムパネルラなんか決して云わない。カムパネルラはみんながそんなことを云うときは気の毒そうにしているよ。"],
["あの人はうちのお父さんとはちょうどおまえたちのように小さいときからのお友達だったそうだよ。"],
["ああだからお父さんはぼくをつれてカムパネルラのうちへもつれて行ったよ。あのころはよかったなあ。ぼくは学校から帰る途中(とちゅう)たびたびカムパネルラのうちに寄った。カムパネルラのうちにはアルコールラムプで走る汽車があったんだ。レールを七つ組み合せると円くなってそれに電柱や信号標もついていて信号標のあかりは汽車が通るときだけ青くなるようになっていたんだ。いつかアルコールがなくなったとき石油をつかったら、罐(かま)がすっかり煤(すす)けたよ。"],
["そうかねえ。"],
["いまも毎朝新聞をまわしに行くよ。けれどもいつでも家中まだしぃんとしているからな。"],
["早いからねえ。"],
["ザウエルという犬がいるよ。しっぽがまるで箒(ほうき)のようだ。ぼくが行くと鼻を鳴らしてついてくるよ。ずうっと町の角までついてくる。もっとついてくることもあるよ。今夜はみんなで烏瓜(からすうり)のあかりを川へながしに行くんだって。きっと犬もついて行くよ。"],
["そうだ。今晩は銀河のお祭だねえ。"],
["うん。ぼく牛乳をとりながら見てくるよ。"],
["ああ行っておいで。川へははいらないでね。"],
["ああぼく岸から見るだけなんだ。一時間で行ってくるよ。"],
["もっと遊んでおいで。カムパネルラさんと一緒(いっしょ)なら心配はないから。"],
["ああきっと一緒だよ。お母さん、窓をしめて置こうか。"],
["ああ、どうか。もう涼しいからね"],
["では一時間半で帰ってくるよ。"],
["ザネリ、烏瓜ながしに行くの。"],
["ジョバンニ、お父さんから、らっこの上着が来るよ。"],
["何だい。ザネリ。"],
["ザネリはどうしてぼくがなんにもしないのにあんなことを云うのだろう。走るときはまるで鼠(ねずみ)のようなくせに。ぼくがなんにもしないのにあんなことを云うのはザネリがばかなからだ。"],
["ケンタウルス、露(つゆ)をふらせ。"],
["今晩は、"],
["今晩は、ごめんなさい。"],
["あの、今日、牛乳が僕(ぼく)※[#小書き平仮名ん、168-12]とこへ来なかったので、貰(もら)いにあがったんです。"],
["いま誰もいないでわかりません。あしたにして下さい。"],
["おっかさんが病気なんですから今晩でないと困るんです。"],
["ではもう少したってから来てください。"],
["そうですか。ではありがとう。"],
["川へ行くの。"],
["ジョバンニ、らっこの上着が来るよ。"],
["ジョバンニ、らっこの上着が来るよ。"],
["みんなはねずいぶん走ったけれども遅(おく)れてしまったよ。ザネリもね、ずいぶん走ったけれども追いつかなかった。"],
["どこかで待っていようか"],
["ザネリはもう帰ったよ。お父さんが迎(むか)いにきたんだ。"],
["ああしまった。ぼく、水筒(すいとう)を忘れてきた。スケッチ帳も忘れてきた。けれど構わない。もうじき白鳥の停車場だから。ぼく、白鳥を見るなら、ほんとうにすきだ。川の遠くを飛んでいたって、ぼくはきっと見える。"],
["この地図はどこで買ったの。黒曜石でできてるねえ。"],
["銀河ステーションで、もらったんだ。君もらわなかったの。"],
["ああ、ぼく銀河ステーションを通ったろうか。いまぼくたちの居るとこ、ここだろう。"],
["そうだ。おや、あの河原(かわら)は月夜だろうか。"],
["月夜でないよ。銀河だから光るんだよ。"],
["ぼくはもう、すっかり天の野原に来た。"],
["それにこの汽車石炭をたいていないねえ。"],
["アルコールか電気だろう。"],
["ああ、りんどうの花が咲いている。もうすっかり秋だねえ。"],
["ぼく、飛び下りて、あいつをとって、また飛び乗ってみせようか。"],
["もうだめだ。あんなにうしろへ行ってしまったから。"],
["おっかさんは、ぼくをゆるして下さるだろうか。"],
["ぼくはおっかさんが、ほんとうに幸(さいわい)になるなら、どんなことでもする。けれども、いったいどんなことが、おっかさんのいちばんの幸なんだろう。"],
["きみのおっかさんは、なんにもひどいことないじゃないの。"],
["ぼくわからない。けれども、誰(たれ)だって、ほんとうにいいことをしたら、いちばん幸なんだねえ。だから、おっかさんは、ぼくをゆるして下さると思う。"],
["ハルレヤ、ハルレヤ。"],
["もうじき白鳥の停車場だねえ。"],
["ああ、十一時かっきりには着くんだよ。"],
["ぼくたちも降りて見ようか。"],
["降りよう。"],
["この砂はみんな水晶だ。中で小さな火が燃えている。"],
["そうだ。"],
["行ってみよう。"],
["おや、変なものがあるよ。"],
["くるみの実だよ。そら、沢山(たくさん)ある。流れて来たんじゃない。岩の中に入ってるんだ。"],
["大きいね、このくるみ、倍あるね。こいつはすこしもいたんでない。"],
["早くあすこへ行って見よう。きっと何か掘ってるから。"],
["そこのその突起(とっき)を壊(こわ)さないように。スコープを使いたまえ、スコープを。おっと、も少し遠くから掘って。いけない、いけない。なぜそんな乱暴をするんだ。"],
["君たちは参観かね。"],
["くるみが沢山あったろう。それはまあ、ざっと百二十万年ぐらい前のくるみだよ。ごく新らしい方さ。ここは百二十万年前、第三紀のあとのころは海岸でね、この下からは貝がらも出る。いま川の流れているとこに、そっくり塩水が寄せたり引いたりもしていたのだ。このけものかね、これはボスといってね、おいおい、そこつるはしはよしたまえ。ていねいに鑿(のみ)でやってくれたまえ。ボスといってね、いまの牛の先祖で、昔(むかし)はたくさん居たさ。"],
["標本にするんですか。"],
["いや、証明するに要(い)るんだ。ぼくらからみると、ここは厚い立派な地層で、百二十万年ぐらい前にできたという証拠(しょうこ)もいろいろあがるけれども、ぼくらとちがったやつからみてもやっぱりこんな地層に見えるかどうか、あるいは風か水やがらんとした空かに見えやしないかということなのだ。わかったかい。けれども、おいおい。そこもスコープではいけない。そのすぐ下に肋骨(ろっこつ)が埋もれてる筈(はず)じゃないか。"],
["もう時間だよ。行こう。"],
["ああ、ではわたくしどもは失礼いたします。"],
["そうですか。いや、さよなら。"],
["ここへかけてもようございますか。"],
["ええ、いいんです。"],
["あなた方は、どちらへいらっしゃるんですか。"],
["どこまでも行くんです。"],
["それはいいね。この汽車は、じっさい、どこまででも行きますぜ。"],
["あなたはどこへ行くんです。"],
["わっしはすぐそこで降ります。わっしは、鳥をつかまえる商売でね。"],
["何鳥ですか。"],
["鶴や雁(がん)です。さぎも白鳥もです。"],
["鶴はたくさんいますか。"],
["居ますとも、さっきから鳴いてまさあ。聞かなかったのですか。"],
["いいえ。"],
["いまでも聞えるじゃありませんか。そら、耳をすまして聴(き)いてごらんなさい。"],
["鶴、どうしてとるんですか。"],
["鶴ですか、それとも鷺(さぎ)ですか。"],
["鷺です。"],
["そいつはな、雑作(ぞうさ)ない。さぎというものは、みんな天の川の砂が凝(こご)って、ぼおっとできるもんですからね、そして始終川へ帰りますからね、川原で待っていて、鷺がみんな、脚(あし)をこういう風にして下りてくるとこを、そいつが地べたへつくかつかないうちに、ぴたっと押(おさ)えちまうんです。するともう鷺は、かたまって安心して死んじまいます。あとはもう、わかり切ってまさあ。押し葉にするだけです。"],
["鷺を押し葉にするんですか。標本ですか。"],
["標本じゃありません。みんなたべるじゃありませんか。"],
["おかしいねえ。"],
["おかしいも不審(ふしん)もありませんや。そら。"],
["さあ、ごらんなさい。いまとって来たばかりです。"],
["ほんとうに鷺だねえ。"],
["眼をつぶってるね。"],
["ね、そうでしょう。"],
["鷺はおいしいんですか。"],
["ええ、毎日注文があります。しかし雁(がん)の方が、もっと売れます。雁の方がずっと柄(がら)がいいし、第一手数がありませんからな。そら。"],
["こっちはすぐ喰べられます。どうです、少しおあがりなさい。"],
["どうです。すこしたべてごらんなさい。"],
["も少しおあがりなさい。"],
["ええ、ありがとう。"],
["いや、商売ものを貰(もら)っちゃすみませんな。"],
["いいえ、どういたしまして。どうです、今年の渡(わた)り鳥(どり)の景気は。"],
["いや、すてきなもんですよ。一昨日(おととい)の第二限ころなんか、なぜ燈台の灯(ひ)を、規則以外に間〔一字分空白〕させるかって、あっちからもこっちからも、電話で故障が来ましたが、なあに、こっちがやるんじゃなくて、渡り鳥どもが、まっ黒にかたまって、あかしの前を通るのですから仕方ありませんや。わたしぁ、べらぼうめ、そんな苦情は、おれのとこへ持って来たって仕方がねえや、ばさばさのマントを着て脚と口との途方(とほう)もなく細い大将へやれって、斯(こ)う云ってやりましたがね、はっは。"],
["鷺の方はなぜ手数なんですか。"],
["それはね、鷺を喰べるには、"],
["天の川の水あかりに、十日もつるして置くかね、そうでなけぁ、砂に三四日うずめなけぁいけないんだ。そうすると、水銀がみんな蒸発して、喰べられるようになるよ。"],
["こいつは鳥じゃない。ただのお菓子でしょう。"],
["そうそう、ここで降りなけぁ。"],
["どこへ行ったんだろう。"],
["あすこへ行ってる。ずいぶん奇体(きたい)だねえ。きっとまた鳥をつかまえるとこだねえ。汽車が走って行かないうちに、早く鳥がおりるといいな。"],
["ああせいせいした。どうもからだに恰度(ちょうど)合うほど稼(かせ)いでいるくらい、いいことはありませんな。"],
["どうしてあすこから、いっぺんにここへ来たんですか。"],
["どうしてって、来ようとしたから来たんです。ぜんたいあなた方は、どちらからおいでですか。"],
["ああ、遠くからですね。"],
["もうここらは白鳥区のおしまいです。ごらんなさい。あれが名高いアルビレオの観測所です。"],
["あれは、水の速さをはかる器械です。水も……。"],
["切符を拝見いたします。"],
["さあ、"],
["これは三次空間の方からお持ちになったのですか。"],
["何だかわかりません。"],
["よろしゅうございます。南十字(サウザンクロス)へ着きますのは、次の第三時ころになります。"],
["おや、こいつは大したもんですぜ。こいつはもう、ほんとうの天上へさえ行ける切符だ。天上どこじゃない、どこでも勝手にあるける通行券です。こいつをお持ちになれぁ、なるほど、こんな不完全な幻想(げんそう)第四次の銀河鉄道なんか、どこまででも行ける筈(はず)でさあ、あなた方大したもんですね。"],
["何だかわかりません。"],
["もうじき鷲(わし)の停車場だよ。"],
["あの人どこへ行ったろう。"],
["どこへ行ったろう。一体どこでまたあうのだろう。僕(ぼく)はどうしても少しあの人に物を言わなかったろう。"],
["ああ、僕もそう思っているよ。"],
["僕はあの人が邪魔(じゃま)なような気がしたんだ。だから僕は大へんつらい。"],
["何だか苹果(りんご)の匂(におい)がする。僕いま苹果のこと考えたためだろうか。"],
["ほんとうに苹果の匂だよ。それから野茨(のいばら)の匂もする。"],
["あら、ここどこでしょう。まあ、きれいだわ。"],
["ああ、ここはランカシャイヤだ。いや、コンネクテカット州だ。いや、ああ、ぼくたちはそらへ来たのだ。わたしたちは天へ行くのです。ごらんなさい。あのしるしは天上のしるしです。もうなんにもこわいことありません。わたくしたちは神さまに召(め)されているのです。"],
["ぼくおおねえさんのとこへ行くんだよう。"],
["お父さんやきくよねえさんはまだいろいろお仕事があるのです。けれどももうすぐあとからいらっしゃいます。それよりも、おっかさんはどんなに永く待っていらっしゃったでしょう。わたしの大事なタダシはいまどんな歌をうたっているだろう、雪の降る朝にみんなと手をつないでぐるぐるにわとこのやぶをまわってあそんでいるだろうかと考えたりほんとうに待って心配していらっしゃるんですから、早く行っておっかさんにお目にかかりましょうね。"],
["うん、だけど僕、船に乗らなけぁよかったなあ。"],
["ええ、けれど、ごらんなさい、そら、どうです、あの立派な川、ね、あすこはあの夏中、ツインクル、ツインクル、リトル、スター をうたってやすむとき、いつも窓からぼんやり白く見えていたでしょう。あすこですよ。ね、きれいでしょう、あんなに光っています。"],
["わたしたちはもうなんにもかなしいことないのです。わたしたちはこんないいとこを旅して、じき神さまのとこへ行きます。そこならもうほんとうに明るくて匂がよくて立派な人たちでいっぱいです。そしてわたしたちの代りにボートへ乗れた人たちは、きっとみんな助けられて、心配して待っているめいめいのお父さんやお母さんや自分のお家へやら行くのです。さあ、もうじきですから元気を出しておもしろくうたって行きましょう。"],
["あなた方はどちらからいらっしゃったのですか。どうなすったのですか。"],
["いえ、氷山にぶっつかって船が沈(しず)みましてね、わたしたちはこちらのお父さんが急な用で二ヶ月前一足さきに本国へお帰りになったのであとから発(た)ったのです。私は大学へはいっていて、家庭教師にやとわれていたのです。ところがちょうど十二日目、今日か昨日(きのう)のあたりです、船が氷山にぶっつかって一ぺんに傾(かたむ)きもう沈みかけました。月のあかりはどこかぼんやりありましたが、霧(きり)が非常に深かったのです。ところがボートは左舷(さげん)の方半分はもうだめになっていましたから、とてもみんなは乗り切らないのです。もうそのうちにも船は沈みますし、私は必死となって、どうか小さな人たちを乗せて下さいと叫(さけ)びました。近くの人たちはすぐみちを開いてそして子供たちのために祈(いの)って呉(く)れました。けれどもそこからボートまでのところにはまだまだ小さな子どもたちや親たちやなんか居て、とても押(お)しのける勇気がなかったのです。それでもわたくしはどうしてもこの方たちをお助けするのが私の義務だと思いましたから前にいる子供らを押しのけようとしました。けれどもまたそんなにして助けてあげるよりはこのまま神のお前にみんなで行く方がほんとうにこの方たちの幸福だとも思いました。それからまたその神にそむく罪はわたくしひとりでしょってぜひとも助けてあげようと思いました。けれどもどうして見ているとそれができないのでした。子どもらばかりボートの中へはなしてやってお母さんが狂気(きょうき)のようにキスを送りお父さんがかなしいのをじっとこらえてまっすぐに立っているなどとてももう腸(はらわた)もちぎれるようでした。そのうち船はもうずんずん沈みますから、私はもうすっかり覚悟(かくご)してこの人たち二人を抱(だ)いて、浮(うか)べるだけは浮ぼうとかたまって船の沈むのを待っていました。誰(たれ)が投げたかライフブイが一つ飛んで来ましたけれども滑(すべ)ってずうっと向うへ行ってしまいました。私は一生けん命で甲板(かんぱん)の格子(こうし)になったとこをはなして、三人それにしっかりとりつきました。どこからともなく〔約二字分空白〕番の声があがりました。たちまちみんなはいろいろな国語で一ぺんにそれをうたいました。そのとき俄(にわ)かに大きな音がして私たちは水に落ちもう渦(うず)に入ったと思いながらしっかりこの人たちをだいてそれからぼうっとしたと思ったらもうここへ来ていたのです。この方たちのお母さんは一昨年没(な)くなられました。ええボートはきっと助かったにちがいありません、何せよほど熟練な水夫たちが漕(こ)いですばやく船からはなれていましたから。"],
["なにがしあわせかわからないです。ほんとうにどんなつらいことでもそれがただしいみちを進む中でのできごとなら峠(とうげ)の上りも下りもみんなほんとうの幸福に近づく一あしずつですから。"],
["ああそうです。ただいちばんのさいわいに至るためにいろいろのかなしみもみんなおぼしめしです。"],
["いかがですか。こういう苹果(りんご)はおはじめてでしょう。"],
["おや、どっから来たのですか。立派ですねえ。ここらではこんな苹果ができるのですか。"],
["いや、まあおとり下さい。どうか、まあおとり下さい。"],
["さあ、向うの坊(ぼっ)ちゃんがた。いかがですか。おとり下さい。"],
["ありがとう、"],
["どうもありがとう。どこでできるのですか。こんな立派な苹果は。"],
["この辺ではもちろん農業はいたしますけれども大ていひとりでにいいものができるような約束(やくそく)になって居(お)ります。農業だってそんなに骨は折れはしません。たいてい自分の望む種子(たね)さえ播(ま)けばひとりでにどんどんできます。米だってパシフィック辺のように殻(から)もないし十倍も大きくて匂もいいのです。けれどもあなたがたのいらっしゃる方なら農業はもうありません。苹果だってお菓子だってかすが少しもありませんからみんなそのひとそのひとによってちがったわずかのいいかおりになって毛あなからちらけてしまうのです。"],
["ああぼくいまお母さんの夢(ゆめ)をみていたよ。お母さんがね立派な戸棚(とだな)や本のあるとこに居てね、ぼくの方を見て手をだしてにこにこにこにこわらったよ。ぼくおっかさん。りんごをひろってきてあげましょうか云ったら眼がさめちゃった。ああここさっきの汽車のなかだねえ。"],
["その苹果(りんご)がそこにあります。このおじさんにいただいたのですよ。"],
["ありがとうおじさん。おや、かおるねえさんまだねてるねえ、ぼくおこしてやろう。ねえさん。ごらん、りんごをもらったよ。おきてごらん。"],
["まあ、あの烏(からす)。"],
["からすでない。みんなかささぎだ。"],
["かささぎですねえ、頭のうしろのとこに毛がぴんと延びてますから。"],
["あ孔雀(くじゃく)が居るよ。"],
["ええたくさん居たわ。"],
["そうだ、孔雀の声だってさっき聞えた。"],
["ええ、三十疋(ぴき)ぐらいはたしかに居たわ。ハープのように聞えたのはみんな孔雀よ。"],
["カムパネルラ、ここからはねおりて遊んで行こうよ。"],
["鳥が飛んで行くな。"],
["どら、"],
["いまこそわたれわたり鳥、いまこそわたれわたり鳥。"],
["まあ、この鳥、たくさんですわねえ、あらまあそらのきれいなこと。"],
["あの人鳥へ教えてるんでしょうか。"],
["わたり鳥へ信号してるんです。きっとどこからかのろしがあがるためでしょう。"],
["あれとうもろこしだねえ"],
["そうだろう。"],
["新世界交響楽(こうきょうがく)だわ。"],
["ええ、ええ、もうこの辺はひどい高原ですから。"],
["とうもろこしだって棒で二尺も孔(あな)をあけておいてそこへ播(ま)かないと生えないんです。"],
["そうですか。川まではよほどありましょうかねえ、"],
["ええええ河までは二千尺から六千尺あります。もうまるでひどい峡谷(きょうこく)になっているんです。"],
["あら、インデアンですよ。インデアンですよ。ごらんなさい。"],
["走って来るわ、あら、走って来るわ。追いかけているんでしょう。"],
["いいえ、汽車を追ってるんじゃないんですよ。猟(りょう)をするか踊(おど)るかしてるんですよ。"],
["ええ、もうこの辺から下りです。何せこんどは一ぺんにあの水面までおりて行くんですから容易じゃありません。この傾斜(けいしゃ)があるもんですから汽車は決して向うからこっちへは来ないんです。そら、もうだんだん早くなったでしょう。"],
["あれ何の旗だろうね。"],
["さあ、わからないねえ、地図にもないんだもの。鉄の舟がおいてあるねえ。"],
["ああ。"],
["橋を架(か)けるとこじゃないんでしょうか。"],
["あああれ工兵の旗だねえ。架橋(かきょう)演習をしてるんだ。けれど兵隊のかたちが見えないねえ。"],
["発破(はっぱ)だよ、発破だよ。"],
["空の工兵大隊だ。どうだ、鱒やなんかがまるでこんなになってはねあげられたねえ。僕こんな愉快な旅はしたことない。いいねえ。"],
["あの鱒なら近くで見たらこれくらいあるねえ、たくさんさかな居るんだな、この水の中に。"],
["小さなお魚もいるんでしょうか。"],
["居るんでしょう。大きなのが居るんだから小さいのもいるんでしょう。けれど遠くだからいま小さいの見えなかったねえ。"],
["あれきっと双子(ふたご)のお星さまのお宮だよ。"],
["双子のお星さまのお宮って何だい。"],
["あたし前になんべんもお母さんから聴(き)いたわ。ちゃんと小さな水晶のお宮で二つならんでいるからきっとそうだわ。"],
["はなしてごらん。双子のお星さまが何したっての。"],
["ぼくも知ってらい。双子のお星さまが野原へ遊びにでてからすと喧嘩(けんか)したんだろう。"],
["そうじゃないわよ。あのね、天の川の岸にね、おっかさんお話なすったわ、……"],
["それから彗星(ほうきぼし)がギーギーフーギーギーフーて云って来たねえ。"],
["いやだわたあちゃんそうじゃないわよ。それはべつの方だわ。"],
["するとあすこにいま笛(ふえ)を吹(ふ)いて居るんだろうか。"],
["いま海へ行ってらあ。"],
["いけないわよ。もう海からあがっていらっしゃったのよ。"],
["そうそう。ぼく知ってらあ、ぼくおはなししよう。"],
["あれは何の火だろう。あんな赤く光る火は何を燃やせばできるんだろう。"],
["蝎(さそり)の火だな。"],
["あら、蝎の火のことならあたし知ってるわ。"],
["蝎の火ってなんだい。"],
["蝎がやけて死んだのよ。その火がいまでも燃えてるってあたし何べんもお父さんから聴いたわ。"],
["蝎って、虫だろう。"],
["ええ、蝎は虫よ。だけどいい虫だわ。"],
["蝎いい虫じゃないよ。僕博物館でアルコールにつけてあるの見た。尾にこんなかぎがあってそれで螫(さ)されると死ぬって先生が云ったよ。"],
["そうよ。だけどいい虫だわ、お父さん斯(こ)う云ったのよ。むかしのバルドラの野原に一ぴきの蝎がいて小さな虫やなんか殺してたべて生きていたんですって。するとある日いたちに見附(みつ)かって食べられそうになったんですって。さそりは一生けん命遁(に)げて遁げたけどとうとういたちに押(おさ)えられそうになったわ、そのときいきなり前に井戸があってその中に落ちてしまったわ、もうどうしてもあがられないでさそりは溺(おぼ)れはじめたのよ。そのときさそりは斯う云ってお祈(いの)りしたというの、"],
[" ああ、わたしはいままでいくつのものの命をとったかわからない、そしてその私がこんどいたちにとられようとしたときはあんなに一生けん命にげた。それでもとうとうこんなになってしまった。ああなんにもあてにならない。どうしてわたしはわたしのからだをだまっていたちに呉(く)れてやらなかったろう。そしたらいたちも一日生きのびたろうに。どうか神さま。私の心をごらん下さい。こんなにむなしく命をすてずどうかこの次にはまことのみんなの幸(さいわい)のために私のからだをおつかい下さい。って云ったというの。そしたらいつか蝎はじぶんのからだがまっ赤なうつくしい火になって燃えてよるのやみを照らしているのを見たって。いまでも燃えてるってお父さん仰(おっしゃ)ったわ。ほんとうにあの火それだわ。"],
["そうだ。見たまえ。そこらの三角標はちょうどさそりの形にならんでいるよ。"],
["ケンタウル露(つゆ)をふらせ。"],
["ああ、そうだ、今夜ケンタウル祭だねえ。"],
["ああ、ここはケンタウルの村だよ。"],
["ボール投げなら僕(ぼく)決してはずさない。"],
["もうじきサウザンクロスです。おりる支度(したく)をして下さい。"],
["僕も少し汽車へ乗ってるんだよ。"],
["ここでおりなけぁいけないのです。"],
["厭(いや)だい。僕もう少し汽車へ乗ってから行くんだい。"],
["僕たちと一緒(いっしょ)に乗って行こう。僕たちどこまでだって行ける切符(きっぷ)持ってるんだ。"],
["だけどあたしたちもうここで降りなけぁいけないのよ。ここ天上へ行くとこなんだから。"],
["天上へなんか行かなくたっていいじゃないか。ぼくたちここで天上よりももっといいとこをこさえなけぁいけないって僕の先生が云ったよ。"],
["だっておっ母さんも行ってらっしゃるしそれに神さまが仰(お)っしゃるんだわ。"],
["そんな神さまうその神さまだい。"],
["あなたの神さまうその神さまよ。"],
["そうじゃないよ。"],
["あなたの神さまってどんな神さまですか。"],
["ぼくほんとうはよく知りません、けれどもそんなんでなしにほんとうのたった一人の神さまです。"],
["ほんとうの神さまはもちろんたった一人です。"],
["ああ、そんなんでなしにたったひとりのほんとうのほんとうの神さまです。"],
["だからそうじゃありませんか。わたくしはあなた方がいまにそのほんとうの神さまの前にわたくしたちとお会いになることを祈ります。"],
["さあもう支度はいいんですか。じきサウザンクロスですから。"],
["ハルレヤハルレヤ。"],
["さあ、下りるんですよ。"],
["じゃさよなら。"],
["さよなら。"],
["カムパネルラ、また僕たち二人きりになったねえ、どこまでもどこまでも一緒に行こう。僕はもうあのさそりのようにほんとうにみんなの幸(さいわい)のためならば僕のからだなんか百ぺん灼(や)いてもかまわない。"],
["うん。僕だってそうだ。"],
["けれどもほんとうのさいわいは一体何だろう。"],
["僕わからない。"],
["僕たちしっかりやろうねえ。"],
["あ、あすこ石炭袋(ぶくろ)だよ。そらの孔(あな)だよ。"],
["僕もうあんな大きな暗(やみ)の中だってこわくない。きっとみんなのほんとうのさいわいをさがしに行く。どこまでもどこまでも僕たち一緒に進んで行こう。"],
["ああきっと行くよ。ああ、あすこの野原はなんてきれいだろう。みんな集ってるねえ。あすこがほんとうの天上なんだ。あっあすこにいるのぼくのお母さんだよ。"],
["カムパネルラ、僕たち一緒に行こうねえ。"],
["今晩は、"],
["はい。"],
["何のご用ですか。"],
["今日牛乳がぼくのところへ来なかったのですが"],
["あ済みませんでした。"],
["ほんとうに、済みませんでした。今日はひるすぎうっかりしてこうしの柵をあけて置いたもんですから大将早速親牛のところへ行って半分ばかり呑んでしまいましてね……"],
["そうですか。ではいただいて行きます。"],
["ええ、どうも済みませんでした。"],
["いいえ。"],
["何かあったんですか。"],
["こどもが水へ落ちたんですよ。"],
["ジョバンニ、カムパネルラが川へはいったよ。"],
["どうして、いつ。"],
["ザネリがね、舟の上から烏うりのあかりを水の流れる方へ押(お)してやろうとしたんだ。そのとき舟がゆれたもんだから水へ落っこったろう。するとカムパネルラがすぐ飛びこんだんだ。そしてザネリを舟の方へ押してよこした。ザネリはカトウにつかまった。けれどもあとカムパネルラが見えないんだ。"],
["みんな探してるんだろう。"],
["ああすぐみんな来た。カムパネルラのお父さんも来た。けれども見附(みつ)からないんだ。ザネリはうちへ連れられてった。"],
["ぼくずいぶん泳いだぞ。"],
["もう駄目(だめ)です。落ちてから四十五分たちましたから。"],
["あなたはジョバンニさんでしたね。どうも今晩はありがとう。"],
["あなたのお父さんはもう帰っていますか。"],
["いいえ。"],
["どうしたのかなあ。ぼくには一昨日(おととい)大へん元気な便りがあったんだが。今日あたりもう着くころなんだが。船が遅(おく)れたんだな。ジョバンニさん。あした放課後みなさんとうちへ遊びに来てくださいね。"]
]
コメント