やっぱりCLASS定義苦手だ・・・。しかもまだMXでの定義でいっぱいいっぱい。

外部ASファイルにCLASS定義してMCのプロパティの1フレーム目に書き出しに
チェック入れてたらMCの#initclipが先に実行されるからCLASSが未定義になる・・・。
でチェックはずす。

で、またまた外部ASファイルに定義してattachMovie()するMC自体にCLASS定義するなら
1フレーム目にチェック入れると先に#initclipが実行されるしチェックを入れないとそのMCを
スクリプトで生成する前にフレームに配置してとかしないといけない(もっと簡単な方法がある)?

と言うかかなり間違っている気がするけど頭パンク状態で・・・。
なんか根本的に間違っているのか?と言う事でこの考え方は間違っているぽぃし恥ずかしい
けどこれを晒して誰かにもう少し違う良い方法があるか教えて頂きたいです。


Comments

# あんまりウロウロするとアレなので引っ込んでようと思ったのですが
AS1使ってたころは、常に「1フレーム目に書き出し」をチェックしてました。
「classが未定義になる」ですけど、#initclipには何を書いているか、外部ASはどうやって読み込んでいるか、が問題だと思います。

Posted by: key at June 29, 2004 04:53 PM

ウロウロして欲しいですが(w。

そですかkeyさんは常に「1フレーム目に書き出し」をチェックしてましたか。

_rootの1フレーム目に
#include "ButtonClass.as"
と記述。
外部ASなんですが本当に簡単に
ButtonClass = function(){}
obj = ButtonClass.prototype = new MovieClip();
obj.onRollOver=function() {
this.gotoAndPlay("on");
}
obj.onRollOut=obj.onReleaseOutside=function() {
this.gotoAndStop("off");
}
こんな感じにしています。
で、
CLASS定義するMCには
1フレーム目に
#initclip
Object.registerClass("data_mc",ButtonClass);
#endinitclip
と記述しています。

う〜ん、やはりやり方がまずかったですか・・・。
独学なんでイマイチこうアバウトにしか理解
していないからこう言った時にテンパルんです。

Posted by: rakeem at June 29, 2004 05:08 PM

じゃあします。λ... ウロウロ

_rootに何も書かないで、MCにこう書いてはどうでしょうか?
#initclip
#include "ButtonClass.as"
Object.registerClass("data_mc",ButtonClass);
#endinitclip
registerClass前にButtonClassが存在してれば良いので。

registerClassも外部ASに押し込んじゃう手もありますね。さらに、#initclipと#endinitclipを押し込んでも動きます。

Posted by: key at June 29, 2004 06:22 PM

なるほど・・・。
僕の中でかなり固定概念がありました。
registerClassも外部ASに押し込めるんですね、
しかも#initclipとかも(勝手にエラーが出ると思ってたです)。

理解深まりました、ありがとうです!!
registerClassを外部ASに書くと僕的にチョット分かり
にくいので#initclipの後に#includeの方法で
今回はいきます。
ただ1フレーム目に書き出すものが多い場合
ローディング画面が表示されるまでタイムラグが
あるのが痛いですよね・・・。

Posted by: rakeem at June 29, 2004 07:01 PM
Post a comment









Remember personal info?