Birçok oyun, oyuncu karakterini veya düşmanları temsil etmek için hareketli karakterler kullanır. Python'un Arcade kitaplığının bunlarla çalışmayı nasıl kolaylaştırdığını öğrenin.

Python'un Arcade kitaplığı, hareketli karakterleri oyun geliştirme projelerinize dahil etmenin sorunsuz ve sezgisel bir yolunu sunar. Karakterler, oyunlarınıza görsel çekicilik, etkileşim ve dinamik hareket getiren temel öğelerdir.

Arcade'in basit sözdizimi ve güçlü işlevselliği sayesinde karakter eklemek çok kolay. Kitaplık, büyüleyici karakterler ve nesnelerle oyunlarınızı zahmetsizce geliştirmenizi sağlar.

Basit Bir Oyun Yaratmak

Bu makalede kullanılan kod bu makalede mevcuttur. GitHub deposu ve MIT lisansı altında ücretsiz olarak kullanabilirsiniz.

Başlamadan önce, sahip olduğunuzdan emin olun. cihazınızda yüklü pip. Arcade kitaplığını yüklemek için bu komutu kullanın:

pip yükleme çarşı

Python'un Arcade kitaplığını kullanarak basit bir oyun oluşturarak başlayın. Bu oyunda, oyuncu sola ve sağa hareket edebilecektir.

instagram viewer

Miras alan bir MyGame sınıfı oluşturun oyun makinesi. pencere. Bundan sonra, değişkenleri başlatmak için kurulum yöntemini tanımlayın ve on_draw oyun nesnelerini çizme yöntemi. bu on_key_press yöntem, oynatıcının mavi dikdörtgeni sola veya sağa hareket ettirmesini sağlar.

İşte temel oyununuz için kod:

içe aktarmak oyun makinesi

EKRAN_GENİŞLİK = 640
EKRAN_YÜKSEKLİK = 480

sınıfBenim oyunum(oyun makinesi. pencere):
kesinlikle__içinde__(öz, genişlik, yükseklik):
super().__init__(genişlik, yükseklik)
arcade.set_background_color (arcade.color. BEYAZ)

kesinliklekurmak(kendi):
self.player_x = 320

kesinlikleon_draw(kendi):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, çarşı.renk. MAVİ)

kesinlikleon_key_press(self, key, değiştiriciler):
eğer anahtar == çarşı.key. SOL:
self.player_x -= 10
elif anahtar == çarşı.key. SAĞ:
self.player_x += 10

kesinlikleana():
oyun = Oyunum (SCREEN_WIDTH, SCREEN_HEIGHT)
oyun.setup()
çarşı.run()

eğer __isim__ == "__ana__":
ana()

Oyununuza Sprite Nasıl Eklenir?

Artık çalışan basit bir oyununuz olduğuna göre, bazı karakterler ekleyerek onu geliştirmenin zamanı geldi. kullanarak sprite oluşturabilirsiniz. oyun makinesi. karakter sınıf. Karakterlerinizi temsil edecek resimler yükleyebilir ve bunları oyununuzda kullanabilirsiniz.

adlı bir resim dosyası yükleyin. player.png oyuncu karakterinizi oluşturmak için. Hareketli grafiğin başlangıç ​​konumunu ekranın ortasına ayarlayın. İçinde on_draw yönteminde, çizim işlevini kullanarak oyuncu karakterini çizin.

sınıfBenim oyunum(oyun makinesi. pencere):
kesinlikle__içinde__(öz, genişlik, yükseklik):
super().__init__(genişlik, yükseklik)
arcade.set_background_color (arcade.color. BEYAZ)
self.player_sprite = Hiçbiri

kesinliklekurmak(kendi):
self.player_sprite = çarşı. Karakter("oyuncu.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

kesinlikleon_draw(kendi):
arcade.start_render()
self.player_sprite.draw()

kesinlikleon_key_press(self, key, değiştiriciler):
eğer anahtar == çarşı.key. SOL:
self.player_sprite.change_x = -5
elif anahtar == çarşı.key. SAĞ:
self.player_sprite.change_x = 5

kesinliklegüncelleme(öz, delta_time):
self.player_sprite.update()

Ek Karakter Özellikleri

Arcade'deki Sprite'lar, temel hareketin ötesinde özellikler sunar. Örneğin, ölçek niteliğini ayarlayarak bir hareketli grafiği yeniden boyutlandırabilirsiniz.

Orijinal boyutunun yarısı kadar yapmak için oyuncu karakterinin ölçek özelliğini 0,5 olarak ayarlayabilirsiniz.

sınıfBenim oyunum(oyun makinesi. pencere):
kesinliklekurmak(kendi):
self.player_sprite = çarşı. Karakter("oyuncu.png", ölçek=0.5)

Karakter Hareketini Kontrol Etme

Arcade'deki Sprite'lar çeşitli yollar sağlar. kontrol oyuncu hareketi. yanında değişiklik_x niteliğini kullanabilirsiniz. değiştir_y dikey hareketi kontrol etme özelliği. Daha karmaşık hareket kalıpları için ayrıca açı_değiştir hareketli grafiği döndürme özelliği.

self.player_sprite.change_angle = ROTATION_SPEED

Bu nitelikleri klavye veya fare girişiyle birleştirerek, oyun karakterleriniz için dinamik ve duyarlı hareket kontrolleri oluşturabilirsiniz.

Karakterlerle Çarpışma Tespiti Ekleme

Çarpışma tespiti birçok oyunda çok önemlidir. Arcade ile karakterler arasındaki çarpışmaları kolayca tespit edebilirsiniz. arcade.check_for_collision işlev. Oyuncu karakteri ile adı verilen başka bir hareketli karakter arasındaki çarpışma algılamayı içerecek şekilde kodu değiştirelim. engel.png:

sınıfBenim oyunum(oyun makinesi. pencere):
kesinlikle__içinde__(öz, genişlik, yükseklik):
super().__init__(genişlik, yükseklik)
arcade.set_background_color (arcade.color. BEYAZ)
self.player_sprite = Hiçbiri

kesinliklekurmak(kendi):
self.player_sprite = çarşı. Karakter("oyuncu.png", ölçek=0.1)
self.obstacle_sprite = çarşı. Karakter("engel.png", ölçek = 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

kesinlikleon_draw(kendi):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

kesinlikleon_key_press(self, key, değiştiriciler):
eğer anahtar == çarşı.key. SOL:
self.player_sprite.change_x = -5
elif anahtar == çarşı.key. SAĞ:
self.player_sprite.change_x = 5

kesinliklegüncelleme(öz, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()

eğer arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
Yazdır("Çarpışma algılandı!")

Karakterlerle Oyunlarınızı Daha İlgi Çekici Hale Getirin

Sprite'lar karakterlerin, nesnelerin ve animasyonların gerçek ve heyecan verici görünmesini sağlar. Oyununuzdaki diğer şeylerle hareket edebilir, çarpışabilir ve etkileşime girebilirler, bu da oyunu daha gerçekçi ve eğlenceli hissettirir.

Karakterleri kullanarak, oyuncuların ilgisini çeken ve daha fazla oynamak isteyen oyunlar oluşturabilirsiniz. Karakterler, ilgi çekici ve akılda kalıcı oyunlar yaratmak için bir olasılıklar dünyasının kapısını açar.