<   2012年 10月 ( 2 )   > この月の画像一覧
|
「ガタカ」(1997/106min)
 TSUTAYA で DVD を返却する時、カウンターで整理中の DVD の山に「ガタカ」を見かけた。ジャケットではない。ジャケットから抜いた半透明のケース。ケース越しに見える DVD の盤面にカタカナで「ガタカ」の文字。最近その存在を知り、気になっていた映画だ。
「あ、今そこに『ガタカ』あったでしょ、それ借ります」
「え?」
 お兄さんは怪訝そうな声を返した。
「え?」じゃないだろ、今の今だよ、いやその山じゃなくてこっちの、上から2、3枚目、ほらあった。
「あーっ、と……………………、『ハゲタカ』ですねこれ」
 僕たちは顔を見合わせてぷっと噴き出し、長年の友人同士のように笑った。

・・・と、いう事件を経て、観ました。いやー、面白いわ。しかし納得いかない点がたくさんある。

ドアノブを触っただけで遺伝情報がすべてバレる、という設定が出てくるけど、あれは要らないんじゃなかろうか。いろいろと涙ぐましい努力が描かれるけれど、なるほどこれだけ徹底的にやれば「ドアノブ触っただけでバレるような世界」でも騙し通せるかも、と思えるまでの説得力はない。だいたいドアノブ触っただけで全部わかるなら、血液チェック要らないじゃん。毎日毎日キーボードを徹底的に掃除する社員を、会社側は不審に思わないのか。掃除終ったらちょっとそのミニクリーナー貸してくれんか、検査するから、とか言われないのか。「睫毛を落とすなんて注意不足だ」という台詞があるけど納得いかない。どんなに注意を払っても体毛の剥落が100パーセント防げるとは到底思えない。心臓に欠陥があるアイリーンがどうして適合者なのか。彼女の心臓の問題を会社は把握しているのかいないのか、どっちだとしても不自然だ。医学が発達したため血液検査と尿検査だけしてればその他の健康診断はいっさい不要、という設定なのかと思ってたら、ランニングマシーンのとき心拍数測ってた。心拍数計測があるならやっぱ他の臓器も健康診断くらいしそうな気がするけど。ヴィンセントとユージーンの人相の違いを、アイリーンはひと目で気付くのにアントン刑事はどうして気付かないのか(アントンは会社でヴィンセントの顔を認識してなかったんだっけ。そんならなんで最後に気付いたんだ?)。

以上はすべて「あんなんでバレないとは思えない」という疑問だけど、他にもある。アントンはどうして最終的に兄の不法就労を見逃すのか(ヨメは「水泳勝負でまた負けたから」だと言うんだけど)。まあそれはどうでもいいか。情にほだされて心が動いたのだと考えておこう。しかしだ、そもそも1企業が毎日毎日1ダース以上のロケットを打ち上げてる時代に、「超エリートでないと宇宙に行けない」という設定自体が馴染まないんじゃないか。スーツ姿のままで土星まで行けるんだったら非凡な心臓も非凡な身体能力も要らないじゃん。そんな時代に「土星に向けて旅立ったから人生の勝者」みたいな感動的エンディングっておかしくないか。せめて「土星に行って何をするのか」について、なるほどそりゃスゲーわ、と思わせてくれる設定が必要じゃないか。ちなみに僕は右利きだけど小便するときに使うのは左手です。

と、いうように、いくつかは作品の根幹にかかわる問題だと思うけれども、それでもそのせいで台無し、と感じないのが不思議だ。納得いかない点は多々あるけれどそんなことはどうでもよく、大層面白かったです。「手塚治虫が考えた未来+ロシア・アヴァンギャルド+未来派」みたいなレトロフューチャーで静謐なビジュアルと、それにばっちりハマるイーサン・ホーク、ジュード・ロウ、ユマ・サーマンのルックス。特にユマ・サーマンの変な未来派な服。ブレードランナーとは全く違うタイプの未来を発明したというだけでも素晴らしい。
[PR]
by nobiox | 2012-10-30 15:51 | ├映画 | Comments(0) |
ダイアログとリスト@OS X 10.7
display dialog でダイアログボックスにボタンを表示させて条件分岐するにはこんなふうに書く。
display dialog "処理を選択してください。" buttons {"キャンセル", "[A]", "[B]"} default button 3
set ANS to result

