Farih.co.id
Home Programming Menangani Input Keyboard di Arcade Library Python Games

Menangani Input Keyboard di Arcade Library Python Games

developer coding

Masukan keyboard adalah bagian penting dari pengembangan game, dan sangat penting untuk menanganinya secara efektif guna memberikan pengalaman pengguna yang luar biasa. Pustaka Arcade menyediakan cara yang mudah dan efisien untuk menangani input keyboard di game Python Anda.


Membuat Game Sederhana Dengan Pemain

Sebelum mulai menangani input keyboard, pastikan Anda telah menginstal pip di perangkat Anda. Gunakan perintah ini untuk menginstal perpustakaan arcade:

 pip install arcade 

Setelah itu, buat kerangka permainan sederhana:

 import arcade

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

class MyGame(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height, "My Game")
        arcade.set_background_color(arcade.color.WHITE)

    def on_draw(self):
        arcade.start_render()

    def update(self, delta_time):
        pass

MyGame(SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.run()

Ini menciptakan jendela dengan latar belakang putih. Selanjutnya, tambahkan pemain ke game Anda:

 class Player:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.speed = 5
        self.radius = 20

    def draw(self):
        arcade.draw_circle_filled(self.x, self.y, self.radius, arcade.color.BLUE)

    def move_left(self):
        self.x -= self.speed

    def move_right(self):
        self.x += self.speed

    def move_up(self):
        self.y += self.speed

    def move_down(self):
        self.y -= self.speed

Ini menciptakan pemain sederhana dengan lingkaran biru. Anda dapat menambahkan pemain ini ke gim Anda dengan memodifikasi MyGame kelas:

 import arcade

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

class MyGame(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height, "My Game")
        arcade.set_background_color(arcade.color.WHITE)
        self.player = Player(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)

    def on_draw(self):
        arcade.start_render()
        self.player.draw()

    def update(self, delta_time):
        pass

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

if __name__ == "__main__":
    main()

Sekarang Anda memiliki pemain dalam gim Anda yang dapat Anda gambar di layar.

Menanggapi Key Presses dan Rilis

Untuk merespons input pengguna dalam game, Anda perlu menangani penekanan dan pelepasan tombol. Pustaka Arcade menyediakan dua metode untuk menangani peristiwa ini: on_key_press Dan on_key_release.

Untuk menggunakan metode ini, Anda perlu mendefinisikannya di file arcade.Jendela subkelas. Saat pemain menekan atau melepaskan kunci, arcade akan menjalankan metode yang sesuai, meneruskannya dengan dua argumen: kunci dan pengubah. kunci adalah bilangan bulat yang mewakili kode kunci dari tombol yang ditekan atau dilepaskan. pengubah adalah bitfield yang mewakili tombol pengubah yang juga ditekan oleh pemain, seperti Shift atau Control.

Berikut adalah contoh cara merespons penekanan tombol di game Anda:

 class MyGame(arcade.Window):
    def on_key_press(self, key, modifiers):
        if key == arcade.key.LEFT:
            
        elif key == arcade.key.RIGHT:
            
        elif key == arcade.key.UP:
            
        elif key == arcade.key.DOWN:
            

Untuk menanggapi rilis kunci, Anda dapat menentukan on_key_release metode dengan cara yang sama:

 class MyGame(arcade.Window):
    def on_key_release(self, key, modifiers):
        if key == arcade.key.LEFT:
            
        elif key == arcade.key.RIGHT:
            
        elif key == arcade.key.UP:
            
        elif key == arcade.key.DOWN:
            

Penting untuk diperhatikan bahwa menangkap input pengguna di pygame membutuhkan pemeriksaan event manual dalam loop game Anda. Di sisi lain, perpustakaan Arcade secara otomatis memanggil metode yang relevan saat pemain menekan atau melepaskan tombol. Ini berarti Anda tidak perlu memeriksa peristiwa penting secara manual di loop game Anda, sehingga Anda tidak perlu repot dengan kode tambahan.

Menyesuaikan Penanganan Input Keyboard agar Sesuai dengan Kebutuhan Game Anda

Pustaka Arcade menyediakan banyak cara untuk menyesuaikan input keyboard. Anda mungkin ingin mengubah pengikatan kunci untuk game Anda atau mengizinkan pemain menyesuaikan pengikatan kuncinya sendiri.

Anda dapat melakukan ini dengan mendefinisikan kamus key_map yang memetakan setiap kunci ke metode yang sesuai dari objek pemain. Untuk memungkinkan pemain menyesuaikan ikatan kuncinya, Anda dapat menambahkan menu pengaturan yang mengubah key_map kamus berdasarkan preferensi pemain.

Berikut contohnya:

 class MyGame(arcade.Window):
    def __init__(self, width, height, title):
        super().__init__(width, height, title)
        self.player = Player(100, 100)

        self.key_map = {
            arcade.key.LEFT: self.player.move_left,
            arcade.key.RIGHT: self.player.move_right,
            arcade.key.UP: self.player.move_up,
            arcade.key.DOWN: self.player.move_down
        }

    def on_key_press(self, key, modifiers):
        if key in self.key_map:
            self.key_map[key]()

    def on_key_release(self, key, modifiers):
        if key in self.key_map:
            self.key_map[key + 1]()

Menanggapi Input Pengguna secara Real Time

Menanggapi input pengguna secara real time merupakan aspek penting dalam membuat game yang menarik. Dengan meluangkan waktu untuk menangani input keyboard dengan benar dalam game, Anda dapat menciptakan pengalaman yang lebih menarik dan imersif bagi pemain, dan pada akhirnya membuat game Anda menonjol di pasar yang ramai.

Comment
Share:

Leave a Reply

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

Ad