トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     TLFテキストのフォーマット変更について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yasufumi
Åê¹ÆNo.46640
投稿日時: 2010-12-26 17:00
新米
居住地:
投稿: 4
使用環境:
Mac OX 10.5.8,Flash CS 5
TLFテキストのフォーマット変更について
お世話になります。

TLFテキストのフォーマット変更についての質問です。
ステージにTLFテキストを静的に配置してインスタンス名「my_txt」としました。
「01234」と記述しています。

動的にテキストと文字色を変更しようとフレームに以下のスクリプトを記述しましたところ、
「あいうえお」には変更されましたが、文字色が変更されません。
静的に配置されたTLFテキストに対してのフォーマット変更の方法を教えてください。
よろしくお願いいたします。

import fl.text.TLFTextField;
import flashx.textLayout.formats.TextLayoutFormat;
import flashx.textLayout.elements.TextFlow;


var my_fmt:TextLayoutFormat = new TextLayoutFormat();
var myTextFlow:TextFlow = my_txt.textFlow;
my_fmt.color = 0xFF0000;
myTextFlow.hostFormat = my_fmt;
myTextFlow.flowComposer.updateAllControllers();

my_txt.text = "あいうえお";
野中文雄
Åê¹ÆNo.46641
投稿日時: 2010-12-26 18:30
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: TLFテキストのフォーマット変更について
まず、「ステージにTLFテキストを静的に配置」すると、そのままでは[プロパティ]インスペクタの設定が勝ります。結論としては、(1)インスタンスを動的に配置するか、(2)TLFTextField.textColorプロパティを使われるのがよいかと思います。
引用:
yasufumiさんは書きました:
ステージにTLFテキストを静的に配置してインスタンス名「my_txt」としました。
「01234」と記述しています。

動的にテキストと文字色を変更しようとフレームに以下のスクリプトを記述しましたところ、
「あいうえお」には変更されましたが、文字色が変更されません。
静的に配置されたTLFテキストに対してのフォーマット変更の方法を教えてください。

予め配置されたTLFTextFieldインスタンスのtlfMarkupプロパティの文字列を[出力]すると、<span>要素(SpanElement)に[プロパティ]インスペクタのカラーが設定されていることを見てとれます。そのため、デフォルトのフォーマット(TextFlow.hostFormat)が適用されません。無理矢理変えるなら、つぎのとおりです。
import fl.text.TLFTextField;
import flashx.textLayout.formats.TextLayoutFormat;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.elements.ParagraphElement;
import flashx.textLayout.elements.SpanElement;

var my_fmt:TextLayoutFormat = new TextLayoutFormat();
var myTextFlow:TextFlow = my_txt.textFlow;
var paragraph:ParagraphElement = myTextFlow.getChildAt(0) as ParagraphElement;
var span:SpanElement = paragraph.getChildAt(0) as SpanElement;
my_fmt.color = 0xFF0000;
// myTextFlow.hostFormat = my_fmt;
span.format = my_fmt;
myTextFlow.flowComposer.updateAllControllers();

my_txt.text = "あいうえお";


----------------
 

yasufumi
Åê¹ÆNo.46645
投稿日時: 2010-12-27 11:11
新米
居住地:
投稿: 4
使用環境:
Mac OX 10.5.8,Flash CS 5
Re: TLFテキストのフォーマット変更について
野中様

ご回答ありがとうございました。
静的TLFテキストの場合、[プロパティ]インスペクタの設定が勝るのは知りませんでした。
参考にしていたサイトの殆どが動的に配置されたテキストを対象としておりましたので大変参考になりました。
無理矢理変える方法も教えていただきありがとうございます。
以下の方法でも無理矢理変えることができました。
正しい方法かどうかは分かりませんが掲載しておきます。

var format = new TextFormat();
format.color = 0xFF0000; // 文字の色
my_txt.setTextFormat(format);
野中文雄
Åê¹ÆNo.46648
投稿日時: 2010-12-27 19:56
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: TLFテキストのフォーマット変更について
TLFTextField.setTextFormat()メソッドを使うのも、ひとつのやり方でしょう。この機会に、簡単にまとめてみました。

参考:「予め配置したTLFテキストのインスタンスにTextLayoutFormatが適用できない
引用:
yasufumiさんは書きました:
以下の方法でも無理矢理変えることができました。
正しい方法かどうかは分かりませんが掲載しておきます。
var format = new TextFormat();
format.color = 0xFF0000;	// 文字の色
my_txt.setTextFormat(format);


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops