返回列表 回复 发帖

发一个AS2.0下检测鼠标是否移出舞台的类,附样例

AS2.0的Mouse类太简单了,居然没法判断鼠标是否在舞台上,使得“当鼠标移出游戏时,让游戏暂停”这样的美好想法付之东流。
需求就是上帝,没有条件创造条件也要上,于是有了这个MouseCheck类,使用方法非常简单,只需两步。
第一步:初始化
MouseCheck.init(frame_speed,out_function,in_function)
其中frame_speed是flash的帧速率,out_function是当鼠标移出场景时需要执行的函数,in_function是当鼠标移入场景时需要执行的函数。
第二步:开始检测
MouseCheck.startListen()
当你需要停止检测时,只需要写一句代码:
MouseCheck.clearListen()
经检测,当鼠标位于舞台的边缘,然后以很快速度拖出去时,该类没法做出正确反应,其它情况下均能正常工作。
有兴趣的朋友可以继续加工,弥补这一缺陷。

另外:似乎AS3.0已经能检测鼠标的出入了,可一直没学,所以用AS3的朋友表笑我。

[[i] 本帖最后由 chenlangeer 于 2007-3-29 10:54 编辑 [/i]]

MouseCheck.as (2.31 KB)

MouseCheckTest.fla (67 KB)

MouseCheckTest.swf (7.65 KB)

哦,其实我一直想要一种功能就是鼠标归位功能.就是把鼠标定位到某一点.

楼主有心的话查查怎么实现.

若能成的话3D游戏的操作问题就解决了.

回复 #2 boom1979010 的帖子

要重新定位鼠标,flash本身是不可能的。但可以借助SWF Studio 3.0(支持flash8),发布成exe文件。
直接在flash时间轴上改写代码:
ssCore.init();
function mouseMoveOutScreen() {
        ssCore.Mouse.setPosition({x:Stage.width/2, y:Stage.height/2, system:"flash"});
}
输出swf后,再用SWF STUDIO发布成exe文件就行了。

这么好用的东西,居然一直找不到注册码,郁闷啊,那位兄弟有的话一定要分享一下。
THX,不过FLASH里不能直接用就太可惜了,这使得制作类似DOOM,CS之类游戏成为不可能.
哦,我毕竟不能逼迫每个用户都去下载个EXE文件来玩.
FLASH的网络便捷优势没得到发挥,那么用户还不如直接去玩DOOM或CS呢,画面更好更流畅.
收藏, thx
很有用的东西!支持一下!:lol
http://blog.zhu08.cn
支持,就素强人
更新了类文件,顶一下。
返回列表