Re: [問題] AS2 我想請問有關滑鼠動作偵測的問題
我開始學的時候已經是AS3了
雖然AS2也有回頭看一點點
但這裡我只說大概的觀念
無論用哪種語言寫
觀念應該都不會差太多的
※ 引述《blackdog630 (歐告)》之銘言:
: 我最近要做一個小遊戲
: 大意就是
: 有一個東西會追著滑鼠跑
: 然後滑鼠要動來動去不要被他抓到
: 萬一真的不小心被抓到了
: 只要在十秒內快速的左右晃動十下以上
: 就可以逃開
: 沒有的話就失敗
: 超過十秒也是失敗
: (這時候的滑鼠沒辦法移動)
: (只可以左右晃動)
: 可是問題來了
: 我要怎麼樣知道說
: 滑鼠在十秒內有左右晃動十下以上
如第一個在推文回答的朋友所說
所謂的左右晃動,通常就是這樣抓X軸的變化
而這裡你還提到,你希望滑鼠游標被抓到時
滑鼠需要失去正常的控制權
這裡我提個可能可以的做法給你參考看看
這是我以前在寫DirectX遊戲時的做法
首先,我將系統提供滑鼠游標隱藏起來
滑鼠,我只抓取他的XY座標資訊
然後游標我改用另外的小貼圖,讓這個貼圖隨著滑鼠游標跑
這樣就可以做到”看起來”還是有滑鼠游標在運作的假象
然後,當你希望滑鼠游標”看起來”失去控制時
就解除滑鼠游標對滑鼠的XY資訊的參考
改用其他方式來改變當時的圖片座標值
接著就是當滑鼠被你說的物件抓到時
因為從頭到尾真實的滑鼠都是隱形狀態的
所以在這個時候,游標假圖片就用程式去做出晃動的感覺
或者甚至換個提示玩家要搖動滑鼠的圖片也可以
這樣玩家就不會感覺滑鼠不見了,而你還是可以正常抓到滑鼠的XY值
也就可以測得有沒有左右搖晃10次了
還有就是,你可以把問題想得再簡單一點點
不要想搖晃10次,先想想搖晃一次是什麼情形?
舉個例子來說:
今天當滑鼠被物件抓到的瞬間,你可以把當時的X值存起來
然後開始去抓MouseMove事件時的滑鼠座標值
接著只要事件中抓到的X值,比存起來的X大,比存起來的X小
各發生了一次,就可以算是左右搖晃一次了@@
方法可能不是最好的@@
僅供參考
如果有其他前輩提供更先進的方法
請省掉我的做法@@
我還算是個新丁 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.133.240
推
12/21 04:20, , 1F
12/21 04:20, 1F
討論串 (同標題文章)