Macromedia Flash非公式テクニカルノート \r\nが改行コードとして認識されない
Platform: Mac OS X 問題 たとえば、つぎのスクリプト(図001)を実行したとき、期待されるのは以下のような[出力]です。 line0 図001■文字列に改行コードを挿入して改行コードで配列に分ける ところが、文字列に挿入した"\n"は改行コードと認識されないため、そのまま文字として[出力]されます。newline定数を使えば文字列に改行が加えられるものの、String.split()メソッドに区切り文字として"\r"を指定しても、配列エレメントに分けることができません(図002)。 図002■"\n"や"\r"が改行コードとして認識されない 原因
対処法 図003■[アクション]パネルの[フォント]設定 第1は、[アクション]パネルで使用する[フォント]です。デフォルトの[Osaka−等幅]を選択していると(図003)、スクリプトペインや[出力]パネルで、半角バックスラッシュ(\)が全角(\)であるかのように表示されます(図004)。 図004■半角バックスラッシュ(\)と全角バックスラッシュ(\)の表示 したがって、バックスラッシュを正しく識別するには、Flash MX 2004と同じく、フォントに[Monaco]を選択しておく方がよいでしょう。 図004■[Monaco]に設定した[アクション]パネルの表示 第2は、改行コードの処理を行っている他のバージョンやプラットフォームのFlashファイルを、Flash 8/Mac OS Xで開いた場合の動作です。まず、Windows版のFlashファイルで、円記号(\)をエスケープ文字として用いていた場合、Flash 8/Mac OS Xでは半角バックスラッシュ(\)として表示されます。つまり、エスケープ文字としては正しく認識されるようです。 つぎに、Flash MX 2004/Mac OS XのFlashファイルの場合には、エスケープ文字の円記号(\)はそのままスクリプトペイン内に表示されます。そして、パブリッシュ設定がFlash Player 7だったとしても、エスケープ文字として認識されなくなりました。なお、Flash MX/Mac OS XのFlashファイルでは、エスケープ文字が半角バックスラッシュで表示され、正しく処理されました[*2]。
_____ 作成者: 野中文雄 Copyright © 2001-2006 Fumio Nonaka. All rights reserved. |
|||||