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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     MouseEvent の ROLL_OVER について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
acco2010
Åê¹ÆNo.45508
投稿日時: 2010-8-19 15:57
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
MouseEvent の ROLL_OVER について
環境は
windows XP
Flash CS4
actionscript 3.0
です。

ROLL_OVER時に出力されるTypeErrorについて質問させていただきます。

まず、
btn_mc1というmcの中に入れ子でtext1というmcがあります。
text1は、20フレームのアニメーションになっています。

btn_mc1をロールオーバーした際に、
text1のフレームをgotoAndPlayでフレームを移動させてアニメーションを動かしたいのですが、エラーが出力されてしまい動きません。

出力内容
TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
	at MethodInfo-2()


記述しているコード(.asファイル)
package {
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	
	public class MouseEvents {
		var btn_mc1:MovieClip;

		public function MouseEvents(btn_mc1:MovieClip) {
			this.btn_mc1=btn_mc1;
			init();
		}

		private function init():void {
			btn_mc1.buttonMode=true;
			
			btn_mc1.addEventListener(MouseEvent.ROLL_OVER,myMouseEvent);

			function myMouseEvent (event:MouseEvent):void {
				this.btn_mc1.text1.gotoAndPlay("_frame2");
			}
		}
	}
}


記述しているコード(.flaファイル)
var myMouseEvent:MouseEvents = new MouseEvents(btn_mc1);


AS自体初心者で、また、.asファイルに記述するのは初めてのため初歩的なミスかとは思いますが、どなたかご教授いただけると大変助かります。
何卒よろしくお願い致します。
ひろゆき
Åê¹ÆNo.45509
投稿日時: 2010-8-19 16:38
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: MouseEvent の ROLL_OVER について
package {
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	
	public class MouseEvents {
		var btn_mc1:MovieClip;

		public function MouseEvents(btn_mc1:MovieClip) {
			this.btn_mc1 = btn_mc1;
			init();
		}

		private function init():void {
			btn_mc1.buttonMode=true;
			btn_mc1.addEventListener(MouseEvent.ROLL_OVER,myMouseEvent);
		}
		private function myMouseEvent (event:MouseEvent):void {
			this.btn_mc1.text1.gotoAndPlay("_frame2");
		}

	}
}


----------------
質問する際は、回答者に具体的な情報を与えてください。

acco2010
Åê¹ÆNo.45521
投稿日時: 2010-8-20 12:40
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
Re: MouseEvent の ROLL_OVER について
ひろゆき様

早速のご回答、ありがとうございます!!
無事、できました!

また何かありましたらよろしくお願いします。
acco2010
Åê¹ÆNo.45526
投稿日時: 2010-8-20 16:26
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
Re: MouseEvent の ROLL_OVER について
ひろゆき様

たびたび申し訳ございません。
昨日のボタンですが、こちら1つではなく複数つける場合は
どのようにしたらよろしいでしょうか。

package {
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	
	public class MouseEvents {
		var btn_mc1:MovieClip;
		var btn_mc2:MovieClip;

		public function MouseEvents(btn_mc1:MovieClip) {
			this.btn_mc1=btn_mc1;
			this.btn_mc2=btn_mc2;
			init();
		}

		private function init():void {
			//指カーソル
			btn_mc1.buttonMode=true;
			btn_mc2.buttonMode=true;
			
			//EventListener登録
			btn_mc1.addEventListener(MouseEvent.MOUSE_OVER,_onMouseOver);
			btn_mc1.addEventListener(MouseEvent.MOUSE_OUT,_onMouseOut);
			
			btn_mc2.addEventListener(MouseEvent.MOUSE_OVER,_onMouseOver);
			btn_mc2.addEventListener(MouseEvent.MOUSE_OUT,_onMouseOut);
						
			}

		private function _onMouseOver (event:MouseEvent):void {
			this.btn_mc1.gotoAndStop("_over");
			this.btn_mc2.gotoAndStop("_over");
			trace (event.type);
		}
		private function _onMouseOut (event:MouseEvent):void {
			this.btn_mc1.gotoAndStop("_out");
			this.btn_mc2.gotoAndStop("_out");
			trace (event.type);
		}
	}
}

