Bu Python oyun kitaplığı, pürüzsüz, paralaks kaydırma oluşturmak için kullanabileceğiniz bazı basit araçlar da dahil olmak üzere özelliklerle doludur.

Kayan arka planlar, bir oyunun görsel çekiciliğini ve derinliğini büyük ölçüde artırabilir. Oyuna dinamik ve sürükleyici bir his vererek hareket yanılsaması yaratabilirler. Pygame'i kullanarak kayan arka planları yalnızca birkaç basit adımda uygulayabilirsiniz.

Pygame, oyun geliştirmek için kullanabileceğiniz popüler bir Python kütüphanesidir. Pygame projelerinize kayan arka planlar eklemek, onları hayata geçirecek ve oyuncular için daha ilgi çekici bir deneyim sağlayacaktır.

Basit Bir Oyun Yaratın

Pygame'de kayan arka plan kavramını anlamak için, oyuncunun sola ve sağa hareket edebildiği basit bir oyun oluşturarak başlayın. Oyun ortamı olarak hizmet etmesi için dikdörtgenlerle temsil edilen iki platformu da dahil edebilirsiniz. adlı yeni bir dosya oluşturun. basit oyun.py.

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

instagram viewer

İlk olarak, pygame modülünü içe aktarın ve başlatın. Ardından oyuncunun başlangıç ​​konumunu ve hareket hızını tanımlayın. Kullanarak platformlar oluşturun pygame. rekt nesneleri ve konumlarını ve boyutlarını tanımlayın.

Oyun döngüsünün içinde, oyundan çıkma gibi olayları işleyin. Ayrıca halledebilirsin dokunmatik veya klavye girişlerine dayalı oyuncu hareketi.

İşte basit oyunun çıktısı:

Farklı Katmanlar Oluşturun

Kaydırma efektini elde etmek için, farklı renklerde birden çok arka plan katmanı oluşturabilirsiniz. Her katman farklı bir hızda hareket ederek bir paralaks etkisi yaratacaktır. Bu efekt, derinlik yanılsaması verir ve oyundaki hareket hissini geliştirir.

Pygame kullanarak her biri tüm oyun penceresini kaplayan iki arka plan katmanı tanımlayın. Dikdörtgen nesneler. Ayrıca her katmanın renklerini de tanımlayın. arka plan_renkleri liste. bu arka plan_hızları list, her katmanın hareket edeceği hızı belirler.

# Bu kodu önceki bölümün altına ekleyin

arka plan_katmanları = [
pygame. Doğru(0, 0, ekran_genişliği, ekran_yüksekliği),
pygame. Doğru(0, 0, ekran_genişliği, ekran_yüksekliği)
]

arka plan_renkleri = [(30, 30, 30), (60, 60, 60)]
arka plan_hızları = [0.1, 1.0]

Kayan arka plan efekti oluşturmak için oyun döngüsündeki arka plan katmanlarının konumlarını güncellemeniz gerekir. Her katmanı, atanan hızına göre yatay olarak hareket ettirirsiniz.

adlı yeni bir dosya oluşturun. kaydırma-bg.py ve aşağıdaki güncellemelerle kodu ekleyin:

için Ben içinde aralık (boy (arka plan_katmanları)):
arka plan_katmanları[i].x -= arka plan_hızları[i]

eğer background_layers[i].x <= -screen_width:
arka plan_katmanları[i].x = 0

pygame.draw.rect (ekran, arka plan_renkleri[i], arka plan_katmanları[i])

Her arka plan katmanını yineleyin. İlgili hızı katmanın x koordinatından çıkararak katmanın sola hareket etmesine neden olun. Bir katman ekranın sol kenarına ulaşırsa, konumunu sağa sıfırlayarak sürekli bir kaydırma efekti oluşturun.

Nihayet, her dikdörtgen arka plan katmanını çizin kullanarak ekranda pygame.draw.rect() ve karşılık gelen renk ve pygame'i geçmek. Doğru nesne.

Hareket Ettirirken Paralaks Efekti Ekleme

Paralaks efektini geliştirmek için, oyuncu hareket ederken platform hareketini değiştirebilirsiniz. Bu, güçlü bir derinlik hissi ve dinamik hareket yaratacaktır. adlı yeni bir dosya oluşturun. paralaks.py ve aşağıdaki güncellemelerle kodu ekleyin:

# Platform konumlarını ve hızlarını tanımlayın
rect1 = pygame. Doğru(50, ekran_yüksekliği - 100, 200, 10)
rect2 = pygame. Doğrult (screen_width - 250, ekran_yüksekliği - 200, 200, 10)

platformlar = [
{"doğru": rect1, "hız": 3},
{"doğru": doğru2, "hız": 1}
]

# Bu kodu oyun döngüsünün içine ekleyin

# Oyuncu hareketi
tuşlar = pygame.key.get_pressed()

eğer anahtarlar[pygame. K_LEFT] Ve oyuncu_x > 0:
player_x -= player_speed

için platform içinde platformlar:
platform["doğru"].x -= platform["hız"]

eğer anahtarlar[pygame. K_RIGHT] Ve player_x < ekran_genişliği:
player_x += player_speed

için platform içinde platformlar:
platform["doğru"].x += platform["hız"]

için platform içinde platformlar:
pygame.draw.rect (ekran, (0, 255, 0), platformu["doğru"])

Platformları, hem dikdörtgen nesneyi (rect) hem de platformun hareket etmesi gereken hızı (speed) içeren sözlükler olarak temsil edin. Platformlar, oyuncunun hareketine göre oyun döngüsünde güncellenir.

