PyGame cho người mới bắt đầu

Related Articles



Bạn đã khi nào mê hồn game show điện tử và muốn thiết kế xây dựng game show của riêng mình ? Tôi đoán rằng, từ thời thơ ấu của tất cả chúng ta, mọi người đều đã có một tưởng tượng để tạo ra game show của riêng mình và phong cách thiết kế bộ quy tắc của riêng họ. Nhiều người, gồm có cả tôi, từng nghĩ rằng thật khó để tạo ra một game show, nhưng khi tôi khởi đầu xem xét những lựa chọn khác nhau, tôi phát hiện PyGame, nơi đã giúp tôi thiết kế xây dựng game show mơ ước của mình, trong một quy trình rất mê hoặc .

Để tạo một trò chơi bạn chọn, một chút lập trình python là tất cả những gì bạn cần biết. Blog của tôi chắc chắn sẽ giúp bạn tạo ra trò chơi của riêng bạn. Vì vậy, hãy bắt đầu với hướng dẫn này của PyGame, nó sẽ giúp bạn hiểu và thực hiện những điều cơ bản của nó.

PyGame là gì?

PyGame là một thư viện của ngôn ngữ Python. Nó được sử dụng để phát triển trò chơi 2-D và là một nền tảng nơi bạn có thể sử dụng một tập hợp các mô-đun Python để phát triển trò chơi. Đây là một nền tảng dễ hiểu và thân thiện với người mới bắt đầu có thể giúp bạn phát triển trò chơi một cách nhanh chóng. Bạn có thể truy cập trang web chính thức của PyGame để biết nó thực sự là gì.

Trang web chính thức của PyGame là : – https://www.pygame.org

Cần chuẩn bị cơ bản gì trước khi bắt đầu?

  1. Bạn nên có Python IDLE để viết mã nguồn. Bạn có thể tải xuống IDLE chính thức từ trang web: – www.python.org. Liên kết này sẽ chuyển hướng bạn đến các bản tải xuống. Theo hệ điều hành của bạn, hãy tải xuống phiên bản mới nhất của python. Trong khi tải xuống, đừng quên chọn hộp để thêm vào đường dẫn. Bạn thậm chí có thể sử dụng PyCharm nơi bạn có thể tải xuống thư viện pygame và thực hiện lập trình.



Tải xuống Python IDLE

pip install pygame



Something like this will appear.





Điều tiên phong tất cả chúng ta cần là nhập PyGame và tạo một hành lang cửa số game show. Tham khảo mã bên dưới .

import pygame
pygame.init()
screen = pygame.display.set_mode((500, 500))
done = False
while not done: for event in pygame.event.get(): if event.type == pygame.QUIT:
done = True
pygame.display.flip()
  1. import pygame: – Lệnh này được sử dụng để truy cập khuôn khổ PyGame. Nó là bước đầu tiên để bắt đầu quá trình phát triển trò chơi.
  2. pygame.init (): – Điều này khởi tạo tất cả các mô-đun cần thiết cho PyGame.
  3. pygame.display.set_mode ((width, height)): – Thao tác này sẽ khởi chạy một cửa sổ có kích thước mong muốn.
  4. pygame.event.get (): – Vì trò chơi sẽ là một chuỗi các sự kiện, nên cú pháp này sẽ giúp bạn làm trống hàng đợi của các sự kiện trước khi thêm một sự kiện mới.
  5. pygame.quit: – Cú pháp này được sử dụng để thoát khỏi chương trình hoàn toàn.
  6. pygame.display.flip (): – PyGame có bộ đệm kép nên điều này sẽ hoán đổi bộ đệm. Tất cả những gì bạn cần biết là cuộc gọi này là bắt buộc đối với bất kỳ cập nhật nào bạn thực hiện đối với màn hình trò chơi để hiển thị.

Sau khi chạy đoạn mã trên, bạn sẽ nhận được hành lang cửa số game show này. 👇



Trông khá đơn thuần, phải không ? 🤔 Chúng ta hãy mở màn bằng cách thêm 1 số ít nội dung vào màn hình hiển thị của tất cả chúng ta .

Đặt tiêu đề và biểu tượng cho cửa sổ trò chơi

Chúng ta có thể thêm tiêu đề bằng pygame.display.set_caption (‘ Tên ‘) và biểu tượng bằng icon = pygame.image.load ( game.jpg ‘) và

pygame.display.set_icon (biểu tượng) sẽ thiết lập một biểu tượng.

Thêm hình chữ nhật vào cửa sổ trò chơi

Nó rất đơn giản để vẽ một hình chữ nhật. Chúng tôi sử dụng pygame.draw.rect để vẽ một. Bây giờ, để tạo một hình chữ nhật, chúng ta phải đưa các kích thước của nó vào hàm như chiều cao, chiều rộng và tọa độ của nó để hiển thị trên màn hình.

# Add this somewhere after the event pumping and before the display.flip()
pygame.draw.rect(screen, (0, 128, 255), pygame.Rect(60, 60, 90, 90))
import pygame
pygame.init()
screen = pygame.display.set_mode((500, 500))
done = False
x=60
y=60
while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True pygame.draw.rect(screen, (0,128,255), pygame.Rect(x, y, 90, 90)) pygame.display.flip()

Tương tự, nhiều hình dạng có thể được tạo ra. Có một số tính năng của PyGame để phát triển trò chơi mà bạn có thể khám phá khi bạn biết những điều cơ bản. Cần biết rằng PyGame được sử dụng để kiểm soát đồ họa của trò chơi mà bạn đang phát triển. Đôi khi, bạn có thể kiểm soát logic của trò chơi. Hãy tiếp tục đọc hướng dẫn này của PyGame để biết các bước xây dựng trò chơi của riêng bạn.

Thêm nhạc và hình ảnh vào trò chơi

Để làm cho game show của bạn mê hoặc hơn, bạn hoàn toàn có thể thêm nhạc và hình ảnh .

  1. Để thêm hình ảnh, chúng tôi sử dụng pygame.image, load (‘ image.jpg ‘).
  2. Để thêm nhạc, chúng tôi sử dụng pygame.mixer.music, load (‘ music.mp3 ‘). Nhưng trước tiên, chúng ta cần nhập một bộ trộn và khởi tạo nó. Tham khảo mã được cung cấp bên dưới để hiểu rõ hơn.
import pygame
pygame.init()
from pygame import mixer
mixer.init()
screen = pygame.display.set_mode((500, 500))
done = False
x=60
y=60
image=pygame.image.load(r'C:UsersTanishqDownloadswallpaper.jpg')
screen.blit(image, (0, 0))
pygame.mixer.music.load(r'C:UsersTanishqDesktopsong.mp3')
pygame.mixer.music.play(-1)
while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True pygame.draw.rect(screen, (255,0,0), pygame.Rect(x, y, 90, 90)) pygame.display.flip()

r: – Trong đoạn mã trên, trước khi đưa ra đoạn mã, chúng ta viết ‘r’ vì công cụ sửa đổi chuỗi r ‘..’ khiến chuỗi ‘..’ được hiểu theo nghĩa đen. Điều đó có nghĩa là, r’My Path Without Escaping ‘sẽ đánh giá thành’ My Path Without Escaping ‘- mà không gây ra dấu gạch chéo ngược làm thoát các ký tự. Trước tương đương với chuỗi ‘My \ Path \ Without \ Escaping’, nhưng không có công cụ sửa đổi thô.

screen.blit (image, (0,0)): – Thao tác này sẽ hiển thị hình ảnh trên window game.

pygame.mixer.music.play (-1): – Số chỉ tần số của bản nhạc. Điều này sẽ phát nhạc vô tận. nếu chúng ta viết bất kỳ số nào, nó sẽ chơi nhiều lần. 0 có nghĩa là nó sẽ chơi một lần.

