主题:  修改分辨率遇到的问题

天堂

职务:普通成员
等级:1
金币:0.0
发贴:49
#12005/7/25 13:56:08
用ADisplayXtra.x32在98/me下 修改分辨率就有错误,可是在2000/xp下就没问题可是在98/me下修改分辨率就有错误了,能帮忙改改吧!!
代码如下:
on mouseUp me
cursor 0
puppetSound 3,"an 01"
if aGetDisplayMode()[1] <> 800 and aGetDisplayMode()[2] <> 600 then
aChangeDisplayModePlus(800,600,currentScreenSeting[3],currentScreenSeting[4],0)
sprite(8).member = member ("xiao-2")
the centerstage = true
else
aChangeDisplayModePlus(currentScreenSeting[1],currentScreenSeting[2],currentScreenSeting[3],currentScreenSeting[4],0)
sprite(8).member = member ("xiao-1")
the centerstage = true
end if
end



ebridge2001

职务:普通成员
等级:1
金币:0.0
发贴:78
#22005/7/25 16:32:56
可以检查下插件是否支持 98/me



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#32005/7/26 9:29:53
最好是使用BUDAPI来设置分辨率



天堂

职务:普通成员
等级:1
金币:0.0
发贴:49
#42005/7/27 10:40:20
BUDAPI我不会用,能教教我吗?



草原风

职务:版主
等级:5
金币:13.0
发贴:3489
#52005/7/29 14:28:57
SetDisplay
设置显示模式

描述:    baSetDisplay函数设置屏幕分辨率和色深.

用法:    Result = baSetDisplay( Width , Height , Depth , Mode , Force )

变量:    整数, 整数, 整数, 字符串, 整数.
Width是以像素为单位的屏幕宽度.
    Height是以像素为单位的屏幕高度.
    Depth是以位为单位的屏幕色深.
    Mode设定显示的方式. 可以是:

"temp"    暂时改变.
    "perm"    长期改变.
    "test"    测试能否不重启而改变显示设置.

如果Force为, 强迫改变设置.

返回值:    整数.
    返回0,如果设置成功,或者能不重启而改变显示设置.
    返回 1 ,如果必须重启才能改变显示设置.
    返回值小于0, 如果是其它错误, 比如分辨率无效.
    
示例:    Director:
    set OK = baSetDisplay( 640 , 480 , 8 , "temp" , false )

    Authorware:
    OK := baSetDisplay( 640 , 480 , 8 , "temp" , false )

注意:    此函数在Windows 3.1下无效 -永远返回0.
    不是所有显卡或驱动程序都支持直接改变显示设置(不需重启)?
    force并不被Microsoft支持,? 他强迫不重启而设置. 这对于某些显卡和驱动有效, 但对于其他将会导致调色板问题, 甚至有些会死机.建议在测试后在使用此选项.

    如果用"temp"模式, 那么用户原先的显示设置将会在重启后还原.,如果不支持直接改变分辨率(不需重启), 你将不能使用"temp"模式.

    "temp"模式时,你应确保用户不会切换至任务栏或桌面. 因为当使用"temp"模式时, Windows也许会将桌面图标和任务栏放在不恰当的位置上.

参见:    baSetDisplayEx
    baScreenInfo



hanshan

职务:普通成员
等级:1
金币:0.0
发贴:85
#62005/7/31 20:33:18
BUDAPI 最好的了.

大家支持!



精灵

职务:普通成员
等级:1
金币:0.0
发贴:57
#72005/8/5 21:18:12
最好用BUDAPI