if button returned of ANS is "[A]" then
--命令A
else if button returned of ANS is "[B]" then
--命令B
else if button returned of ANS is "キャンセル" then
return
end if

具体的には例えばこう。
--tell application "Quicksilver" to activate
--Quicksilver でこのスクリプトを使う場合は ↑ この行が必要みたい。理由は知らない。
display dialog "may I help you ?" buttons {"キャンセル", "Safari", "Clean Up"} with icon 2 default button 3
--icon には「icon 0」「icon 1」「icon 2」が使える。
--icon 0 は「icon stop」、1 は「caution」、2 は「note」と書ける。
set ANS to result

if button returned of ANS is "Clean Up" then
tell application "Finder"
set visible of every process whose visible is true and name is not "Finder" to false
close every window
end tell

else if button returned of ANS is "Safari" then
tell application "Safari"
activate
end tell

else if button returned of ANS is "キャンセル" then
return
end if

c0070938_9303120.png
実行したところ。


アイコンについては(も、他のもろもろについても)ザリガニさんの display dialogとdisplay alertの違い という記事が詳しい。わずか1年前の記事だけど、ボタンのカタチが違うんですねえ。
ただ、何故かボタンは3つ以内という制限がある。ひとつはキャンセルに当てたいので、実質2択だ。どうしてこんな仕様なのか不思議でしょうがない。「そりゃあボタンを4つ以上表示させるのは技術的にむずかしいだろうな」という納得感が、ぜんぜんない。何故ボタンの数に制限をかけるのか。それよりは、「ボタン数は無制限だが増やし過ぎると速度が低下する」という仕様の方がよほど納得できるではないか。
 キャンセルボタンを省くことはおすすめしない。それをやるとキャンセルしたいとき、強制終了しか手がない状態になる。いや、じつはエスケープキーでキャンセルできるのだが、この「エスケープキーでキャンセル」という機能は、「キャンセル」または「cancel」という名前のボタンが存在する場合にのみ有効、という不思議仕様。意味ねー。バカじゃねーの。

ボタンAが押されたら次のダイアログを表示、Bが押されたら別のダイアログを表示、という二段階方式にすれば(そして2段目のダイアログではキャンセルボタンを省くとすれば)「2段で6択」が可能だ。しかし、2段という時点で面倒臭いんだよ。2段あると2回考えなきゃいけないの。しかもその選択肢を考えたのが自分だというのがまた腹立たしい。なんでなんだよ、と思うんですよ。ケチケチせずにボタンたくさん使わせてくれりゃあ1回で済むじゃん、なんでなんだよ、という怒りが込み上げてくるせいで、この理不尽に耐えられない。

そんな面倒臭がりやさんたちは、「choose from list」というのを使いましょう。

set instruction to item 1 of (choose from list {"A", "B", "C", "D", "E", "F", "G"} default items "A")

if instruction is "A" then
--命令A
end if
if instruction is "B" then
--命令B
end if
if instruction is "C" then
--命令C
end if
if instruction is "D" then
--命令D
end if
if instruction is "E" then
--命令E
end if
if instruction is "F" then
--命令F
end if
if instruction is "G" then
--命令G
end if

c0070938_10334.png
実行したところ。選択肢はいくつあっても可。キャンセルボタンはデフォルト装備。
デフォルトアンサーを実行するならリターンキーを叩けばいいし、それ以外の選択肢はマウスでダブルクリックすれば即刻実行される。
マウスが嫌いな人はキーボードの上下矢印キーで選択項目を上下に移動できる。
そしてリターンキーで実行。素晴らしいじゃないですか。


AppleScript について大概のことは Google 先生に聞けばなんとかなるけど、これはどうにもならなかった。何をコピペしてどう改変してどう試行錯誤しても、「リストでAを選んだら命令A、Bを選んだら命令B」というのが動作しない。いろんな人が AppleScript のリストについて書いてくれてるんだけど、僕が知りたい、いちばん単純な(いちばん単純だと僕が思う)情報がどうしても見つからない。つまりこんな需要はひどくマイナーなのかも知れない。でも今後マイナーな人が Google 先生に聞くかも知れないと思い、記事をアップします。「GameSprit」の vallie さんにご教示いただきました。お世話になりました。またお世話になる気満々ですのでよろしくお願いします。
[PR]
by nobiox | 2012-10-04 00:20 | ├バカスクリプト | Comments(0) |
|