Bu değişikliği uygulayarak, kaydırma efekti yalnızca oyuncu aktif olarak hareket ederken aktif olacak ve derinlik ve hareket yanılsamasını daha da artıracaktır.

Ek Özellikler Dahil

Oyununuzdaki kayan arka planları geliştirmek için birkaç ek özellik uygulayabilirsiniz. İşte bazı örnekler.

Arka Plan Renklerini Rastgele Ayarla

Arka plan katmanlarına varyasyon eklemek için renklerini rastgele ayarlayabilirsiniz. değiştirerek bunu yapabilirsiniz arka plan_renkleri liste:

içe aktarmak rastgele

# Bu kodu oyun döngüsünden önce ekleyin

arka plan_renkleri = [
(rastgele.randint(0, 255), rastgele.randint(0, 255), rastgele.randint(0, 255)),
(rastgele.randint(0, 255), rastgele.randint(0, 255), rastgele.randint(0, 255)),
(rastgele.randint(0, 255), rastgele.randint(0, 255), rastgele.randint(0, 255))
]

Daha Fazla Arka Plan Katmanı Ekleyin

Daha zengin bir paralaks efekti oluşturmak için daha fazla arka plan katmanı eklemeyi deneyebilirsiniz. Basitçe ek tanımlayın pygame. rekt nesneler, renkler ve hızlar:

# Bu kodu oyun döngüsünden önce ekleyin

arka plan_katmanları = [
pygame. Doğru(0, 0, ekran_genişliği, ekran_yüksekliği),
pygame. Doğru(0, 0, ekran_genişliği, ekran_yüksekliği),
pygame. Doğru(0, 0, ekran_genişliği, ekran_yüksekliği),
pygame. Doğru(0, 0, ekran_genişliği, ekran_yüksekliği)
]

arka plan_renkleri = [
(30, 30, 30),
(60, 60, 60),
(90, 90, 90),
(120, 120, 120)
]

arka plan_hızları = [1, 2, 3, 4]

Arka Planlar İçin Görselleri Kullanın

Düz renkler yerine görüntü dosyalarını arka plan olarak kullanabilirsiniz. Pygame, görüntüleri yüklemek ve işlemek için işlevler sağlar.

resim dosyalarını yükle arka plan_0.png, arka plan_1.png, Ve arka plan_2.png kullanarak pygame.image.load(). Performansı artırmak ve görüntüleri ekran boyutlarıyla eşleşecek şekilde ölçeklemek için convert() yöntemini kullanın. pygame.transform.scale().

# Bu kodu oyun döngüsünden önce ekleyin

arkaplan_resimleri = [
pygame.image.load("arka plan_0.png").dönüştürmek(),
pygame.image.load("arka plan_1.png").dönüştürmek(),
pygame.image.load("arka plan_2.png").dönüştürmek()
]

arka plan_hızları = [1, 2, 3]

için Ben içinde aralık (boy (background_images)):
boyut = (ekran_genişliği, ekran_yüksekliği)
background_images[i] = pygame.transform.scale (background_images[i], boyut)

Son olarak, görüntüleri kullanmak için arka plan katmanlarını çizdiğiniz döngüyü güncelleyin:

# Bu kodu oyun döngüsü içinde güncelleyin

için Ben içinde aralık (boy (arka plan_katmanları)):
arka plan_katmanları[i].x -= arka plan_hızları[i]

eğer background_layers[i].x <= -screen_width:
arka plan_katmanları[i].x = 0

screen.blit (background_images[i], background_layers[i])

Pygame projelerinizde kayan arka planlar uygularken göz önünde bulundurmanız gereken bazı en iyi uygulamaları burada bulabilirsiniz.

Performansı Optimize Edin

Kayan arka planlar, sürekli oluşturma ve güncellemeyi içerir. Sorunsuz bir oyun deneyimi sağlamak için kodunuzu optimize etmeyi ve gereksiz hesaplamaları en aza indirmeyi düşünün.

Katman Hızlarıyla Deneyin

Arka plan katmanlarının hızlarını ayarlamak farklı efektler oluşturabilir. Doğru dengeyi bulmak ve istenen görsel etkiyi elde etmek için farklı değerlerle oynayın.

Farklı Ekran Boyutlarında Test Edin

Kayan arka planlarınızın çeşitli ekran çözünürlüklerinde iyi çalıştığından emin olun. Farklı en boy oranları için dinamik ölçekleme uygulamayı veya farklı arka plan görüntüleri kullanmayı düşünün.

Uygun Görüntü Biçimlerini Kullanın

Arka planınız için resimler kullanmaya karar verirseniz, dosya boyutunu ve resim kalitesini dengelemek için uygun resim formatını (örn. PNG, JPEG) seçin. Resimlerinizi sıkıştırarak ve optimize ederek yükleme sürelerini de azaltabilirsiniz.

Bellek Kullanımını Düşünün

Arka planlarınız için çok sayıda yüksek çözünürlüklü görüntü kullanmayı planlıyorsanız, bellek gereksinimlerine dikkat edin. Büyük resimler önemli miktarda bellek tüketebilir ve potansiyel olarak oyununuzun performansını ve yanıt verebilirliğini etkileyebilir.

Kayan arka planları birleştirerek hareketli manzaralar, fütüristik şehir manzaraları veya su altı dünyaları gibi farklı ortamlar yaratabilirsiniz. Paralaks efekti dinamik bir dokunuş ekleyerek oyun dünyasını canlı ve etkileşimli hissettirir.

Oyunlarınızı oyuncular için daha eğlenceli ve çekici hale getirmek için kayan arka planlarla yaratıcı olasılıkları denemeyi, yinelemeyi ve keşfetmeyi unutmayın.