Flash 板


LINE

※ 引述《proust1900 (普魯斯特)》之銘言: : 像這個網站這樣的http://www.glay.co.jp/ : 跟著滑鼠移動 : 也改變其透明度的浮動解釋 : 想了很久 : 希望有人為我解答(⊙o⊙) 先說明我無法做得跟該網頁一模一樣 但是我說說我的看法 若只是要讓說明視窗跟著滑鼠移動 那只要將說明視窗的xy座標在MouseMove的時候跟著_xmouse和_ymouse跑既可 這樣子滑鼠一動 那說明視窗就會跟著滑鼠動 但是該網頁的說明視窗 會在移入選單後 從剛剛滑鼠的軌跡走過來 也就是說明視窗是追著滑鼠跑的 我想他應該是歸功於利用一個Array將滑鼠移動時的座標存起來 並且讓說明視窗的xy座標等於一段時間之前的_xmouse和_ymouse 可是這樣子如果是MouseMove時才存入滑鼠座標到Array中 剛測試好像有一點問題.... 所以我設定OnEnterFrame的時候 就一直存入滑鼠的座標 但又怕這個Array太大 所以我設定他的長度只能是6 若超過6 就移除第0個 因此這一段的程式碼是這樣的 _root.onEnterFrame=function () { //當array的長度等於6時 移除第一個 if(mousetraceX_array.length==6){ mousetraceX_array.shift(); mousetraceY_array.shift(); } //每次EnterFrame時 就把滑鼠的座標存入array中 //又,該網頁的說明視窗離滑鼠還有一點點距離 大概往左5像素 //所以在存入的時候讓x座標往左5像素 mousetraceX_array.push(_root._xmouse-5); mousetraceY_array.push(_root._ymouse); //所以若滑鼠不動的時候 array的6個值都會是一樣的 //每次EnterFrame的時候 //都讓說明視窗(smooth_mc)的xy座標更新為前面紀錄的滑鼠軌跡 smooth_mc._x=mousetraceX_array[0]; smooth_mc._y=mousetraceY_array[0]; 以上就可以讓說明視窗隨著滑鼠的軌跡跑 並且和滑鼠有一段距離 感覺像是視窗追著滑鼠跑 然後接下來是淡入淡出的部份 這裡我們要知道何時淡入淡出 就是當滑鼠移到選單的時候 說明視窗會跟著滑鼠軌跡淡入到現在滑鼠的位置 而當滑鼠移開選單的時候 就會淡出 因此我們必須要先判斷滑鼠是否在說明視窗上 此地我選擇hitTest來做是否碰到滑鼠 因為選單元件不多 不然也可以另外寫個選單的onRollOver事件 重點是要設定兩個變數讓電腦知道"說明視窗要出現怎樣的說明" 以及"滑鼠碰到選單了" 由於我這裡適用巢狀if...else if 所以"說明視窗要出現怎樣的說明"的部份 我就直接讓說明視窗gotoAndStop到相對應的影格 不另外作變數 而"滑鼠碰到選單了" 我就用變數hit去紀錄 接著判斷hit是否為真 若是 讓透明度每次EnterFrame時增加10直到70 hit若為否 讓透明度每次EnterFrame時減少10直到0 //以下判斷個選單是否碰到滑鼠 //若有 則設定hit是true的, //且說明視窗(smooth_mc)gotoAndStop至相對應的影格 if(a1_mc.hitTest(_root._xmouse,_root._ymouse)){ hit=true; smooth_mc.gotoAndStop("content1"); }else if(a2_mc.hitTest(_root._xmouse,_root._ymouse)){ hit=true; smooth_mc.gotoAndStop("content2"); }else if(a3_mc.hitTest(_root._xmouse,_root._ymouse)){ hit=true; smooth_mc.gotoAndStop("content3"); }else if(a4_mc.hitTest(_root._xmouse,_root._ymouse)){ hit=true; smooth_mc.gotoAndStop("content4"); }else if(a5_mc.hitTest(_root._xmouse,_root._ymouse)){ hit=true; smooth_mc.gotoAndStop("content5"); }else if(a6_mc.hitTest(_root._xmouse,_root._ymouse)){ hit=true; smooth_mc.gotoAndStop("content6"); }else{ hit=false; } //若滑鼠有碰到說明選單(hit為真) //那就讓說明視窗的透明度一直增加10直到70 //而若透明度增加10之後會超過70(也就是還沒加10是等於或比60大) //就直接設定其為70 //反之亦然 if(hit){ if(smooth_mc._alpha>=60){ smooth_mc._alpha=70; }else{ smooth_mc._alpha=smooth_mc._alpha+10; } }else{ if(smooth_mc._alpha<=10){ smooth_mc._alpha=0; }else{ smooth_mc._alpha=smooth_mc._alpha-10; } } } 以上就可以有類似該網頁的效果 但是還是有一點點差異 我覺得這樣寫出來說明視窗好像沒有那麼優雅 個人認為該網頁應該不只是讓說明視窗跟著滑鼠跑 還會說在接近滑鼠的時候變慢靠近的速度 這裡可能就要更進一步做說明視窗x y座標的設定了 應該是設定說明視窗的速度 至於怎麼做 我就不是很清楚了 需要時間再想想 以上程式原始檔 http://163.19.207.214/flash/smooth.fla 另外 這個還可以微調的部份 "透明度" 不一定要70 "透明度增減" 不一定要+-10,可以更多或更少 "滑鼠軌跡Array" 不一定只要紀錄6組 還可以更多或更少 "hitTest"的部份 可以用onRollOver代替,這樣要增加選單比較容易修改程式碼 "說明視窗"的各影格 可以透過繪圖和TextField以及XML等方式 做更動態的調整 不用像我這樣子都寫死 但是如果只用一次以後很少修改的話 那用我這樣的方式寫就可以了.... 其他 有想到再補充.... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.0.109
1F:推 proust1900:大感激 01/14 21:00
2F:推 jonathanmeow:啊那有解決你的疑惑嗎? 01/14 21:41
3F:推 proust1900:我在理解中OTZ 01/15 00:07
4F:推 amosa:use class: Tween() . 01/15 14:40







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP