surface和屏幕

surface和屏幕

 

pygame最重要的部分就是surface。我们可以把surface看作是一张白纸。你可以对surface作很多操作,比如在surface上画线、用某种颜色填充surface上的部分区域、把图片拷贝到surface上去,把图片从surface上复制下来、设置或者读取surface上某个点的颜色。一个surface可以是任何大小,一个游戏可以有任意多surface。其中有一个surface是特别的,就是用pygame.display.set_mode()创建的display surface。它代表了屏幕,对它的任何操作会出现在用户的屏幕上。一个游戏只能有一个这样的surface,这是SDL的限制。

 

怎样创建surface?刚才提到,用pygame.display.set_mode()可以创建特殊的display surface。此外,还可以用image.load()创建一个包含图片的surface,还可以用font.render()创建一个包含文字的surface。你甚至可以用Surface()创建一个不包含任何东西的surface。

 

surface的大部分方法都不重要,只要学习其中的blit(), fill(), set_at()和get_at()就够用了。

 

display surface的初始化操作是这样的:

screen = pygame.display.set_mode((1024, 768))
或者 screen = pygame.display.set_mode((1024, 768), pygame.FULLSCREEN) 

 

你可以用set_mode把原来窗口的游戏变成全屏。其它的俄显式模式(可以用|连接)有

  • DOUBLEBUF: 对于平滑的动画所必须
  • OPENGL: 让你可以用PyOpenGL,但是不能用pygame的绘图函数

还有一个可选的depth参数,用来控制颜色显示的深度。一般情况下不用指定这个参数,只要用默认值就可以了。

如果使用DOUBLEBUF,你需要用flip函数来把绘制的内容显示到屏幕上。

>>> pygame.display.flip()
### 如何将 Surface 设备的屏幕连接到外部显示器 #### 方法一:通过 USB-C 接口使用适配器 许多现代 Surface 笔记本(如 Surface Laptop 3 或更新型号)配备了 USB-C 接口。如果设备本身不提供 HDMI 或 DisplayPort 输出,则可以通过购买官方或第三方的 USB-C 转 HDMI/DisplayPort/VGA 的转接头来实现外接显示器的功能[^1]。 配置完成后,还需要检查系统的显示设置是否正确分配了多屏模式。进入 Windows 设置中的“显示”部分,调整扩展桌面或者复制桌面的选项以满足需求。 #### 方法二:解决可能存在的硬件节能干扰 对于某些用户报告的无法正常识别外部显示器的情况,可以尝试以下操作: - 打开设备管理器。 - 展开“通用串行总线控制器”,找到第一个条目并双击它。 - 切换至“电源管理”标签页,取消勾选“允许计算机关闭此设备以节约电源”的选项,并保存更改[^4]。 完成上述步骤之后重启电脑再试一次连接过程看是否有改善效果。 #### 方法三:自定义视频输出控制(高级) 如果是开发者环境下的特殊应用场合,比如需要完全掌控视频流方向时,可考虑利用 Qt 框架创建自定义渲染表面对象实例化 `CustomVideoSurface` 类并与媒体播放组件绑定起来: ```cpp // 创建一个新的 CustomVideoSurface 实例 CustomVideoSurface* videoSurface = new CustomVideoSurface; // 将该 surface 关联至 QMediaPlayer 上作为其视频输出目标 player->setVideoOutput(videoSurface); ``` 以上代码片段展示了一个简单的例子说明如何重定向多媒体内容到特定的目标表面上去呈现而不是默认的标准窗口内[^2]。 另外值得注意的是有关于不同类型的显示屏之间兼容性性能差异的知识点。传统 CRT 显示技术与现今主流 LCD 技术尽管运作机制有所区别但仍保留了许多共同术语概念用于描述画面质量特性等方面的信息[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值