您現在的位置是:首頁 » python編程資訊
資訊內容
用python和pygame游戲編程入門-畫圖實例
極客小將2020-10-28-
上一節中介紹了各種用于畫圖的函數,為了進一步加深印象,我們通過一個實例來把這些功能整合到一起。
上一節中介紹了各種用于畫圖的函數,為了進一步加深印象,我們通過一個實例來把這些功能整合到一起。
#!/usr/bin/env python
import pygame
from pygame.locals import *
from sys import exit
from random import *
from math import pi
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
points = []
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == KEYDOWN:
# 按c鍵可以清屏并把點回復到原始狀態
print(event.key)
if event.key == K_c:
points = []
screen.fill((255,255,255))
if event.type == MOUSEBUTTONDOWN:
screen.fill((255,255,255))
# 畫隨機矩形
rc = (randint(0,255), randint(0,255), randint(0,255))
rp = (randint(0,639), randint(0,479))
rs = (639-randint(rp[0], 639), 479-randint(rp[1], 479))
pygame.draw.rect(screen, rc, Rect(rp, rs))
# 畫隨機圓形
rc = (randint(0,255), randint(0,255), randint(0,255))
rp = (randint(0,639), randint(0,479))
rr = randint(1, 200)
pygame.draw.circle(screen, rc, rp, rr)
# 獲得當前鼠標點擊位置
x, y = pygame.mouse.get_pos()
points.append((x, y))
# 根據點擊位置畫弧線
angle = (x/639.)*pi*2.
pygame.draw.arc(screen, (0,0,0), (0,0,639,479), 0, angle, 3)
# 根據點擊位置畫橢圓
pygame.draw.ellipse(screen, (0, 255, 0), (0, 0, x, y))
# 從左上和右下畫兩根線連接到點擊位置
pygame.draw.line(screen, (0, 0, 255), (0, 0), (x, y))
pygame.draw.line(screen, (255, 0, 0), (640, 480), (x, y))
# 畫點擊軌跡圖
if len(points) > 1:
pygame.draw.lines(screen, (155, 155, 0), False, points, 2)
for p in points:
pygame.draw.circle(screen, (155, 155, 155), p, 3)
pygame.display.update()
運行這個程序,在上面點鼠標就會有圖形出來了;按c鍵可以重新開始。另外這個程序只是各個命令的堆砌,主要是為了讓大家能夠理解和很好的使用各個函數。
下次開始我們學習游戲中的動畫制作。
本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。
