はじまる

適当な事を適当に書く

カメラを止めるな

観劇前

とりあえず話題の映画ということで観てみようと思っていた。流行り物好きな知人(映画好きというわけではない)が、フェイスブックで「私の周りでは、いろいろ賛否両論でした。私は楽しめました。開始10分で途中で席を立った人もいました」などと書いており、どういうことか、と気になる。

とりあえず話題の映画ということで観てみよう。ネタバレ厳禁との触れ込みがあり、なるべく情報をいれないように気をつけていた。

上映館は、新宿や池袋、日比谷があったが、最も「ぽい」だろう、また他の映画館より空いているだろう、という思惑で、池袋シネマロサを選んだ(低予算という触れ込みやポスターのデザインから、B級映画ぽいノリなのだろうと踏んで、古めの小さい映画館が雰囲気だろう、と思ったのだ)。

 

上映館を調べるにあたり、副題が「one cut of the dead」ということがわかった。どうやらゾンビ物らしい。ゾンビ物苦手なんだけど、大丈夫だろうか。グロイの苦手なんだよな。あとジャンルが「コメディ」だと。ゾンビ物なのにコメディ?よくかわらん。まあ見ればなんとかなるだろう。しかし、「one cut」という副題から推測するに、最初から最後までワンカットで撮影した映画なのだろうか。少なくとも、映画なら1時間以上は尺があるし、そんなとんでも無いことあるのか?など考えを巡らせた。

鑑賞予定日当日、池袋にいく。池袋駅西口から歩いてシネマロサに向かう。さて、古びた池袋シネマロサには、なんと行列ができていた。シネマロサで行列なんかみたことねえよ。小一時間行列に並び、2時間先の夕方の上映回のチケットを購入した。

どんなグロイ映画か、どんな下品な映画かわからない。ゾンビ物ならゲロや、場合によっては糞便もでてくるかもしれない。鑑賞後には食欲がなくなってるかもしれないと思い、夜御飯には早かったが腹ごしらえをした。

 

観劇中

シアターは満員だった。間もなく上映が始まる。

 

劇中劇なんだろうな、という印象を持ちながら見始める。登場人物のセリフが途切れたり、不自然なセリフ回しに違和感を感じながら、「これはなにか意味があるのかな?回収される伏線なのかな?」などと思う。監督がカメラに指差しながや「カメラは止めない!」と叫ぶシーンでは、「カメラマンはいるのか。ではこのカメラマンは誰なんだ?」と伏線の存在を感じる。

一人残った千夏が血まみれで手斧を片手に歩くシーンでは、「このままカメラに向かって斬り掛かってくるのでは?そしてカメラマンの正体が明かされるのでは?」と思ったが、特にそんなことはなかった。実はゾンビ化していたカメラマンが千夏を襲う、という展開も頭を過ったが、特にそれからハプニングはなく、血の紋様の中心に立ち空を見据える千夏を俯瞰した映像で、エンドロールが流れる。予想通り、劇中劇であることが判明、第一幕は終幕した。

 

そして第二幕。劇中劇が終わった時点でワンカットじゃなくなった。そしてホームドラマのようなシーンが続く。特にハプニングもないストーリーが続く。ここは辛かった。「俺は映画一家を主役に据えたホームドラマを見に来たのか?」とダルくなる。そして、劇中劇の題名そのものが「one cut of the dead」だと言うことが明かされる。撮影の為の役者陣が揃うが、劇中劇と面子が異なる。どうやって監督と奥さんが役者陣に入り込むのか。狂気の監督、という役柄の監督が、実際は家族思いの小心者、というギャップが良かった。

 

第三幕。ここはもう爆笑。劇中劇の伏線がどんどん回収される。シアターも度々笑い声が起こっていた。ゲロもうんこもでてきたが、かわいいもので小学生の下ネタのような使われ方だった。劇中劇の撮影が終わった瞬間、映画自体がほぼスパッと終わったのが良かった。

もうひとまわりメタな展開もあるかもしれない、と思ったが、作品としてそういう展開はなかった(あったら蛇足だよね)。ただ、エンドロールの映像が実際の撮影風景を追ったものだった。

 

観劇後

 

【ツール】ターミナルでの操作を録画&シェアするには、アスキーシネマ が良い

LT用の事前録画や普通にエンタメコンテンツとしても使えそう asciinema - Record and share your terminal sessions, the right way

【Web Front End】Vue.js Guide (1)

なに

はじめに — Vue.js を観てみた。

HTML

  • 各div要素は、id毎に isolate されている。
<script src="https://unpkg.com/vue"></script>

<!-- 宣言的レンダリング -->
<div id="app">
  <p>{{ message }}</p>
</div>

<div id="app-2">
  <span v-bind:title="message">
    Hover your mouse over me for a few seconds
    to see my dynamically bound title!
  </span>
</div>

 <h1>条件分岐とループ</h1>

<div id="app-3">
  <span v-if="seen">Now you see me</span>
</div>

 <!-- ユーザー入力の制御 -->

<div id="app-4">
  <ol>
    <li v-for="todo in todos">
      {{ todo.text }}
    </li>
  </ol>
</div>

<div id="app-5">
  <p>{{ message }}</p>
  <button v-on:click="reverseMessage">Reverse Message</button>
</div>

<div id="app-6">
  <p>{{ message }}</p>
  <input v-model="message">
</div>

 <!-- コンポーネントによる構成 -->

<div id="app-7">
  <ol>
    <!-- 
      各 todo-item の内容を表す todo オブジェクトを与えます。
      これにより内容は動的に変化します。
      また後述する "key" を各コンポーネントに提供する必要があります。
    -->
    <todo-item v-for="item in groceryList" v-bind:todo="item"></todo-item>
  </ol>
</div>

JavaScript

//宣言的レンダリング
var app = new Vue({
  el: '#app',
  data: {
    message: 'どどすこすこすこいおいしーわい!'
  }
})

var app2 = new Vue({
  el: '#app-2',
  data: {
    message: 'You loaded this page on ' + new Date().toLocaleString()
  }
})

//条件分岐とループ
//JavaScript 的に true なら true です...(数値や文字列でもtrue)
var app3 = new Vue({
  el: '#app-3',
  data: {
    seen: true
  }
})

//ユーザー入力の制御
var app4 = new Vue({
  el: '#app-4',
  data: {
    todos: [
      { text: 'Learn JavaScript' },
      { text: 'Learn Vue' },
      { text: 'Build something awesome' }
    ]
  }
})

var app5 = new Vue({
  el: '#app-5',
  data: {
    message: 'Hello Vue.js!'
  },
  methods: {
    reverseMessage: function () {
      this.message = this.message.split('').reverse().join('')
    }
  }
})

var app6 = new Vue({
  el: '#app-6',
  data: {
    message: 'Hello Vue!'
  }
})

//コンポーネントによる構成
Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
})

var app7 = new Vue({
  el: '#app-7',
  data: {
    groceryList: [
      { id: 0, text: 'Vegetables' },
      { id: 1, text: 'Cheese' },
      { id: 2, text: 'Whatever else humans are supposed to eat' }
    ]
  }
})