Güneşin doğuşu ve batışıyla atmosfer ve benzersiz oyun mekaniği ekleyin.

Gündüz-gece döngüsü oyunlarınıza sürükleyici bir unsur katabilir, görsellere çeşitlilik katabilir ve ilginç mekanikler yaratabilir. Minecraft, Animal Crossing ve Don't Starve gibi oyunlar bu tekniği etkili bir şekilde kullanır ve bu tekniği kendi oyunlarınıza, özellikle de gerçek zamanlı unsuru olan oyunlarınıza eklemeyi düşünebileceğiniz bir tekniktir.

Neyse ki Godot 4'te gece-gündüz döngüsünü başarmak her zamankinden daha kolay.

Godot Oyununu Kurmak

Gece-gündüz döngüsü uygulamasına dalmadan önce oyununuzun temelini oluşturun. Godot 4'te yeni bir 2D proje oluşturarak başlayın. Projenizi gerekli proje ayarlarıyla kurun.

Bu makalede kullanılan kod burada mevcuttur GitHub deposu ve MIT lisansı kapsamında kullanımınız ücretsizdir.

Şimdi bir oyuncu karakteri oluşturun. Sahnenize bir ekleyin KarakterBody2D. İçerisine bir ekleyin Çarpışma Şekli2D dikdörtgen şekilli ve Sprite2D. Bu, karakterinizi görsel olarak temsil edecektir.

instagram viewer

Oynatıcının hareket etmesine izin vermek için aşağıdaki GDScript kodunu kullanabilirsiniz. Bu betiği karakter düğümünüze ekleyin:

extends CharacterBody2D

var speed = 300

func _physics_process(delta):
var input_dir = Vector2.ZERO

if Input.is_action_pressed("ui_left"):
input_dir.x -= 1

if Input.is_action_pressed("ui_right"):
input_dir.x += 1

if Input.is_action_pressed("ui_up"):
input_dir.y -= 1

if Input.is_action_pressed("ui_down"):
input_dir.y += 1

velocity = input_dir.normalized() * speed
move_and_collide(velocity * delta)

Bu kod, oyuncunun ok tuşlarını kullanarak sola, sağa, yukarı ve aşağı hareket etmesini sağlar. Ayrıca biraz düşman ekle Oyuncunuzun kaçması için. Kullanmak StatikBody2D Bu düşmanlar için düğümler oluşturun ve şekillerini ve konumlarını buna göre ayarlayın.

Gündüz ve Gece Döngüsü için Zamanlayıcı Ekleme

Gündüz-gece döngüsü oluşturmak için sürekli çalışan, gündüz ve gece aşamaları arasında geçiş yapan bir zamanlayıcıya ihtiyacınız vardır. Bu zamanlayıcı, oyununuzdaki zamanın geçişini izlemekten sorumlu olacaktır.

Godot sahnenize bir Zamanlayıcı düğümü ekleyin. Bunu, Sahne panelinde sağ tıklayıp seçeneğini belirleyerek yapabilirsiniz. Düğüm Ekleve ardından arama Zamanlayıcı düğüm kitaplığında.

Zamanlayıcı düğümünü şuna benzer anlamlı bir adla yeniden adlandırın: GündüzGeceZamanlayıcı açıklık için. Denetçi panelinde Zamanlayıcı düğümünün özelliklerini yapılandırın. Özellikle, Bekleme zamanı özelliğini 0'a getirin (bu, zamanlayıcı başlamadan önceki ilk gecikmedir) ve Tek atış özelliği, zamanlayıcının tekrar etmesini sağlar.

Şimdi gündüz-gece döngüsünü yöneten bir GDScript kodu ekleyin:

extends Node2D

var day_duration = 30# Duration of the day in seconds
var night_duration = 30# Duration of the night in seconds

var is_day = true

func _ready():
# Start the timer when the scene loads
$DayNightTimer.start()

func _on_DayNightTimer_timeout():
if is_day:
# Transition from day to night
$DayNightTimer.start(day_duration)
is_day = false

# Add your code here for night-specific actions or visual changes
else:
# Transition from night to day
$DayNightTimer.start(night_duration)
is_day = true

# Add your code here for day-specific actions or visual changes

İçinde _hazır işlevi başlatın GündüzGeceZamanlayıcı sahne gündüz-gece döngüsünü başlatmak için yüklendiğinde. _on_DayNightTimer_timeout işlevi, zamanlayıcı sıfıra ulaştığında, yani gündüz ve gece arasında geçiş zamanı geldiğinde çalışacaktır.

Bu adımları takip ederek gündüz ve gece arasında geçiş yapan işlevsel bir gündüz-gece zamanlayıcısına sahip olacaksınız. Godot oyununuza günün saatine göre dinamik oyun öğeleri ve görsel değişiklikler eklemenizi sağlar.

Arka Planı Gündüz ve Geceye Uyarlama

Gündüz-gece döngünüzü tamamlamak için gündüz ve gece arasındaki geçişleri görsel olarak temsil edecek bir yola ihtiyacınız var. Yerleşik kullanabilirsiniz RenkliDüzey hem gündüz hem de gece için uygun bir arka plan oluşturmak için düğüm. Bu yaklaşım, daha yumuşak geçişlere ve görseller üzerinde daha fazla kontrole olanak tanır.

Godot sahnenize bir ekleyin RenkliDüzey düğüm. Bu düğüm, geceyi ve gündüzü temsil edecek şekilde renk değiştiren arka planınız olarak hizmet edecektir. Yeniden adlandır RenkliDüzey gibi anlamlı bir şeyin düğümü Arka PlanDikdörtgen. Görünüm alanının tamamını kapladığından emin olarak bunu arka plan katmanı olarak konumlandırın.

Denetçi panelinde, Renk özelliğini gündüzü temsil etmesi gereken ilk arka plan renginize ekleyin. Örneğin şunları kullanabilirsiniz: Renk (0,5, 0,5, 0,8) açık mavi gündüz gökyüzü için.

Şimdi GDScript kodunuzu aşağıdakilerle çalışacak şekilde güncelleyin: RenkliDüzey düğüm:

func _on_day_night_timer_timeout():
if is_day:
# Transition from day to night
$DayNightTimer.start(day_duration)
is_day = false

# Add your code here for night-specific actions or visual changes

# Update the background color to indicate day
$BackgroundRect.color = Color(0.5, 0.5, 0.8) # Light blue for day
else:
# Transition from night to day
$DayNightTimer.start(night_duration)
is_day = true

# Add your code here for day-specific actions or visual changes

# Update the background color to indicate night
$BackgroundRect.color = Color(0, 0, 0) # Black for night

Rengini güncelle Arka PlanDikdörtgen günün saatini yansıtacak şekilde düğüm. Örneğin geceye geçiş yaparken siyaha ayarlayarak karanlık bir arka plan oluşturun. Gündüze geçiş yaparken açık maviye ayarlayın.

Gündüz-Gece Döngüsü için Ses Efektleri

Ses efektleri, Godot'taki gündüz-gece döngünüzdeki sürükleyiciliği ve gerçekçiliği arttırmada çok önemli bir rol oynayabilir. Oyunculara işitsel ipuçları vererek gece ve gündüz arasındaki geçişi daha büyüleyici hale getiriyorlar. Kolayca yapabilirsiniz Godot oyununuza ses efektleri ekleyin.

Başlamadan önce, gündüz ve gece seslerini temsil eden ses kaynaklarına (ses dosyaları) sahip olduğunuzdan emin olun. Örneğin, gündüzleri kuş cıvıltıları, geceleri ise cırcır böcekleri veya baykuş sesleri duyabilirsiniz.

Godot sahnenize iki tane ekleyin AudioStreamPlayer2D düğümleri belirleyin ve bunları uygun şekilde adlandırın. Onlara şöyle bir ad verebilirsiniz $DaytimeSounds Ve $Gece ZamanıSesleri.

Şimdi gündüz ve gece arasındaki ses geçişlerini yönetmek için GDScript kodunu güncelleyin:

func _on_day_night_timer_timeout():
if is_day:
# Transition from day to night
$DayNightTimer.start(day_duration)
is_day = false

# Play daytime sounds
$NighttimeSounds.stop() # Stop nighttime sounds
$DaytimeSounds.play() # Start daytime sounds

else:
# Transition from night to day
$DayNightTimer.start(night_duration)
is_day = true

# Play nighttime sounds
$DaytimeSounds.stop() # Stop daytime sounds
$NighttimeSounds.play() # Start nighttime sounds

Gündüz-gece zamanlayıcısı zaman aşımına uğradığında, bu kod hangi aşamaya geçmesi gerektiğini kontrol eder ve buna uygun sesleri çalar.

Kişiselleştirmenizi yapmaktan çekinmeyin telif hakkı olmayan ses efektleri oyununuzun temasına ve atmosferine uyacak şekilde. Ayrıca daha zengin bir işitsel deneyim oluşturmak için birden fazla ses parçasını katmanlayabilir veya ses efektlerini (yankı, yankı vb.) kullanabilirsiniz.

Godot Oyunlarınızı Gündüz-Gece Döngüsüyle Daha İlgi Çekici Hale Getirin

Godot oyununuzda gece-gündüz döngüsünü uygulamak, oyuncunun oyuna dahil olmasını ve katılımını önemli ölçüde artırabilir. Oyun dünyanıza derinlik katar, dinamik oyun öğeleri sunar ve yaratıcı hikaye anlatımına olanak tanır.

Gece-gündüz döngüsünü oyununuzun benzersiz temasına ve mekaniğine göre uyarlamayı unutmayın ve tereddüt etmeyin Gerçekten büyüleyici bir oyun yaratmak için farklı görsel ve oyun efektlerini denemek deneyim.