最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python的pygame庫繪制圖形示例詳解

 更新時間:2024年02月11日 11:00:49   作者:碼銀  
這篇文章主要介紹了使用Python的Pygame庫繪制圖形的方法,Pygame是被設(shè)計用來寫游戲的python模塊集合,Pygame是在優(yōu)秀的SDL庫之上開發(fā)的功能性包,通常使用Pygame來開發(fā)具有全部特性的游戲和多媒體軟件,感興趣的朋友可以參考下

導語

pygame是一個跨平臺Python庫(pygame news),專門用來開發(fā)游戲。pygame主要為開發(fā)、設(shè)計2D電子游戲而生,提供圖像模塊(image)、聲音模塊(mixer)、輸入/輸出(鼠標、鍵盤、顯示屏)模塊等。使用pygame,理論上可以開發(fā)設(shè)計市面上所有的2D類型游戲。

正文

繪制線條

我們可以使用 pygame.draw.line()函數(shù)來繪制直線。

pygame.draw.line(screen,線段的顏色,起點坐標,終點坐標,線寬)

pygame.draw.line(screen ,lightgreen, (300,0), (300,600), linewidth)

import pygame #導包
from pygame.locals import*
import sys
black=0,0,0
lightgreen=144,238,144
pygame.init() #初始化
screen = pygame.display.set_mode(size=(600,600),flags=0)
#繪制一個600*600的框框
while True:
    for event in pygame.event.get():
        if event.type in (QUIT,KEYDOWN):
            sys.exit()#python的退出程序
    linewidth=4 #“線”的粗細
    pygame.draw.line(screen,lightgreen,(300,0),(300,600),linewidth)
    pygame.display.update()  # 刷新展示

繪制網(wǎng)格

通過循環(huán)繪制一個網(wǎng)格大小為三十像素的網(wǎng)絡(luò)

import pygame #導包
from pygame.locals import*
import sys
black=0,0,0
lightgreen=144,238,144
screen_width=600
screen_height=600
pygame.init() #初始化
screen = pygame.display.set_mode(size=(screen_width,screen_height),flags=0)
#繪制一個600*600的框框
# 設(shè)置網(wǎng)格大小
grid_size = 30  # 每個網(wǎng)格的大小為30個像素
# 繪制網(wǎng)格
for i in range(0, screen_width, grid_size):
    pygame.draw.line(screen, lightgreen, (i, 0), (i, screen_height))
for i in range(0, screen_height, grid_size):
    pygame.draw.line(screen, lightgreen, (0, i), (screen_width, i))
while True:
    for event in pygame.event.get():
        if event.type in (QUIT,KEYDOWN):
            sys.exit()#python的退出程序
    linewidth=4
    pygame.display.update()  # 刷新展示
 

繪制圓

pygame.draw.circle(screen,lightgreen,position,radius,linewidth)

通過pygame.draw.circle()可以畫圓

  • screen代表屏幕
  • lightgreen代表著圓的顏色
  • position代表著圓心所在的位置
  • radius代表著圓的半徑
  • linewidth代表著線的粗細
import pygame #導包
from pygame.locals import*
import sys
black=0,0,0
lightgreen=144,238,144
screen_width=600
screen_height=600
pygame.init() #初始化
screen = pygame.display.set_mode(size=(screen_width,screen_height),flags=0)
#繪制一個600*600的框框
# 主循環(huán)
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    color = 255,255,255
    position = 300,250
    radius = 100
    width = 10
    linewidth=4
    screen.fill(color)
    pygame.draw.circle(screen,lightgreen,position,radius,linewidth)
    pygame.display.update()  # 刷新展示
 

繪制矩形

pygame.draw.rect()是pygame庫中的一個函數(shù),用于在給定的屏幕上繪制一個矩形。

函數(shù)的參數(shù)解釋如下:

  • screen: 這是你要在其上繪制矩形的pygame Surface 對象。
  • lightgreen: 這是矩形的顏色。它是一個包含RGB值的元組,例如 (144, 238, 144)。
  • pos: 這是矩形左上角的坐標 + 以左上標點為原點的右下角坐標,下面給出了具體例子。
  • width: 這是矩形的寬度。這是一個整數(shù)。
import pygame #導包
from pygame.locals import*
import sys
screen_width=600
screen_height=600
pygame.init() #初始化
screen = pygame.display.set_mode(size=(screen_width,screen_height))
pygame.display.set_caption("這是標題")
pos_x = 300
pos_y =300
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    lightgreen=144,238,144
    width = 0
    pos = pos_x, pos_y, 300, 300
    pygame.draw.rect(screen, lightgreen, pos, width)#300*300的矩形
    pygame.display.update()

繪制右下角的矩形區(qū)域:

繪制一個會動的矩形

設(shè)置屏幕的寬度和高度為600x600像素。 定義矩形的橫向和縱向移動速度為0.14像素/幀。 每次循環(huán)將背景填充為黑色。 根據(jù)速度更新矩形的位置。 當矩形超出屏幕邊界時,改變其速度的方向,使其反向移動。 使用pygame.draw.rect()方法繪制矩形,設(shè)置顏色為黃色,寬度為0(實心矩形)。

import pygame #導包
from pygame.locals import*
import sys
screen_width=600
screen_height=600
pygame.init() #初始化
screen = pygame.display.set_mode(size=(screen_width,screen_height))
pygame.display.set_caption("這是標題")
pos_x = 300
pos_y =300
vel_x = 0.14
vel_y = 0.1#粗略滴可以看作矩形的移動速度
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    screen.fill((0,0,0))#每次循環(huán)都要將背景置為黑色
    pos_x += vel_x
    pos_y += vel_y
    #當矩形超過屏幕范圍后返回
    if pos_x > 500 or pos_x < 0:
        vel_x = -vel_x
    if pos_y > 500 or pos_y < 0:
        vel_y = -vel_y
