zoukankan      html  css  js  c++  java
  • pygame系列_游戏窗口显示策略

    在这篇blog中,我将给出一个demo演示:

    当我们按下键盘的‘f’键的时候,演示的窗口会切换到全屏显示和默认显示两种显示模式

    并且在后台我们可以看到相关的信息输出:

    hongten_pygame

    上面给出了一个简单的例子,当然在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()

    ========================================================

    More reading,and english is important.

    I'm Hongten

     

    大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
    Hongten博客排名在100名以内。粉丝过千。
    Hongten出品,必是精品。

    E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

    ========================================================

  • 相关阅读:
    JavaScript
    LeetCode(17)Letter Combinations of a Phone Number
    LeetCode(96)Unique Binary Search Trees
    LeetCode(16)3Sum Closest
    Python更换pip源,更换conda源
    LeetCode(15)3Sum
    LeetCode(94)Binary Tree Inorder Traversal
    LeetCode(14)Longest Common Prefix
    LeetCode(29)Divide Two Integers
    LeetCode(12)Integer to Roman
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_pygame_display_set_mode.html
Copyright © 2011-2022 走看看