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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     クラスからラジオボタングループ、data
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
houraku
Åê¹ÆNo.40087
投稿日時: 2008-8-28 13:11
新米
居住地:
投稿: 14
使用環境:
XPPro 8
VistaMX Pro 2004
クラスからラジオボタングループ、data
検索しても出てこなかったので・・・
既出、参考サイトありましたらすみません・・・

クラスからラジオボタンのdataを呼びたいのですが、
radioGroupをどうやって書いたらいいのか・・・
dataを使いたいのでextends RadioButtonとしましたがこれもあってるのでしょうか・・・?ラジオボタンを配置したムービークリップにクラス定義してるのでラジオボタンが新たに出てダブるのですが・・・

import mx.controls.RadioButton

class Test extends RadioButton
{
	function Test()
	{
		var rb_lis:Object = new Object();
		rb_lis.click = function()
		{
			trace(radioGroup.selection.data);
		}
		radioGroup.addEventListener("click",rb_lis);
	}
}


環境:
野中文雄
Åê¹ÆNo.40088
投稿日時: 2008-8-28 15:53
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: クラスからラジオボタングループ、data
一度にすべてをやろうとするために、混乱しているように見受けられます。また、それらの情報をたまたままとめている都合のいい参考サイトは滅多に見つかりません。

MovieClipシンボルのフレームアクションで、RadioButton.dataプロパティの値を取得することはおできになるのですか?それを試されたうえで、クラスに展開すれば、継承すべきクラスはおわかりになると思われます。
引用:
hourakuさんは書きました:
dataを使いたいのでextends RadioButtonとしましたがこれもあってるのでしょうか・・・?ラジオボタンを配置したムービークリップにクラス定義してるのでラジオボタンが新たに出てダブるのですが・・・


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

houraku
Åê¹ÆNo.40097
投稿日時: 2008-8-29 13:57
新米
居住地:
投稿: 14
使用環境:
XPPro 8
VistaMX Pro 2004
Re: クラスからラジオボタングループ、data
すみません返信が遅くなってしまいました・・・
アドバイスありがとうございます!

一気にやろうとしてどれが問題なのかわかってないんですね・・・
MovieClipシンボルのフレームアクションではできているかと思うのですが・・・これでsentakuはtraceできてました・・・
// ラジオボタンのMCのフレーム1
rb_lis:Object = new Object();
rb_lis.click = function(){ sentaku = radioGroups.selection.data;trace(sentaku); }
radioGroups.addEventListener("click",rb_lis);

クラスの継承はMovieClipにしました。リスナーが動いてない気がします・・・
も、もうちょっとがんばります
野中文雄
Åê¹ÆNo.40103
投稿日時: 2008-8-29 22:10
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: クラスからラジオボタングループ、data
「MovieClipシンボルのフレームアクションではできて」、クラスだと「リスナーが動いてない」ということでしょうか?そういう場合、第1に考えられるのは、フレームアクションとクラスでは、デフォルト参照(参照が示されていない場合のターゲット)が異なるということです。

参考:「関数・メソッドとthis
引用:
hourakuさんは書きました:
MovieClipシンボルのフレームアクションではできているかと思うのですが・・・これでsentakuはtraceできてました・・・
...[中略]...
クラスの継承はMovieClipにしました。リスナーが動いてない気がします・・・
も、もうちょっとがんばります


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

houraku
Åê¹ÆNo.40108
投稿日時: 2008-8-30 17:47
新米
居住地:
投稿: 14
使用環境:
XPPro 8
VistaMX Pro 2004
Re: クラスからラジオボタングループ、data
きちんと説明できなくてすみません・・・orz
アドバイスありがとうございます!
やっぱりグループにリスナーがついてないみたいです・・・

trace(this);
trace(this.groups);
trace(this.rb1.data);

// ラジオボタンMCのフレーム1[出力]
_level0.radioGroups
[object Object]
1
// クラスの[出力]
_level0.radioGroups
undefined
undefined

クラスからステージに置いたラジオボタンのインスタンスは呼べないのでしょうか・・・?
参照がまだ間違っているだけでしょうか・・・
野中文雄
Åê¹ÆNo.40109
投稿日時: 2008-8-30 19:04
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: クラスからラジオボタングループ、data
まず、[送信]ボタンを押す前に、ご自分の文章を客観的な第三者の目で見直しましょう。→【第三者から見てわからない

