Hướng dẫn make android game with python - làm trò chơi Android với python

Hướng dẫn make android game with python - làm trò chơi Android với python

Python nổi tiếng là một trong những ngôn ngữ lập trình linh hoạt và thân thiện nhất với người mới bắt đầu. Nhưng trong khi Python có trải nghiệm trên tàu tuyệt vời cho những lập trình viên mới ít kinh nghiệm nhất, thì thực sự khó hiểu hơn khi nắm bắt được theo một số cách khác. Python rất linh hoạt, đến nỗi nó ngay lập tức rõ ràng những gì bạn có thể làm với nó.more confusing to get to grips with in some other ways. Python is so flexible, that it isn’t immediately apparent what you can do with it.

Ví dụ, bạn có thể đọc một tấn hướng dẫn, và vẫn không hiểu cách tạo một trò chơi bằng Python hoặc cách xây dựng một ứng dụng web. Trong bài đăng này, chúng tôi sẽ thảo luận về cách tạo ra một trò chơi rất đơn giản trong Python bằng PyGame, lựa chọn các mô -đun phổ biến được thiết kế để tạo điều kiện tạo ra trò chơi đơn giản.

Pygame là gì?

Một cái gì đó có thể khó khăn cho các nhà phát triển mới để hiểu là các ngôn ngữ lập trình hiếm khi tồn tại trong chân không. Ví dụ, khi tạo một ứng dụng Android, bạn sẽ không chỉ phải sử dụng Java hay Kotlin (hai ngôn ngữ lập trình chính được Google hỗ trợ) mà còn cả SDK Android. Đây là bộ công cụ phát triển phần mềm của Cameron và nó chứa một loạt các thư viện, lớp học và công cụ khác nhau làm cho mã Java hoạt động trên Android và cung cấp cho nó quyền truy cập vào các tính năng dành riêng cho các nền tảng di động.

Vì vậy, nó là với Python. Học Python là không đủ để bắt đầu xây dựng mọi thứ cho hầu hết các phần: bạn cần thêm mã được cung cấp bởi các nhà phát triển khác để làm cho các chương trình đó hoạt động. Trong Python, các công cụ bên ngoài này thường ở dạng các mô -đun. Đây là những chương trình Python nhỏ thực hiện các chức năng hữu ích có thể hỗ trợ sản xuất của bạn.

Hướng dẫn make android game with python - làm trò chơi Android với python

Pygame là một bộ sưu tập các mô -đun như vậy. Và như tên gọi, Pygame cung cấp rất nhiều chức năng hữu ích cho việc phát triển trò chơi. Điều đó có nghĩa là những thứ như vẽ đồ họa lên màn hình và phát âm thanh. Bằng cách cung cấp các chức năng làm sẵn như thế này, PyGame có thể tiết kiệm cho một nhà phát triển một lượng lớn công việc và hợp lý hóa quy trình. Vì vậy, khi bạn hỏi làm thế nào để tạo một trò chơi ở Python, hầu hết mọi người sẽ bảo bạn sử dụng pygame!

Điều đó nói rằng, những người được sử dụng để các động cơ trò chơi toàn diện hơn và các ides như Unity có thể thấy pygame có phần trần. Bạn đã giành chiến thắng tìm thấy vật lý tích hợp hoặc giao diện kéo và thả lạ mắt ở đây! Nhưng trong khi điều này có thể làm tăng số lượng công việc cho bạn với tư cách là nhà phát triển, nó cũng giải phóng bạn sử dụng trí tưởng tượng của mình và tiếp cận dự án trò chơi của bạn hoàn toàn từ đầu.

(Đây là một điều tốt, trung thực!)

Pygame được viết bởi Pete Shinners và được phát hành vào năm 2000. Đây là một dự án cộng đồng kể từ đó và hiện đang được phát hành theo giấy phép công cộng GNU phần mềm miễn phí của nguồn mở.

Cách tạo một trò chơi trong Python - một dự án đầu tiên đơn giản

Tôi sẽ biến cách tiếp cận của mình một chút trên đầu cho hướng dẫn này. Thay vì nói chuyện với bạn thông qua một bước từng bước, tôi thay vào đó sẽ cung cấp cho bạn mã và sau đó chúng tôi sẽ chia nhỏ cách tất cả hoạt động.

Đầu tiên, hãy chắc chắn rằng bạn đã đọc phần giới thiệu cơ bản của chúng tôi về mã Python. Điều này sẽ làm quen với bạn với những điều cơ bản để bạn có thể theo dõi.

Tiếp theo, bạn sẽ dán mã sau. Ở đây, một trong những tôi đã làm trước đó:

Mã số

import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Squarey")
x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
run = True
def draw_game():
          win.fill((0, 0, 0))
          pygame.draw.rect(win, (0, 0, 255), (x, y, 20, 20))
          pygame.draw.rect(win, (255, 0, 0), (baddyX, baddyY, 40, 40))
          pygame.display.update()

while run:
      pygame.time.delay(100)

      if baddyX < x - 10: baddyX = baddyX + baddyVel drawGame() elif baddyX > x + 10:
          drawGame()
          baddyX = baddyX - baddyVel
      elif baddyY < y - 10: baddyY = baddyY + baddyVel elif baddyY > y + 10:
          baddyY = baddyY - baddyVel
      else:
          run = False
      
      for event in pygame.event.get():
            if event.type == pygame.QUIT:
                  run = False

      keys = pygame.key.get_pressed()

      if keys[pygame.K_LEFT]:
            x -= vel

      if keys[pygame.K_RIGHT]:
            x += vel
      
      if keys[pygame.K_UP]:
            y -= vel
      
      if keys[pygame.K_DOWN]:
            y += vel
      
      draw_game()
          
pygame.quit()

.

Nhấn chơi và bạn nên được chào đón với một trò chơi cho phép bạn điều khiển một hình vuông nhỏ màu xanh lá cây xung quanh màn hình để cố gắng trốn tránh một quảng trường màu đỏ. Nó rất ly kỳ!

Tất cả điều này làm gì?

Xin chúc mừng! Bạn chỉ học cách làm một trò chơi trong Python! Ngoại trừ bạn có thể không biết những gì trong số này làm hoặc tại sao chúng tôi đã thực hiện nó theo cách chúng tôi có. Vì vậy, hãy để chúng tôi đi qua nó, phải không?

Hướng dẫn make android game with python - làm trò chơi Android với python

Sử dụng PIP để cài đặt các mô -đun

Đầu tiên, chúng tôi nhập mô -đun pygame với dòng & nbsp; nhập pygame. Điều này có thể đã có trên máy của bạn và có thể là mặc định với cài đặt của bạn. Nếu nó không thành công, thì bạn có thể cài đặt nó với PIP. Chúng ta cũng cần khởi tạo pygame với pygame.init (). Tiếp theo, chúng tôi tạo một cửa sổ cho trò chơi của chúng tôi để hiển thị.import pygame. This will likely already be on your machine and probably came as default with your installation. If it didn’t, then you can install it with pip. We also need to initialize Pygame with pygame.init(). Next, we create a window for our game to display in. “Set_caption” lets us give our game a title, displayed at the top of said window.

Mã số

import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Squarey")

.

Mã số

x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
run = True

.drawGame().In here, we are first filling the screen with a blank color (black). Doing this means we can move the position of our characters without leaving behind a trail. Another option would be to draw the characters on top of themselves in black.

Điều này được theo sau bằng cách vẽ hai hình vuông. Chúng tôi đang đặt chúng bên trong cửa sổ, chúng tôi đang cung cấp cho họ mã màu RGB, và sau đó chúng tôi đang đặt tọa độ X và Y trước khi thêm chiều rộng và chiều cao. Hãy nhớ rằng: dọc theo hành lang và xuống cầu thang! Tôi nghĩ rằng thật có ý nghĩa khi làm cho kẻ xấu của chúng ta lớn hơn một chút so với anh chàng tốt, và làm cho anh ta màu đỏ đáng sợ!

