articles

2009 年 8 月 28 日

AS3 TextFormatを外部クラスにしてみましたが

CATEGORYTextFormat   TAG 4:56 PM

当初staticでクラスメンバとしてやってたのですが
個別に変更する場合難しいので、インスタンスのメンバにしました。

staticのものは以下
AS3 共通のTextFormatを複数のクラスで用いてみる

これ本来はsetterとgetterをつかうべきだと思いました。
クラスのプロパティを参照するのはよくないんですよね?
今度はsetterとgetterについて調べてみます。
※基礎だとおもいますがおろそかになっています。

TextStyle.as

package {

	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.text.TextFormatAlign;

	class TextStyle {

		public var textformat_default:TextFormat=new TextFormat();
		public var textformat_hover:TextFormat=new TextFormat();
		
     //コンストラクタ
		function TextStyle() {
			//初期状態用スタイル
			textformat_default.size=13;
			textformat_default.font="_sans";
			textformat_default.color=0xEEEEEE;
			textformat_default.bold=true;

			//ホバー時状態用スタイル
			textformat_hover.size=15;
			textformat_hover.font="_sans";
			textformat_hover.color=0xEEEEEE;
			textformat_hover.bold=true;
        	}
	}
}

flaファイル

import TextStyle;
var text_style=new TextStyle();
var d_format=text_style.textformat_default;
var hover_format=text_style.textformat_hover;

2009 年 7 月 15 日

AS3 共通のTextFormatを複数のクラスで用いてみる。

共通のテキストフォーマットを複数のクラスで用いてみる。
なんかこれ絶対損してます。とりあえずはコレで!

staticを利用することにより
インスタンスをつくらず直接利用できるところがミソです。
定数をいろいろ定義するファイルとしてクラスを利用するという概念も
あるのですね。

package {
	import flash.text.TextFormat;
	import flash.text.TextFormatAlign;

	public class TextStyle {
		static var chart_textformat:TextFormat=new TextFormat();
		chart_textformat.font="_sans";
		chart_textformat.size=20;
		chart_textformat.color=0x555555;
		chart_textformat.align=TextFormatAlign.CENTER;
	}
}

これが利用するクラス

package {
	import TextStyle;
	public class SampleClass {
		var chart_textformat=TextStyle.chart_textformat;
        }
}

2009 年 6 月 12 日

AS3 TextFieldのプロパティ

CATEGORYactionscriptTextField   TAG 5:54 PM

よく忘れるので。
とくにmultilineとか。
いまだに、TextFieldAutoSize.CENTERとするのかわかりません。
結局定数”center”なんでしょう。
なぜTextFieldAutoSizeクラスの定数をもってくるのか、それにどういう利点があるのか
未だに理解できないのでした。

textfield.alwaysShowSelection = true; 	
textfield.antiAliasType = AntiAliasType.NORMAL;	// アンチエイリアスの種類
textfield.autoSize = TextFieldAutoSize.CENTER; 	// サイズ整形の種類
textfield.background = true;			// 背景の塗りがあるか?
textfield.backgroundColor = 0xFFDDDD;		// 背景の色
textfield.border = true;				// 境界線があるか?
textfield.borderColor =0xAA0000;			// 境界線の色

// HTML表示時にスペース改行などを削除するか?
textfield.condenseWhite = false;
textfield.displayAsPassword = false;	// パスワード表示か?
textfield.embedFonts = false;		// 埋め込みフォントを使うか?
textfield.gridFitType = GridFitType.NONE;	// グリッドフィッティングの種類
textfield.maxChars = 10;			// 最大の文字数
textfield.mouseWheelEnabled = true;	// ホイール回転時にスクロールするか?
textfield.multiline = true;		// 複数行か?
textfield.selectable = true;		// 選択可能か?
textfield.sharpness = 0;		// 文字エッジのシャープネス
textfield.textColor = 0x0000AA;		// テキストの色
textfield.thickness = 1;		// 文字エッジの太さ
textfield.type = TextFieldType.INPUT;	// テキストフィールドのタイプ
textfield.useRichTextClipboard = true;	// コピー & ペースト時に書式もコピーするか?
textfield.wordWrap = false;		// 折り返すか?

2009 年 5 月 26 日

AS3 TextFormat setTextFormatの種明かし編

kayacさんの開発者ブログにあってよかったです。

それによると、

setTextFormat( ) でセットした場合は、今入力されている文字に適応されます。
が、それ以降入力されたものには適応されません。

defaultTextFormat でセットした場合は、現在入力されてる文字には適応されず、それ以降入力された文字に適応されます。

だそうです。
・・・
・・・
・・・。
つまりsetTextFormatは、TextField.textで内容を変更した後に
setTextFormat(TextFormat)であれば適用されるのですね。
その後textプロパティが変更されると、defaultのTextFormatが適用されると。

2009 年 5 月 26 日

AS3 TextFormatでfontを変更して適用した

テキストフォーマットをsetTextFormatと一生懸命やってたのに
全然適用されないのはなぜでしょう。

var textformat=new TextFormat();
textformat.font="_sans";
//テキストフィールド作成
var tf=new TextField();
tf.defaultTextFormat=textformat;