オブジェクトにクリップイベントを設定する際の落とし穴 | デザインってオモシロイ -MdN Design Interactive-

オブジェクトにクリップイベントを設定する際の落とし穴

2026.4.21 TUE

【サイトリニューアル!】新サイトはこちらMdNについて


Webデザインには、あなたの知らない「落とし穴」がたくさん。大きなものから小さなものまで、それが及ぼす影響はさまざまだ。カンペキだと思っているあなたのサイトも、実はすでに暗い穴の中かも・・・。




オブジェクトにクリップイベントを設定する際の落とし穴


 オブジェクトにクリップイベントを設定する際、どのタイミングで命令を実行させるかを決めることができる。そこで「Load」と「EnterFrame」の違いを理解しておく必要がある。

 「Load」はオブジェクトがロードされたら、命令を実行するというもので、オブジェクトが表示されている間は、設定したクリップイベントは機能しない。あらためて実行させたい場合は、そのオブジェクトをキーフレーム上から消して、再度表示させる必要がある【1】。一方、「EnterFrame」はオブジェクトが表示されている間、ずっとその命令を繰り返し実行するというものだ。

 ここでは、変数を用いた「Load」と「EnterFrame」の記述方法を紹介する【2】。これはこのオブジェクトがロードされたら「hensu」を「0」にする。そして「hensu」が「0」のままだったら何もしない。ボタンアクションなどで、「hensu」に「0」以外のものが入った瞬間、5フレームに移動という単純なもの。

 しかし、「Load」と「EnterFrame」をまちがえて使っていると、いきなり5フレームに飛んだり、ひたすら「hensu」に「0」が入り、それ以外は変わらなくなってしまったりする。




【1】「Load」の実行条件
onClipEvent (load) {
hensu="0";
}
onClipEvent (enterFrame) {
if (hensu==0) {
_root.stop();
} else {
_root.gotoAndPlay(5);
}
【2】「Load」、「EnterFrame」を使った記述例

解説:マルチカ

(※本文中、及びキャプション内で使用している「<」、「>」は、全角になります。ご注意ください。)





twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在