Leopard解体新書--第2回:もっとRubyCocoa

木下誠(HMDT)
2007-10-31 17:05:01
  • このエントリーをはてなブックマークに追加

Quartz Composerも試してみる

 ご存じない方のために説明しておくと、Quartz ComposerはTigerから導入された、インタラクティブなアニメーション作成および再生環境だ。グラフィカルな操作で、ソースコードを書かずに高レベルなアニメーションを作成できてしまう。Mac OS Xのスクリーンセイバーに「RSS Visualizer」という、3次元空間でRSSを表示するものがあるが、あれがQuartz Composerを利用している。

 Quartz Composerのフレームワークを使うことで、RubyCocoaでもそれらが再生できてしまう(画像3)。ここでは、Leopardから新しく追加されたスクリーンセイバー「Shell」を再生してみよう。Quartz Composerフレームワークは、PDF Kitと同じく、Quartzフレームワークに含まれている。

OSX.require_framework 'Quartz'
qcview = OSX::QCView.alloc.initWithFrame(window.contentView.frame)
window.contentView.addSubview(qcview)

qcview.loadCompositionFromFile('/System/Library/Screen Savers/Shell.qtz')
qcview.start(nil)

 「/System/Library/Screen Saver/Shell.qtz」というのが、ShellスクリーンセイバーのためのQuartz Composerファイルだ。これを、Quartz Composerコンポジションファイルと呼ぶ。このScreen Saverフォルダには、他のスクリーンセイバーのためのコンポジションファイルもあるので、それらを試してみるのもいいだろう。

画像3 画像3 Quartz Compoesrも再生できる

RubyCocoaはCocoaだけじゃない

 Rubyから、様々なMac OS Xの機能を触ってみたが、実はこれらはCocoaに含まれるものではない。それぞれ、QT Kit、PDF Kit、Quartz Composerというフレームワークが持つ機能だ。

 つまり、RubyCocoaはCocoaという名前がついているが、Mac OS Xが持つもっと多くのフレームワークにアクセスすることができるのだ。これはRubyを使ったアプリケーションの表現力を、飛躍的に高めてくれる。次回は、このあたりの仕組みについて調べてみよう。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]