zoukankan      html  css  js  c++  java
  • pygame学习的第一天

    pygame最小开发框架:

    import pygame, sys
    
    pygame.init()
    screen = pygame.display.set_mode((600, 480))
    pygame.display.set_caption("Pygame游戏之旅")
    
    while True:
        for event in pygame.event.get():
            if event == pygame.QUIT:
                sys.exit()
        pygame.display.update()

    pygame壁球小游戏(不可控制版):

    import pygame, sys
    
    pygame.init()
    size = width, height = 600, 400
    speed = [1, 1]
    BLACK = 0, 0, 0
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption("Pygame壁球")
    ball = pygame.image.load("PYG02-ball.jpg")
    ballrect = ball.get_rect()
    fps = 300
    fclock = pygame.time.Clock()
    
    while True:
        for event in pygame.event.get():
            if event == pygame.QUIT:
                sys.exit()
        ballrect = ballrect.move(speed[0], speed[1])
        if ballrect.left < 0 or ballrect.right > 
            speed[0] = -speed[0]
        if ballrect.top < 0 or ballrect.bottom > height:
            speed[1] = -speed[1]
    
        screen.fill(BLACK)
        screen.blit(ball, ballrect)
        fclock.tick(fps)
        pygame.display.update()

    pygame壁球小游戏(键盘控制速度版):

    import pygame, sys
    
    pygame.init()
    size = width, height = 600, 400
    speed = [1, 1]
    BLACK = 0, 0, 0
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption("Pygame壁球")
    ball = pygame.image.load("PYG02-ball.jpg")
    ballrect = ball.get_rect()
    fps = 100
    fclock = pygame.time.Clock()
    
    while True:
        for event in pygame.event.get():
            if event == pygame.QUIT:
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    speed[0] -= 1
                elif event.key == pygame.K_RIGHT:
                    speed[0] += 1
                elif event.key == pygame.K_DOWN:
                    speed[1] += 1
                elif event.key == pygame.K_UP:
                    speed[1] -= 1
    
        ballrect = ballrect.move(speed[0], speed[1])
        if ballrect.left < 0 or ballrect.right > 
            speed[0] = -speed[0]
        if ballrect.top < 0 or ballrect.bottom > height:
            speed[1] = -speed[1]
    
        screen.fill(BLACK)
        screen.blit(ball, ballrect)
        fclock.tick(fps)
        pygame.display.update()

    游戏屏幕的设置:

    pygame.display.set_mode(r = (0, 0), flags = 0)
    r是游戏屏幕的分辨率,采用(width, height)方式输入
    flags用来控制显示类型,可用|组合使用,常用显示标签如下:
    pygame.RESIZABLE    窗口大小可调
    pygame.NOFRAME      窗口没有边界显示
    pygame.FULLSCREEN  窗口全屏显示

    pygame壁球游戏(可调整窗口大小版):

    import pygame, sys
    
    pygame.init()
    vInfo = pygame.display.Info()
    size = width, height = 600, 400
    speed = [1, 1]
    BLACK = 0, 0, 0
    screen = pygame.display.set_mode(size, pygame.RESIZABLE)
    pygame.display.set_caption("Pygame壁球")
    ball = pygame.image.load("PYG02-ball.jpg")
    ballrect = ball.get_rect()
    fps = 100
    fclock = pygame.time.Clock()
    
    while True:
        for event in pygame.event.get():
            if event == pygame.QUIT:
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    speed[0] -= 1
                elif event.key == pygame.K_RIGHT:
                    speed[0] += 1
                elif event.key == pygame.K_DOWN:
                    speed[1] += 1
                elif event.key == pygame.K_UP:
                    speed[1] -= 1
                elif event.key == pygame.K_ESCAPE:
                    sys.exit()
            elif event.type == pygame.VIDEORESIZE:
                size = width, height = event.size[0], event.size[1]
                screen = pygame.display.set_mode(size, pygame.RESIZABLE)
        ballrect = ballrect.move(speed[0], speed[1])
        if ballrect.left < 0 or ballrect.right > 
            speed[0] = -speed[0]
        if ballrect.top < 0 or ballrect.bottom > height:
            speed[1] = -speed[1]
    
        screen.fill(BLACK)
        screen.blit(ball, ballrect)
        fclock.tick(fps)
        pygame.display.update()

    pygame壁纸游戏(全屏版):

    import pygame, sys
    
    pygame.init()
    vInfo = pygame.display.Info()
    size = width, height = vInfo.current_w, vInfo.current_h
    speed = [1, 1]
    BLACK = 0, 0, 0
    screen = pygame.display.set_mode(size, pygame.FULLSCREEN)
    pygame.display.set_caption("Pygame壁球")
    ball = pygame.image.load("PYG02-ball.jpg")
    ballrect = ball.get_rect()
    fps = 100
    fclock = pygame.time.Clock()
    
    while True:
        for event in pygame.event.get():
            if event == pygame.QUIT:
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    speed[0] -= 1
                elif event.key == pygame.K_RIGHT:
                    speed[0] += 1
                elif event.key == pygame.K_DOWN:
                    speed[1] += 1
                elif event.key == pygame.K_UP:
                    speed[1] -= 1
                elif event.key == pygame.K_ESCAPE:
                    sys.exit()
        ballrect = ballrect.move(speed[0], speed[1])
        if ballrect.left < 0 or ballrect.right > 
            speed[0] = -speed[0]
        if ballrect.top < 0 or ballrect.bottom > height:
            speed[1] = -speed[1]
    
        screen.fill(BLACK)
        screen.blit(ball, ballrect)
        fclock.tick(fps)
        pygame.display.update()

    pygame壁球游戏(最小化可暂停版):

    import pygame, sys
    
    pygame.init()
    vInfo = pygame.display.Info()
    size = width, height = 600, 400
    speed = [1, 1]
    BLACK = 0, 0, 0
    screen = pygame.display.set_mode(size, pygame.RESIZABLE)
    pygame.display.set_caption("Pygame壁球")
    ball = pygame.image.load("PYG02-ball.jpg")
    ballrect = ball.get_rect()
    fps = 100
    fclock = pygame.time.Clock()
    
    while True:
        for event in pygame.event.get():
            if event == pygame.QUIT:
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    speed[0] -= 1
                elif event.key == pygame.K_RIGHT:
                    speed[0] += 1
                elif event.key == pygame.K_DOWN:
                    speed[1] += 1
                elif event.key == pygame.K_UP:
                    speed[1] -= 1
                elif event.key == pygame.K_ESCAPE:
                    sys.exit()
            elif event.type == pygame.VIDEORESIZE:
                size = width, height = event.size[0], event.size[1]
                screen = pygame.display.set_mode(size, pygame.RESIZABLE)
        if pygame.display.get_active():
            ballrect = ballrect.move(speed[0], speed[1])
        if ballrect.left < 0 or ballrect.right > 
            speed[0] = -speed[0]
        if ballrect.top < 0 or ballrect.bottom > height:
            speed[1] = -speed[1]
    
        screen.fill(BLACK)
        screen.blit(ball, ballrect)
        fclock.tick(fps)
        pygame.display.update()
  • 相关阅读:
    win10安装Redis
    imemode属性解释
    DataTable导出到Excel
    Oracle中wm_concat函数报错解决方法
    GridView中生成复合表头
    WinXP下无法打开ACCESS解决办法
    提醒功能
    网页常用Javascript
    ASP.NET记录错误日志
    GridView中Js的应用
  • 原文地址:https://www.cnblogs.com/SwiftAC/p/12368806.html
Copyright © 2011-2022 走看看