pygame系列_游戏窗口显示策略
在这篇blog中,我将给出一个demo演示:
当我们按下键盘的‘f’键的时候,演示的窗口会切换到全屏显示和默认显示两种显示模式
并且在后台我们可以看到相关的信息输出:

上面给出了一个简单的例子,当然在pygame的官方文档中有对显示策略的更权威的说明:
http://www.pygame.org/docs/ref/display.html#pygame.display.set_mode

'''
pygame.FULLSCREEN create a fullscreen display
pygame.DOUBLEBUF recommended for HWSURFACE or OPENGL
pygame.HWSURFACE hardware accelerated, only in FULLSCREEN
pygame.OPENGL create an opengl renderable display
pygame.RESIZABLE display window should be sizeable
pygame.NOFRAME display window will have no border or controls
'''

==========================================================
代码部分:
==========================================================

1 #pygame fullscreen
2
3 import os, pygame
4 from pygame.locals import *
5 from sys import exit
6
7 '''
8 pygame.display.set_mode():
9 pygame.FULLSCREEN create a fullscreen display
10 pygame.DOUBLEBUF recommended for HWSURFACE or OPENGL
11 pygame.HWSURFACE hardware accelerated, only in FULLSCREEN
12 pygame.OPENGL create an opengl renderable display
13 pygame.RESIZABLE display window should be sizeable
14 pygame.NOFRAME display window will have no border or controls
15 '''
16
17 __author__ = {'name' : 'Hongten',
18 'mail' : 'hongtenzone@foxmail.com',
19 'blog' : 'http://www.cnblogs.com/hongten',
20 'Version' : '1.0'}
21
22 BG_IMAGE = 'bg.png'
23 SCREEN_DEFAULT_SIZE = (500, 500)
24 pygame.init()
25
26 #create the image path
27 bg_path = os.path.join('data', BG_IMAGE)
28 if not os.path.exists(bg_path):
29 print('The BackGround Image does not exist!')
30
31 screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, 0, 32)
32 bg = pygame.image.load(bg_path).convert()
33
34 #full screen flag
35 full_screen = False
36
37 while 1:
38 for event in pygame.event.get():
39 if event.type == QUIT:
40 exit()
41 if event.type == KEYDOWN:
42 #when press the 'f',then change the screen display model
43 if event.key == K_f:
44 full_screen = not full_screen
45 if full_screen:
46 print('Open the Fullscreen model!')
47 else:
48 print('Open the Default model!')
49 if full_screen:
50 #full screen display model
51 screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, FULLSCREEN, 32)
52 else:
53 #default model
54 screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, 0, 32)
55
56 screen.blit(bg, (0, 0))
57 pygame.display.update()

pygame系列_游戏窗口显示策略的更多相关文章
- pygame系列_原创百度随心听音乐播放器_完整版
程序名:PyMusic 解释:pygame+music 之前发布了自己写的小程序:百度随心听音乐播放器的一些效果图 你可以去到这里再次看看效果: pygame系列_百度随心听_完美的UI设计 这个程序 ...
- pygame系列_小球完全弹性碰撞游戏_源码下载
之前做了一个基于python的tkinter的小球完全碰撞游戏: python开发_tkinter_小球完全弹性碰撞游戏_源码下载 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名 ...
- pygame系列_小球完全弹性碰撞游戏
之前做了一个基于python的tkinter的小球完全碰撞游戏: 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名称: 小球完全弹性碰撞游戏规则: 1.游戏初始化的时候,有5个不同 ...
- pygame系列_游戏中的事件
先看一下我做的demo: 当玩家按下键盘上的:上,下,左,右键的时候,后台会打印出玩家所按键的数字值,而图形会随之移动 这是客观上面存在的现象. 那么啥是事件呢? 你叫我做出定义,我不知道,我只能举个 ...
- pygame系列_箭刺Elephant游戏
这个游戏原名为:Chimp,我们可以到: http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html 获取到源码和详细的源码讲解 下面是我对游戏 ...
- pygame系列_箭刺Elephant游戏_源码下载
这个游戏原名为:Chimp,我们可以到: http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html 获取到源码和详细的源码讲解 下面是我对游戏 ...
- pygame系列_弹力球
这是pygame写的弹力球 运行效果: ======================================================== 代码部分: ================= ...
- pygame系列_第一个程序_图片代替鼠标移动
想想现在学校pygame有几个钟了,就写了一个小程序:图片代替鼠标移动 程序的运行效果: 当鼠标移动到窗口内,鼠标不见了,取而代之的是图片..... ========================= ...
- pygame系列_百度随心听_完美的UI设计
这个程序的灵感来自于百度随心听 下面是我的程序截图: 说明: 动作按钮全部是画出来的,没有用到任何图片 用到图片的只有:背景,歌手图片,作者图片 代码正在调试中.... 如果你鼠标移动到黄色小圆里面, ...
随机推荐
- mysql 分区和集群
集群和分区:http://han-zw.iteye.com/blog/1662941http://www.php-note.com/article/detail/794 分区:http://lober ...
- GCC中初始化函数是怎样被处理的?
本文译至: http://gcc.gnu.org/onlinedocs/gccint/Initialization.html 如我们所知,在GCC通过给代码追加__attribute__((const ...
- hdu3072
Intelligence System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- mysql 创建函数 error Code: 1227. Access denied;
mysql> show function status; +------+------------------+----------+------------+----------------- ...
- 关于iptables的u32匹配
前面一篇文章----阐释了iptables最新的bpf match,说它将多个matches并成了一个经过编译的解释型bytecode bpf match,早在bpf match之前,u32 matc ...
- [iOS]简单的APP引导页的实现 (Swift)
在第一次打开APP或者APP更新后通常用引导页来展示产品特性 我们用NSUserDefaults类来判断程序是不是第一次启动或是否更新,在AppDelegate.swift中加入以下代码: func ...
- IE_haslayout_与众多bug的纠缠
haslayout是什么: haslayout是IE的特有属性,就是has(有)layout(布局样式)! 在IE浏览器中,有的元素是默认“has” layout(有布局样式的),而有的元素是没有la ...
- linux时间方面的设置
例如以下一段代码能够借鉴: static void _sleep_response_timeout(modbus_t *ctx) { #ifdef _WIN32 /* usleep doesn't e ...
- Java 建立mysql数据库连接的语句
每次在面试时被问到jdbc的数据路链接过程都卡着,这次不怕了,背会了... 第一个,比较粗糙的 try{ Class.forName("com.mysql.jdbc.Driver&quo ...
- Linux编程return与exit区别
Linux编程return与exit区别 exit 是用来结束一个程序的执行的,而return只是用来从一个函数中返回. return return 表示从被调函数返回到主调函数继续执行,返回时可附 ...