Farih.co.id
Home Programming Bekerja Dengan Input Touch Screen di PyGame

Bekerja Dengan Input Touch Screen di PyGame

touch inputs in pygame

Di zaman sekarang ini, perangkat layar sentuh ada di mana-mana. Tidak mengherankan jika pengembang game semakin banyak menggunakan input sentuh dalam game mereka, dan kerangka kerja membuat ini semakin mudah.


PyGame mempermudah pembuatan game dan aplikasi yang dapat memanfaatkan input sentuh.


Dukungan Sentuh PyGame

PyGame memiliki dukungan bawaan untuk bekerja dengan input sentuh. Ini termasuk dukungan untuk input sentuh mouse dan jari.

Untuk mendeteksi mouse, Anda dapat menggunakan pygame.MOUSEBUTTONDOWN Dan pygame.MOUSEBUTTONUP acara. Misalnya:

 for event in pygame.event.get():
    if event.type == pygame.MOUSEBUTTONDOWN:
        print("Mouse button pressed")

Untuk mendeteksi input sentuhan jari, Anda dapat menggunakan pygame.FINGERDOWN Dan pygame.FINGERUP acara. Misalnya:

 for event in pygame.event.get():
    if event.type == pygame.FINGERDOWN:
        print("Finger touched the screen")

Membuat Game Sederhana

Mulailah dengan membuat game sederhana. Gim ini akan terdiri dari karakter pemain yang dapat Anda gerakkan di sekitar layar menggunakan input sentuh. Untuk melakukan ini, Anda perlu membuat lingkaran permainan dan karakter pemain.

Sebelum Anda mulai, pastikan Anda telah menginstal pip pada perangkat Anda, kemudian gunakan perintah berikut untuk menginstal PyGame modul:

 pip install pygame 

Sekarang, impor modul PyGame di kode game Anda:

 import pygame
pygame.init()

Setelah itu, buat jendela game dan objek game:

 
size = (400, 400)
screen = pygame.display.set_mode(size)


player = pygame.Surface((50, 50))
player.fill((255, 0, 0))


player_pos = [175, 175]

Terakhir, buat lingkaran permainan:

 
running = True

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

    
    player_pos[0] += 5
    player_pos[1] += 5

    
    screen.blit(player, player_pos)

    
    pygame.display.update()

Perhatikan bahwa kode di atas hanya membuat game sederhana di mana karakter pemain bergerak di sekitar layar. Untuk membuat game lebih menarik, Anda dapat menambahkan fisika dan tabrakan untuk menciptakan rintangan yang harus diatasi pemain.

Input Sentuhan Mouse untuk Gerakan Pemain

Sekarang Anda memiliki permainan dengan karakter pemain, Anda dapat mulai menambahkan input sentuh. Untuk melakukan ini, Anda perlu menambahkan event handler untuk input mouse. Tambahkan pygame.MOUSEBUTTONDOWN Dan pygame.MOUSEBUTTONUP acara ke loop game.

Buat penangan acara untuk input mouse. Saat pemain menekan tombol mouse, perbarui posisi karakter ke posisi mouse saat ini. Program akan mengabaikan pelepasan tombol tetikus, karena tidak perlu melakukan tindakan apa pun dalam kasus tersebut.

 
running = True

while running:
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_x, mouse_y = event.pos
            player_pos[0] = mouse_x
            player_pos[1] = mouse_y
        elif event.type == pygame.MOUSEBUTTONUP:
            pass
    
    screen.fill((0, 0, 0))

    
    screen.blit(player, player_pos)

    
    pygame.display.update()

Anda juga dapat menambahkan logika ekstra ke event handler untuk membuat pemain bergerak sebagai respons terhadap input mouse.

Input Sentuhan Jari untuk Gerakan Pemain

Selain input mouse, Anda juga dapat menambahkan input sentuhan jari. Untuk melakukan ini, Anda perlu menambahkan event handler untuk input sentuhan jari.

Tambahkan pygame.FINGERDOWN Dan pygame.FINGERUP acara ke loop game:

 
running = True

while running:
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_x, mouse_y = event.pos
            player_pos[0] = mouse_x
            player_pos[1] = mouse_y
        elif event.type == pygame.MOUSEBUTTONUP:
            pass
        
        elif event.type == pygame.FINGERDOWN:
            finger_x, finger_y = event.pos
            player_pos[0] = finger_x
            player_pos[1] = finger_y
        elif event.type == pygame.FINGERUP:
            pass

    screen.fill((0, 0, 0))
    
    
    screen.blit(player, player_pos)

    
    pygame.display.update()

Perhatikan betapa miripnya ini dengan event handler input mouse. Event handler ini memperbarui posisi karakter saat pemain menekan jari mereka di layar. Ketika mereka melepaskan jari mereka, tidak ada yang terjadi. Ini memungkinkan Anda membuat game yang dapat Anda kontrol menggunakan input sentuh mouse dan jari. Perlu diingat bahwa Anda juga dapat menggunakan acara lain seperti pygame.FINGERMOTION untuk menanggapi gerakan jari.

Fitur Sentuh Tambahan Pygame

Dengan adanya fitur sentuh dasar, Anda dapat mulai menambahkan fitur yang lebih canggih. PyGame memiliki beberapa fitur bawaan yang dapat membantu Anda menambahkan lebih banyak fitur sentuh ke game Anda.

Fitur pertama adalah pygame.mouse.set_visible() fungsi. Fungsi ini memungkinkan Anda untuk menyembunyikan kursor mouse. Ini berguna jika Anda ingin membuat game yang hanya menggunakan input sentuh dan bukan mouse.

Berikut adalah contoh cara menggunakan set_visible() fungsi:

 pygame.mouse.set_visible(False) 

Itu pygame.mouse.set_pos() fungsi mengatur kursor mouse ke posisi tertentu di layar. Ini berguna jika Anda ingin memindahkan mouse ke lokasi tertentu tanpa menggunakan input mouse.

Di bawah ini adalah contoh cara menggunakan set_pos() fungsi:

 pygame.mouse.set_pos(200, 200) 

Anda dapat menggunakan pygame.mouse.get_rel() berfungsi untuk mendapatkan gerakan relatif dari mouse. Anda dapat menggunakan ini untuk mendeteksi seberapa jauh pergerakan mouse sejak kejadian mouse terakhir.

Ini adalah bagaimana Anda dapat menggunakan get_rel() fungsi:

 dx, dy = pygame.mouse.get_rel() 

Akhirnya, Anda dapat menggunakan pygame.mouse.get_pressed() berfungsi untuk memeriksa apakah pemain menekan tombol mouse apa saja. Ini dapat berguna saat membuat game dengan mouse/kontrol sentuh.

Di bawah ini adalah contoh cara menggunakan get_pressed() fungsi:

 mouse_buttons = pygame.mouse.get_pressed() 

PyGame juga menyediakan RODA MOUSE jenis acara yang dapat Anda gunakan untuk mendeteksi gulungan roda mouse. Ini mendukung gulungan vertikal dan horizontal.

Berikut contohnya:

 for event in pygame.event.get():
    if event.type == pygame.MOUSEWHEEL:
        if event.y > 0:
            print("Mouse wheel scrolled up")
        elif event.y < 0:
            print("Mouse wheel scrolled down")

Buat Game Interaktif Dengan Input Sentuh

Dengan input sentuh, kini Anda dapat membuat game interaktif. Misalnya, Anda dapat membuat game yang pemainnya dapat bergerak di sekitar layar menggunakan input sentuh. Anda juga dapat membuat game berbasis gerakan, di mana pemain dapat melakukan berbagai gerakan untuk memicu tindakan dalam game.

Kemungkinannya tidak terbatas dalam hal membuat game dengan input sentuh. Dengan bantuan PyGame, Anda dapat membuat game yang menyenangkan dan interaktif. Jadi pergilah ke sana dan mulailah membuat!

Comment
Share:

Leave a Reply

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

Ad