Cuối cùng, chúng tôi gọi pygame.display.update (), để các yếu tố này thực sự được vẽ trên màn hình. pygame.display.update(), so that these elements actually get drawn on the screen.

Mã số

def draw_game():
          win.fill((0, 0, 0))
          pygame.draw.rect(win, (0, 0, 255), (x, y, 20, 20))
          pygame.draw.rect(win, (255, 0, 0), (baddyX, baddyY, 40, 40))
          pygame.display.update()

Cách tạo một vòng lặp trò chơi trong Python

Phần tiếp theo của mã là nơi xảy ra niềm vui thực sự. Đây là bản đồ nồi hơi mà bạn có thể thấy trong rất nhiều sáng tạo pygame. Về cơ bản, đây là một vòng lặp sẽ tiếp tục lặp lại miễn là giá trị của & nbsp; chạy & nbsp; được đặt thành true.run is set to True.

Dòng đầu tiên của vòng lặp này thêm một độ trễ ngắn. Trên thực tế, đây là những gì sẽ thiết lập Framerate của chúng tôi và ngăn chặn mọi thứ xảy ra quá nhanh để chúng tôi thậm chí nhìn thấy!

Mã số

while run:
      pygame.time.delay(100)

Cách tạo một vòng lặp trò chơi trong Pythonif and elif (else, if) statements in order to control the flow of the code. If the value of the player’s coordinates is larger than the bad guy’s coordinates, then the bad guy will move to change this: closing in on our position. Because our characters move a few pixels at a time (as defined by the vel and baddyVel variables), I have added a little room for error.

Mã số

if baddyX < x - 10: baddyX = baddyX + baddyVel drawGame() elif baddyX > x + 10:
          drawGame()
          baddyX = baddyX - baddyVel
      elif baddyY < y - 10: baddyY = baddyY + baddyVel elif baddyY > y + 10:
          baddyY = baddyY - baddyVel
      else:
          run = False

Cách tạo một vòng lặp trò chơi trong Pythonrun is set to False, and the program exits the loop. The final statement following the loop quits the game.

Phần tiếp theo của mã là nơi xảy ra niềm vui thực sự. Đây là bản đồ nồi hơi mà bạn có thể thấy trong rất nhiều sáng tạo pygame. Về cơ bản, đây là một vòng lặp sẽ tiếp tục lặp lại miễn là giá trị của & nbsp; chạy & nbsp; được đặt thành true.

Dòng đầu tiên của vòng lặp này thêm một độ trễ ngắn. Trên thực tế, đây là những gì sẽ thiết lập Framerate của chúng tôi và ngăn chặn mọi thứ xảy ra quá nhanh để chúng tôi thậm chí nhìn thấy!drawGame() and refresh the canvas.

Về cơ bản, mọi thứ mà chúng ta muốn xảy ra nhiều lần sẽ đi vào một vòng lặp. Điều đầu tiên chúng tôi đặt ở đây là một chút mã xác định hành vi của kẻ xấu của chúng tôi. Điều này sử dụng các câu lệnh if & nbsp; và elif & nbsp; (nếu không, nếu) để kiểm soát luồng của mã. Nếu giá trị của tọa độ người chơi lớn hơn tọa độ của kẻ xấu, thì kẻ xấu sẽ chuyển sang thay đổi điều này: đóng vào vị trí của chúng tôi. Bởi vì các nhân vật của chúng tôi di chuyển một vài pixel tại một thời điểm (như được xác định bởi các biến Vel & nbsp; và & nbsp; Baddyvel), tôi đã thêm một chút chỗ cho lỗi.

Mã số

for event in pygame.event.get():
            if event.type == pygame.QUIT:
                  run = False

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT]:
x -= vel

if keys[pygame.K_RIGHT]:
x += vel

if keys[pygame.K_UP]:
y -= vel

if keys[pygame.K_DOWN]:
y += vel

draw_game()

Cách tạo một vòng lặp trò chơi trong Python

