私はちょっとした実験に参加しています。私を導く誰かが必要なだけです..
独自のカスタム構文カラーリング (Javascript 用) を作成したいのですが、それをアニメーション化する必要があります。
大きなプラスは、(可能であれば)アニメーション化するフォント(フラグメントシェーダー)にシェーダー言語を使用できることです。そんなことはAtomで可能ですか?
例:
「イベントベース」のアニメーションと「永続的なアニメーション」の 2 つのアイデアがあります。
イベントベース:
Javascript を書いていると想像してみてください。「関数」を書くと、直接色付けされず、ゆっくりとその色にフェードアウトします。
コード例:
keyword('function').on('creation', function(keywordAnimableObject) {
keywordAnimableObject.fromTo ({opacity:0, color:rgb(0,0,0)}, {opacity:1, color:rgb(1,1,0) });
});
永続ベース:
すべてのキーワードまたは記号 (if、else &&、関数、()、{}、カンマなど) には、独自の頻度があります。「関数」の周波数が 0.5Hz であるとしましょう。
この頻度は、たとえば、キーワードの色「色相」を変更します。
keyword('function').on('idle', function(keywordAnimableObject, time) {
var baseColor = rgb(1,1,0);
var frequency = 0.5;
var currColor = hueShiftBy(baseColor, Math.sin(time*2*PI*frequency);
keywordAnimableObject.set({ color: currColor });
});
また、シェーダーが可能であれば、すべてのキーワードに微妙なアニメーション パターンがあります。
ここで、どこかにエラーがある場合、周波数が高くなり、たとえば 1.5Hz と「迷惑」になると想像してください。
allKeywords().on('notDeclared', function(keywordAnimableObject, time) {
var baseColor = Color.red;
var frequency = 1.5;
var currColor = hueShiftBy(baseColor, Math.sin(time*2*PI*frequency);
keywordAnimableObject.set({ color: currColor });
});
わかりました、これは面倒かもしれませんが、実験する価値があると思います:)。アニメーションだけでなく、色付けだけでなく、本当に美しい構文スタイリングを作成します..