スマホサイト・アプリをつくろう。スマホサイト・アプリをつくろう。-携帯Flashを作成していくと、配色を動的にカスタマイズする必要が出てくるケースもあるかと思います。今回は文字色をActionScriptで動的に変更する方法についてご紹介します。実現方法FlashLite2.0以降で使用できるTextFormatオブジェクトを使うことで実現できます。TextFormatインスタンスを作成し、colorプロパティに配色の値をセットします。テキストインスタンスにTextFormatを適用すればテキストの文字列が指定した配色に変化します。入力値としてカラーコードを指定するケースが多いかと思いますので「#」から始まるカラーコードを指定する形でサンプルを用意しました。・ステージ上にはダイナミックテキストが配置されています。・ボタンが7つあり、それぞれをクリックすると各ボタンに指定されたカラーコードに沿ってダイナミックテキストの色が変化します。・PHPからの動的置換などで初期状態で色を変えておきたいケースを想定して初回も色変更を実行します。最初オレンジ色(#FF9900)ですが実行後は白色(#FFFFFF)になります。・パブリッシュバージョンはFlashLite2.0とします。TextFormatオブジェクトがFlashLite2.0以降でしか扱えないためです。・ステージサイズは240px×240pxとします。・ダイナミックテキストを作成し、「_等幅」12pxでオレンジ色で文字を記述しておきます。・カラーコードを静止テキストで書いたボタンを7つ配置します。・actionレイヤーとlabelレイヤーを作成し、2フレーム目を追加します。actionレイヤーとlabelレイヤーのみキーフレームにします。・labelレイヤーの1フレーム目のフレームラベルは「init」,2フレーム目は「changeColor」とします。・フレームアクションを記述します。文字色変更を実行call("changeColor");stop();フォーカス枠はあえて消さずにおいておきます。文字列にテキストフォーマットを適用sampleText.setTextFormat(textFormat);・ボタンアクションを記述します。call("changeColor");}※2つ目以降はtextColorCodeの値を変更して記述します。・パブリッシュして完成です。・文字列の一部の配色を変更する場合はこの方法を少し応用すれば実現可能です。・ベクターデータになっているシェイプの色変更や背景色の変更はswfmillを使うことで可能です。・本サンプルはFlashLite2.0以降の端末でのみ確認可能です。実行例はこちらからご確認下さい。→URLをメールで送るhttp://ookura.tanikaze.com/Sample/post4870/サンプルファイルsample4870.zip上記サンプルのFlashファイル一式です。スマホサイト・アプリをつくろう。まめの木|モバイルSEO見積ツール株式会社セルバは携帯サイト作成・制作、メール配信、店舗検索など、携帯サイトの様々なサービスをご提供しています。