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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ユーザー側のフォント情報を取得してムービーに反映させたい。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hoihoihoi
Åê¹ÆNo.21967
投稿日時: 2005-12-7 23:34
新米
居住地:
投稿: 19
使用環境:
WinXP,Flash MX2004
ユーザー側のフォント情報を取得してムービーに反映させたい。
はじめまして、よろしくお願いいたします。

http://www.hallmark.jp/wedding/tool/index.html

ここのサイトをご覧下さい。
このサイトの中でユーザーのフォント情報を取得して
リストに取り込んでいます。こんなことをしたくて…

//フレームに----------------------------
cfont = TextField.getFontList();

str += cfont.join("/");
var list:Array = str.split("/");

my_cb.dataProvider = list;

//リストのコンポネント(my_cb)に--------------------------
on(change)
{
this._parent.select_txt.text = this.getItemAt( this.selectedIndex ).label;
}

として、選択したフォント情報をテキストエリアに表示させようと
しましたが、うまくいきませんでした。
しかも読み込んだ情報も一番最初にundifindと表示してしまいます。
誰か助けてください。WindowsXPでMX2004で製作中です。
rin-ko
Åê¹ÆNo.21986
投稿日時: 2005-12-8 19:36
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: ユーザー側のフォント情報を取得してムービーに反映させたい。
こんにちは。
もし一行目がundefinedになるのだとしたら、それは"str"の初期値が設定されていないためかと思われます。
var str:String="";
と書いておけば解決すると思いますよ。

listは単なる文字列の配列ですから、コンポーネントの各項目には文字列が入ってるだけですよね。なので、labelを参照してもundefinedがかえるのだと思います。以下のように項目を参照すれば、きちんと表示されるかと思います。
this._parent.select_txt.text = this.getItemAt(this.selectedIndex)


もし「this.getItemAt(this.selectedIndex).label;」で"label"を参照しようというのでしたら、"label"というプロパティを持ったオブジェクトのリストを作っておけばよいかと思います。こんな感じでやってみると出来ました。
var list2:Array=[];
for(var i=0;i<list.length;i++){
	var my_obj:Object=new Object();
	my_obj.label=list[i];
	list2.push(my_obj);
}
my_cb.dataProvider = list2;


コンポーネントはほとんど触ってないので、もっとスマートなアプローチがあると思うのですけれど、一応ご参考までに。
hoihoihoi
Åê¹ÆNo.21993
投稿日時: 2005-12-8 21:49
新米
居住地:
投稿: 19
使用環境:
WinXP,Flash MX2004
Re: ユーザー側のフォント情報を取得してムービーに反映させたい。
ありがとうございます!
なるほど、なんとなく理解しました。
Actionスクリプト初心者なのでコンポーネントを使って
制作を進めてます。でもやっぱり難しい。。
基本的なところが私はまだ理解できてないみたいですね。

引き続き挑戦します。次はこれでテキストエリアのフォントスタイルを変更することに挑戦です。

ありがとうございました。
野中文雄
Åê¹ÆNo.21998
投稿日時: 2005-12-8 22:50
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ユーザー側のフォント情報を取得してムービーに反映させたい。
//フレームに----------------------------
// cfont = TextField.getFontList();
// str += cfont.join("/");
// var list:Array = str.split("/");
// my_cb.dataProvider = list;
my_cb.dataProvider = TextField.getFontList();

//リストのコンポネント(my_cb)に--------------------------
on (change) {
	// this._parent.select_txt.text = this.getItemAt(this.selectedIndex).label;
	this._parent.select_txt.text = this.value;
}

あるいは、
//フレームに----------------------------
// cfont = TextField.getFontList();
// str += cfont.join("/");
// var list:Array = str.split("/");
// my_cb.dataProvider = list;
var my_cb:mx.controls.List;
var font_array:Array = TextField.getFontList();
for (var i:Number = 0; i<font_array.length; ++i) {
	my_cb.addItem(font_array[i]);
}

//リストのコンポネント(my_cb)に--------------------------
on (change) {
	// this._parent.select_txt.text = this.getItemAt(this.selectedIndex).label;
	this._parent.select_txt.text = this.selectedItem.label;
}

引用:
hoihoihoiさんは書きました:
このサイトの中でユーザーのフォント情報を取得して
リストに取り込んでいます。こんなことをしたくて…

ご使用の環境はプロフィールに記入されると、回答者にも確認しやすく、便利です。
引用:
WindowsXPでMX2004で製作中です。


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

rin-ko
Åê¹ÆNo.22007
投稿日時: 2005-12-9 0:38
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: ユーザー側のフォント情報を取得してムービーに反映させたい。
よかった、野中さんのフォローがあって。
なるほどー、こうするのですね。
hoihoihoiさん、私も今日初めてListコンポーネントのヘルプを読んだ程度ですので、ちっともわかってないのです。すみません。お互いがんばりましょうね。
hoihoihoi
Åê¹ÆNo.22010
投稿日時: 2005-12-9 2:43
新米
居住地:
投稿: 19
使用環境:
WinXP,Flash MX2004
Re: ユーザー側のフォント情報を取得してムービーに反映させたい。
ありがとうございます!
そんなふうに書くのですね。スクリプトって奥深いですね。
がんばって勉強します!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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