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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     カスタムクラスを使っているものにフレームアクションを追加
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
acco2010
Åê¹ÆNo.45770
投稿日時: 2010-9-14 15:10
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
カスタムクラスを使っているものにフレームアクションを追加
こんにちは。お世話になっております。
質問させていただきます。

既存のFlashコンテンツにマウスイベントを追加するのですが、
既存のものはasファイルにてカスタムクラスが設定されています。

今回追加する際には、Flaファイルのフレームに直接書こうと思ったのですが、
エラーが出てしまいます。


Btn1.addEventListener( MouseEvent.ROLL_OVER, _onRollOver );
Btn1.buttonMode = true;
function _onRollOver( evt:MouseEvent ):void{
    Btn1.x += 20;
}


コードは上記のものです。
エラー内容はこちらです。↓


1119: 未定義である可能性が高いプロパティ x に静的型classの参照を使用してアクセスしています。
1061: 未定義である可能性のあるメソッド addEventListener を、静的型classの参照を使用して呼び出しました。
1119: 未定義である可能性が高いプロパティ buttonMode に静的型classの参照を使用してアクセスしています。
Warning: 3590: ブール値が必要ですが、voidが使用されています。ブール式に型強制されます。


既存のコンテンツというのはスライド的なFlashで、進むボタン、戻るボタン、最初のページへ戻るボタン、目次ボタン
があり、他には特別な動きのあるようなものではありません。

通常、カスタムクラスが設定されているものには、フレームアクションを追加することはできないのでしょうか?

どなたかご教授いただけますでしょうか。
宜しくお願い致します。
ひろゆき
Åê¹ÆNo.45772
投稿日時: 2010-9-14 15:16
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: カスタムクラスを使っているものにフレームアクションを追加
Btn1というクラスを使っているからでは?
インスタンス名をbtn1にするとか。

カスタムクラスに設定した、という一言で片付けずに、
何というシンボルに、何というクラス(あるいは基本クラス)を指定し、
インスタンス名に何とつけたとか、もう少し具体的に説明する必要があるように思います。


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

acco2010
Åê¹ÆNo.45777
投稿日時: 2010-9-14 16:24
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
Re: カスタムクラスを使っているものにフレームアクションを追加
ひろゆき様

早速のご回答ありがとうございます。
インスタンス名をbtn1にしました。

カスタムクラスなどが設定されていない新規のファイルにて試して作ったものでは、
同じコードで Actionscript用に書き出し をせずにいたのですが、その場合はエラーもなく正常に動きました。
それをこのまま既存のものの1フレームに書き込んでムービープレビューをしたところ、(Actionscript用に書き出し はしない)
下記のようなエラーになります。


1120: 未定義のプロパティbtn1へのアクセスです。
Warning: 3590: ブール値が必要ですが、voidが使用されています。ブール式に型強制されます。


Warningについてのソースは以下になります。


package actionscript.slides 
{
	import com.yahoo.astra.fl.controls.treeClasses.TreeCellRenderer;
	
	public class CustomTreeCellRenderer extends TreeCellRenderer
	{
		override protected function drawLayout():void
		{
			var textPadding:Number = Number(getStyleValue("textPadding"));
			var nodeIndent:Number = Number(getStyleValue("nodeIndent"));
			var leftMargin:Number = Number(getStyleValue("leftMargin"));
			var textFieldX:Number = 0;
			
			// Align icon and add the indent derived from node's level
			if (icon != null) {
				icon.x = leftMargin + data.nodeLevel * nodeIndent;
				icon.y = Math.round((height-icon.height)>>1);
				textFieldX = icon.x + icon.width + textPadding;
			}
			
			//set enabled
			if (data.nodeType == "leafNode")
			{
				if (data.hasOwnProperty("enabled"))
				{
					if (!data.enabled is Boolean && data.enabled is String)
					{
						enabled = (data.enabled.toLowerCase() == "true");
					}
				}
			}else
			{
				enabled=true;
			}
		}
	}
}


こちらの赤いところの1文に対してエラーが出ています。

そして、btn1を「Actionscript用に書き出し」 とし、
クラス:btn1
基本クラス:flash.display.MovieClip
とし、「OK」を押すと、

「このクラスの定義がクラスパス内に見つからなかったため、定義は書き出し時にSWFファイル内に自動生成されます。」

というのがでました。
そしてムービープレビューをすると最初に書いたエラーになります。

カスタムクラスが設定されているものにもフレームアクションを追加すること自体はできるのですね。
記載のスクリプトが長くなり申し訳ございません。

何卒よろしくお願いいたします。
ひろゆき
Åê¹ÆNo.45796
投稿日時: 2010-9-14 21:42
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: カスタムクラスを使っているものにフレームアクションを追加
エラーと書かれておられますが、そのエラーすらこちらでは再現できる状況にありません。

断片的に情報を伝えられても、何をどうしたのか、第三者には分かりづらいだけです。
少なくとも第三者が再現できるだけの説明になっていないように思います。

いま一度、ご自分が作っておられるものを、第三者が再現できるように整理して、
説明し直されることをお勧めします。


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

acco2010
Åê¹ÆNo.45805
投稿日時: 2010-9-15 10:47
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
Re: カスタムクラスを使っているものにフレームアクションを追加
ひろゆき様

ご返信ありがとうございます。
確かにそうですね。すみませんでした。

今回なぜここにフレームアクションで追加しようとしているかと言いますと、
私自身がカスタムクラスの理解が乏しい為であり、
フレームアクションで追加できるのならばそれで対応したい と考えたからでした。

第三者の方が再現できるように整理するには、やはりカスタムクラスを理解していないと説明できそうにありません。
説明できるまでにずいぶんとかかってしまいそうです。

今回の質問にて、そのような所にフレームアクションを追加すること自体はできる という事が分かりましたので、その方向でもっと調べてみようと思います。
大変お手数お掛け致しました。

いつもご親切にどうもありがとうございます。
また何かありましたら宜しくお願い致します。
ひろゆき
Åê¹ÆNo.45806
投稿日時: 2010-9-15 11:02
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: カスタムクラスを使っているものにフレームアクションを追加
引用:
acco2010さんは書きました:
第三者の方が再現できるように整理するには、やはりカスタムクラスを理解していないと説明できそうにありません。

実制作中に、その制作物を用いて、説明しようとするから、おかしなことになるのでは?

シンプルな構造のものや第三者に提供しても問題のない素材を用いて、質問されないと、
何が問題なのか絞りこめず、あるいは、第三者である回答者が問題の再現ができずに、
解決に至らないことになると思います。
#時間に余裕があって、検証してくださる回答者がいらっしゃればいいんですが。


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

acco2010
Åê¹ÆNo.45808
投稿日時: 2010-9-15 12:23
新米
居住地: 東京
投稿: 11
使用環境:
Windows7
Flash CS4
AS3.0
Re: カスタムクラスを使っているものにフレームアクションを追加
ひろゆき様

お心遣いありがとうございます。
時間はまだ余裕がありますので、シンプルな構造にてカスタムクラスを自作してみて、そこから検証してみようと思います。
その後にまた躓いてしまった時にはこちらにご質問させていただきたく存じます。

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

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