{

このように書いてみましたが…駄目でした。
わからないところ、オレンジにしました。

何卒ご教授願えませんでしょうか。。
お手数おかけして申し訳ございません。
よろしくお願い致します。
ひろゆき
Åê¹ÆNo.45527
投稿日時: 2010-8-20 16:31
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: MouseEvent の ROLL_OVER について
思いつきや適当な考えでスクリプトを記述しても、ダメだと思いますが。

btn_mc1, btn_mc2 にはそれぞれtxt_mcを内包しているものとして、
条件を変えたのであれば、その旨を明記すべきだと思いますが…。
ここはサポートセンターではありませんし。


第1フレームのフレームアクションに
var me1:MouseEvents = new MouseEvents(btn_mc1);
var me2:MouseEvents = new MouseEvents(btn_mc2);


MouseEvents.as
package {
	import flash.events.MouseEvent;
	import flash.display.MovieClip;

	public class MouseEvents {
		var target:MovieClip;

		public function MouseEvents(target_mc:MovieClip) {
			this.target = target_mc;
			init();
		}

		private function init():void {
			target.buttonMode = true;
			target.addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
			target.addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
		}
		private function onMouseOver(event:MouseEvent):void {
			this.target.gotoAndStop("_over");
		}
		private function onMouseOut(event:MouseEvent):void {
			this.target.gotoAndStop("_out");
		}

	}
}


----------------
質問する際は、回答者に具体的な情報を与えてください。

acco2010
Åê¹ÆNo.45528
投稿日時: 2010-8-20 17:34
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
Re: MouseEvent の ROLL_OVER について
ひろゆき様

先ほど投稿したものから修正しました!
私の記述が間違っており、修正したところ、エラー内容が変わりました。


早速のご回答誠にありがとうございます。
また、説明も足らず、不躾に質問を投げかけてしまいまして大変失礼致しました!!

いただきましたコードにて、試してみましたところ、コンパイルエラーが出てしまいました。

二種類のエラーで、.flaファイルの1フレーム目に記述したコード二行に対して出ています。


1120: 未定義のプロパティ btn_mc2 へのアクセスです。


me2に対してのエラーとなっております。

大変失礼なことではございますが、どのような情報をお伝えすれば回答者の方に必要な情報をすべてお伝えできるのか、、
そこすらよくわかっておりません;
何かこの情報があれば というようなことがございましたらお聞きいただけますでしょうか。

本当に、お手数お掛けいたしまして誠に申し訳ございません。
何卒よろしくお願い申し上げます。
ひろゆき
Åê¹ÆNo.45529
投稿日時: 2010-8-20 18:45
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: MouseEvent の ROLL_OVER について
btn_mc2がステージ上の第1フレームにないのではありませんか?
あるいは、インスタンス名がきちんとついていないとか。

ご自分がお作りになっているものを第三者に言葉で伝えられないのであれば、
ファイルをどこかに上げてダウンロードできるようにするとか、
回答者の手間を省く手段は取れるのではないでしょうか?

できなくて困るのは、回答者ではなく、質問者だと思いますが。



また、単純なボタンを作ろうとなさっているのであれば、
クラスを用いる必要はないように思います。
FN0706001 - ActionScript 3.0に対応したMovieClipのボタンをつくる - Flash : テクニカルノート
クラスを用いる前に、学習すべきことがあるのではないでしょうか?
あるいは、参考書などを用いて、クラスの使い方などを学習されることをお勧めします。


----------------
質問する際は、回答者に具体的な情報を与えてください。

acco2010
Åê¹ÆNo.45534
投稿日時: 2010-8-20 23:30
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
Re: MouseEvent の ROLL_OVER について
ひろゆき様

何度もお手数をおかけして申し訳ございません。
社内での作業になりますので、月曜日に再度確認してみます。

どうもありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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