メイン コーダーズルーム【スクリプト系】 classについてお教え下さい | 投稿するにはまず登録を |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
karin | Åê¹ÆNo.3519 投稿日時: 2004-2-4 17:57 |
新米 居住地: 投稿: 4
使用環境:
|
Re: classについてお教え下さい 野中さん、なおきさん、ありがとうございました。
見よう見まねでclassを使ってみようと思ってるレベルでしたので 初心者の版に記載してしまいました。 すみません。 野中さんに教えて頂いた通りムービークリップ内に記述した ところうまくいきました。 ただ、今手元にあるFLASHの本には最初私が書いたように書く と書かれてあったので、ちょっと混乱しております。 本には下記のように書かれています。 ■クラスの定義 まずクラスを定義します。 これは_rootの1フレーム目に記述します。 Myclasss = function(){} //[クラス名] = function(){} これは関数を定義するのと同じですが、これでクラスを作成した ことになります。 次に、このクラスをムービークリップと関連付ける前提で 「MovieClip」クラスを継承します。 MyClass.prototype = new MovieClip(); //[クラス名] = function(){} これで「Myclass」で「MovieClip」のメソッドが使えるように なりました。これをしないと「Myclass」でonEnterFrameや onPress等の「MovieClip」のビルドインメソッドが使えません。 ■メソッドの定義 次に「MyClass」に独自のメソッドを定義します。 このクラスが既にムービークリップに関連付けられてると 考えてみてください。 「main」という関数を実行することで、座標が右に1px移動します Myclass.prototype.main = function(){ this.x_ +=1; } 先ほど「MovieClip」クラスを継承しましたので、onEnterFrameが 使えます。そこに独自に定義した関数「main」を入れてみましょ う。 MyClass.prototype.onEnterFrame = function(){ this.main(); } これで、この「MyClass」の関連付けられたムービーは右に進んで いきます。 ■クラスの関連付け 続けて、この「MyClass」をムービークリップに関連付けます。 まず、ムービークリップのリンケージの識別子を「myMovieClip」 にし、「ActionScriptに書き出し」だけにチェックを入れます。 #initclip Object.registerClass("myMovieClip",MyClass); #endinitclip そして、このスクリプトをムービークリップの1フレーム目に記述 します。#initclip?#endinitclipは、このムービークリップが ロードされる直前に、間に記述されたスクリプトを実行するもの です。 ■ムービークリップの配置 最後に、このムービークリップをクラスが定義されているフレー ムより後ろのフレームに配置します。これはクラスが定義される 前にこのムービークリップが読み込まれるとクラスが見つからず 未定義になってしまうからです。 このように書かれてあったので、試しに先ほどの用に作ってみた のですがうまく行きませんでした。ちなみにこの本はMX対応と 書かれております。 これはどう解釈したらよいのでしょうか? 野中様から教えて頂いたのですと、この場合はクラス定義のと 関連付けの順序がいけないと思うのですが、、、。 宜しくお願い致します。 この文章が不適切でしたら、すみませんが削除なさって下さい。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
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 |
投稿するにはまず登録を | |