/ / Cách sử dụng Sprites trong Arcade để phát triển trò chơi

Cách sử dụng Sprites trong Arcade để phát triển trò chơi

pc with game sprite opened

Thư viện Arcade của Python cung cấp một cách liền mạch và trực quan để kết hợp các họa tiết vào các dự án phát triển trò chơi của bạn. Các họa tiết là những yếu tố thiết yếu mang lại sự hấp dẫn về mặt hình ảnh, tính tương tác và chuyển động năng động cho trò chơi của bạn.


Với cú pháp đơn giản và chức năng mạnh mẽ của Arcade, việc thêm các họa tiết trở nên dễ dàng. Thư viện cho phép bạn dễ dàng cải thiện trò chơi của mình bằng các nhân vật và đồ vật hấp dẫn.


Tạo một trò chơi đơn giản

Mã được sử dụng trong bài viết này có sẵn trong kho lưu trữ GitHub này và bạn được sử dụng miễn phí theo giấy phép MIT.

Trước khi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt pip trên thiết bị của mình. Sử dụng lệnh này để cài đặt thư viện arcade:

 pip install arcade 

Bắt đầu bằng cách tạo một trò chơi đơn giản bằng thư viện Arcade của Python. Trong trò chơi này, người chơi sẽ có thể di chuyển sang trái và phải.

Tạo một lớp MyGame kế thừa từ arcade.Window. Sau đó, xác định phương thức thiết lập để khởi tạo các biến và on_draw phương pháp để vẽ các đối tượng trò chơi. Các on_key_press phương pháp cho phép người chơi di chuyển hình chữ nhật màu xanh sang trái hoặc phải.

Đây là mã cho trò chơi cơ bản của bạn:

 import arcade

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

class MyGame(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)
        arcade.set_background_color(arcade.color.WHITE)
    
    def setup(self):
        self.player_x = 320
    
    def on_draw(self):
        arcade.start_render()
        arcade.draw_rectangle_filled(self.player_x, 50, 50, 50, arcade.color.BLUE)
    
    def on_key_press(self, key, modifiers):
        if key == arcade.key.LEFT:
            self.player_x -= 10
        elif key == arcade.key.RIGHT:
            self.player_x += 10

def main():
    game = MyGame(SCREEN_WIDTH, SCREEN_HEIGHT)
    game.setup()
    arcade.run()

if __name__ == "__main__":
    main()

Cách thêm Sprites vào trò chơi của bạn

Bây giờ bạn đã có một trò chơi đơn giản đang hoạt động, đã đến lúc nâng cao nó bằng cách thêm một số họa tiết. Bạn có thể tạo sprite bằng cách sử dụng arcade.Sprite lớp học. Bạn có thể tải hình ảnh để đại diện cho nhân vật của mình và sử dụng chúng trong trò chơi của mình.

Tải một tệp hình ảnh có tên người chơi.png để tạo nhân vật người chơi của bạn. Đặt vị trí ban đầu của sprite ở giữa màn hình. bên trong on_draw vẽ nhân vật người chơi bằng chức năng vẽ.

 class MyGame(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)
        arcade.set_background_color(arcade.color.WHITE)
        self.player_sprite = None
    
    def setup(self):
        self.player_sprite = arcade.Sprite("player.png")
        self.player_sprite.center_x = SCREEN_WIDTH // 2
        self.player_sprite.center_y = SCREEN_HEIGHT // 2
    
    def on_draw(self):
        arcade.start_render()
        self.player_sprite.draw()
    
    def on_key_press(self, key, modifiers):
        if key == arcade.key.LEFT:
            self.player_sprite.change_x = -5
        elif key == arcade.key.RIGHT:
            self.player_sprite.change_x = 5

    def update(self, delta_time):
        self.player_sprite.update()

Các tính năng Sprite bổ sung

Sprites trong Arcade cung cấp các tính năng ngoài chuyển động cơ bản. Ví dụ: bạn có thể thay đổi kích thước một sprite bằng cách đặt thuộc tính tỷ lệ của nó.

Bạn có thể đặt thuộc tính tỷ lệ của sprite trình phát thành 0,5 để làm cho nó bằng một nửa kích thước ban đầu.

 class MyGame(arcade.Window):
    def setup(self):
        self.player_sprite = arcade.Sprite("player.png", scale=0.5)

Kiểm soát phong trào Sprite

Sprites trong Arcade cung cấp nhiều cách khác nhau để điều khiển chuyển động của người chơi. Bên cạnh đó thay đổi_x thuộc tính, bạn có thể sử dụng thay_y thuộc tính để kiểm soát chuyển động dọc. Đối với các mẫu chuyển động phức tạp hơn, bạn cũng có thể sử dụng change_angle thuộc tính để xoay sprite.

 self.player_sprite.change_angle = ROTATION_SPEED 

Bằng cách kết hợp các thuộc tính này với đầu vào bàn phím hoặc chuột, bạn có thể tạo các điều khiển chuyển động linh hoạt và nhạy bén cho nhân vật trò chơi của mình.

Thêm phát hiện va chạm với Sprites

Phát hiện va chạm là rất quan trọng trong nhiều trò chơi. Với Arcade, bạn có thể dễ dàng phát hiện va chạm giữa các họa tiết bằng cách sử dụng arcade.check_for_collision chức năng. Hãy sửa đổi mã để bao gồm phát hiện va chạm giữa nhân vật người chơi và một nhân vật khác được gọi là chướng ngại vật.png:

 class MyGame(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)
        arcade.set_background_color(arcade.color.WHITE)
        self.player_sprite = None
    
    def setup(self):
        self.player_sprite = arcade.Sprite("player.png", scale=0.1)
        self.obstacle_sprite = arcade.Sprite("obstacle.png", scale = 0.1)
        self.obstacle_sprite.center_x = SCREEN_WIDTH
        self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
        self.player_sprite.center_x = SCREEN_WIDTH // 2
        self.player_sprite.center_y = SCREEN_HEIGHT // 2
    
    def on_draw(self):
        arcade.start_render()
        self.player_sprite.draw()
        self.obstacle_sprite.draw()
    
    def on_key_press(self, key, modifiers):
        if key == arcade.key.LEFT:
            self.player_sprite.change_x = -5
        elif key == arcade.key.RIGHT:
            self.player_sprite.change_x = 5
    
    def update(self, delta_time):
        self.player_sprite.update()
        self.obstacle_sprite.update()

        if arcade.check_for_collision(self.player_sprite, self.obstacle_sprite):
            print("Collision detected!")

Làm cho trò chơi của bạn hấp dẫn hơn với Sprites

Các họa tiết làm cho các nhân vật, đồ vật và hoạt ảnh trông chân thực và thú vị. Chúng có thể di chuyển, va chạm và tương tác với những thứ khác trong trò chơi của bạn, điều này khiến trò chơi trở nên chân thực và thú vị hơn.

Sử dụng các họa tiết, bạn có thể tạo các trò chơi khiến người chơi quan tâm và muốn chơi nhiều hơn. Sprites mở ra một thế giới khả năng để tạo ra các trò chơi hấp dẫn và đáng nhớ.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *