主题:  做一个类似屏保的程序!!!

草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#12001/7/15 23:02:28
请教一个问题:
1、我想做一个触摸屏软件,当鼠标停止反应10分钟时,自动跳转到自己做的另一个屏保程序,请教怎么做??
2、如何在屏幕上倒计时??

谢谢大家!!



南山东篱摄螂

职务:普通成员
等级:4
金币:10.0
发贴:1840
#22001/7/15 23:54:51
你可以使用 timeout 事件

设 timeoutLength=10*60

把 timeOutMouse 和 timeOutKeyDown 都设为 True
但这只能对鼠标的 MouseDown 和 按键 起作用,对于鼠标停止这就要费些功夫了,不知其它的朋友有什么好办法?



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#32001/7/16 0:08:09
谢谢楼上的兄弟!
我想能不能用时间来看,判断鼠标的位置,然后间隔一秒再看鼠标的新位置如果与先前的位置一样则鼠标没有动计时一秒,当计时到时跳转,当鼠标位置不一样时复位计时器???
你看可不可以如果可以的话怎么编程????



南山东篱摄螂

职务:普通成员
等级:4
金币:10.0
发贴:1840
#42001/7/16 0:26:35
这里会有个效率问题。

还要就是,如果你的影片的帧不是很多,也就是用户在操作时基本上是停止在同一帧内的话,这个是可行的,但如果跨越的帧数很多,并在不同的帧之间跳转的话,这个有点麻烦,不过如果写成 行为Behavior 的话,也不是很难。



精灵

职务:普通成员
等级:1
金币:0.0
发贴:57
#52001/7/16 0:55:02
我想插句话,如果你做的电影是放在触摸屏上用的,那么你根本不用考虑鼠标的移动,因为在触摸屏上不可能只移动而不点击




--------------------------------------------------------------------------------------------------------------------------------------------------------------
精灵工场



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#62001/7/16 0:55:17
唉楼上的兄弟,
这不是跟没说一样?
我就是不太懂深点的LINGO语言才求你的
上面的TIMEOUT语句可以帮我写出具体的东西好不好,
我今天晚上要做出来的,
我不会用TIMEOUT语句
再次谢谢你的回答



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#72001/7/16 0:58:48
触摸屏是的可是我只是想学习一下怎么来用的
以后在其它的地方不是也可以用了吗??



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#82001/7/16 1:00:29
如果有新的办法请QQ我吧,77704582



wangzj

职务:普通成员
等级:1
金币:0.0
发贴:166
#92001/7/16 15:43:02
不知这样是否可行:
首先判断电影是否空闲,如果程序此时没有做任何事情,开始计时,到达计时时间,介入屏保



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#102001/7/16 22:31:20
楼上的兄弟请问怎么来判断电影是否空闲????
谢谢!!!



xiaodong

职务:普通成员
等级:1
金币:0.0
发贴:94
#112001/7/17 11:32:39
on startmovie
timeoutKeyDown=true
timeoutMouse=true
set the timeoutLength to 3*60
end

on exitframe
go the frame
end
on timeout
put "停了3秒 "
end timeout






草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#122001/7/17 12:29:00
谢谢楼上的兄弟,
可是我还是有点不明白为什么是on startmovie ?
而不是 on prepaire frame ?
还有如果显示倒计时怎么做???
我的屏保是要在每个停下来的地方等待用户交互
如果没有响应10分钟,则跳到相应的一个类似屏保的程序里面

再次感谢答复!!!



xiaodong

职务:普通成员
等级:1
金币:0.0
发贴:94
#132001/7/18 9:54:47
我也不知道为什么是startmovie,我很少用prepare frame,兄弟的理论也不太好呀,呵呵。

你是想让客户看到一个倒计时的东东吗?我想好了在....现在有点忙耶。应该用timer就可以吧



大烧卖

职务:普通成员
等级:1
金币:0.0
发贴:73
#142001/7/18 10:41:30
我的实现方法:
以下是一段 Frame Script。

on mousedown me --
starttimer --
end -- 这个部分用来接受
-- 没有被其它精灵处理
on mouseup me -- 过的 Mousedown 和 MouseUp 事件
starttimer --
end --

on exitFrame me
savertime = 10 * 60 * 60 -- 10 分钟
if the timer = savertime then -- 如果当前计时器累计的时间等于 10 分钟
go "ScreenSaver" -- 就跳转到 "ScreenSaver" 区域
else -- 否则
if member("MessageOutput").text<>"空闲:"&string(the timer/60)&"秒。" then -- 这里加
member("MessageOutput").text="空闲:"&string(the timer/60)&"秒。" -- 判断是
end if -- 防闪烁
go the frame -- 原地循环
end if
end

另外,你要注意,在 Frame Script 中对鼠标和键盘事件的处理优先级别比 Sprite Script 低,那么在你循环的帧当中,如果有某些精灵自己有对 MouseDown、MouseUp 之类事件进行处理的脚本,那么也别忘记加上 StartTimer 语句。



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#152001/7/18 12:32:40
感谢小东与大烧卖
我先试试