メイン コーダーズルーム【スクリプト系】 ドラッグ中にブラーをかけたい | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
e271828 | Åê¹ÆNo.41032 投稿日時: 2008-12-15 17:09 |
新米 居住地: 投稿: 11
使用環境:
MacOSX,FlashCS3,Flash8 |
Re: ドラッグ中にブラーをかけたい >>あにぃ様
はじめまして。 感動です、とてもシンプルで無駄無くよく動きます! どうもありがとうございます。 XPのIE6、MacOSXのSafariで動作を確認できました。 ただ、今度はMacOSX(Tiger)、FireFox3上で、ドラッグしたまま外に出て離すと帰ってきた時にくっつく現象が起きました。あちらがたてばこちらが立たず、ですね…。みなさま、WindowsのFireFox上では動作は確認できますか? |
あにぃ | Åê¹ÆNo.41027 投稿日時: 2008-12-15 9:27 |
職人 居住地: 北海道 投稿: 250
使用環境:
Flash8 FlashCS3 WinXP FlashLite1.1 / 2.0 |
Re: ドラッグ中にブラーをかけたい あー、なりますねぇ。苦笑
ENTER_FRAME時を以下に変えればOKかと思います。
もしかしてマウスアップしてもマウス動かさないかぎりブラーが消えないかな。。。? MOUSE_UPの中でもブラー消しておいたほうがいいかもです。
|
TJFORD | Åê¹ÆNo.41026 投稿日時: 2008-12-15 2:28 |
半人前 居住地: Tokyo 投稿: 42
使用環境:
:Flash CS3 |
Re: ドラッグ中にブラーをかけたい あにぃさんのスクリプトが良い感じですね。
一点気になるのがMOUSE_MOVEイベントのリスナー関数でブラーをかけるとマウスを動かしてピタッと止めたとき(マウスダウンしたまま)、ブラーがかかったままになってしまうんですよね。 自分はそれが嫌だったので、ENTER_FRAMEでブラーの値を変えてました。 そろそろまとまりそーですね。 |
あにぃ | Åê¹ÆNo.41025 投稿日時: 2008-12-14 23:35 |
職人 居住地: 北海道 投稿: 250
使用環境:
Flash8 FlashCS3 WinXP FlashLite1.1 / 2.0 |
Re: ドラッグ中にブラーをかけたい
joyko さんのソースをちょこっといじってみました。 こんなんではいかがでしょうか?
|
e271828 | Åê¹ÆNo.41022 投稿日時: 2008-12-14 19:52 |
新米 居住地: 投稿: 11
使用環境:
MacOSX,FlashCS3,Flash8 |
Re: ドラッグ中にブラーをかけたい MacOSX(Tiger),FireFox3の環境ではさきほどのコードでバッチリたったのですが、safari、VMware上のIE6で試してみると仰せの通りぶっ飛んでしまいました・・・。MOUSE_LEAVEは環境に依存するようですね???
さて、対象の箇所をjoyko様のコードに差し替えてみたところ・・・safariではぶっ飛び現象は起きないようになりました! IE6でも起きなくなったのですが、ドラッグしたまま外に出て領域外で離して戻ってくるとくっついたままになる現象が起こりました。 ううむ…Flashもいろいろなブラウザで試してみないとですね、勉強になりました。。さて、案が浮かばない…(汗 |
joyko | Åê¹ÆNo.41021 投稿日時: 2008-12-14 19:05 |
常連 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3 Flash CS4 |
Re: ドラッグ中にブラーをかけたい 今回は、私も勉強になりました。
さて、当方のIE6.0で、高速で、ドラッグして、領域外に持っていくと、領域から外れて、戻って来ず、リロードしないと、それきりになるようです。 var bounds:Rectangle=new Rectangle(0,0,mc.stage.stageWidth,mc.stage.stageHeight);//ドラッグ範囲 と mc.startDrag(false,bounds);//どこか接触したなら、ステージ内でドラッグ を加えて、試してみてください。 |
e271828 | Åê¹ÆNo.41020 投稿日時: 2008-12-14 18:16 |
新米 居住地: 投稿: 11
使用環境:
MacOSX,FlashCS3,Flash8 |
Re: ドラッグ中にブラーをかけたい まだ問題は残っていたのですね、ウカウカしてました。
ポケットリファレンスを読んでいたら、FlashPlayerの領域外に出たとき送出されるイベントがあって、以下のコードを追加すると見事画面外までマウスが出ても変な挙動はしなくなりました!(プレビューでなく、パブリッシュしたswfでないとイベントが出ないようです) stage.addEventListener(Event.MOUSE_LEAVE,onLeave); function onLeave(e:Event):void{ //trace("onLeave"); mc.stopDrag(); } また、僕の方では領域外にでない限りは、早く動かしてもマウスは外れない気がします。僕のできる限りの最高速で動かしてみた限りでは。すみませんが、こちらのswfを差し替えましたので触ってみていただけますか? http://d.hatena.ne.jp/dasign/20081214 |
TJFORD | Åê¹ÆNo.41019 投稿日時: 2008-12-14 17:31 |
半人前 居住地: Tokyo 投稿: 42
使用環境:
:Flash CS3 |
Re: ドラッグ中にブラーをかけたい こんにちは。
mouseXとかmouseYはたぶんmc.x、mc.yで問題ないかと思います。 私のスクリプト(e271828さんのスクリプトもそうですが)の問題点はマウスダウン中に画面外に出たときですね。 先ほど私が投稿したスクリプトに下記を追加すると外に出たときに変な動きになるのは避けられるのですが、今度はマウスを早く動かすとmcからマウスが外れるみたいでMOUSE_OUTが発生してしまします。 mc.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); function mouseOutHandler(e:MouseEvent) { flg = false; mc.stopDrag(); } 課題は以下になるでしょうか。 1.マウスをはやく動かしてOK 2.画面外にマウスダウンしたまま出たときもOK ちなみに私はflashはじめて1年ちょっとのペーペーなのでもっと他の賢者の方のスクリプトも見たいです。 どうぞよろしくお願いします。 |
e271828 | Åê¹ÆNo.41017 投稿日時: 2008-12-14 15:12 |
新米 居住地: 投稿: 11
使用環境:
MacOSX,FlashCS3,Flash8 |
Re: ドラッグ中にブラーをかけたい >>TJFORD様
これです! この動き。。 どうもありがとうございます…! 位置取得にmouseX,mouseYですか、なるほどー クリックされたらenterFrameで位置取得とブラー処理。マウスダウン、マウスアップにフラグをつけてアップされたらブラーを弱める、差が1以下になったらブラー消す。という感じでしょうか。間違ってたらご指摘願います! 実は、僕自身もしばらく考えていてつい先ほどこれとは別の解決法を見出していました。基本的アイデアはよく似ていて、クリックされたら時間間隔ごとにブラーを掛けるというものです。 こちらにソースコードと解説を用意いたしましたので、興味の有る方はこちらも見てみてください http://d.hatena.ne.jp/dasign/20081214 面白いですねぇ、プログラミングは面白いとつくづく思います。 どうもお世話になりました。今後ともよろしくお願い致します。 |
joyko | Åê¹ÆNo.41016 投稿日時: 2008-12-14 14:34 |
常連 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3 Flash CS4 |
Re: ドラッグ中にブラーをかけたい TJFORDさん、
停止すると、リリースする前に、見事に、ブラー効果がなくなりました! 私も勉強になりました。 |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |