أضف جوًا وآليات لعب فريدة من نوعها مع شروق الشمس وهبوطها.

يمكن لدورة الليل والنهار أن تضيف عنصرًا غامرًا إلى ألعابك، وتضيف تنوعًا إلى العناصر المرئية، وتنشئ آليات مثيرة للاهتمام. تستخدم ألعاب مثل Minecraft وAnimal Crossing وDon’t Starve هذه التقنية بشكل فعال، وهي إحدى الألعاب التي قد تفكر في إضافتها إلى ألعابك الخاصة، لا سيما تلك التي تحتوي على عنصر الوقت الفعلي.

لحسن الحظ، في جودو 4، أصبح تحقيق دورة الليل والنهار أسهل من أي وقت مضى.

إعداد لعبة جودو

قبل الغوص في تنفيذ دورة الليل والنهار، قم بإعداد الأساس للعبتك. ابدأ بإنشاء مشروع ثنائي الأبعاد جديد في Godot 4. قم بإعداد مشروعك باستخدام إعدادات المشروع الضرورية.

الكود المستخدم في هذه المقالة متاح في هذا مستودع جيثب وهو مجاني للاستخدام بموجب ترخيص MIT.

الآن، قم بإنشاء شخصية اللاعب. في المشهد الخاص بك، أضف أ شخصيةBody2D. بداخله أضف أ CollisionShape2D مع شكل مستطيل و Sprite2D. وهذا سوف يمثل شخصيتك بصريا.

للسماح للاعب بالتحرك، يمكنك استخدام كود GDScript التالي. قم بإرفاق هذا البرنامج النصي بعقدة شخصيتك:

extends CharacterBody2D

var speed = 300

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

instagram viewer

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)

سيسمح هذا الرمز للاعب بالتحرك يسارًا ويمينًا ولأعلى ولأسفل باستخدام مفاتيح الأسهم. بامكانك ايضا إضافة بعض الأعداء لكي يتمكن لاعبك من المراوغة. يستخدم StaticBody2D عقد لهؤلاء الأعداء وضبط أشكالهم ومواضعهم وفقًا لذلك.

أضف مؤقتًا لدورة النهار والليل

لإنشاء دورة ليلية نهارية، تحتاج إلى مؤقت يعمل بشكل مستمر، بالتناوب بين مراحل النهار والليل. سيكون هذا المؤقت مسؤولاً عن تتبع مرور الوقت في لعبتك.

أضف عقدة Timer إلى مشهد Godot الخاص بك. يمكنك القيام بذلك عن طريق النقر بزر الماوس الأيمن في لوحة Scene، واختيار إضافة عقدة، ومن ثم البحث عنه الموقت في مكتبة العقدة.

أعد تسمية عقدة المؤقت إلى شيء ذي معنى مثل DayNightTimer للتوضيح. قم بتكوين خصائص عقدة المؤقت في لوحة المفتش. على وجه التحديد، تعيين وقت الانتظار الخاصية إلى 0 (هذا هو التأخير الأولي قبل بدء المؤقت) وتحقق من ضربة واحدة الخاصية بحيث يتكرر الموقت.

الآن، أضف كود GDScript الذي يدير دورة الليل والنهار:

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

في ال _مستعد وظيفة، ابدأ DayNightTimer عندما يتم تحميل المشهد لبدء دورة الليل والنهار. ال _on_DayNightTimer_timeout سيتم تشغيل الوظيفة في كل مرة يصل فيها المؤقت إلى الصفر، وهو الوقت الذي يحين فيه وقت الانتقال بين النهار والليل.

باتباع هذه الخطوات، سيكون لديك مؤقت ليلي نهاري يعمل على الانتقال بين النهار والليل، مما يسمح لك بإضافة عناصر اللعب الديناميكية والتغييرات المرئية إلى لعبة Godot الخاصة بك بناءً على الوقت من اليوم.

التكيف مع الخلفية ليلا ونهارا

لاستكمال دورة الليل والنهار، تحتاج إلى طريقة لتمثيل التحولات بين النهار والليل بشكل مرئي. يمكنك استخدام المدمج في ColorRect عقدة لإنشاء خلفية مناسبة ليلا ونهارا. يتيح هذا الأسلوب انتقالات أكثر سلاسة وتحكمًا أكبر في العناصر المرئية.

في مشهد Godot الخاص بك، أضف أ ColorRect العقدة. ستكون هذه العقدة بمثابة الخلفية التي يتغير لونها لتمثل النهار والليل. إعادة تسمية ColorRect العقدة إلى شيء ذي معنى مثل الخلفية. ضعها كطبقة خلفية، مع التأكد من أنها تغطي إطار العرض بأكمله.

في لوحة المفتش، قم بتعيين لون خاصية لون الخلفية الأولي الخاص بك، والذي ينبغي أن يمثل النهار. على سبيل المثال، يمكنك استخدام اللون (0.5، 0.5، 0.8) لسماء النهار الزرقاء الفاتحة.

الآن، قم بتحديث كود GDScript الخاص بك للعمل مع ملف ColorRect العقدة:

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

تحديث لون الخلفية عقدة لتعكس الوقت من اليوم. على سبيل المثال، اضبطه على اللون الأسود عند الانتقال إلى الليل، مما يؤدي إلى إنشاء خلفية داكنة. عند الانتقال إلى النهار، اضبطه على اللون الأزرق الفاتح.

المؤثرات الصوتية لدورة النهار والليل

يمكن أن تلعب المؤثرات الصوتية دورًا حاسمًا في تعزيز الانغماس والواقعية في دورة الليل والنهار في Godot. أنها توفر إشارات سمعية للاعبين، مما يجعل الانتقال بين النهار والليل أكثر جاذبية. يمكنك بسهولة أضف مؤثرات صوتية إلى لعبة Godot الخاصة بك.

قبل أن تبدأ، تأكد من أن لديك موارد صوتية (ملفات صوتية) تمثل أصوات النهار والليل. على سبيل المثال، قد يكون لديك أصوات زقزقة الطيور في النهار والصراصير أو صيحات البومة في الليل.

في مشهد جودو الخاص بك، أضف اثنين AudioStreamPlayer2D العقد وتسميتها بشكل مناسب. يمكنك تسميتهم بشيء من هذا القبيل $DaytimeSounds و $نايت تايم ساوندس.

الآن، قم بتحديث كود GDScript لإدارة انتقالات الصوت بين النهار والليل:

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

عندما تنتهي مهلة مؤقت الليل والنهار، يتحقق هذا الرمز لمعرفة المرحلة التي يجب الانتقال إليها ويقوم بتشغيل الأصوات المناسبة لمطابقتها.

لا تتردد في تخصيص الخاص بك مؤثرات صوتية خالية من حقوق النشر لتتناسب مع موضوع وأجواء لعبتك. يمكنك أيضًا وضع طبقات متعددة من المسارات الصوتية أو استخدام المؤثرات الصوتية (تردد الصدى والصدى وما إلى ذلك) لإنشاء تجربة سمعية أكثر ثراءً.

اجعل ألعاب Godot الخاصة بك أكثر جاذبية مع دورة النهار والليل

يمكن أن يؤدي تنفيذ دورة ليلية نهارية في لعبة Godot الخاصة بك إلى تعزيز انغماس اللاعب ومشاركته بشكل كبير. إنها تضيف عمقًا إلى عالم لعبتك، وتقدم عناصر لعب ديناميكية، وتسمح بسرد القصص بشكل إبداعي.

تذكر أن تقوم بتخصيص دورة الليل والنهار بما يتناسب مع موضوع لعبتك وآلياتها الفريدة، ولا تتردد لتجربة تأثيرات بصرية ومؤثرات لعب مختلفة لإنشاء لعبة آسرة حقًا خبرة.