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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     理解しているようで、理解していない用語
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yakumo
Åê¹ÆNo.46076
投稿日時: 2010-10-13 14:57
常連
居住地: 東京
投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0
理解しているようで、理解していない用語
理解しているようで、理解していない用語があります。
自身も外部asファイルに、参考書を見ながら
as3のコードを記述してきましたが、ずっと気にしていませんでした。
それが以下の3つです。

・ドキュメントクラス
・ユーザ定義クラス
・カスタムクラス

どなたか、上記の違いを教えていただけないでしょうか。
どうぞよろしくお願いいたします。

vader
Åê¹ÆNo.46080
投稿日時: 2010-10-13 15:59
常連
居住地: 東京
投稿: 76
使用環境:
MacOS10.8,FlashCS6
Re: 理解しているようで、理解していない用語
yakumoさん、こんにちわ。

以下、私の解釈ですが、

・ドキュメントクラス
flaファイルに関連付けられたクラスで多くの場合、MovieClipを継承します。
プロパティパネルで指定します。

・ユーザ定義クラス
ActionScriptであらかじめ用意されたクラスではなく、ユーザー自身が定義
したクラスです。

・カスタムクラス
基本的にユーザ定義クラスと同じと考えて良いと思います。
参考書によっては、使い分けているものもあるかも知れませんが、
あまり深く考える必要はないように思います。

以上、お役に立ちましたら幸いです。
yakumo
Åê¹ÆNo.46081
投稿日時: 2010-10-13 16:15
常連
居住地: 東京
投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0
Re: 理解しているようで、理解していない用語
vaderさんありがとうございます。

関連付けられたクラスですか・・・。
つまりメインタイムラインを外部ファイルにしたもの・・・
という認識で正しいですか?

そうなると、ドキュメントクラスは1つのswfに対して必ず1つまでですか?

野中文雄
Åê¹ÆNo.46084
投稿日時: 2010-10-13 16:47
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 理解しているようで、理解していない用語
「メインタイムライン」に対するクラス定義と捉えて差し支えないと思います。ただし、メインタイムラインはMovieClipクラスの「インスタンス」です。「ドキュメントクラス」は、そのMovieClipクラスに差替わります(もっとも、通常MovieClipまたはSpriteクラスを継承させます)。

[プロパティ]インスペクタの[ドキュメントクラス]に設定できるクラスはひとつだけでしょう。

参考:「ActionScript 3.0 ドキュメントクラスの宣言
引用:
yakumoさんは書きました:
つまりメインタイムラインを外部ファイルにしたもの・・・
という認識で正しいですか?

そうなると、ドキュメントクラスは1つのswfに対して必ず1つまでですか?


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

yakumo
Åê¹ÆNo.46086
投稿日時: 2010-10-13 17:15
常連
居住地: 東京
投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0
Re: 理解しているようで、理解していない用語
Fumioさんありがとうございます。

>メインタイムラインはMovieClipクラスの「インスタンス」です。

ドキュメントクラスは、「メインタイムライン」に対する
クラス定義なんですね・・・。
胸の閊えが取れました。

つまり、メインタイムラインはMovieClipクラスの「インスタンス」であるいう決まり事があるので、
メインタイムラインを「インスタンス」として生成するドキュメントクラスが
MovieClipクラスを拡張(継承)しているのは必然ということですかね。

>[プロパティ]インスペクタの[ドキュメントクラス]に設定できるクラスはひとつだけでしょう。

確かにそうですね。

>通常MovieClipまたはSpriteクラスを継承させます

ここで疑問が・・・
メインタイムラインをSpriteクラスの継承で定義すると、
タイムラインの概念がないので、フレームにスクリプトが書けないのでは・・・??
そんなことはないんですかね。
素人の素朴な意見でした。

野中文雄
Åê¹ÆNo.46089
投稿日時: 2010-10-13 18:12
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 理解しているようで、理解していない用語
そのとおりです。Spriteを継承させる場合には、Flashオーサリングツール側は使う素材を[ライブラリ]にもたせるくらいで、Flex SDKのようなつくりにします(たとえばwonderfl)。

参考: trick7「ドキュメントクラスが extends Sprite の時
引用:
yakumoさんは書きました:
メインタイムラインをSpriteクラスの継承で定義すると、
タイムラインの概念がないので、フレームにスクリプトが書けないのでは・・・??


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

ひろゆき
Åê¹ÆNo.46090
投稿日時: 2010-10-13 18:13
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 理解しているようで、理解していない用語
引用:
yakumoさんは書きました:
ここで疑問が・・・
メインタイムラインをSpriteクラスの継承で定義すると、
タイムラインの概念がないので、フレームにスクリプトが書けないのでは・・・??
そんなことはないんですかね。
素人の素朴な意見でした。

試してみれば、すぐに分かることでは?

例えば、main.fla のドキュメントクラスを「Main」とする。

Main.as
package {

	import flash.display.Sprite;

	public class Main extends Sprite {

		public function Main() {
			init();
		}

		private function init():void {
			graphics.beginFill(0xFF0000);
			graphics.drawRect(0, 0, 465, 465);
			graphics.endFill();
		}
		
	}

}

(1) main.flaのフレームには何も記述しない。

(2) main.flaの第1フレームに、
stop();


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

yakumo
Åê¹ÆNo.46092
投稿日時: 2010-10-13 18:22
常連
居住地: 東京
投稿: 67
使用環境:
WinVista,FlashCS4,Actionscript3.0
Re: 理解しているようで、理解していない用語
ご回答いただいた皆様ありがとうございました。
ドキュメントクラスとメインタイムラインの関係等、
理解することができました!
重ねてお礼申し上げます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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