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