「radioGroups」「groups」「rb1」などは、今回突然登場しました。そして、問題のクラスについては、1行のスクリプトも紹介されていません。「占い」ならともかく、分析には事実の提供が不可欠です。
引用:
hourakuさんは書きました:
クラスからステージに置いたラジオボタンのインスタンスは呼べないのでしょうか・・・?
参照がまだ間違っているだけでしょうか・・・

とくに変わった構成をとっていないかぎり、「呼べ」ます。何がどこにあって、どこからどう「参照」しているのかそもそもわかりかねますので、「参照がまだ間違っている」のかどうか見当のつけようもありません。「頭が痛いのですが、風邪でしょうか?」とメールで質問されたようなものです。


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

houraku
Åê¹ÆNo.40111
投稿日時: 2008-8-31 8:51
新米
居住地:
投稿: 14
使用環境:
XPPro 8
VistaMX Pro 2004
Re: クラスからラジオボタングループ、data
アドバイスありがとうございます!
すみません見返したら一人で突っ走ってしまってますね・・・orz
改めてよろしくお願いします

_root
  L... radioGroups(ラジオボタンを含むムービークリップ)
       L... rb1(ラジオボタン)
       L... rb2(ラジオボタン)
       L... rb3(ラジオボタン)

ラジオボタンrb1のdataは 1 で
rb1?rb3のgroupNameは groups です

radioGroupsのクラスです
class Test extends MovieClip
{
	var groups,rb1,sentaku;
	function Test()
	{
		Test2();
	}
	function Test2()
	{
		var rb_lis:Object = new Object();
		rb_lis.click = function()
		{
			sentaku = groups.selection.data;
			trace(sentaku);	
		}
		groups.addEventListener("click",rb_lis);
		trace(this);
		trace(groups);
		trace(this.rb1.data);
	}
}

出力は
_level0.radioGroups
undefined
undefined

クリックしてもtrace(sentaku)しないです・・・
野中文雄
Åê¹ÆNo.40112
投稿日時: 2008-8-31 11:42
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: クラスからラジオボタングループ、data
RadioButtonGroupがundefinedでしたら、イベントリスナーが登録されないでしょう。
引用:
hourakuさんは書きました:
出力は
_level0.radioGroups
undefined
undefined

クリックしてもtrace(sentaku)しないです・・・

以下のように修正すると、いかがですか。
import mx.controls.RadioButton;
import mx.controls.RadioButtonGroup;
class Test extends MovieClip {
	// var groups, rb1, sentaku;
	var groups:RadioButtonGroup, rb1:RadioButton, sentaku:Object;
	function Test() {
		// Test2();
	}
	// function Test2() {
	function onLoad():Void {
		var rb_lis:Object = new Object();
		// rb_lis.click = function() {
		rb_lis.click = function(eventObject:Object):Void  {
			// sentaku = groups.selection.data;
			sentaku = eventObject.target.selection.data;
			trace(sentaku);
		};
		groups.addEventListener("click", rb_lis);
		trace(this);
		trace(groups);
		trace(this.rb1.data);
	}
}


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

houraku
Åê¹ÆNo.40113
投稿日時: 2008-8-31 15:46
新米
居住地:
投稿: 14
使用環境:
XPPro 8
VistaMX Pro 2004
Re: クラスからラジオボタングループ、data
アドバイスありがとうございます
ちゃんとグループのデータ参照しました!
こうやって書くんですねー・・・
見てもなぜ参照できているのか理解できてないです
RadioButtonとRadioButtonGroupのクラスも読み込まないとなんですね・・・
これを元におさらいしようと思います!
おさらいというかちゃんとonLoadしていないあたりよくわかってないことがよくわかりました orz

こちらがきちんと説明できてない為に
二度手間どころか三度手間くらいになってしまって本当に申し訳ありません
回答ありがとうございました!
野中文雄
Åê¹ÆNo.40114
投稿日時: 2008-8-31 19:54
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: クラスからラジオボタングループ、data
MovieClip.onLoadメソッドについては以下をお読みください。また、イベントリスナーのコールバック関数内で、MovieClipシンボルに配置したインスタンスがそのまま参照できない理由は、先の回答に引用したノートをご覧ください。

参考:「MovieClip.onLoadイベントハンドラメソッド
引用:
hourakuさんは書きました:
見てもなぜ参照できているのか理解できてないです
RadioButtonとRadioButtonGroupのクラスも読み込まないとなんですね・・・
これを元におさらいしようと思います!
おさらいというかちゃんとonLoadしていないあたりよくわかってないことがよくわかりました orz


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

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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