Merlin的魔力: 练习完全控制图形显示 - 编程入门网
Merlin的魔力: 练习完全控制图形显示时间:2011-02-02 IBM John Zukowski您是否喜欢让程序搞一些恶作剧,让别人感到不舒服?如果您回答“是”,那么这个月的技巧文章一定对您的胃口。使用 J2SE 1.4,您的 Java 程序现在可以更改视频方式并获得对屏幕的绝对控制。您不必让别人随心所欲地玩电脑;您差不多可以拥有整个控制权。感谢新的全屏幕独占模式(FEM)API 为我们提供了这个无与伦比的强大功能。 即使您回答“不”,不想以惹恼他人来取乐,您也将发现 FEM API 提供了许多帮助。通过直接对显存进行写操作,FEM API 提供了对显示的完全控制 ― 这对于游戏开发来说十分理想,虽然还有许多其它应用。例如,一些程序只有用特定大小的屏幕看上去才更好,并且才能更好地工作。请继续读下去,以发掘您内心有关控制方面的奇思怪想。 更改显示方式 让我们先从研究 FEM API 的 java.awt.DislayMode 类开始,该类包装了特定显示方式的屏幕大小和刷新频率。受支持的方式特定于系统的硬件支持。 要找出特定系统的受支持方式,请查看 GraphicsEnvironment 。通过该环境,您可以获得缺省屏幕设备 GraphicDevice ,通过该屏幕设备可以获得显示方式,如清单 1 所示: 清单 1. 查找显示方式
还可以使用 getDisplayMode() 方法获得当前的显示模式,如清单 2 所示: 清单 2. 获得当前的显示方式
更改方式经证实相对容易些,但必须先利用 GraphicsDevice 的 isDisplayChangeSupported() 方法询问所涉及的图形设备是否支持更改。 一旦知道了这一点,要更改方式,使用 setDisplayMode() 方法,以传入新方式。显示方式更改一般在 try / finally 块中发生,以便于 finally 块将代码复位成初始方式。虽然该过程不是绝对必需的,但它可以确保在程序完成时有一个安全的方式。清单 3 显示了用于更改显示方式的典型模式: 清单 3. 更改方式
Merlin的魔力: 练习完全控制图形显示(2)时间:2011-02-02 IBM John Zukowski使用全屏幕窗口 使用 FEM API,进入全屏幕窗口是轻而易举的:只要将 window 传递给 GraphicsDevice 的 setFullScreenWindow() 方法,如清单 4 所示。当您想要返回非全屏幕方式时,将 null 传递给该方法。当然,先通过使用 isFullScreenSupported() 方法来检查 GraphicsDevice 是否支持全屏幕方式。 清单 4. 进入全屏幕方式
为了说明目前为止您所学的所有内容,清单 5 包含了一个完整示例。清单 5 中的代码获得显示方式,随机选择一个方式进行更改,然后显示一个带有文本“Hello, Worl |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |