標籤:

PY交易(一)使用Pygame

也可以來我的博客看哦崔斯特的博客專欄

1、使用Pygame

import pygame #導入Pygamenfrom pygame import * #導入Pygame中的所有常量nnpygame.init() #初始化Pygamenscreen = pygame.display.set_mode((600,500)) #創建窗口nmyfont = pygame.font.Font(None,60) #創建字體對象nnwhite = 255,255,255nblue = 0,0,255ntextImage = myfont.render("hello Pygame",True,white)nscreen.fill(blue)nscreen.blit(textImage,(100,100))npygame.display.update()n

首先在內存中創建文本平面,然後再將文本當作一個圖像來繪製。

運行程序,出現如下窗口,發現馬上就關閉了,需要一個延遲。

2、循環

import pygame,sys #導入Pygamenfrom pygame import * #導入Pygame中的所有常量nwhite = 255,255,255nblue = 0,0,255npygame.init() #初始化Pygamenscreen = pygame.display.set_mode((600,500)) #創建窗口nmyfont = pygame.font.Font(None,60) #創建字體對象nntextImage = myfont.render("hello Pygame",True,white)nnwhile True: #加入循環n for event in pygame.event.get():n if event.type in (QUIT,KEYDOWN):n sys.exit()n screen.fill(blue)n screen.blit(textImage,(100,100))n pygame.display.update()n

加入while循環,只要while條件為真,就會一直執行下去。

現在運行看看,還會自動關閉嗎?

3、繪製圓

主要是使用 pygame.draw.circle()

import pygame,sys #導入Pygamenfrom pygame import * #導入Pygame中的所有常量npygame.init() #初始化Pygamenscreen = pygame.display.set_mode((600,500)) #創建窗口npygame.display.set_caption("畫圓")nnwhile True:n for event in pygame.event.get():n if event.type in (QUIT,KEYDOWN):n sys.exit()n screen.fill((0,0,200))n #畫圓n color = 255,255,0n position = 300,250n radius = 100n width = 10n pygame.draw.circle(screen,color,position,radius,width)n pygame.display.update()n

4、繪製矩形

通過多個參數來調用pygame.draw.rect()函數,在while循環之外的記錄矩形的位置,並且創建一對速度變數。

import pygame,sys #導入Pygamenfrom pygame import * #導入Pygame中的所有常量npygame.init() #初始化Pygamenscreen = pygame.display.set_mode((600,500)) #創建窗口npygame.display.set_caption("畫矩形")nnpos_x = 300npos_y = 250nvel_x = 2nvel_y = 1nnwhile True:n for event in pygame.event.get():n if event.type in (QUIT,KEYDOWN):n sys.exit()n screen.fill((0,0,200))nn #移動矩形n pos_x += vel_xn pos_y += vel_ynn #讓矩形在屏幕中n if pos_x > 500 or pos_x < 0:n vel_x = -vel_xn if pos_y > 400 or pos_y < 0:n vel_y = -vel_ynn #畫矩形n color = 255,255,0n width = 0n pos = pos_x,pos_y,100,100n pygame.draw.rect(screen,color,pos,width)n pygame.display.update()n

運行程序後,發現有一個矩形在窗口中跳來跳去,好像還有某種規律。。。

5、繪製線條

使用pygame.draw.line()函數來繪製直線,必須提供線條起點和終點

import pygame,sys #導入Pygamenfrom pygame import * #導入Pygame中的所有常量npygame.init() #初始化Pygamenscreen = pygame.display.set_mode((600,500)) #創建窗口npygame.display.set_caption("畫直線")nnwhile True:n for event in pygame.event.get():n if event.type in (QUIT,KEYDOWN):n sys.exit()n screen.fill((0,80,0))n #畫直線n color = 100,255,200n width = 8n pygame.draw.line(screen,color,(100,100),(500,400),width)n pygame.display.update()n

6、繪製弧線

弧線是圓的一部分,使用pygame.draw.arc()函數來繪製

要將角度轉換弧度,使用math.radians()函數

import math,pygame,sysnfrom pygame.locals import *nnpygame.init()nscreen = pygame.display.set_mode((600,500))npygame.display.set_caption("畫弧線")nnwhile True:n for event in pygame.event.get():n if event.type in (QUIT,KEYDOWN):n sys.exit()n screen.fill((0,0,200))nn #畫弧線n color = 255,0,255n position = 200,150,200,200n start_angle = math.radians(0)n end_angle = math.radians(180)n width = 8n pygame.draw.arc(screen,color,position,start_angle,end_angle,width)nn pygame.display.update()n

好啦,第一期的PY交易就結束了,小夥伴有什麼想說的呢?評論中見

推薦閱讀:pygame.org/news

本文參考Jonathan S.Harbour創作的《More Python Programming for the Absolute Beginner》More Python Programming for the Absolute Beginner

======================================================================為什麼會玩Pygame呢?其實只是我個人的愛好,從小就喜歡玩遊戲,更想自己去創作遊戲。第一期只是介紹了一些基礎,下一步就會來編寫一個小遊戲啦。


推薦閱讀:

TAG:pygame | Python |