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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     静止テキストをStaticTextとして取得できない?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tanoji
Åê¹ÆNo.35177
投稿日時: 2007-9-21 12:50
新米
居住地:
投稿: 2
使用環境:
WinXP, Flash CS3
静止テキストをStaticTextとして取得できない?
ActionScript 3.0で静止テキストフィールドを操作するにはStaticTextクラスを使用するようですが、うまく取得できません。

Flash CS3付属のActionScript 3.0リファレンスでは、

1. 表示リストに追加されている子オブジェクトを1つ1つinstanceof演算子でStaticTextと比較する
2. 1.の結果がtrueであれば子オブジェクトをStaticText変数に代入する

という方法が紹介されていますが、確実に静止テキストフィールドが1個しか含まれていないflaファイル内で試しても、「○○ instanceof StaticText」の結果がtrueになりません。
(当然ながら、テキストツールで静止テキストフィールドを作成した後に上記のスクリプトを実行しています)

いろいろ試しましたが、どうも静止テキストフィールドがStaticTextではなくTextFieldオブジェクトとして認識されているようです。

この件について、何か有効な情報をお持ちの方はいらっしゃらないでしょうか?
ニノミヤ カズノリ
Åê¹ÆNo.35188
投稿日時: 2007-9-21 23:25
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: 静止テキストをStaticTextとして取得できない?
私の方でテストしてみましたが、正常にテキストの内容を取得できました。
もう一度最初から順を追ってテストしてみてはどうでしょうか。

自分が行ったテストの手順
1.新規ファイルの作成
2.静止テキストをステージに配置(その際、テキストの内容は「テスト」)
3.ヘルプで書かれているasをフレーム1に記述
var i:uint;
for (i = 0; i < this.numChildren; i++) {
    var displayitem:DisplayObject = this.getChildAt(i);
    if (displayitem is StaticText) {
        trace("a static text field is item " + i + " on the display list");
        var myFieldLabel:StaticText = StaticText(displayitem);
        trace("and contains the text: " + myFieldLabel.text);
    }
}
4.パブリッシュ

結果
a static text field is item 0 on the display list
and contains the text: テスト
野中文雄
Åê¹ÆNo.35189
投稿日時: 2007-9-21 23:49
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 静止テキストをStaticTextとして取得できない?
静止テキストに、デバイスフォントを設定されていませんか?
引用:
tanojiさんは書きました:
ActionScript 3.0で静止テキストフィールドを操作するにはStaticTextクラスを使用するようですが、うまく取得できません。
...[中略]...
いろいろ試しましたが、どうも静止テキストフィールドがStaticTextではなくTextFieldオブジェクトとして認識されているようです。


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

tanoji
Åê¹ÆNo.35209
投稿日時: 2007-9-24 12:33
新米
居住地:
投稿: 2
使用環境:
WinXP, Flash CS3
解決しました!
早速回答をいただきましたのに、お返事が遅くなり申し訳ありません。
野中さんのご指摘どおり、デバイスフォントを使用していたようです。
(「ようです」と書いたのは、意識的にそうしていたわけではないため)

埋め込みフォントにして試したら思いどおりの結果が得られました。
丸一日、原因がわからず難儀していたので、たいへん助かりました。
回答いただいた皆様に感謝します。

当方まだまだ不慣れなため、またお世話になるかもしれませんが、今後ともよろしくお願いいたします。
ニノミヤ カズノリ
Åê¹ÆNo.35215
投稿日時: 2007-9-24 19:11
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: 静止テキストをStaticTextとして取得できない?
すみません。
ちょっと気になりましたので質問したいのですが、
『デバイスフォントの使用』や『縦書き』にした場合、StaticTextではなく、
TextFieldになるのはどういった理由からなのでしょうか?
野中文雄
Åê¹ÆNo.35222
投稿日時: 2007-9-25 3:07
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 静止テキストをStaticTextとして取得できない?
おそらくバグであろうと認識しています。→「静止テキストがStaticTextインスタンスとして認識されない
引用:
ニノミヤ カズノリさんは書きました:
『デバイスフォントの使用』や『縦書き』にした場合、StaticTextではなく、
TextFieldになるのはどういった理由からなのでしょうか?


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

ニノミヤ カズノリ
Åê¹ÆNo.35227
投稿日時: 2007-9-25 7:17
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: 静止テキストをStaticTextとして取得できない?
ご回答ありがとうございます。

なるほど、バグなのですね
挙動のおかしさから私もバグではないかと思いつつ、逆に何か理由があるのかと疑ってしまいました。
う?ん、バグが多い。。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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