Canvas]ドキュメントは、パブリッシュしたコンテンツがCreateJSを用いてHTML5のCanvasに描画されます。CreateJSなどのJavaScriptコードは、メインタイムラインやムービークリップシンボルのキーフレームに書くことができます。子インスタンスの変数や関数を参照するには、気をつけなければならないことがあります。子インスタンスのプロパティを操作するAnimateのメインタイムラインに置かれたムービークリップインスタンスは、キーフレームに書くスクリプトからインスタンス名で参照できます(図001)。インスタンス名の前に必ずthis参照を添えなければなりません。つぎのフレームアクションは、インスタンスをクリック(mousedownイベント)するたびに、DisplayObject.rotationプロパティに一定(15度)の角度を加えて回します。インスタンスにいちいちthis参照を加えずに済むよう、初めに変数(my_mc)に入れておきました。ムービークリップシンボルに関数を定めるムービークリップインスタンスを回すのは、シンボルの中に定めた関数で行うことにしましょう。ムービークリップシンボルのフレームアクションに、つぎのような関数を加えます。angle;}メインタイムラインのフレームアクションからは、つぎのようにムービークリップインスタンス(my_mc)の関数(rotate())を呼び出します。回す角度の変数(angle)に値も与えました。15;my_mc.rotate();});ところが、インスタンスをクリックしても回りません。ブラウザのコンソールを開くと、つぎのようなエラーが示されます。ムービークリップ(my_mc)の中に関数(rotate())が見当たらないということです。functionAnimateからパブリッシュされたJavaScript(JS)ファイルを開くと、フレームアクションはつぎのようにフレームごとにfunction本体に定められます。変数(angle)も関数(rotate())もローカルの扱いになるということです。そのため、外(メインタイムライン)から参照することはできませんでした。外とのやり取りはインスタンスを介してローカルの変数や関数は、外から参照できません。外とのやり取りはインスタンス(this)を介すればよいのです。外(メインタイムライン)から与えられたプロパティは、this参照すれば取り出せます。変数(angle)について、ムービークリップシンボルのフレームアクションをつぎのように書き替えましょう。ついでに、値がなかった場合のデフォルト値も条件(三項)演算子?:で定めました。フレームアクションは親から子の順に実行されます。15;つぎに関数(rotate())も、つぎのようにthis参照に名前のない関数で与えれば呼び出せるようになります。外から参照しない関数はどのように書きましょう。functionキーワードに名前をつけて定めると、統一がとれません。いって、すべてthis参照に加えれば、要らぬものまで外から呼び出せてしまいます。angle;}筆者は、functionキーワードに名前をつけるかたちで統一しています。外から呼び出す関数は、つぎのように改めてthis参照に加えるようにしました。外から呼び出すことをはっきり示すことにもなります。Canvasドキュメントで子インスタンスに定めた関数を呼出す」を全面的に改訂。