イイてくのぉと
Amebaでブログを始めよう!

simplizer

◆simplizer計画再始動!





今頃ですか?


simplizerというのがなにかというと、FlashCS3のためのAS3のオリジナルライブラリです。

ご存じの通りAS3ってのはとってもお堅いやつで、前みたいにon(press)とかで簡単にボタン作れなくなりました。

イベントリスナー登録とかしないとボタン作れません。

そんなボタン一つつくるのに毎回「***.addEventListener(e:MouseEvent):void{」とか書くの面倒です。

そこでそのぐらいは一行でかけるようにしておこう、その他こういう何度も使うお決まりのものは短く簡潔に書けるような環境作ろうというコンセプトで作り始めたのがsimplizerというライブラリです。

実はもう2年ぐらい前、CS3を買って間もなく作り始めたものなんですが、しばらくずっとFlash自体いじることがなくて計画が完全に凍結しておりました。

多少時間がとれるようになったのでこの機会に計画再始動といきます。

世はAIRだのRIAだのといった言葉さえ使い古されようとしている中で周回遅れというかもはやみんなラストスパート?ってところでスタートラインです。

なんらかの形で再始動公表しとかないとまた計画解凍しきれない気がするので再始動宣言です



JumpButton:


simplizerを作り始めるきっかけになったAS3でのジャンプボタンのソースコード

めんどいです。








import flash.events.MouseEvent;

import flash.display.DisplayObject;

import flash.display.MovieClip;



"ボタンの名前".buttonMode=true;

"ボタンの名前".addEventListener(MouseEvent.CLICK, onClick);



function onClick(event:MouseEvent):void{

"操作対象の名前".gotoAndStop("移動先フレームのラベルか番号");

}



イラレの画像収集

◆イラレの画像を収集する





画像収集だけなら簡単です


MacOS9以前ではイラレの鬼なるものが画像収集なんかをしてくれていたわけですが、OSXになってからありません。
個人的には、こんな簡単にできるようになったものにもはやそれ用のソフトなど作る意味ないだろうとか作者の人が判断したからなのかなとか思ってます。
Illustratorは9からスクリプティングに対応しており、CSシリーズになってかなり実用的なスクリプティングができるようになりました。CS3ではオブジェクト一覧なんかも充実して誰でも簡単にスクリプティングできるようになってます。そして画像収集というのが実は結構簡単にできます。



イラレでスクリプトを使う


illustratorではInDesignのようなスクリプトパネルは有りません。スクリプトを実行するときは『ファイル>スクリプト>その他』と行って作ったスクリプトファイルを選択して使います。



サンプル:


開いているイラストレータファイルの画像をダイアログで指定したフォルダに収集してそこにリンクを張り直して自身もそこに保存します。以下のサンプルをテキストで保存してから拡張子を『.js』にし、イラレで『ファイル>スクリプト>その他』で出る選択ダイアログで選択して使用してください。







myFol=Folder.selectDialog("保存先フォルダを選択")

doc=app.activeDocument

imgList=doc.placedItems



for(i=0;i<imgList.length;i++){

var img=imgList[i];

var orgFile=img.file

var newFile=new File(myFol.fullName+"/"+orgFile.name)

orgFile.copy(newFile)

img.file=newFile

}



newDocFile=new File(myFol.fullName+"/"+doc.name)

doc.saveAs (newDocFile)

doc.close(SaveOptions.DONOTSAVECHANGES)



InDesignスクリプトの最初の最初

◆InDesignのスクリプティングを始める





作り方


まず、このブログにおけるJavaScriptというのはAdobe製品、特にInDesignやFlashでの製作作業におけるスクリプティングであって、どう転んでもAjaxとかの話にはならないことをご了承ください。


そもそもInDesignのスクリプティングのこと調べてここに来た方にとっては、今更過ぎる話なのですっとばしてください。

WebのJavaScriptだと思って間違って来ちゃった人やなんとなく来ちゃった人で、Adobeのソフトを使った作業をしていて『この単純作業自動化できなのかな…』とか思った経験のある方にとっては有用なものになるかもしれません。


閑話休題、まず、自動化プログラムなんていうと作るのに専用のソフトなんかが必要なんて思っちゃうかもしれませんが、JavaScriptはシンプルテキストやノートパッドなんかで書けます。

保存したテキストの拡張子を『.js』『.jsx』にしてしまえばもう立派なJavaScriptです。

…が、やっぱりテキストで打ち続けるのはしんどいのでついてるものは使いましょう。

最近のAdobe製品(CS2以降)のパッケージには『ExtendScript Toolkit』なるものがついています。

このソフトを使えば誰でも簡単にAdobeソフトのスクリプティングができるようになって……ません。

玄人指向なのか知りませんが不親切です。データブラウザってオブジェクト一覧表みたいなのはありますが親切じゃありません。

自動入力、スクリプトアシストありません。Flashを見習えってカンジです。

でもシンプルテキストで書くよりはずっといいです。色分けがあるだけでもかなり助かります。

データブラウザも別に全く使えないってワケじゃないです、正直使ってませんが。


さて、その『ExtendScript Toolkit』の所在ですが、『アプリケーション>ユーティリティ>Adobeユーティリティ』の中にあります。

教えられなきゃ気づきませんね。



邪道ですが、FlashがあるならフラッシュJavaScriptの製作で、DremWeaverがあるならそのJavaScriptファイルの製作で作るのもありです、自動入力はありませんが自動インデントのあるなしはかなり大きいです。



使い方

さて、作ったスクリプトを実際に使うにはExtendScript ToolkitでInDesignを選択して実行という形でもいいですが毎度それでは面倒ですから、InDesignのスクリプトウインドにいれてしまいます。

InDesignの『ウインド>自動化>スクリプト』で表示されます。CS2だと初期では何もはいってませんがCS3になるといくつかサンプルが入ってます。

このウインドに作ったスクリプトを入れるには、『アプリケーション>InDesign>presets>script』の中に作ったスクリプトのファイルを入れます。



サンプル:旧ツメ→OTFツメ.js

では、サンプルソースです。

この『旧ツメ→OTFツメ.js』のコードは、選択されたすべてのテキストフレーム内のテキストのトラッキングを0にしてプロポーショナルメトリックスを有効にし、カーニングを和文等幅にします。

Quarkなんかからファイルを持って来て、フォントを置き換えた時などにつきまとってくる作業を自動化するスクリプトというワケです。

サンプル用の簡易バージョンにつき、グループ、テーブル、アンカーボックスには対応していません、Quarkから持って来たファイルにはあまりないとは思いますが…。








sel=app.activeDocument.selection



for(i=0;i<sel.length;i++){

for(j=0;j<sel[i].paragraphs.length;j++){

with(sel[i].paragraphs[j]){

tracking=0;

otfProportionalMetrics = true;

kerningMethod = "Metrics - Roman Only";

}

}

}