第4回スクリプト勉強会
2019.10.16
こんにちは。
企画制作課のTです。
先日、第4回目となるAdobe JavaScript勉強会を小倉印刷株式会社様、大和美術印刷株式会社様、当社の3社合同で行いました。
前回の記事(記事リンク)では、勉強会が開催されたお知らせの内容でしたが、今回はこれまでの勉強会の振り返り・まとめをざくざく書いて、備忘録としたいと思います!
目次(各項目はアンカーリンク)
- 面倒な作業や繰り返す作業にオススメのAdobe JavaScript
- Adobe JavaScriptは、「スクリプト」を使う
- Adobe JavaScriptの基礎は3つ
- プログラムを書くセオリーは「抽象化」→ 「変換」
- 要素の位置を取得する「Bounds」
- 大切なのは「検索力」
面倒な作業や繰り返す作業にオススメのAdobe JavaScript
Adobe JavaScriptは、IllustratorやPhotoShopなどのAdobeのソフトで大変な作業をプログラムで処理させて自動化する仕組みです。
例えば、何度何度も繰り返すような処理や、文字を打ち換えるだけといった心が折れるほどの単純作業を一発で終わらせる作業などに向いています。
Adobe JavaScriptは、「スクリプト」を使う
スクリプト…とても難しい言葉が出てきましたね…。
わからないことがあれば、検索しましょう。
千里の道も一歩から。
スクリプトは「簡易的なプログラム」のことを指します。
プログラムなので、制約があります。
Adobe JavaScriptを使う際に、注意していただきたいのが「Adobeが用意しているスクリプトしか使えない」ということです。
Adobeが用意しているスクリプトを知ることができる書籍もありますので、そちらを活用していただくのもアリかと思います。
/******************************************************
Adobe JavaScriptリファレンス (NextPublishing)
著者:古籏 一浩
価格:5,170円(税込)
*******************************************************/
Adobe JavaScriptの基礎は3つ
Adobe JavaScriptを構成する要素は3つあります。
- オブジェクト式
- ステートメント
- 関数
( ゚д゚)< ぽかーん…
…検索していきましょう!
オブジェクト式:ドキュメントやパスなどの「オブジェクト」を操作する式。
ステートメント:プログラムが実行する処理。変数の宣言や値の代入など。
関数:何らかの計算や処理を行い、結果を返す仕組み
どうでしょう?
少しはわかりやすくなったでしょうか。
プログラミングに触れたことのない方はピンと来ないかもしれません。
私もこの時よくわかりませんでした。しかし、ずっと触れ続けていると理解するようになってきます。
聞きなれない英語をずっと耳にしているとなんとなく意味がわかっていくあの感覚に似ています。
忍耐大事。
プログラムを書くセオリーは「抽象化」→ 「変換」
いきなりプログラムを書く…というとハードルがぐっと高くなりますが…まずは、Illustratorなどのアプリケーションに出したい指示・命令を日本語で書きます。
これはプログラムをイメージ(抽象化)するためで、プログラムを初めて書く際に、とても有効です。
目的:
選択されているオブジェクトの個数を知りたい!
抽象化ができたら、次はAdobeのアプリケーションが実行できるようにAdobe JavaScriptの形に「変換」していきます。
最初からAdobe JavaScriptを書くのはなかなか難しいデス…。
まずは日本語で書く「抽象化」を行うことをオススメしています!
要素の位置を取得する「Bounds」
みなさんは「バウンティングボックス」をご存知でしょうか?
「バウンティングボックス」はIllustratorなどを使っている方ならおなじみの「四角い選択マーク」です。
オブジェクトを選択した時に表示されるアレです。
例えば、ある要素を複製して一定距離移動したい…という場合に、「Bounds」を活用します。
「Bounds」…なんという意味でしょう、皆目見当もつきません。
ここであきらめてはいけません。英語ができなくてもプログラムは書けるんです。
Google先生が「境界」という意味だと教えてくれました。
ありがとう、Google先生。
ここからのお話は少しややこしいのですが…
Adobe Scriptでは、「3つのBounds」が用意されています。
- ControlBounds
- VisibleBounds
- GeometricBounds
〇 ControllBounds
コントロールポイントまで含んだ位置を取得できます。
〇 VisibleBounds
線の太さを含んだ位置を取得できます。
〇 GeometricBounds
線の含まない位置を取得できます。
これらの「Bounds」を活用すれば、矢印キーを使わずにオブジェクトを編集できます。
詳細はAdobe公式のリファレンスをご確認していただけると、より理解が深まると思います。
>Adobe ILLUSTRATOR SCRIPTING
https://www.adobe.com/devnet/illustrator/scripting.html
私のまとめより丁寧でわかりやすい記事を発見しましたので、ペコっと貼らせていただきます。
\ペコっ/
https://efficiencydesign.info/illustrator/1119/
大切なのは「検索力」
小倉印刷株式会社の小倉社長が勉強会で「検索はどんどんしてください。どんどんカンニングしてください。」とおっしゃっていました。
どうしても学校教育になれた現代人は「カンニングはいけないことだ」「真似はいけないことだ」と思ってしまいがちです。
しかし、わからないことを検索すれば、すぐに答えが出てくる世の中で、それらを活用しない手はありません。
「使えるものを上手に使いこなすことの大事さ」も学べたスクリプト勉強会でした。