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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     createTextField+RollOver(OUT)について
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
wm106p
Åê¹ÆNo.10988
投稿日時: 2004-9-20 22:33
半人前
居住地:
投稿: 44
使用環境:
Windows2000,MX2004pro
Re: createTextField+RollOver(OUT)について
野中 様
返信ありがとうございます。
今回も解決できました!
非常に助かりました。
ありがとうございます。
wm106p
Åê¹ÆNo.10987
投稿日時: 2004-9-20 22:31
半人前
居住地:
投稿: 44
使用環境:
Windows2000,MX2004pro
Re: createTextField+RollOver(OUT)について
pinkgear 様
返信ありがとうございます。
ただ、今回はなんか特殊なようです。
野中様のいう「排他的」な仕様のようです。
野中文雄
Åê¹ÆNo.10943
投稿日時: 2004-9-19 4:49
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: createTextField+RollOver(OUT)について
ボタンのイベントハンドラ(メソッド)を設定すると、マウス操作はそのMovieClipインスタンス自身が「排他的に」受取ります。したがって、その中のTextFiledインスタンスには、マウス操作(クリック)が渡りません。

ボタンのイベントハンドラを使わずにロールオーバー/ロールアウトを処理する必要があります。
引用:
wm106pさんは書きました:
以下のスクリプトだと確かに右に動きます。でも
テキストフィールドの部分「Click Me!」が効きません。
theName = "text1";
 function MyFunc (arg) {
   trace ("クリックされました! 引数は"+arg);
}

this.createTextField(theName,-100,14,-10,100,20);
this[theName].html= true;
this[theName].htmlText="<A HREF='asfunction:MyFunc,Foo'>Click Me!</A>";

this.onRollOver = function(){
 this[theName]._x =20;
}
   
this.onRollOut = function(){
this[theName]._x =14;  
}


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

pinkgear
Åê¹ÆNo.10942
投稿日時: 2004-9-19 4:36
半人前
居住地:
投稿: 35
使用環境:
Mac OS X 10.4.2, Studio MX 2004 w Flash MX Pro
Re: createTextField+RollOver(OUT)について
ども。
setIntervalでマウスカーソルの位置をチェックしてみてはどうでしょうか?
以下のコードは簡単に書いただけですので、あまりよくありませんが。(^^;

theName = "text1";
function MyFunc (arg) {
trace ("クリックされました! 引数は"+arg);
}

this.createTextField(theName,-100,14,-10,100,20);
this[theName].html= true;
this[theName].htmlText="<A HREF='asfunction:MyFunc,Foo'>Click Me!</A>";

/*
this.onRollOver = function(){
this[theName]._x =20;
}

this.onRollOut = function(){
this[theName]._x =14; 
}
*/

var intervalID = setInterval( ProxyCheckMouseArea, 10, this );

function ProxyCheckMouseArea( aParentMC )
{
	aParentMC.CheckMouseArea();
}

function CheckMouseArea()
{
	var xmin, xmax;
	var ymin, xmax;
	
	xmin = this[theName]._x;
	ymin = this[theName]._y;
	
	xmax = this[theName]._x + this[theName]._width;
	ymax = this[theName]._y + this[theName]._height;
	
	if( this._xmouse >= xmin && this._xmouse <= xmax &&
		this._ymouse >= ymin && this._ymouse <= ymax )
	{
		this[theName]._x =20;
	}
	else
	{
		this[theName]._x =14; 
	}
}
wm106p
Åê¹ÆNo.10928
投稿日時: 2004-9-19 0:00
半人前
居住地:
投稿: 44
使用環境:
Windows2000,MX2004pro
createTextField+RollOver(OUT)について
ムービクリップにcreateTextFieldでテキストフィールド
を入れ込みまして、マウスオーバーすると、右に動くもの
を作ろうとしています。

しかしながら、これがうまくいきません。

以下のスクリプトだと確かに右に動きます。でも
テキストフィールドの部分「Click Me!」が効きません。


theName = "text1";
function MyFunc (arg) {
trace ("クリックされました! 引数は"+arg);
}

this.createTextField(theName,-100,14,-10,100,20);
this[theName].html= true;
this[theName].htmlText="<A HREF='asfunction:MyFunc,Foo'>Click Me!</A>";

this.onRollOver = function(){
this[theName]._x =20;
}

this.onRollOut = function(){
this[theName]._x =14;
}


次に当たり前の話ですが、上のスクリプトから

this.onRollOver = function(){
this[theName]._x =20;
}

this.onRollOut = function(){
this[theName]._x =14;
}

を削除すると「Click Me!」は効きますが、右に
動きません。

右に動かすのと、「Click Me!」を同時に処理できる
ようにするにはどのようにしたら良いのでしょうか?

よろしくお願いいたします。



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

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