エクスプレッションを使うスクリプトを書くときの注意点
プロジェクト設定のエクスプレッションエンジンが「以前のExtendScript」だと正常に動作しない。エクスプレッションがエラー吐く。
プロジェクト設定は取得できるので、以前のExtendScriptが選択されている場合は警告を出して処理を停止させるとかが良いと思う。
app.project.expressionEngine
プロジェクト設定のエクスプレッションエンジンが「以前のExtendScript」だと正常に動作しない。エクスプレッションがエラー吐く。
プロジェクト設定は取得できるので、以前のExtendScriptが選択されている場合は警告を出して処理を停止させるとかが良いと思う。
app.project.expressionEngine
ファイルの存在を確認。ファイルの保存・読み込み。ファイル扱うスクリプトは毎回頭にこれ書けばいいかも。
var dataPath = Folder.decode(Folder.userData) + '/Aescripts/YourScriptName';var f = new Folder(dataPath);if (!f.exists) f.create();
function fileExist(filename) { var file = new File(dataPath + "/" + filename + ".json"); return file.exists}
function writeFile(object, filename) { var myFile = new File(dataPath + "/" + filename + ".json"); myFile.open("w"); myFile.encoding = "UTF-8"; myFile.write(JSON.stringify(object).replace(/\r?\n/g, '')); myFile.close();}
function readFile(filename) { var file = new File(dataPath + "/" + filename + ".json"); file.open('r'); file.encoding = 'UTF-8'; return JSON.parse(file.readln());}
var settings;function makeSettings() { settings = {} writeFile(settings, 'settings')}if (!fileExist('settings')) { makeSettings()} else { try { settings = readFile('settings') } catch (e) { makeSettings() }}
スクリプトからSourceTextのスタイルをいじろうとした時に出たエラー。TypeAnimeJP開発中に追加テキストを左揃え固定にしようとしたときに遭遇。
// 左揃えにvar tmpTextDocument = tmpTextLayer.property("Source Text").valuetmpTextDocument.justification = ParagraphJustification.LEFT_JUSTIFYtmpTextLayer.property("Source Text").setValue(tmpTextDocument)
こんな感じにしたらいけた。一回valueで取得して値をいじって再度setValue。フォントを指定するときと同じ流れ。
ウィンドウ > エクステンション に名前は見えてるのにクリックしてもパネルが出てこない。
// pathプロパティ取得var path = hogehoge.property()// Shapeオブジェクトのインスタンス作成var newShape = new Shape()// もろもろ入れてnewShape.vertices = newVnewShape.inTangents = newInTnewShape.outTangents = newOutTnewShape.closed = closed// setValuepath.setValue(newShape)
フォントと似てる処理の流れ。Shapeオブジェクトを作ってそれにもろもろ入れてsetValue。
vertices は頂点。inTangents と outTangents は制御点。どれも[[x,y], [x,y]]のような座標の形式になる。
制御点は頂点をもとに計算される座標。つまり[0, 0]なら頂点と同じ位置に重なることになる。
closedはパスを閉じるかどうかのブール。
Really Simple SSLが悪さしてた。
Really Simple SSLの設定 > 堅牢化 > 組み込みのファイルエディターを無効化 をOFFにして解決。
どうやって作ったのか、何故そうなったのかわからない、理解できないものに価値を感じる。すごい!ってなる。この感情を一番強く感じたのは大麦さんの「MOTHERLAND」だった。メイキング見ても理解不能でワロタ。
逆にやり方がわかってしまうと途端に熱が冷める。なーんだって感じ。憧れは理解から程遠い存在であってほしい。
ルックバックのMADを作り終わってからふと思ったこと。結論、作りたいものが無くても作業はすべき。
sudo で起動するのをやめたら直った。
そもそもなんで sudo でVScode起動してたかというと、権限が云々でファイルを保存できなかったから。chmod でファイル権限変えて解決。
過去一時間がかかったMADだったのでちょっと振り返り的なアレを。