pygame.mixer.music.queue (‘next_song.mp3’): – Điều này sẽ xếp hàng đợi bài hát được phát tiếp theo.

pygame.mixer.music.stop (): – Thao tác này sẽ dừng nhạc.



Trong đoạn mã trên, trước khi đưa ra đoạn mã, tất cả chúng ta viết ‘ r ‘ vì công cụ sửa đổi chuỗi r ‘ .. ‘ khiến chuỗi ‘ .. ‘ được hiểu theo. Điều đó có nghĩa là, r’My Path Without Escaping ‘ sẽ đánh giá thành ‘ My Path Without Escaping ‘ – mà không gây ra dấu gạch chéo ngược làm thoát những ký tự. Trước tương tự với chuỗi ‘ My Path Without Escaping ‘, nhưng không có công cụ sửa đổi thô. Thao tác này sẽ hiển thị hình ảnh trên window game. Số chỉ tần số của bản nhạc. Điều này sẽ phát nhạc vô tận. nếu tất cả chúng ta viết bất kể số nào, nó sẽ chơi nhiều lần. 0 có nghĩa là nó sẽ chơi một lần. Điều này sẽ xếp hàng đợi bài hát được phát tiếp theo. Thao tác này sẽ dừng nhạc .

Thay đổi màu của hộp

Bây giờ hộp màu xanh Open hơi nhàm chán, tất cả chúng ta hãy biến hóa sắc tố của hộp. Để nhận mã màu RGB, hãy truy vấn website này : – https://www.rapidtables.com/web/color/RGB_Color.html

Bây giờ nếu tôi nhấn phím cách, màu của hộp sẽ chuyển thành màu nâu. Mã cho tựa như là : –

is_red = True
#in infinite while loop:-
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: is_red = not is_red if is_red: color = (255, 0, 0) else: color = (102, 0, 0)

Di chuyển hình chữ nhật

Bây giờ chúng ta hãy di chuyển khối xung quanh cửa sổ trò chơi. Hãy xem mã dưới đây. Ở đây ‘được nhấn’ cung cấp phím được nhấn bởi người dùng. Hệ tọa độ như sau. Vì vậy, khi nhấn phím UP, tọa độ Y sẽ bị trừ.

pressed = pygame.key.get_pressed() if pressed[pygame.K_UP]: y -= 1 if pressed[pygame.K_DOWN]: y += 1 if pressed[pygame.K_LEFT]: x -= 1 if pressed[pygame.K_RIGHT]: x += 1
if is_red: color = (255, 0, 0) else: color = (102, 0, 0) pygame.draw.rect(screen, color, pygame.Rect(x, y, 90, 90))

Thời lượng của mỗi khung hình ngắn như chiếc máy tính siêu ưa thích của bạn hoàn toàn có thể tạo ra nó. Tốc độ khung hình cần được kiểm soát và điều chỉnh ở 1 số ít lành mạnh, ví dụ điển hình như 60 khung hình / giây. May mắn thay, có một lớp đơn thuần trong pygame.time được gọi là Đồng hồ thực thi điều này cho tất cả chúng ta. Nó có một chiêu thức được gọi là ghi lại để đạt được vận tốc fps mong ước .

#Add this before loop.
clock = pygame.time.Clock()
#Add this in loop.
clock.tick(60)

Nếu tất cả chúng ta sử dụng chìa khóa, tất cả chúng ta nhận được một cái gì đó như thế này .



Điều này không mê hoặc, phải không ? Hộp sẽ vận động và di chuyển trên hình ảnh. thế cho nên hãy thêm một mã sau khi xác lập tính năng được nhấn. Chức năng này đặt lại màn hình hiển thị trước khi bạn vẽ hình chữ nhật tiếp theo của mình .

#screen.blit(image, (0, 0))



Bây giờ có vẻ như tốt hơn, nhưng một lần nữa, tất cả chúng ta phải đương đầu với yếu tố hộp bị ra khỏi khung khi tọa độ vượt quá size hành lang cửa số. Thêm những điều kiện kèm theo sau sau khi xác lập tính năng được nhấn và trước screen.blit ( ) : –

