Okamoto's Homepage ShadeでAppleScript 事始め

●Shadeでの操作を記録する


まずShadeとスクリプト編集プログラムを起動してください。
スクリプト編集プログラムで,「ファイルメニュー」から「新規スクリプト」を選ぶと,ウインドウが新規作成されます。そのウインドウには,「記録」「実行」「停止」の3つのボタンがあります。

「記録」ボタンを押してから,Shadeをアクティブにして,ツールボックスの「PEN」→「球」を選択して,適当な大きさで球を作って下さい。その後スクリプト編集プログラムに戻り,「停止」ボタンをクリックしましょう。

スクリプト編集プログラムのウインドウには,

tell application "Shade Personal R2 PPC"
activate
create sphere at {0.0, 0.0, 0.0} r 600.0
end tell

のように書かれているはずです(数値は違っている可能性があります)。

Shadeに戻って,さっき作った球を一度削除して,またスクリプト編集プログラムに戻り,「実行」ボタンを押してみて下さい(あるいはスクリプトを保存した後,Shadeで「スクリプトメニュー」から「その他」を選んで保存したスクリプトを選択して下さい)。するとShadeが前面に出てきて,先程作った球がまたつくられます。「r 600.0」の数値を変えて試してみると,異なる大きさの球ができることが分かると思います。

AppleScriptで,あるアプリケーションを操作するときは,

tell application "アプリケーションの名前"
ここに処理を書く
end tell

という形になります。上の例でいえば,1行目で「Shade Personal R2 PPC」というアプリケーションに対して次の処理をしなさい,という命令を書いているわけです。そのアプリケーションについての処理が終わったら,「end tell」と書きます。これは,とりあえずそういうもんだと思って下さい。

次の行の「activate」というのは,tell〜で宣言したアプリケーションを前面に出すという命令です。起動していないときには起動します。たとえば

tell application "Shade Personal R2 PPC"
activate
end tell

とだけ書いて,スクリプト編集プログラムで「実行」ボタンを押すと,Shadeが前面に出てきます。実際にShadeのスクリプトメニューから選択して実行するときは,もともとShadeが前面にあるわけですから,この命令はいりません。というか,なくてもShadeが前面に出てこないだけで,Shadeでは球が作られます。ただし,Shadeが起動していないときは起動します。

次の行の「create sphere at {0.0, 0.0, 0.0} r 600.0」が,実際に球を作る命令です。記録したときにShadeで球を作る操作をしましたが,その操作をAppleScriptで書くと上のようになるのです。

sphereというのは「球」の意味ですから,「create sphere」の部分は文字どおり,球を作れ,という命令です。「at {0.0, 0.0, 0.0}」は球の中心の座標,「r 600.0」は球の半径を示しています。

今回はShadeでの操作を記録した結果が,スクリプト編集プログラムのウインドウに表示されました。当然ですが,スクリプト編集プログラムで最初から文字を入力していっても,全く同じ結果になります。

Shadeでのいろいろな操作を記録してみて,どんな命令になるのかを試してみて下さい。複数の操作を自動化するには,自分でスクリプトを書かなくても,スクリプト編集プログラムで記録するだけで結構便利なものになります。


インデックス
<--ShadeとAppleScript 球の半径を入力するダイアログを表示する-->