ボタンを押して何かをするスクリプト
ボタンを押して何かをさせるには、
ボタンとなる部品と、ボタンとなるスクリプトを追加して作ります。
ここではサンプルとして、ボタンを追加して「シンボル名(btnA)、インスタンス名(btn1)」、フレーム1にフレームスクリプトを記述します。
JavaScriptは、フレームスクリプトの「/* js 〜 */」に書く。
Toolkit for CreateJSでは、HTML5書き出しをするとActionScriptは削除されてしまいます。
ですが、「/* js 〜 */」というコメントの中にJavaScriptを書いておくと、そのフレームが再生されるときにそのJavaScriptが実行されるのです。
つまり、フレームスクリプトにActionScriptと同じことをするJavaScriptを書くことで、同じプログラムを書くことができるのです。
ただし、ActionScriptとCreateJSの違いがあるため、少し書き方が違うところもありますので、少し注意が必要です。
jsでメインのタイムラインを止めるには
this.stop();
jsでボタンを押したらメインのタイムラインを再生するには
this.btn1.onClick = function(e) { this.parent.gotoAndPlay(1); }
- jsでは、thisは必ずつけます。ActionScriptで必要ではありませんでしたが、どちらもthis.stop();のようにつけておくと、うっかりつけ忘れることが少なくなります。
- thisは、メインタイムラインのフレーム内では、ActionScriptもCreateJSもメインのタイムラインのことを差します。
- 「ボタンを押して何かをするとき」は、ActionScriptは「this.btn1.AddEventListener」を使いますが、CreateJSでは「this.btn1.onClick = function(){ }」を使って指定します。
- thisは、ボタンを押して何かをするときの関数の中では、ActionScriptはメインのタイムラインを差しますが、CreateJSでは「ボタンの中」を差します。ですから、「ボタンを押してメインのタイムラインを動かす」ときは、その1つ上を指す「this.parent」を使います。
- フレーム番号は、ActionScriptでは1フレーム目から始まりますが、CreateJSでは0フレーム目からはじまります。ですのでJSで指定するときは1つ少ない数で指定します。
フレーム1に書くフレームスクリプト
htmlファイルでは、canvas要素でFlashのステージを用意
htmlファイルは、ステージの用意なので、その2と同じです。
自動で書き出されるhtmlファイル
jsファイルでは、Flashで作ったライブラリパーツの準備と、ステージ上への配置と、フレームスクリプト
Flashのフレームスクリプトの「/* js 〜 */」というコメントの中に書いたプログラムは、ここに書き出されます。
「this.frame_0 = function」というのは、Flashの1フレーム目で実行されるときのプログラムということを表しています。
自動で書き出されるjsファイル