attachMovieでシンボルを生成する

attachMovieでシンボルを生成する

 次にクリックした時に波紋が現れる動作をスクリプトで設定します。今回は、イベントハンドラメソッドの「onMouseUp」を使います。

 前回まではボタンに対して「onRelease」を行っていましたが、今回は何も無いポイントからインスタンスを生成するので、「マウスボタンを押して離した時」に動作する「onMouseUp」が適任になります。

 まず、「attachMovie」の解説をします。attachMovieはリンゲージ(識別子)名がついたシンボルからインスタンスを動的に生成するメソッドです。
記述方法は以下になります。

attachMovie("リンゲージ名", "新しく生成されるインスタンス名", ムービークリップの深度);

 今回のattachMovieの引数は、リンゲージ名「"bubble"」、新しく生成されるインスタンス名に「"mc"+depth」としました。最後の深度は「depth」です。

 では、深度の解説をします。Flashのムービークリップには、あらかじめ深度というレイヤーが設定されます。この深度の設定でどちらのインスタンスが上にくるかどうかの順番が決まります。通常、手動でタイムラインに設定されたインスタンスは深度-1以下の値が自動的に割り当てられ、今回のように動的に配置されるインスタンスには+1以上の深度が割り当てられます。

 初期値として変数名「depth」に深度0を代入しました。そしてonMouseUpでマウスを離す度に、深度の値が1つずつ増えるように「depth += 1」と記述しています。この記述を行うことで、1回目のクリックで生成した波紋は深度+1、2回目のクリックで生成すると深度+2とインスタンスを上に重ねていくことになります。

 再びattachMovieの引数に戻って、新しく生成されるインスタンス名に「"mc"+depth」としたのは、クリックごとの波紋のインスタンス名を変える必要があるからです。仮にこのインスタンス名を「"mc"」とだけしてしまうと、1回目の波紋が消える前に、2回目のクリックで、インスタンス名が同じになります。この動作では1回目の波紋と、2回目の波紋が同じインスタンスと認識され、1回目の波紋が最大値になる前に消去されてしまいます(リスト6)。

 さらにマウスアップの場所と、波紋の生成場所を一致させる命令文を記述します。

this["mc"+depth]._x = _xmouse;
this["mc"+depth]._y = _ymouse;

attachMovieでインスタンス名をつける際の注意点

 新しく生成されたインスタンス名「"mc"+depth」のX座標に、ユーザーのマウスのX座標を代入します。これでマウスアップの場所と波紋の生成場所が一致しました。

 ここでのポイントは["mc"+depth]です。インスタンス名に文字列や変数名を入れる場合、[ ]で囲みます。この囲まれた部分を、インスタンス名として解釈します。注意点は記述が「this」から続いていますが、[の前に.(ドットシンタックス)がつかないことです。

 今回は、これまで学んだ応用と新しく解説した「if文」、「attachMovie」を組み合わせて、動的(ダイナミック)なムービー作成しました。最終回は、さらにこれまでの応用に、「forループ」というプログラミングの繰り返し処理を組み合わせて、印象的なムービー作成を実践していきます。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30