メイン コーダーズルーム【スクリプト系】
マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| 佐々木 | Åê¹ÆNo.27711 投稿日時: 2006-8-7 14:14 |
新米 ![]() ![]() 居住地: 滋賀 投稿: 19
使用環境:
WinXP,Flash professinal8.0 |
マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 現在は、
ムービークリップ上に on (release) { //Goto Webpage Behavior getURL("http://yahoo.co.jp","_self"); //End Behavior } でマウスがクリックしたらWebに飛ぶというものを作っているのですが、カーソルが一定時間動かなかったらWebに飛ぶというものを作るにはどのようなActionScriptを使えば良いのですか? よろしくお願いします。
|
| tnagata | Åê¹ÆNo.27720 投稿日時: 2006-8-7 16:00 |
常連 ![]() ![]() 居住地: 投稿: 140
使用環境:
Flex2, , Flash5OS:Windows 2000 SP4, ,WindowsVistaIE5,6,7 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 簡単に思いつくのは
setInterval()あるいはonEnterFrameで _xmouse, _ymouseを監視するというものでしょうか? 監視の開始タイミングは、どこに持ってくるか?が問題かと 思います。 まずはヒントのレベルで上記のようなメソッドを調べてみては 如何でしょうか? この後は、アルゴリズム的な部分になりますので自身で 考えてみると面白い(人それぞれ感じ方はありますが) と思います。 |
| 佐々木 | Åê¹ÆNo.27734 投稿日時: 2006-8-8 2:35 |
新米 ![]() ![]() 居住地: 滋賀 投稿: 19
使用環境:
WinXP,Flash professinal8.0 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 ご返答ありがとうございます。
さっそくsetInterval()、onEnterFrameを索引で調べてみました。 どちらも、フレームごとに処理を繰り返し行うということは分かりました。しかしサンプルの種類が多く内容の完全理解とまではちょっとという感じです。 監視のタイミングとして_xmouse, _ymouuseがムービークリップの上に来て1秒ほど経ってから認識をはじめたいと思います。 そして、10秒ほど経ってもマウスがそのムービークリップ上にある場合はアクションで決めたWebへ飛ぶというアルゴリズムにしたいと思っています。
|
| ひろゆき | Åê¹ÆNo.27735 投稿日時: 2006-8-8 3:10 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CCSafari 6.1 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 引用:
suto-さんは書きました: setInterval は、フレームごとではないと思うのですが...。 もっと基本的なスクリプトから始めるとか、 setInterval や onEnterFrame を実際に使ってみるとか、 準備をもう少しされた方がよろしいかと思いますが。 _root にムービークリップ(インスタンス名: my_mc) を配置。 「サンプル1」 my_mc のムービークリップアクションに 「サンプル2」 my_mc のムービークリップアクションに 「サンプル3」 _root 第1フレームに ただし、いずれも swfの表示領域内でマウスが動いていない場合には、マウスの動きは検知できません。
|
| 佐々木 | Åê¹ÆNo.27736 投稿日時: 2006-8-8 10:46 |
新米 ![]() ![]() 居住地: 滋賀 投稿: 19
使用環境:
WinXP,Flash professinal8.0 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 回答ありがとうございます。
setInterval()はSWFの再生時に一定の間隔で関数、メソッドを呼び出すものですよね… 勘違いしてました。ご指摘ありがとうございます。 そして、サンプルを拝見させていただきました。 マウスの移動がないときにはTimerがカウントされていく様が分かってきました。 質問なのですが、サンプル2の if (!mouseID) { mouseID = setInterval(this, "jumpURL", 10000); } の部分でif内の!mouseIDがよくわからないのですが、 これはmouseIDではないとき!?ということになるのでしょうか。 それと、追で申し訳ないのですがサンプルのようにTimerをrootのフォーム上に表示する方法をお聞きしたいのですが。
|
| tnagata | Åê¹ÆNo.27737 投稿日時: 2006-8-8 10:48 |
常連 ![]() ![]() 居住地: 投稿: 140
使用環境:
Flex2, , Flash5OS:Windows 2000 SP4, ,WindowsVistaIE5,6,7 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 とりあえず、サンプルを作成してみました。
わざとコメントは省略しました。 まずは、簡単にボタンを押下したときから10秒間マウスが動かなかった場合にtrace()が反応してくれるようになっています。 このままだと、色々不十分がありますので、 ひろゆきさんの、コードと組み合わせると 上手く希望の仕様が出来上がると思います。 もちろん、ひろゆきさんのやり方で十分ですがw |
| Fla4man | Åê¹ÆNo.27738 投稿日時: 2006-8-8 11:12 |
職人 ![]() ![]() 居住地: かまくら 投稿: 517
使用環境:
WinMe,Win2000, Flash4,アズさん,大仏、delphi |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 そのコード(setInterval)だと動かして元の位置に戻っていると「動いていない」になるのでは?
定期間隔チェック路線もコードのしやすさからいいと思いますが その場合はむしろ動かなかった場合(タイムアウトした場合)にclearIntervalになるはず (チェックは有効なので) 逆に「TimeOut」をやる場合は 初期インストール状況では使えないとかでFlash-JP非推奨なんだそうですが アルゴリズム的にはOnMousemove時にsetTimeOutとclearTimeOutをかけるほうがコードがきれいです。(CPU負荷も低い) そう考えると結局マウス移動時にチェックしないといけないので 特に負荷とかきにしないならば onEnterframeか1秒に1回チェックぐらい(適当なインスタンスを利用するとか)の 「FPS系チェック」のほうがコーディングの苦手な人には組みやすいのではと思います。 このスレの話は実用的応用が効く話なので 数パターン確保しておいて損は無いのではないでしょうか。 しかしsetTimeOutとかsetInetrvalの残りタイマーを直接水増しできれば楽なんだけれどもなぁ。とも思ったりして
|
| tnagata | Åê¹ÆNo.27739 投稿日時: 2006-8-8 11:33 |
常連 ![]() ![]() 居住地: 投稿: 140
使用環境:
Flex2, , Flash5OS:Windows 2000 SP4, ,WindowsVistaIE5,6,7 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 全くそのとおりです。
まずはStep1的なサンプルですので、その辺り不十分な個所がしっかり詰め込まれています。(ワハハw) そういった点を考えてもらい、創作してもらえたらな?とかって考えました。 「マウスが動いていない」をどのように組むか? といった部分は、知識的にsetInterval, onEnterFrame,_xmouse,_ymouse等の事を知らなければ出来ないと思いました。(実際は色々手法があると思いますが) ですが、それをどのように組むか?については知恵の部分というのでしょうか。 そういう部分は、(私的ですが)楽しいものなので悩んでもらいたいな?とかって思っちゃいました。 引用:
Fla4manさんのご意見は、うんうんと納得しました。 引用:
なんかは、私もよく考える部分なんでこういう論議は好きですね?。 引用:
あ?このスレを資産的に考えると、そうですね。 とりあえず、質問者の解決を待った後に?とかって思ってますが。 ご指摘ありがとうございました。 |
| ひろゆき | Åê¹ÆNo.27742 投稿日時: 2006-8-8 12:21 |
ちょんまげら ![]() ![]() 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CCSafari 6.1 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 引用:
suto-さんは書きました: [制御]-[ムービープレビュー]で、出力を確認してみてください。 また、ヘルプで、「! 論理否定 (NOT) 演算子」の項目を見てもよいかもしれません。 引用: それと、追で申し訳ないのですがサンプルのようにTimerをrootのフォーム上に表示する方法をお聞きしたいのですが。 「フォーム」というのが何を指すのか、よく分かりませんが、 _root にテキストフィールド(インスタンス名: time_txt) を配置して、 「サンプル2」の場合であれば、 getTimer を使うのであれば、 わざわざ setInterval を用いずに「サンプル1」のままでも いいのではないかという気もします。
|
| 佐々木 | Åê¹ÆNo.27751 投稿日時: 2006-8-9 11:18 |
新米 ![]() ![]() 居住地: 滋賀 投稿: 19
使用環境:
WinXP,Flash professinal8.0 |
Re: マウスポインタが一定時間動かなかったらWebに飛ぶというものをつくりたいのですが、 >tnagataさん
引用: 知識的にsetInterval, onEnterFrame,_xmouse,_ymouse等の事を知らなければ出来ないと思いました。 私はsetIntervalについて全然しらなかったので、それを分かっただけでも少しは知識がついた気がします。 サンプルのScriptはボタンに対応できるやつですよね!今のところムービークリップで作っているのですが、ボタン編も現在作っているので参考にさせていていただきたいと思います。 ありがとうございます。
|
| (1) 2 3 » | |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン






10.8.5
Flash Professional CS4/CS6/CC