#繪制矩形
    color = 255, 255, 1
    width = 0
    pos = pos_x,pos_y, 100, 100
    pygame.draw.rect(screen,color,pos,width)
    pygame.display.update()

test2.5

其它常用的繪制圖形方法

Pygame 提供了多種繪制圖形的方法,這些方法主要用于在 Surface 對象上繪制基本的幾何形狀。以下是一些常用的 Pygame 繪制圖形的方法:

  • pygame.draw.polygon(): 用于繪制多邊形。你需要提供一個點的列表來定義多邊形的頂點,以及多邊形的顏色。
  • pygame.draw.ellipse(): 用于繪制橢圓。你需要指定一個矩形區(qū)域,橢圓將在這個區(qū)域內(nèi)繪制,同時還需要指定橢圓的顏色。
  • pygame.draw.arc(): 用于繪制圓弧。你需要指定一個矩形區(qū)域,圓弧將在這個區(qū)域內(nèi)繪制,同時還需要指定圓弧的起始和結(jié)束角度、顏色。
  • pygame.draw.lines(): 用于繪制一系列相連的線段,可以創(chuàng)建開放或閉合的多邊形。你需要提供一個點的列表來定義線段的頂點,以及線段的顏色和寬度。
  • pygame.draw.aaline()pygame.draw.aalines(): 用于繪制抗鋸齒線段,可以平滑線段的邊緣。這兩個方法只能繪制一個像素寬的線段,不支持設(shè)置線寬。

小結(jié)

在本篇文章中,主要介紹了如何繪制一條線、圓形、矩形、以及簡單地實現(xiàn)了將矩形“動起來”,每個例子都有其對應(yīng)的完整代碼,可以直接復制使用。

到此這篇關(guān)于使用Python的pygame庫繪制圖形示例詳解的文章就介紹到這了,更多相關(guān)Python pygame繪制圖形內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用Scrapy下載圖片的兩種方式

    Python使用Scrapy下載圖片的兩種方式

    Scrapy是一個適用爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)的應(yīng)用程序框架,它可以通過定制化的修改來滿足不同的爬蟲需求,本文給大家介紹了Python使用Scrapy下載圖片的兩種方式,需要的朋友可以參考下
    2025-08-08
  • python獲取txt文件詞向量過程詳解

    python獲取txt文件詞向量過程詳解

    這篇文章主要介紹了python獲取txt文件詞向量過程詳解,如何讀取完整的大文件,而不會出現(xiàn)內(nèi)存不足memery error等問題,將讀取出來的文件,保存為npy文件,根據(jù)詞找到對應(yīng)的向量,需要的朋友可以參考下
    2019-07-07
  • django框架實現(xiàn)一次性上傳多個文件功能示例【批量上傳】

    django框架實現(xiàn)一次性上傳多個文件功能示例【批量上傳】

    這篇文章主要介紹了django框架實現(xiàn)一次性上傳多個文件功能,結(jié)合實例形式分析了Django框架批量上傳相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2019-06-06
  • 使用Python+selenium實現(xiàn)第一個自動化測試腳本

    使用Python+selenium實現(xiàn)第一個自動化測試腳本

    這篇文章主要介紹了使用Python+selenium實現(xiàn)第一個自動化測試腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Window10下python3.7 安裝與卸載教程圖解

    Window10下python3.7 安裝與卸載教程圖解

    本文通過圖文并茂的形式給大家介紹了WINDOW10下PYTHON3.7 安裝與卸載,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 徹底卸載anaconda詳細教程(推薦!)

    徹底卸載anaconda詳細教程(推薦!)

    用anaconda更改我的python版本,就是出現(xiàn)了凍結(jié)無法更改等等之類的問題,擔心更新anaconda還是會出錯,于是打算卸載anaconda,重新下載一個安裝,下面這篇文章主要給大家介紹了關(guān)于徹底卸載anaconda的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 學習Python需要哪些工具

    學習Python需要哪些工具

    這篇文章主要介紹了學習Python需要哪些工具,幫助大家開始學習python編程,感興趣的朋友可以了解下
    2020-09-09
  • 五個簡單有效的Python清理數(shù)據(jù)腳本分享

    五個簡單有效的Python清理數(shù)據(jù)腳本分享

    通常情況下,在機器學習中的數(shù)據(jù)清理往往是一件令人頭疼的事情,本文整理了一份清單,列出了5個常用的Python腳本,用于自動化數(shù)據(jù)清理,需要的可以參考一下
    2022-09-09
  • Python按條件批量刪除TXT文件行工具

    Python按條件批量刪除TXT文件行工具

    這篇文章主要為大家詳細介紹了Python如何實現(xiàn)按條件批量刪除TXT文件中行的工具,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • python 模擬在天空中放風箏的示例代碼

    python 模擬在天空中放風箏的示例代碼

    這篇文章主要介紹了python 模擬放風箏的示例代碼,幫助大家更好的利用python處理圖像,感興趣的朋友可以了解下
    2021-04-04

最新評論

阿合奇县| 洞头县| 昌都县| 兰西县| 班玛县| 二连浩特市| 永修县| 玛曲县| 罗山县| 疏附县| 阿坝县| 封开县| 顺义区| 肇源县| 沙田区| 永州市| 镇平县| 玛纳斯县| 崇明县| 永平县| 庄浪县| 青河县| 双牌县| 临猗县| 汝州市| 宜兴市| 盱眙县| 格尔木市| 华池县| 油尖旺区| 古交市| 怀化市| 南汇区| 柳江县| 新和县| 德令哈市| 南康市| 民县| 右玉县| 利川市| 安康市|