python pygame入门教程

一、安装

在 cmd 命令中输入: pip install pygame

即可安装成功了

二、第一个代码实例

代码快里面有注释,想必大家都可以看懂的。

import pygame
import sys
import pygame.locals

pygame.init()
# 初始化

screen = pygame.display.set_mode((500, 600))
# 设置屏幕的大小

pygame.display.set_caption("First Demo")
# 设置屏幕的名称

Seashell = 255, 245, 238
# 设置 RGB 颜色

NavyBlue = 0, 0, 128
# 设置 RGB 颜色

while True:
    for event in pygame.event.get():
        if event.type == pygame.locals.QUIT or event.type == pygame.locals.KEYDOWN:
            # 如果点击关闭按钮,或者按下任意键,那么退出程序
            sys.exit()
        else:
            pass
    screen.fill(Seashell)
    position = (250, 300)
    pygame.draw.circle(screen, color=NavyBlue, center=position, radius=100,  width=50)
    pygame.display.update()

运行结果

这个实例只需要强调一下的是:

1、QUIT表示按下关闭的按钮,KEYDOWN是按下任意一个按键,这两个都是pygame内部自己定义好的常量。

2、颜色可以用RGB进行表示

三、绘制一个矩形框

import pygame
import pygame.locals
import sys

pygame.init()
screen = pygame.display.set_mode((600, 500))
pygame.display.set_caption("Drawing Rectangles")
# 设置名称
Blue = 0, 0, 255
Purple = 160, 32, 240
while True:
    for event in pygame.event.get():
        if event.type == pygame.locals.QUIT or event.type == pygame.locals.KEYDOWN:
            # 还是如果说点击了关闭的按键,或者是按下了任意键,那么就可以关闭程序了
            sys.exit()
    pos = (300, 250, 100, 100)
    # 这里的 pos 不仅设置了位置,而且设置了长度以及宽度
    screen.fill(Purple)
    pygame.draw.rect(screen, Blue, pos, width=10)
    # width 是线条的宽度,screen 表示指定使用哪一个屏幕进行显示
    pygame.display.update()

代码运行的结果;

四、绘制矩形框的进阶版本

import pygame
import pygame.locals
import sys
import time

pygame.init()
screen = pygame.display.set_mode((600, 500))
pygame.display.set_caption("Drawing Moving Rectangle")

color1 = 139, 0, 139
color2 = 104, 131, 139

px = 200
py = 300
# 初始化的位置应该放在外面,否则会一直在一个地方绘制图形了

vx = 10
vy = 20
# 初始化速度也应该放在外面,否则会一直以恒定的速度运动

while True:
    for event in pygame.event.get():
        if event.type in (pygame.locals.QUIT, pygame.locals.KEYDOWN):
            # 如果是按下了任意键或者是点击了关闭按钮,那么退出程序
            sys.exit()

    # vx = 10
    # vy = 20

    # px = 200
    # py = 300

    px += vx
    py += vy
    if px <= 0 or px + 100 >= 600:
        vx = - vx
    # else:
    #     px += vx

    if py <= 0 or py + 100 >= 500:
        vy = - vy
    # else:
    #     py += vy

    screen.fill(color1)

    pygame.draw.rect(screen, color2, (px, py, 100, 100))

    time.sleep(0.2)

    pygame.display.update()

五、绘制一条直线

# 绘制线条

import pygame
import pygame.locals
import sys
import time

color1 = 0, 80, 0

color2 = 100, 255, 200

pygame.init()
# 初始化

screen = pygame.display.set_mode((600, 500))
# 设置显示屏幕

pygame.display.set_caption("Drawing Lines")
# 设置显示框的标题的名称

while True:
    for event in pygame.event.get():
        if event.type == pygame.locals.QUIT or event.type == pygame.locals.KEYDOWN:
            sys.exit()
            # 与前面一样,如果说按下任意键或者是按下关闭的按钮,那么我们就退出程序

    screen.fill(color1)

    pygame.draw.line(screen, color2, (150, 150), (450, 450), width=10)

    pygame.display.update()

运行代码的结果展示;

在这里,我们再一次详细地介绍一下line里面的各个参数的意义:

    pygame.draw.line(screen, color2, (150, 150), (450, 450), width=10)

1、第一个参数 : 设置用于显示的屏幕是谁

2、第二个参数 : 设置直线段的颜色

3、第三个阐述 : 设置起点,也就是开始的位置

4、第四个参数 : 设置终点,也就是停止的位置

5、第五个参数 : 设置线条的宽度或者说是粗细的程度

最后再说一句,别忘记了加上一个

