After Effects

JavaScriptでの特殊文字の指定方法

JavaScript内で例えば「’~’」「”~”」は文字列を表し、「改行」はプログラムの区切りを表します。つまり文字列の中でこれらの文字が使えないという制約が生まれてしまうのです。

特殊文字とは?

特殊文字とは、これらJavaScript内で意味を持ってしまう文字をこう呼びます。そこで、特殊文字の文章内で持つ意味を回避(escape)して使用するための「エスケープシーケンス」が準備されています。

スクリプトやエクスプレッションでよく使用する、主なエスケープシーケンスは下記の通りです。「\」に続いて文字が入ります。

※「\」はWindowsでは”半角円マーク”、Macでは”バックスラッシュ”で表示されます

エスケープシーケンス意味
\n改行
\r改行
\r\n改行
\tタブ
\’シングルクオーテーション
\”ダブルクオーテーション
\\バックスラッシュ

テキストレイヤーのソーステキストにエクスプレッションを打つ場合、下記のような使用が予想されます。

"\"エクスプレッション\"で効率化";
// だったり
"おはよう\nございます";
// だったりと、文字列内でも特殊文字を使用できます。

ちなみに改行はOSやアプリによって違いがあり

「\r」「\n」「\r\n」

と3種類が広く使われています。

ただしAfter Effects内ではどれも等しく「改行」として扱われるため、After Effects内で完結するスクリプト、エクスプレッションではどれを使用しても問題なく改行できます(\r\nでも2回改行されず、1つの改行)。混在すると自分が混乱するので、どれを使用するか決めておくと良いでしょう。

その代わり、例えばテキストエディタで保存した文章や、異なるOSで保存したテキストファイルをスクリプトで読み込む場合など、After Effects以外のアプリを介した文章は改行コードが同じとは限らないため、「\r」でも「\n」でも「\r\n」でも”改行である”と変換する必要が出てきます。

このような処理が必要な処理は、当サイトの記事内でも取り上げますので、これら3種類が改行であるということだけ頭に留めておいてください。

他人のプログラムを参考にする場合などにも必要な知識です。

次回予告

次回は「コンポジション内の全てのレイヤー名を取得したい」など、1つ目のレイヤー名、2つ目のレイヤー名…と全て指定するのではなく、繰り返しを処理できる「for文」を学んでいきます。

下記リンクから飛べます。

「if文」でJavaScriptにハマる前のページ

JavaScriptのループ処理「for文」次のページ

ピックアップ記事

  1. フリーランスの開業届提出は開業freeeでとにかく簡単に
  2. なぜ?After Effectsの操作を「スクリプト」で効率化
  3. なぜ?After Effectsのレイヤーをエクスプレッションで効率化

関連記事

  1. After Effects

    JavaScriptのループ処理「for文」

    JavaScriptでループ(繰り返し)処理を行えるfor文をご紹介…

  2. After Effects

    ゲーム制作テクニックで遊ぶAfter Effects

    そんな興味深いゲーム制作から生まれたテクニックから、After Eff…

  3. After Effects

    JavaScriptの「コメント」の書き方

    エクスプレッションを後で見直した際に分かりやすくする方法、「コメントア…

  4. After Effects

    「if文」でJavaScriptにハマる

    今回はプログラムの醍醐味である「条件分岐」を学びます。"もし…

  5. After Effects

    LINE画面.aep【専用爆速スクリプト付テンプレート】

    LINE風のやりとりをAfter Effectsで再現するテンプレート…

  6. After Effects

    「変数」でJavaScriptを効率化

    前回作ったエクスプレッションを変数で短く記述してみましょう。…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA