メイン 迷える子羊の部屋【初心者専用】
アクセス演算子とクラスオブジェクト生成について | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| TOMIYASU | Åê¹ÆNo.45553 投稿日時: 2010-8-22 22:41 |
常連 ![]() ![]() 居住地: 投稿: 93
使用環境:
Windows7Pro, CS5Pro |
アクセス演算子とクラスオブジェクト生成について 複数の連番の付いたクラスのインスタンスを生成する必要があり
現在以下のようにしていますが、これをアクセス演算子で更に下のようにすると 「Error #1007: コンストラクタ以外にインスタンス化が試行されました。」というエラーになります。 各クラスのコンストラクタには問題ありませんが、記述に問題があるようですが・・・ クラスのコンストラクタの呼び出し時のアクセス演算子の使いかただと思います。 その点について教えていただきたくお願いいたします。 [OK]--------------------------------- instances_array.push(new myClass1()); instances_array.push(new myClass2()); instances_array.push(new myClass3()); [NG]---------------------------------- for (var i:int = 1; i<=3; i++) { instances_array.push(new ["myClass"+i]()); } =>更にこのインスタンスの配列を別クラスに渡して 以下のような処理する場合、ローカル変数の宣言のvar my_mc:MovieClip;で 参照クラスは個別のmyClass1?myClass3を指定できないので(上記と同様にエラー) とりあえずMovieClipでごまかしている感じなのですが 動作に問題がなければ厳密なクラス名の参照にしなくてもいいものでしょうか? 個別のクラスの独自メソッドにも問題なくアクセスできます。 これら個別のクラスにとってMovieClipはスーパークラスです。 |
| 野中文雄 | Åê¹ÆNo.45554 投稿日時: 2010-8-22 23:22 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: アクセス演算子とクラスオブジェクト生成について 問題は単純化して考えましょう。
参考:「ドット演算子と配列アクセス演算子」「クラスを文字列で参照したい」 データ型をオブジェクトのスーバークラスで指定することは可能です。スーバークラスのプロパティとメソッド以外使わないのであれば問題ありません。 引用: TOMIYASUさんは書きました: |
| TOMIYASU | Åê¹ÆNo.45556 投稿日時: 2010-8-23 0:54 |
常連 ![]() ![]() 居住地: 投稿: 93
使用環境:
Windows7Pro, CS5Pro |
Re: アクセス演算子とクラスオブジェクト生成について 野中様
さっそくありがとうございます。 ["myClass"+i]が配列で、要素もただのStringだし、 New()に使えないというエラーの意味だったのですね。 「クラスを文字列で参照したい」よくわかりました。 クラスを示す文字列を作り、それをもとにクラスを示す変数を作り それからコンストラクタを呼び出すということですね。 データ型指定の件もわかりました。。 ここの過去ログとあわせてHPの方も参考にさせていただきます。 (有名サイトですね、質問前に確認ですね) ありがとうございました。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン


Windows7Pro,
CS5Pro

.6.8 

