柔軟に働き方を選ぶ時代に必要なこと >>

クリックして遊ぶムービーを作ったのですが、
操作を何もせず放置して、一定時間(5分)が経過すると、
あるURLに飛ぶように・・・という設定が出来ません。

setIntervalを使用するというところまでは分かったのですが、詳しい設定の仕方が分からず・・・。
どなたかアドバイスお願いします。

使用しているのはFLASH MX 2004で、OSはXPです。

A 回答 (2件)

#1です。



> 画面上をクリックしたりというアクションを、
> 五分間全く起こさない場合、
> あるURLへ飛ぶようにすることは可能でしょうか??

私が勘違いをしておりましたね。
5分間何もしないのに勝手に あるURL にジャンプするのかと思ってしまいました。


結局,
5分間の間,マウスをクリックしたり動かさなければ,
あるURL に飛ぶようにすれば良いわけですから,
マウスを監視しておいて,
マウス操作をするたびに,5分後 あるURL に飛ぶように setInterval をセットし直せば良いと思います。

したがって,
次のようなスクリプトになります。
書く場所は フレーム1 ので良いと思います。


--------------------------------------------
// 5分後にページを去るユーザー定義関数の定義
function leavePage() {
// 以前の setInterval アクションをクリア
clearInterval(nID);
//setInterval アクションを定義して識別IDを変数nIDに設定
nID = setInterval(function () {
// 違うページに飛ぶ
getURL("あるURL");
// 念のため setInterval アクションをクリア
clearInterval(nID);
// 関数の実行間隔を5分(5×60×1000=300000ミリ秒)に指定
}, 300000);
}
// ユーザー定義関数 leavePage の初回実行
leavePage();
//
// ------
// リスナーオブジェクト myListener の作成
var myListener = new Object();
//マウスを離したときの処理を定義
myListener.onMouseUp = function() {
// ユーザー定義関数 leavePage の実行
leavePage();
};
//マウスを動かしたときの処理を定義
myListener.onMouseMove = function() {
// ユーザー定義関数 leavePage の実行
leavePage();
};
//リスナーオブジェクトを登録
Mouse.addListener(myListener);
--------------------------------------------



マウスクラスのメソッドについて,参考になる URL はないものか
少しだけ探してみましたが,
マウスホイール のことに関するものが多く,
あまり良い物がありません。

ヘルプが一番わかりやすいかもしれません。

Flashドキュメンテーション
Mouse > addListener (Mouse.addListener メソッド)
http://livedocs.macromedia.com/flash/8_jp/main/0 …
    • good
    • 0
この回答へのお礼

何度も分かりやすく、丁寧なお答えをありがとうございます!
また、私の書き方が紛らわしかったせいなので、お気になさらないで下さい。

早速教えて頂いたスクリプトを使用したところ、希望通りのものができました。
コピペだけでいけるように、全文書き出して下さってありがとうございます。アクションスクリプトはまだまだ勉強中なので、とても助かりました。
また、参考URLも拝見させて頂きました。これからの制作で参考になりそうです。ご親切に、感謝です(^^)

お礼日時:2007/02/14 16:42

「setInterval Flash」 と検索すると↓,


http://www.google.co.jp/search?hl=ja&q=setInterv …
2番目に出てくるページ↓,
「外部SWFムービー内のfunctionをロード直後に呼出す」
http://www.fumiononaka.com/TechNotes/Flash/FN030 …

このページでわかりませんでしたか?
上記ページのそのページの中ほどに

--------------------------------------------------
//[1]setIntervalアクションを定義して識別IDを変数nIDに設定
nID = setInterval(function () {
//[2]実行する'function'が未定義かどうかを確認
if (_root.my_mc.xTest != undefined) {
//[3]functionを実行
_root.my_mc.xTest();
//[4]ロードを完了したらsetIntervalアクションをクリア
clearInterval(nID);
}
//[5]関数の実行間隔を10ミリ秒に指定
}, 10);
--------------------------------------------------

と詳しく丁寧に書かれていると思いますが。

上のを変形すれば簡単だと思いますよ。

--------------------------------------------------
//setInterval アクションを定義して識別IDを変数nIDに設定
nID = setInterval(function () {
// 違うページに飛ぶ
getURL("違うページのURL");
// 念のため setInterval アクションをクリア
clearInterval(nID);
// 関数の実行間隔を5分(5×60×1000=300000ミリ秒)に指定
}, 300000);
-------------------------------------------------

 ↑
getURL("違うページのURL");
の 「違うページのURL」 を変えてくだされば,
そのままコピペで使用できます。
    • good
    • 0
この回答へのお礼

丁寧な回答をありがとうございます。
早速、ムービーの1フレーム目に空白キーフレームを挿入し、そこに教えて頂いたアクションスクリプトをコピペしました。
丁度5分後に、新しいURLへ飛ぶようにはなったのですが、ムービー内でクリックをしていても、強制的に飛んでしまうようです。
(ちなみに、クリックで先に進むゲームを作っています)
画面上をクリックしたりというアクションを、五分間全く起こさない場合、あるURLへ飛ぶようにすることは可能でしょうか??

私のコピペの設置場所に問題がありましたら、申し訳ありません。(^_^;)

お礼日時:2007/02/14 01:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング