- マウスアクションに反応したアニメーション
- ステージにないムービーを作り出す
マウスアクションに反応したアニメーション
アニメーションをFlashに読み込む
- Flashで読み込み▶ライブラリに読み込む
- レイヤーを次に変換:「キーフレーム」にチェック
例題:マウス操作でシェイプを変形
- 1~5フレーム 円形
- 6~10フレーム 矩形に変化
- 10~15フレーム 矩形
- 16~20フレーム 星形に変化
- 25フレーム 円形に戻る
- スクリプト:マウスを重ねると円が矩形に変化
- スクリプト:マウスクリックすると矩形が星型に変化
順序
- labelレイヤーにマウスアクションに応じた、up,over,release,outのラベルを設定する
- メインからgotoAndPlay(“ラベル”)でフレームから再生
- 再生したときアニメーションが途中でとまるようにthis.stopを記述する
- ヒット領域を別に設定しておく
var box: MovieClip;
box.onRollOver = toCirc;
box.onRollOut = toRect;
box.onRelease = toStar;
box.onReleaseOutside = toRect;
function toCirc():Void
{
this.gotoAndPlay("over");
}
function toStar():Void
{
this.gotoAndPlay("release");
}
function toRect():Void
{
this.gotoAndPlay("out");
}
ステージにないムービーを作り出す
シンボルにリンケージを設定
- もとになるムービークリップアニメーションを作り、読み込み 名前:虹
- 「虹」にリンケージを設定
例題:ボタンをクリックすると虹が生成
- ボタンシンボル「attachButton」を作る
- シーン1にスクリプトを追加
var attachButton: Button;
var rainbowCount: Number = 0;
attachButton.onRelease = attachRainbow;
function attachRainbow():Void
{
var rainbowName: String = "rainbow" + rainbowCount;
var rainbow:MovieClip;
rainbow = this._parent.attachMovie("rainbowSym",rainbowName,rainbowCount);
rainbow._x = rainbowCount * 40 + 15;
rainbow._y = rainbowCount * 20 - 18;
rainbowCount++;
}
- MovieClip.attachMovie▶シンボルからインスタンスを作成
- attachMovie(リンケージ識別子, インスタンス名, 深度)
- リンケージ識別子(rainbowSym)のシンボルをもとにしてインスタンスを1つ作成、rainbow0と名前が付けられる
- 深度は大きいほど手前に表示される
- 生成されたムービークリップは、初期(0,0)に配置される
attachMovieで作ったムービークリップを消す