[AS3] Flash CS5に潜む謎のクラスWorld [Edit]

Flash Professional CS5で、つぎのようにクラスWorldのインスタンスをつくってみます。もちろん、そういう定義済みクラスもなければ、カスタムクラスを定めた訳でもありません。

var test:World = new World();

普通はそのクラスの「型が見つからない」とか「未定義である」といったエラーが起こるはずです。ところが実際には、コンパイルエラー#1136が示されます。

引数の数が正しくありません。正しくは 2 です。

そこで、エラーを確かめながら、取りあえずそれらがなくなるように引数や関数を書き加えたら、つぎのようなフレームアクションになりました。

var test:World = new World(this,this);
function createWorld() {}
function getStepSize(temp) {}
function setStepSize(temp, temp2) {}
trace(test);  // 出力: [object World]  

[ムービープレビュー]を試すと、Worldインスタンスができ上がったことを[出力]で確かめられます。

しかし、Worldクラスが文書化されていないことに加えて、Flash CS4 ProfessionalやFlash Professional CS5.5ではクラスが存在せず、したがってインスタンスもつくれません。CS5で要らないクラスを消し忘れたものと推測されます。

たまたまWorldという名前のクラスを定めたときに重複する可能性があるので、注意しましょう。

* The English version of this article is "Mysterious class World in Flash CS5" in JActionScripters.com.

コメント

この記事にコメントを書く

記事に対するテクニカルな質問はご遠慮ください(利用規約)。

その他の記事