Phần tiếp theo của mã là nơi xảy ra niềm vui thực sự. Đây là bản đồ nồi hơi mà bạn có thể thấy trong rất nhiều sáng tạo pygame. Về cơ bản, đây là một vòng lặp sẽ tiếp tục lặp lại miễn là giá trị của & nbsp; chạy & nbsp; được đặt thành true.

Dòng đầu tiên của vòng lặp này thêm một độ trễ ngắn. Trên thực tế, đây là những gì sẽ thiết lập Framerate của chúng tôi và ngăn chặn mọi thứ xảy ra quá nhanh để chúng tôi thậm chí nhìn thấy!

Hướng dẫn make android game with python - làm trò chơi Android với python

Về cơ bản, mọi thứ mà chúng ta muốn xảy ra nhiều lần sẽ đi vào một vòng lặp. Điều đầu tiên chúng tôi đặt ở đây là một chút mã xác định hành vi của kẻ xấu của chúng tôi. Điều này sử dụng các câu lệnh if & nbsp; và elif & nbsp; (nếu không, nếu) để kiểm soát luồng của mã. Nếu giá trị của tọa độ người chơi lớn hơn tọa độ của kẻ xấu, thì kẻ xấu sẽ chuyển sang thay đổi điều này: đóng vào vị trí của chúng tôi. Bởi vì các nhân vật của chúng tôi di chuyển một vài pixel tại một thời điểm (như được xác định bởi các biến Vel & nbsp; và & nbsp; Baddyvel), tôi đã thêm một chút chỗ cho lỗi.

Tuy nhiên, nếu các tọa độ nằm trong 10 pixel của người chơi của chúng tôi, thì trò chơi của chúng tôi đã kết thúc! Tuyên bố cuối cùng sau vòng lặp thoát khỏi trò chơi.

Mặc dù vậy, nó vẫn còn hơi xấu xí, khi các tọa độ đặt góc trên cùng bên trái của quảng trường chứ không phải trung tâm. Điều này có nghĩa là phát hiện va chạm là vô cùng chiến thắng và nếu bạn thực sự tạo ra một trò chơi, bạn sẽ làm một số toán học để đảm bảo trò chơi kết thúc nếu các nhân vật chạm vào.

Lưu ý cách mỗi lần Baddy thay đổi vị trí, chúng tôi gọi & nbsp; drawGame () & nbsp; và làm mới khung vẽ.

Tôi có thể làm các trò chơi Android với Python không?

Chúng ta có thể xây dựng trò chơi di động Android bằng Python không?Có! Bạn có thể xây dựng ứng dụng Android bằng Python.YES! You can build the Android App using Python.

Tôi có thể xây dựng trò chơi với Python không?

Tạo các trò chơi máy tính của riêng bạn trong Python là một cách tuyệt vời để học ngôn ngữ.Để xây dựng một trò chơi, bạn sẽ cần sử dụng nhiều kỹ năng lập trình cốt lõi.Các loại kỹ năng mà bạn sẽ thấy trong lập trình trong thế giới thực.. To build a game, you'll need to use many core programming skills. The kinds of skills that you'll see in real-world programming.

Tôi có thể xây dựng ứng dụng di động với Python không?

Python không có khả năng phát triển di động tích hợp, nhưng có các gói bạn có thể sử dụng để tạo các ứng dụng di động, như Kivy, PyQT hoặc thậm chí là thư viện TOGA của Beeware.Những thư viện này đều là những người chơi chính trong không gian di động Python., but there are packages you can use to create mobile applications, like Kivy, PyQt, or even Beeware's Toga library. These libraries are all major players in the Python mobile space.

Pygame có thể tạo ra các trò chơi Android không?

Các ứng dụng pygame có thể chạy trên điện thoại Android và máy tính bảng với việc sử dụng tập hợp con pygame cho Android.Âm thanh, rung, bàn phím, gia tốc kế được hỗ trợ trên Android.Hiện tại không có cách nào để chạy các ứng dụng pygame trên iOS.. Sound, vibration, keyboard, accelerometer are supported on Android. There is currently no way to run Pygame applications on iOS.