![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
flash8を使用しています。今、作成しているものは
クリックして開けた箱の中にボタンが隠れていて
そのボタンをさらにクリックすると
あるURLが表示される・・・というflashを作成したいのですが、
この箱の中のボタンに対する下記の表記では表示されません。
on (release) {
getURL("http://www.***");
}
ムービークリップ(開く箱)の中の構造は
up・over・release・outでフレームを区切っており、
箱のフタが閉じた状態から開くように設定しています。
ここまでの動作は問題なく出来ているのですが、
中に入れたボタンをクリックしても
表示したいURLが表示されないんです。
ちなみにこの箱のムービークリップに対する
メインタイムラインのスクリプトは・・・
var box:MovieClip;
box.onRollOver = openBox;
box.onRollOut = closeBox;
box.onRelease = breakBox;
box.onReleaseOutside = closeBox;
function openBox():Void
{
this.gotoAndPlay("over");
}
function closeBox():Void
{
this.gotoAndPlay("out");
}
function breakBox():Void
{
this.gotoAndPlay("release");
}
というように指示しています。
試しに、この箱のムービークリップではなく、
フレームで区切ってない単純なムービークリップの中に
ボタンを置いたらURLが表示されるので
このフレーム区切りが反応させない原因なのでしょうか?
何か解決方法はないのでしょうか?
ご教示願います。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
「URLを表示させたい」の意味は,
「URLである http://www.** という文字列をどこかに表示させたい」
という意味ではなくて,
「URLのページにジャンプしたい」 とか 「URLのページを別窓で開きたい」 という意味だったのですね。
今回のご質問でやっと理解ができました。
ムービークリップの中にボタンを入れることではなく,
ムービークリップ自体に onRollOver や onRelease などをセットすることがマズイと思います。
ボタンはムービークリップの中にあるので,ボタンもムービークリップです。
したがって,
ボタンの on (release) よりも,ムービークリップの onRelease などの方が勝ってしまいます。
しかし,ムービークリップのボタン機能の方が勝つからこそ良いのではないでしょうか?
ボタン機能が複数重なった場合,同時に複数のものが色々実行されると普通は困りますよ。
とりあえず,
box.onRollOver = openBox;
box.onRollOut = closeBox;
box.onRelease = breakBox;
box.onReleaseOutside = closeBox;
を消して,
次のようにすると,箱の開閉も動作しますし,
ボタンの on (release) が有効にはたらくと思います↓。
-------------------------------------
// 箱の開閉状態を示すフラグを用意
var opn_flg:Boolean = false;
// マウス監視用オブジェクトの作成
var mListener:Object = new Object();
// マウスが動いた時の動作定義
mListener.onMouseMove = function()
{
// もし箱がマウスとヒットしていれば
if (box.hitTest(_root._xmouse, _root._ymouse, true))
{
// なおかつ 箱の開閉フラグが false であれば
if (!_root.opn_flg)
{
openBox();
// 即 箱の開閉フラグを true にする
_root.opn_flg = true;
}
// もし箱がマウスとヒットしていなければ
} else if (_root.opn_flg)
{
// なおかつ 箱の開閉フラグが true であれば
if (_root.opn_flg)
{
closeBox();
// 即 箱の開閉フラグを false にする
_root.opn_flg = false;
}
}
};
// マウスをアップしたときの動作定義
mListener.onMouseUp = function()
{
// もし箱がマウスとヒットしていれば
if (box.hitTest(_root._xmouse, _root._ymouse, true))
{
breakBox();
}
};
// マウスクラスのリスナーにmListenerを登録
Mouse.addListener(mListener);
// 以下はターゲットパスが変わります(this.box)
function openBox():Void
{
this.box.gotoAndPlay("over");
}
function closeBox():Void
{
this.box.gotoAndPlay("out");
}
function breakBox():Void
{
this.box.gotoAndPlay("release");
}
-------------------------------------
これでボタンの on (release) がはたらくようになると思います。
しかし,
もし箱がゆっくり開く場合,
今度は箱が開く前のボタンが見えないうちに,
ボタンのあるはずの位置をクリックしても,
on (release) がはたらいて,getURL() してしまうと思いますよ。
それで良いのであれば,上のままで良いと思います。
それでダメなのならまた工夫が必要です。
普通は on (release) などのボタン機能が同時にはたらいては不都合なのです。
だから優先順位があるのです。
上のスクリプトでダメなのならまた工夫が必要ですが,
しかし,
スクリプト的に解決するのであれば,
上のようにすることくらいがだいたい限度だと思います。
それ以上は Flash の構造自体をなんとかしなければならないでしょうでしょう。
絵が見えないので,
どういう状況なのかがわかりませんが,
さらに工夫する場合,
私であれば,ボタンの上にマスクレイヤーを用意して
ボタンにマスクをかけると思います。
そして,箱が開いてボタンが見えるのと同じように,
ボタンにかけたマスクを動かすか,マスクは固定でボタンを動かします。
絵が見えないのでなんとも言えませんし,
図画工作的なことをここで回答するのは難しいですから上手く説明はできませんが,
ボタンの on (release) などは,
マスクがかかってボタンが見えた部分のみ有効になります。
「マスクとは?」
http://www.1art.jp/flash/le/lesson9/lesson9-2.htm
あと,常に gotoAndPlay("○○") だと、
箱にマウスをあててすぐにマウスを放したら
開閉の動作がギクシャクしませんか?
何でしたら,
フレームの逆再生で,箱を開閉する手段もあります。
余裕があれば挑戦してみても良いかもしれません。
「ロールアウトで逆戻りするアニメーション」
http://www.fumiononaka.com/TechNotes/Flash/FN030 …
大変分かりやすい、ご回答ありがとうございました!
解決できました!
箱は早く開くようにしているので、問題はありませんでした。
ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- その他(動画サービス) Tver アンケートに回答しても視聴できない(何度もアンケート画面が開く) 1 2023/01/13 21:47
- JavaScript 【Javascript】ボタンクリックで2つのclassに対し、それぞれ別のclassを追加したい 1 2022/07/29 20:52
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの深度で
-
ボタンのカウント数でムービー...
-
即自動計算のスクリプト
-
FLASHで画面の最大化と100%表示...
-
python ボタンを押すと複数の関...
-
テキストボックスの中身をリセ...
-
photoshopで書いた四角の枠の中...
-
'2465'指定した式で参照してい...
-
VBAで改行の入ったデータの正規...
-
C言語でネットワーク範囲のIPア...
-
Simulinkのサブシステムの完全...
-
【ActionScript】コンボボック...
-
VBSでMid関数を使ったらエラー...
-
flash 大きさの異なる写真のス...
-
フォームの生成と破棄
-
五芒星は、悪魔崇拝とどういう...
-
シグナルのマスクについて
-
VBAからPDFのテキストフィールド
-
リッチテキストボックスでの書...
-
テキストの横移動させて表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
arduino プログラムについて
-
マウスオーバーで色が薄くなる...
-
FLASHで画面の最大化と100%表示...
-
FlashからPHPへの変数の渡し方...
-
ボタンと連動したフェードイン...
-
縦のメニューバー作成方法で困...
-
[Start]を押すと始まるFlas...
-
×ボタンを無効化したいのですが...
-
虫眼鏡拡大ムービーの中にボタ...
-
attachMovie後のプロパティ参照
-
ムービークリップの中のボタン...
-
ボタンのカウント数でムービー...
-
2つのムービークリップをスク...
-
ボタンの深度で
-
ボタンをクリックするとフェー...
-
メニューの単語が落ちてきてバ...
-
ムービークリップの中にボタン...
-
メニューボタンを押されたまま...
-
ボタンアクション flash アク...
-
記述の無いアクションが動く??
おすすめ情報