プロトタイプ
prototype.js等で使われる、オブジェクトの拡張方法。
javascriptはプロトタイプチェーンなるものがあって、メソッドが呼ばれたときにそのオブジェクトをたどって探すので、オブジェクトのプロトタイプに新しいメソッドを書いておくとメソッドを追加できる
AfterEffectsでのやり方
[object object].prototype.method = function(){}
などとする。
例
CompItem.prototype.addAdjustment = function(){
var color = [1,1,1];
var name = "調整レイヤー";
var width = this.width;
var height = this.height;
var pixelAspect = this.pixelAspect;
var duration = this.duration;
var n = this.layers.addSolid(color,name,width,height,pixelAspect,duration);
n.adjustmentLayer = true;
return n;
}
などとしておく。すると
app.project.item(1).addAdjustment();
こう書くことでitem(1)がコンポの場合、調整レイヤーが作られる。
[object object]の見つけ方
たとえばフッテージウィンドウに何かある場合
alert(app.project.item(1));
を実行すると、[object CompItem]、[object FootageItem]、[object FolderItem]のいづれかが返ってくる。
alert(app);
なら、[object Application]が返ってくる
この[]で囲まれて表示されてるってことはオブジェクトなので、これでオブジェクトの名前を得れたことになる。
または、pdfのマニュアルにカテゴライズされているので、それを参照。
マニュアルに無い場合はalertやwritelnなどで探ったりするといいかも
やりすぎるとわけわからんくなるし、作ったメソッド忘れたりするので、注意
あとfor~inでまわすと、プロトタイプで追加したものも出てくるので、
オリジナルなメソッドには接頭子などつけておくといいかも