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()
  • 相关阅读:
    11.【nuxt起步】-登录验证
    10.【nuxt起步】-引用mintui
    9.【nuxt起步】-scroll分页加载
    8.【nuxt起步】-vue组件之间数据交互
    7.【nuxt起步】-Nuxt与后端数据交互
    6.【nuxt起步】-完成一个静态的页面
    5.【nuxt起步】-swiper组件
    4.【nuxt起步】-具体练习一个h5实例
    3.【nuxt起步】-下面以一个SPA单页程序为例子
    2.【nuxt起步】-初始化创建nuxt项目
  • 原文地址:https://www.cnblogs.com/SwiftAC/p/12368806.html
Copyright © 2011-2022 走看看