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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     classについてお教え下さい
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
Fumio
Åê¹ÆNo.3590
投稿日時: 2004-2-8 6:35
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: classについてお教え下さい
スレッドを移動していただいたようですので、こちらに戻します。

ムービークリップシンボル内に定義した#initclipブロックは、メインタイムラインの第1フレームアクションより前に処理されます。したがって、Object.registerClass()メソッド呼出し時に、まだクラス定義が行われていません。
引用:
karinさんは書きました:
***_rootのレイヤー1の1フレーム目***
trace("Class is defined");  // テスト用
MyClass = function(){}
MyClass.prototype = new MovieClip();
// [後略]

***_rootのレイヤー1の2フレーム目***
 下記に定義したムービークリップインスタンスを配置
 識別子:myMovieClip

ムービークリップへの関連づけ
***ムービークリップ(識別子:myMovieClip)***
 ***レイヤー1の1フレーム目***
#initclip
trace("Object.registerClass is called");  // テスト用
Object.registerClass("myMovieClip",MyClass);
#endinitclip

したがって、ひとつの対処法は、クラス定義後にObject.registerClass()を呼出すことです。
// _root
// 第1フレームアクション
MyClass = function () {
	trace(this);  // テスト用
};
MyClass.prototype = new MovieClip();
MyClass.prototype.main = function() {
	this._x += 1;
};
MyClass.prototype.onEnterFrame = function() {
	this.main();
};
Object.registerClass("myMovieClip", MyClass);

しかし、もっともスタンダードな設定は、ムービークリップの第1フレームにクラス定義をすることでしょう。
// MovieClip: ムービークリップシンボル識別子"myMovieClip"
// 第1フレームアクション
#initclip
MyClass = function () {
	trace(this);
};
MyClass.prototype = new MovieClip();
MyClass.prototype.main = function() {
	this._x += 1;
};
MyClass.prototype.onEnterFrame = function() {
	this.main();
};
Object.registerClass("myMovieClip", MyClass);
#endinitclip


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

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   classについてお教え下さい karin 2004-2-4 14:20
     Re: classについてお教え下さい Fumio 2004-2-4 14:54
       Re: classについてお教え下さい naoki 2004-2-4 15:05
         Re: classについてお教え下さい karin 2004-2-4 17:57
           Re: classについてお教え下さい Fumio 2004-2-4 18:32
     » Re: classについてお教え下さい Fumio 2004-2-8 6:35

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