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‘ : ‘[email protected]‘,
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()

时间: 2024-08-06 20:06:59

pygame系列_游戏窗口显示策略的相关文章

pygame系列_小球完全弹性碰撞游戏

之前做了一个基于python的tkinter的小球完全碰撞游戏: 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名称: 小球完全弹性碰撞游戏规则: 1.游戏初始化的时候,有5个不同颜色的小球进行碰撞 2.玩家可以通过在窗口中单击鼠标左键进行增加小球个数 3.玩家可以通过在窗口中单击鼠标右键进行删减小球个数 4.玩家可以通过键盘的方向键:上,右键进行对小球加速 5.玩家可以通过键盘的方向键:下,左键进行对小球减速 6.玩家可以按键盘:f键实现全屏显示 7.玩家可以按键盘:Esc

pygame系列_游戏中的事件

先看一下我做的demo: 当玩家按下键盘上的:上,下,左,右键的时候,后台会打印出玩家所按键的数字值,而图形会随之移动 这是客观上面存在的现象. 那么啥是事件呢? 你叫我做出定义,我不知道,我只能举个例子说明,例如接下来的代码中,列出来一些关于游戏中的事件 ''' 事件 产生途径 参数 QUIT 用户按下关闭按钮 none ATIVEEVENT Pygame被激活或者隐藏 gain, state KEYDOWN 键盘被按下 unicode, key, mod KEYUP 键盘被放开 key, m

pygame系列_箭刺Elephant游戏

这个游戏原名为:Chimp,我们可以到: http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html 获取到源码和详细的源码讲解 下面是我对游戏的改编: 运行效果: 当箭刺到大象的时候,大象的身体就会翻转,并且发出声音,当然没有刺到的时候,也会发出另外的声音. 在游戏中,有很多地方值得我们参考,如加载图片,声音和异常处理等 ========================================= 代码部分: ===========

【安卓中的缓存策略系列】安卓缓存策略之磁盘缓存DiskLruCache

安卓中的缓存包括两种情况即内存缓存与磁盘缓存,其中内存缓存主要是使用LruCache这个类,其中内存缓存我在[安卓中的缓存策略系列]安卓缓存策略之内存缓存LruCache中已经进行过详细讲解,如看官还没看过此博客,建议看官先去看一下. 我们知道LruCache可以让我们快速的从内存中获取用户最近使用过的Bitmap,但是我们无法保证最近访问过的Bitmap都能够保存在缓存中,像类似GridView等需要大量数据填充的控件很容易就会用完整个内存缓存.另外,我们的应用可能会被类似打电话等行为而暂停导

【安卓中的缓存策略系列】安卓缓存策略之综合应用ImageLoader实现照片墙的效果

在前面的[安卓缓存策略系列]安卓缓存之内存缓存LruCache和[安卓缓存策略系列]安卓缓存策略之磁盘缓存DiskLruCache这两篇博客中已经将安卓中的缓存策略的理论知识进行过详细讲解,还没看过这两篇博客的看官建议先去看一下,本博客将依据这些理论知识打造一个ImageLoader,实现照片墙的效果,关于照片墙的知识网上相关博客也很多,首先解释一下照片墙的概念:用一个GridView控件当作"墙",然后随着GridView的滚动将一张张照片贴在"墙"上,很显然因为

Valentino发布2013秋冬高级定制系列_菁华时尚生活,时尚生活电子杂志,Fine Born China

Valentino发布2013秋冬高级定制系列_菁华时尚生活,时尚生活电子杂志,Fine Born China alentino发布2013秋冬高级定制系列 编辑: Mavis 图源于网络 图源于网络       发表时间:2013-07-09 09:28 具传奇色彩的时装大师 Valentino Garavani 于1959年创立了Valentino(华伦天奴),其后不断扩大业务,目前在 70 多个国家设有逾 1,250 个销售点,其中 66 家由公司直接管理经营.Valentino(华伦天奴

CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料_WeArTrends时尚资讯网_国内最专业的服装设计资讯网站

CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料_WeArTrends时尚资讯网_国内最专业的服装设计资讯网站 CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料

.Net常用技巧_隐藏/显示DataGridView的行/等待框(转)

//當主表選擇行更改後,顯示相應的採購資料 private void dgvMain_SelectionChanged(object sender, EventArgs e) { if (this.dgvMain.SelectedRows.Count > 0 && this.dgvItem.DataSource != null && this.dgvItem.Rows.Count > 0) { string fMaterielCode = this.dgvMai

据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sharding的基本思想和切分策略 第一部分:实施策略 图1.数据库分库分表(sharding)实施策略图解(点击查看大图) 1.准备阶段 对 数据库进行分库分表(Sharding化)前,需要开发人员充分了解