Director多媒体程序前后台切换与分辨率,层级切换

当我们用强制改变用户屏幕设置的办法以达到全屏浏览时,我们应该考虑这样一个问题,当用户浏览其它窗口,使程序处于后台时,是否应还原用户先前的设置,个人认为这种考虑是必要的,否则用户的视觉习惯就会受到冲击。我们为用户考虑得越多,我们的作品也就越走向成熟。
实现这一功能主要依靠两个事件:

on activateApplication//切换到前台
end
on deactivateApplication//切换到后台
end

在两个事件中加入我们想要的操作
on activateApplication//切换到前台
if (FullScreen=FALSE)then//FullScreen是否为全屏状态
changeDisplay()//改屏幕设置为全屏状态
FullScreen=TRUE
the centerStage=TRUE
updatestage
end if
end
on deactivateApplication//切换到后台
if (FullScreen=TRUE) then
recoverDisplay()//还原屏幕设置
FullScreen=FALSE
the centerStage=TRUE
updatestage
end if
end
测试的结果表明,这样做是安全的。但如果你在过渡通道中加入了过渡效果,并且有舞台大小改变时(正如本例),此时发生这两个事件,就会有潜在的不安全的因素存在。这种错误是不确定的,我们无法确定在什么时候会出错(可用alt+tab来回切换试试)。你可放弃其中一者来试一下(删除过渡或不使舞台大小发生变化)。当然你也可以加入一个条件语句来决定什么时候执行,什么时候不执行。
if (FullScreen=FALSE AND ChangeAble)then //ChangeAble 是决定是否改分辨率
changeDisplay()
FullScreen=TRUE
the centerStage=TRUE
updatestage
end if
这样做的好处是在有过渡发生时,可以使ChangeAble=FALSE来屏蔽这两个事件!当过渡结束时使ChangeAble=TRUE再执行事件。这们就绕过了潜在的不安全的因素。
得到的结论就是,多为用户考虑;以实用为主,不可过多花俏。
不知之处,请多多指正!
需ADisplayXtra.x32支持
ADisplayXtra修改屏幕分辩率源码下载

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值