python的pygame怎样绘制图形�
Admin 2021-08-19 群英技术资�
我们通过python的pygame中draw模块的函数在窗口上绘�,可以绘制的图形包�:线条、矩彀多边形、圆、椭圆、圆弧等等。这篇文章就给大家介绍一下,如何使用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()
运行代码的结果如下图所示;
我们可以看到,这里确实是把竖直方向的宽度进行了压缩,使得原本的那个圆形变为了一个椭圆,同时,我们也把圆弧形,变为了一个椭圆弧彀�
关于python的pygame绘制图形的就介绍到这,上述示例仅供参考,感兴趣的朋友可以看看,希望能对大家学习pygame有帮助,想要了解更多python的pygame绘制图形的内容,大家可以关注其他文章�
文本转载自脚本之�
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容�
猜你喜欢
用matplotlib怎样画垂直线?Matplotlib是Python中使用最广泛的数据可视化库之一。本文给大家介绍是matplotlib画垂直线的方法,对于我们熟悉matplotlib有一定的帮助,下面我们一起来看看吧�
python下如何往数据库批量插入数据?方法是什么?假如我们想要往数据库表中的插入的数据有几百上千条,那么一条条插入,则调用sql语句查询插入就需要执行几百上千,这样花费的时间就非常的长。因此我们可以使用cursor.executemany(sql,args)来实现批量插入数据,那么具体怎样做呢?接着往下看�
这篇文章主要介绍了Django表单外键选项初始化的问题及解决方�,需本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,要的朋友可以参考下
这篇文章主要介绍python模块重载的方法,下文给大家分享了python模块重载的五种方法,对大家学习和python模块重载具有一定的帮助,感兴趣的朋友可以参考下,接下来我们一起了解看看吧�
这篇文章主要介绍了Python的函数使�,在两种python循环语句的使用中,不仅仅是循环条件达到才能跳出循环体。所以,在对python函数进行阐述之前,先对跳出循环的简单语句块进行介绍,需要的朋友可以参考一�
推荐内容
联系我们
24小时售后 � 24小时售后TEL�0668-2555666 售前咨询TEL�400-678-4567 投诉建议TEL�0668-2555999 投诉建议邮箱:t[email protected] 信息安全TEL�0668-2555118 域名空间客服 � 公司总机�0668-2555555 公司传真�0668-2555000Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所� 茂名市群英网络有限公�
增值电信经营许可证 : B1.B2-20140078