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文」を学んでいきます。
下記リンクから飛べます。
この記事へのコメントはありません。