pygame.display.update()

用来更新画面

六、绘制一条弧线

首先,我们绘制一个圆的一部分,也就是真正的圆弧形:

import math
import pygame
import pygame.locals
import sys
import time

color1 = 144, 238, 144
color2 = 0, 0, 139

pygame.init()
pygame.display.set_caption("Drawing Arcs")
screen = pygame.display.set_mode((600, 500))

while True:
    for event in pygame.event.get():
        if event.type in (pygame.locals.QUIT, pygame.locals.KEYDOWN):
            sys.exit()

    screen.fill(color1)

    ang1 = math.radians(45)
    # 设置起始角位置
    ang2 = math.radians(315)
    # 设置结束的角位置

    # 设置矩形框
    """
    元组中;
    第一个参数,矩形框的左上角的横坐标
    第二个参数,矩形框的右上角的纵坐标
    第三个参数,矩形框的长度
    即就是:相对于 x 轴平行的方向的长度
    第四个参数,矩形框的宽度
    即就是:相对于 y 轴平行的方向的长度

    另外,如果矩形框的长度和宽度不相等的话,绘制出来的弧线不是圆的一部分,
    而是椭圆的一部分
    """
    rect1 = 100, 50, 400, 400
    # 第一个矩形框----画园的一部分
    rect2 = 200, 200, 200, 100
    # 第二个矩形框----画椭园的一部分

    pygame.draw.arc(screen, color2, rect1, ang1, ang2, width=10)
    # 参数的含义解释
    """
    第一个参数:屏幕
    第二个参数:颜色
    第三个参数:开始的角度
    第四个参数:结束的角度
    第五个参数:线条的宽度
    """

    pygame.display.update()

接下来,我们绘制一个椭圆形的一部分:

正如前一个实例中的注释所说,如果说:这个矩形框的长度和宽度不是相等的,那么,使用这个方法就是会绘制一个放 缩以后的椭圆形。

此处仅仅是吧上一个实例中的 rect1 换用为了 rect2 ,其他部分没有任何的变化;

import math
import pygame
import pygame.locals
import sys
import time

color1 = 144, 238, 144
color2 = 0, 0, 139

pygame.init()
pygame.display.set_caption("Drawing Arcs")
screen = pygame.display.set_mode((600, 500))

while True:
    for event in pygame.event.get():
        if event.type in (pygame.locals.QUIT, pygame.locals.KEYDOWN):
            sys.exit()

    screen.fill(color1)

    ang1 = math.radians(45)
    # 设置起始角位置
    ang2 = math.radians(315)
    # 设置结束的角位置

    # 设置矩形框
    """
    元组中;
    第一个参数,矩形框的左上角的横坐标
    第二个参数,矩形框的右上角的纵坐标
    第三个参数,矩形框的长度
    即就是:相对于 x 轴平行的方向的长度
    第四个参数,矩形框的宽度
    即就是:相对于 y 轴平行的方向的长度

    另外,如果矩形框的长度和宽度不相等的话,绘制出来的弧线不是圆的一部分,
    而是椭圆的一部分
    """
    rect1 = 100, 50, 400, 400
    # 第一个矩形框----画园的一部分
    rect2 = 200, 200, 200, 100
    # 第二个矩形框----画椭园的一部分

    pygame.draw.arc(screen, color2, rect2, ang1, ang2, width=10)
    # 参数的含义解释
    """
    第一个参数:屏幕
    第二个参数:颜色
    第三个参数:开始的角度
    第四个参数:结束的角度
    第五个参数:线条的宽度
    """

    pygame.display.update()

运行代码的结果如下图所示;

我们可以看到,这里确实是把竖直方向的宽度进行了压缩,使得原本的那个圆形变为了一个椭圆,同时,我们也把圆弧形,变为了一个椭圆弧形。

综上,以上就是我的第一份笔记,后续会进行更新的啦,这是第一份,后续有多少还没想好,但总之会持续更新,直到我把pygame学习完毕。后续还会去看看有没有机会学习页游,手游等游戏得制作,加油!

以上就是python pygame入门教程的详细内容,更多关于python pygame入门的资料请关注我们其它相关文章!

(0)

