作者blackdog630 (欧告)
看板Flash
标题Re: [问题] AS2 我想请问有关滑鼠动作侦测的问题
时间Mon Dec 21 15:39:52 2009
※ 引述《devilarise (Devil)》之铭言:
: 我开始学的时候已经是AS3了
: 虽然AS2也有回头看一点点
: 但这里我只说大概的观念
: 无论用哪种语言写
: 观念应该都不会差太多的
: ※ 引述《blackdog630 (欧告)》之铭言:
: : 我最近要做一个小游戏
: : 大意就是
: : 有一个东西会追着滑鼠跑
: : 然後滑鼠要动来动去不要被他抓到
: : 万一真的不小心被抓到了
: : 只要在十秒内快速的左右晃动十下以上
: : 就可以逃开
: : 没有的话就失败
: : 超过十秒也是失败
: : (这时候的滑鼠没办法移动)
: : (只可以左右晃动)
: : 可是问题来了
: : 我要怎麽样知道说
: : 滑鼠在十秒内有左右晃动十下以上
: 如第一个在推文回答的朋友所说
: 所谓的左右晃动,通常就是这样抓X轴的变化
: 而这里你还提到,你希望滑鼠游标被抓到时
: 滑鼠需要失去正常的控制权
: 这里我提个可能可以的做法给你参考看看
: 这是我以前在写DirectX游戏时的做法
: 首先,我将系统提供滑鼠游标隐藏起来
: 滑鼠,我只抓取他的XY座标资讯
: 然後游标我改用另外的小贴图,让这个贴图随着滑鼠游标跑
: 这样就可以做到”看起来”还是有滑鼠游标在运作的假象
: 然後,当你希望滑鼠游标”看起来”失去控制时
: 就解除滑鼠游标对滑鼠的XY资讯的参考
: 改用其他方式来改变当时的图片座标值
: 接着就是当滑鼠被你说的物件抓到时
: 因为从头到尾真实的滑鼠都是隐形状态的
: 所以在这个时候,游标假图片就用程式去做出晃动的感觉
: 或者甚至换个提示玩家要摇动滑鼠的图片也可以
: 这样玩家就不会感觉滑鼠不见了,而你还是可以正常抓到滑鼠的XY值
: 也就可以测得有没有左右摇晃10次了
: 还有就是,你可以把问题想得再简单一点点
: 不要想摇晃10次,先想想摇晃一次是什麽情形?
: 举个例子来说:
: 今天当滑鼠被物件抓到的瞬间,你可以把当时的X值存起来
: 然後开始去抓MouseMove事件时的滑鼠座标值
: 接着只要事件中抓到的X值,比存起来的X大,比存起来的X小
: 各发生了一次,就可以算是左右摇晃一次了@@
: 方法可能不是最好的@@
: 仅供参考
: 如果有其他前辈提供更先进的方法
: 请省掉我的做法@@
: 我还算是个新丁 :)
跟据上面这位大大的想法
我已经想出可以侦测出玩家有没有左右晃的写法了
可是我在写的时候我又发现一个问题
我没办法得知物件有没有「抓」到滑鼠了
因为我对碰撞的写法不怎麽熟悉
除了碰撞之外
还有其他比较好的方法吗?
--
多想两分钟
你可以不必办亚太 = =
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.40.201.168
1F:推 etrexetrex:我记得有一个抓滑鼠的游戏 12/21 18:43
2F:→ etrexetrex:就一个人会去抓游标 被抓到就死了 12/21 18:44