if x=400: x=400 if y>=400: y=400 elif y

Thêm hình tròn và thay đổi độ dày

Tương tự với hình chữ nhật, chúng ta có thể thêm một hình tròn. Hàm pygame.draw.circle (surface, color, (x, y), radius) được sử dụng để vẽ một đường tròn.

pygame.draw.circle(screen, color, (300,60),50)

Thực hiện cả hai được hiển thị bên dưới

#Rectangle thickness
pygame.draw.rect(screen, (255,255,0), pygame.Rect(60, 300, 90, 90),10)
#Circle thikness
pygame.draw.circle(screen, (255,255,0), (300,300),50,10)









Hãy nhìn vào một hình dạng ‘ T ‘ do tôi tạo ra .

pygame.draw.line(screen, color ,(50,150), (250,150), 10)
pygame.draw.line(screen, color, (150, 150), (150, 250), 10)







Bạn có thể thêm văn bản chẳng hạn như GAME OVER. Chúng ta hãy xem cách này được thực hiện như thế nào. Mã này phải được viết trước vòng lặp vô hạn và dòng cuối cùng trong vòng lặp.

# create a font object.
# 1st parameter is the font file which is present in pygame.
# 2nd parameter is size of the font
font = pygame.font.Font('freesansbold.ttf', 50)
# create a text surface object, on which text is drawn on it.
text = font.render('GAME OVER', True, (255,0,0), (0,128,255))
# create a rectangular object for the text surface object
textRect = text.get_rect()
# set the center of the rectangular object.
textRect.center = (250, 250)
#Add this in infinite loop.
#To clear everything on screen
screen.fill((255,255,255))
screen.blit(text, textRect)









Nếu bạn muốn đưa quân địch vào game show của mình, kẻ địch vận động và di chuyển ngẫu nhiên, bạn thậm chí còn hoàn toàn có thể làm điều đó. Chỉ cần làm theo tiến trình này .

Hãy lấy một quả bóng đang hoạt động ngẫu nhiên .

  1. Nhập ngẫu nhiên
  2. Tải hình ảnh quả bóng và đặt vị trí của quả bóng một cách ngẫu nhiên bằng cách sử dụng random.randint (tọa độ): –
x_pos=random.randint(0,400)
y_pos=random.randint(50,400)
x_ch=3
y_ch=40
def ball(x_cordinate ,y_cordinate): screen.blit(ballimage, (x_cordinate ,y_cordinate))
x_pos+=x_ch
if x_pos400: x_ch=-3 y_pos+=y_ch
if y_pos>400: y_pos=400
ball(x_pos,y_pos)

PyGame, mặc dù rất thú vị và bổ ích, nhưng cũng có những thử thách riêng. Bạn phải cực kỳ chính xác với các lệnh bạn đang đặt. Ví dụ: các lệnh này phân biệt chữ hoa chữ thường. Ngoài ra, PyGame thường được sử dụng cho các trò chơi 2-D đơn giản hơn. Chúng chủ yếu bao gồm các hình dạng và đồ họa tối thiểu. Ngoài ra, bạn phải sử dụng một số lệnh cho một đồ họa đơn lẻ, điều này có thể phức tạp và mệt mỏi.

PyGame là một công cụ tuyệt vời và có ích hoàn toàn có thể giúp bạn tăng trưởng game show mơ ước của mình. Lợi ích lớn nhất khi sử dụng PyGame là năng lực truy vấn thuận tiện và tương hỗ hội đồng khổng lồ. Nó rất dễ setup, học hỏi và sử dụng. Trong vòng vài giờ kể từ khi mở màn, bạn hoàn toàn có thể tạo một game show mà bạn từng nghĩ rằng bạn sẽ không khi nào hoàn toàn có thể làm được một cách thuận tiện như vậy .

Tác giả : Tanishq Gandhi

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories