您現在的位置是:首頁 » 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鍵可以重新開始。另外這個程序只是各個命令的堆砌,主要是為了讓大家能夠理解和很好的使用各個函數。
下次開始我們學習游戲中的動畫制作。
本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。
