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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     TextFieldにonReleaseイベントハンドラを付加したい
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
wm106p
Åê¹ÆNo.2231
投稿日時: 2003-12-17 16:58
半人前
居住地:
投稿: 44
使用環境:
Windows2000,MX2004pro
Re: TextFieldにonReleaseイベントハンドラを付加したい
Fumioさん 返信ありがとうございます。

そうですね。問題はXMLによって取得された値("headaa"や"headbb")をどう処理するかです。まさに。

>TextFieldのテキストの一部をオブジェクトとして、メソッドやプロパティを設定することはできません。

無謀な考えだったようです。

>TextFieldにタグテキストを設定するなど、TextFieldインスタンスとして扱う場合には、「インスタンス名」を設定する必要があります。この場合、「変数名」を併用するのは、避けた方がよいでしょう。

はい。インスタンス名にして、タグを設定してやってみます。
ありがとうございました。

野中文雄
Åê¹ÆNo.2230
投稿日時: 2003-12-17 16:43
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: TextFieldにonReleaseイベントハンドラを付加したい
ご質問の内容に、XMLは関係ないのではありませんか? 問題の切分けをしましょう。
引用:
wm106pさんは書きました:
例として、以下のようなXMLがあります。

<Slides>
<slideNode headText="headaa">aaaa</slideNode>
<slideNode headText="headbb">bbbb</slideNode>
</Slides>

以下のスクリプトを実行すると、変数につぎの値が設定されます。

変数 _level0.slideHead = "headaa?nheadbb?n"

この「変数」がおそらくTextFieldに設定されていて、結果としてそのテキストをどう扱うかという点が問題なのではないでしょうか?
my_xml = new XML('<Slides><slideNode headText="headaa">aaaa</slideNode><slideNode headText="headbb">bbbb</slideNode></Slides>');
totalSlides = 2;
rootNode = my_xml.firstChild;
headArray = Array();
slideHead = "";
for (i=0; i<totalSlides; i++) {
	headArray[it] = rootNode.childNodes[it].attributes.headText+"?n";
	// trace(hadArray[it]);
}
slideHead = headArray.join("");

ご質問を繰返しますが、「これらの値」というのは、TextFieldに設定されたテキストの一部(たとえば、"headaa"や"headbb")でしょうか? TextFieldのテキストの一部をオブジェクトとして、メソッドやプロパティを設定することはできません。
引用:
slideHead(これはオブジェクトではなく、「変数」です。ややこしてくすいません。)というダイナミックテキストにheadTextの値を次々と入れます。これでFlashでの表示はできました。さらに、これらの値に対して、onReleaseイベントハンドラを設定し(?)、マウスクリックでアクションをと考えています。

TextFieldにタグテキストを設定するなど、TextFieldインスタンスとして扱う場合には、「インスタンス名」を設定する必要があります。この場合、「変数名」を併用するのは、避けた方がよいでしょう。
引用:
[追記]
asfunctionだとできそうですね。やってみます。ありがとうございます。


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

wm106p
Åê¹ÆNo.2229
投稿日時: 2003-12-17 15:38
半人前
居住地:
投稿: 44
使用環境:
Windows2000,MX2004pro
Re: TextFieldにonReleaseイベントハンドラを付加したい
Fumio さん返信ありがとうございます。

すいませんイメージしにくくて。

例として、以下のようなXMLがあります。

<Slides>
<slideNode headText="headaa">aaaa</slideNode>
<slideNode headText="headbb">bbbb</slideNode>
</Slides>

これを

headArray=Array();

slideHead="";
for(i=0;i<totalSlides;i++)

{
headArray[it] = rootNode.childNodes[it].attributes.headText+"\n";

slideHead=headArray.join("");

}

というASを使って処理します。

slideHead(これはオブジェクトではなく、「変数」です。ややこしてくすいません。)というダイナミックテキストにheadTextの値を次々と入れます。これでFlashでの表示はできました。さらに、これらの値に対して、onReleaseイベントハンドラを設定し(?)、マウスクリックでアクションをと考えています。

やはりできないでしょうか?

[追記]
asfunctionだとできそうですね。やってみます。ありがとうございます。
野中文雄
Åê¹ÆNo.2228
投稿日時: 2003-12-17 14:50
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: TextFieldにonReleaseイベントハンドラを付加したい
仕様としてイメージしにくいです。文字どおり、TextFieldの境界ボックス(矩形)内のどこをクリックしても、反応して構わないのでしょうか? また、ユーザーによるテキストの選択や入力もないということですね(クリックでイベントが発生してしまいます)?

それでよろしければ、TextFieldをムービークリップシンボルに変換すれば、可能です。Mouseオブジェクトのリスナーに登録して、Mouse.onMouseUpのコールバック関数でクリック位置を判定して処理する方法もあります。

テキストの一部をクリックした場合ということでしたら、TextFieldインスタンス自体のイベントとして扱うことはできません。asfunctionなどを使う方法になると思います。
引用:
wm106pさんは書きました:
TextFieldにはonReleaseイベントハンドラがないのですが、なにか、方法はないものでしょうか?
XMLで読み込んだテキスト上をクリックさせてある操作を行いたいのですが。
...
MXを使用しています。


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

wm106p
Åê¹ÆNo.2224
投稿日時: 2003-12-17 14:16
半人前
居住地:
投稿: 44
使用環境:
Windows2000,MX2004pro
TextFieldにonReleaseイベントハンドラを付加したい
TextFieldにはonReleaseイベントハンドラがないのですが、なにか、方法はないものでしょうか?
XMLで読み込んだテキスト上をクリックさせてある操作を行いたいのですが。

よろしくお願いします。

MXを使用しています。

[追記]
新規MC上にTextFieldを置いて、それをタイムライン上に配置するとかではなく、XMLで読み込んだテキスト(5行くらい)に対して、それぞれ(5行分の)別のアクションを仕掛けようとしておりますがなかなかうまくいきません。

[追記2]
テキスト(5行くらい)に分割するロジックはできています。あとはこれらに対してそれぞれonReleaseイベントハンドラ的な役割を持たせたいのです。なお、それぞれの行の長さは一定では有りません。


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

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