システム開発
ActionScriptでテキストのアンダーラインの太さを自由自在に。
ActionScriptで開発をする際には、リファレンス本を片手に、それでも不足であれば、検索して探し出すのが普通だと思いますが、
ちょっと面倒な処理について検索すると、Adobeのサポートサイトしか見当たらないのも事実ですね。
そして大変申し訳ないのですが、Adobeに限らず、メーカーのサポートページというのは、なぜか理解不能なコンテンツが満載で、殆ど使えないのも事実ではないでしょうか?
「その説明」を理解する為に、ある程度のスキルが必要になっているので、サポートサイトとしての目的は殆ど果たせていないような気がします。
そんな中、現在製作中のActionSriptのシステムでクライアント様からテキストのアンダーラインを太くしてほしいとの要望を受けました。
ActionScriptでのアンダーラインの設定というのはあるのですが、太さは一定で変化させる事ができません。
flash.text.engineを使えば、underlinethicknessで太さを制御する事も可能ですが、面倒な処理を入れないと文字化け必至ですので却下。
あれこれと考えてるうちに、クライアントさまからの要望は、アンダーラインとして見えれば、要素としてはなんでも良いのだという事に気がつきました。
今回のシステムの場合、表示させるテキストは外部ファイルから動的に取得したテキストになりますので、その時々で全体の長さは変化します。
ですので、一定の長さのラインを常設するという手法は使えない。
そこで浮かんだ結論。
表示させるテキストと同じフォント同じサイズで背景色を文字色と同じものにし、その上に本来表示させるべきテキストを少し上にずらして表示させるという考え方です。
以下がその部分のソース
まず、テキストフィールドを一つ宣言
var txt_b_Name1:TextField = new TextField();
txt_b_Name1.text = no_name;
txt_b_Name1.setTextFormat(bnmFmt);
txt_b_Name1.x = 1.00
txt_b_Name1.y = 43.65 // ここで縦方向の座標位置を決める。
txt_b_Name1.width = 574.95
txt_b_Name1.height = 77.85
表示するテキストに合わせて、テキストフィールド大きさをリサイズ。
txt_b_Name1.autoSize =TextFieldAutoSize.CENTER;
txt_b_Name1.background = true;
背景色をテキストと同じ色に設定。
txt_b_Name1.backgroundColor = 0xFFFFFF;
その部分を表示させる
addChild(txt_b_Name1);
もう一つのテキストフィールドを定義
var txt_b_Name:TextField = new TextField();//
txt_b_Name.text = no_name;
txt_b_Name.setTextFormat(bnmFmt); ←同じテキストを表示
txt_b_Name.x = 1.00
y座標の設定でアンダーラインの太さを制御。
txt_b_Name.y = 41.65 ←2ほど上にずらす。
txt_b_Name.width = 574.95
txt_b_Name.height = 77.85
txt_b_Name.background = true;
ここでは、テキストの背景色を本来の色に設定
txt_b_Name.backgroundColor = 0x550000;
定義したテキストフィールドを表示させる
addChild(txt_b_Name);
上記の手法でアンダーラインの太さの制御を簡単にする事ができました。
この方法の利点は、まず、カンタンな事。
そして、本来のアンダーラインとは違うものなので、アンダーラインであるが故の制限を受けないのも利点ではないかな?
※本来のアンダーラインの場合、テキストと同じ色でしか出せませんが、この手法の場合は、色も好きに変更できます。
これはバグといわざるを得ない
お盆休みを前に、高速道路を使ったドライブ旅行でのプランを考えている方も多いかと思います。
そんな時に便利なのが、NEXCOの検索システムですね。
今年からETC利用に限って、土日は1000円で乗り放題という事になり、更にはお盆期間中は平日も1000円で乗り放題という事になりました。
ETCを利用すると、1000円で乗り放題以外にも、深夜割引や通勤時間帯割引などの多くの割引サービスを受ける事ができますが、100km以内という制限付きの割引サービスもあります。
http://www.driveplaza.com/dp/SearchTop
上記のURLで料金とおおよその時間を調べる事ができますが、このサイトには重大なバグがあります。
料金の表示部分で、各種割引を適用した場合の料金を表示する事が可能なのですが、
利用する距離に関わらず、全ての割引を適用した表示が可能になっています。
通勤時間帯割引などのように、100kmまでしか適用されない割引サービスも、実際の走行距離に拘わらず、選択できるようになっています。
本来、適用できないものを選択項目として表示させているという事をNEXCOさんはどのように思っているのでしょうか?
画面には、利用区間の距離も表示に出ています。
その数字を利用した条件分岐を一段噛ませるだけで済む話だと思うのですが、それがなされていません。
NEXCOさんが発注したシステムでしょうから、大手のSIerが開発したシステムだとは思いますが、あまりにお粗末です。
納品前に検収をしたのだろうか?とか
素朴な疑問が湧いてきてしまいます。
別サーバーに設置したPHPスクリプトを実行する方法
PHPには、便利な関数が数えられないほどあります。
やっぱり、根本が違うんですよ。
ウェブアプリケーション、ウェブシステム。
これらは立派なプログラムなんです。
システム開発屋としての最高の開発環境
今シーズンは例年よりも遅めですが、先週から大きな開発がスタートしました。
スパムメール対策に効くツール。
先週、迷惑メール対策セミナーなるものを受講してまいりました。
表示が消えても諦めるな。
CMSで、記事を追加した途端にPHPのエラーメッセージが表示され、それ以降サイトが見れない状態に陥ってしまった経験のある方も少なくないはず。
悩みどころ
マジックハンドに更なる機能追加を行っています。
ハッキリ申し上げますと、RSSの利活用という分野に於いて、これ以上の機能は無いと断言できる程の機能です。
この機能追加については、正式なリリースをお楽しみという事で(笑)




