2011-07-12 3 views
0

このような関数にしようとしましたが、うまく動作しませんでした。ムービークリップ:無関係なタイプは、flash.displayにClass型の値の暗黙の強制:1067 - あなたはこの^^関数のvarを書くときに問題が発生する

var test:testMc; 

addMonster(test,testMc); 

public function addMonster($mon:MovieClip,$monMc:MovieClip) 
{$mon= new $monMc(stage, enemy); 
} 

3行目の表情を持つことができます。

行6 - 1180:未定義のメソッド$ monMcを呼び出します。

どうすれば修正できますか?

はあなたの助けをありがとう^^

+0

testMcクラスをインスタンス化します。 – Benny

+0

私は知っているかもしれない...あなたは何をしようとしていますか? – Benny

答えて

2

をあなたはtestMcやラインを宣言したところ、この場合には、私たちが見ることができないので、あなたが、より多くのコードを掲載し、それらのエラーが上にあったどの行を語ってくれたしている必要があります将来的には数字。幸いなことに、このケースでは、問題を一目で確認できるので問題はありません。

実際にオブジェクトがClassの場合、addMonster()の2番目のパラメータは型付きMovieClipです。これが両方のエラーメッセージの原因です。あなたのコードのようなものでなければなりません:

ちなみに
public function addMonster($mon:MovieClip,$monMc:Class) 

あなたは、このようなコードを記述し、なぜ、私は非常に興味があります。私は、これは何らかの種類の工場クラスからの小さなスニペットかもしれないが、一見すると、これはオブジェクトをインスタンス化するかなりうんざりした方法のように見える。

+0

Opsssだからこそ、^^私は関数内で変数を使うのはちょっと新しいので、この基本的な間違いT_Tに巻き込まれました。そして、これらのコードは私のaddMonster関数のほんの一部です。モンスターがリリースされたときにはたくさんのことをしなければならないので、T_Tあなたの助けに感謝します! –

+0

これは、参照変数を渡すのではなく、インスタンス化されたオブジェクトを返すように書かれています。関数呼び出しは "var test:testMc = addMonster(testMc);"となります。私はAS3が参照変数をサポートしていることさえ気付かなかった。なぜなら、Cコード以外の場所での(悪い)練習は見たことがないからだ。 – jhocking

関連する問題