相关推荐

  • python pygame 愤怒的小鸟游戏示例代码

    小鸟(image) 游戏展示 代码展示 import pygame,sys pygame.init()#初始化操作 #保存窗口大小 width,height=600,400 screen=pygame.display.set_mode([width,height])#创建游戏窗口 #设置窗口标题 pygame.display.set_caption("愤怒的小鸟") #加载小鸟素材 player=pygame.image.load("xiaoniao.png") #

  • Python使用Pygame绘制时钟

    本文实例为大家分享了Python使用Pygame绘制时钟的具体代码,供大家参考,具体内容如下 前提条件: 需要安装pygame 功能: 1.初始化界面显示一个时钟界面 2.根据当前的时间实现时针.分针.秒针的移动 import pygame, sys, random, math from datetime import datetime from pygame.locals import * def print_text(font, x, y, text, color=(255, 255, 25

  • Python3.9.0 a1安装pygame出错解决全过程(小结)

    本文主要介绍了Python3.9.0a1安装pygame出错解决全过程,分享给大家,具体如下: 解决方法 先说一下经验教训:pygame最后终于安装成功了,但由于操作了一下午和一晚上的时间,查询了许多网页,操作了许多条命令,无法追溯到底是哪一步操作起关键性的作用.后来我推测是因为没有安装visual C++2014的缘故. 先把我推测的解决方法亮出来,后面再附上我出错的详细流程,希望跟我面临同样错误的人可以减少试错的次数. 1.python环境 操作系统:Win10,64位操作系统. pytho

  • python 基于pygame实现俄罗斯方块

    一.简单说明 80.90后的小伙伴都玩过"俄罗斯方块",那种"叱咤风云"场景 偶尔闪现在脑海 真的是太爽了:如果没有来得及玩过的同学,这次可以真正的自己做一个了 本实例用的是Python3(当然了Python3.5 3.6 3.7....都行 )+ pygame实现的 运行之前需要安装pygame模块,安装命令如下 pip install pygame -i https://mirrors.aliyun.com/pypi/simple/ 二.运行效果 三.完整代码

  • Python趣味挑战之pygame实现无敌好看的百叶窗动态效果

    一.案例知识点概述 (一)使用到的python库 使用pygame库.random库和os.sys等系统库. 其中: pygame库实现主体功能,提供窗口界面显示.动态效果展示等 random库实现随机数的生成,通过随机数实现动态百叶窗的上下左右选择.百叶窗的数量选择等功能. os库实现图片资源的装载和读取. sys库实现退出操作等. (二) 整体实现逻辑 通过WIDTH = 600 和 HEIGHT = 600设置窗口的高度和宽度 通过runimage 和 nextimage 设置当前显示的图

  • Python趣味挑战之教你用pygame画进度条

    一.初始化主界面 import pygame pygame.init() screen = pygame.display.set_mode((500,300)) pygame.display.set_caption("好看的进度条显示V1.0") clock = pygame.time.Clock() while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == py

  • python之pygame模块实现飞机大战完整代码

    本文实例为大家分享了python之pygame模块实现飞机大战的具体代码,供大家参考,具体内容如下 Python飞机大战步骤: 1.数据区 2.主界面 3.飞船 4.事件监控及边界 5.外星人 6.记分系统 飞机大战效果图: 源码: """ 功能:飞机大战 time:2019/10/3 """ import os import pygame import sys import time from pygame.sprite import Spri

  • Python3+Pygame实现射击游戏完整代码

    之前看到过很多人写的飞机大战,当然了之前我也写过多个版本,总体来说功能是实现了,但总感觉不够"炫" 今天浏览Python资料的时候,意外发现了这个很好的"射击"类游戏,看上去类似飞机大战,但更好玩 一.游戏特点 1. 运行非常流畅 2. 默认有3条命,每条命的HP可以增加(吃补品)也可以减少(被击中) 3. 有碰撞时的音效 4. 有碰撞时的爆炸效果 二.运行效果展示 三.完整代码 from __future__ import division import pyga

  • Python3.8安装Pygame教程步骤详解

    注:因为最近想用一下Python做一些简单小游戏的开发作为项目练手之用,而Pygame模块里面提供了大量的有用的方法和属性.今天我们就在之前安装过PyCharm的基础上,安装Pygame,下面是安装的步骤,希望能够帮到大家. 第一步 安装Python和pip 如果已安装,使用python --version 查看安装的Python版本 使用pip --version查看安装的pip版本 注:如果是没有安装pip,其下载链接是Download the file for your platform:

  • Python趣味挑战之用pygame实现简单的金币旋转效果

    一.实现逻辑 step1.保存图像到list列表. step2.在主窗口每次显示一张list列表中的对象. 呵呵,好像就这么简单.所以,主要还是要有图片. 这里也分享一下图片给大家. 二.核心逻辑代码解析 (一)加载图像到list列表 def init_image(): path = './score/' files = [] dirs = os.listdir(path) for diretion in dirs: files.append(path + diretion) for file

随机推荐