CreateJSのクラスが呼出せなくなる? [Edit]

TweenJSのライブラリをダウンロードして使おうとしたら、Tweenというクラスなどありませんというエラーが出ました(図001)。この問題そのものは、リンクからダウンロードされたファイルのバージョンが誤っていたためのようです。けれど、今後同じ問題が起こる可能性は高いでしょう。

図001■識別子Tweenが見つからないというエラー
FF1207231_001.png

01 名前空間

CreateJS Suiteの今後のクラスには、名前空間createjsが設定されます。つまり、CreateJSのクラスは、原則として名前空間createjsを頭につけないとアクセスできなくなるということです。たとえば、Shapeクラスのインスタンスは、つぎのようにコンストラクタを呼出してつくることになります。

new createjs.Shape()

煩わしく感じるかもしれません。けれど、たとえば他の使いやすいトゥイーンのライブラリが見つかったとき、クラス名がTweenだということは十分にあり得ます。すると、TweenJSのTweenクラスと名前がかぶってしまいます。名前空間があれば、ふたつを分けて扱えるのです。

02 おまじない

とはいえ、名前空間のないこれまでのCreateJS Suiteで書いたスクリプトは、新しいクラスを使うとそのままでは動かなくなります。その場合には、CreateJSのクラスを読込む前に、つぎのscript要素を加えればよいでしょう。

<script>
var createjs = window;
</script>
<script src=CreateJS Suiteのライブラリ></script>

仕様変更の内容や具体的な実装などについて詳しくは「CreateJS Suiteのクラスに名前空間が設定される」をお読みください。

コメント

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

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

その他の記事