Додајте атмосферу и јединствену механику играња уз излазак и пад сунца.

Циклус дан-ноћ може додати импресиван елемент вашим играма, додати разноликост визуелном приказу и створити занимљиву механику. Игре као што су Минецрафт, Анимал Цроссинг и Дон'т Старве ефикасно користе ову технику и можда бисте је могли додати својим играма, посебно онима са елементом у реалном времену.

На срећу, у Годоу 4, постизање циклуса дан-ноћ је лакше него икад.

Подешавање игре Годо

Пре него што уђете у имплементацију циклуса дан-ноћ, поставите основу за своју игру. Започните креирањем новог 2Д пројекта у Годоту 4. Подесите свој пројекат са потребним подешавањима пројекта.

Код који се користи у овом чланку доступан је у овом ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.

Сада креирајте лик играча. У својој сцени додајте а ЦхарацтерБоди2Д. Унутар њега додајте а ЦоллисионСхапе2Д са обликом правоугаоника и а Сприте2Д. Ово ће визуелно представити ваш лик.

Да бисте дозволили играчу да се креће, можете користити следећи ГДСцрипт код. Приложите ову скрипту свом карактерном чвору:

instagram viewer
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)

Овај код ће омогућити играчу да се креће лево, десно, горе и доле користећи тастере са стрелицама. Можете такође додајте неке непријатеље да би ваш играч избегао. Користите СтатицБоди2Д чворове за ове непријатеље и прилагодите њихове облике и положаје у складу са тим.

Додајте тајмер за дневни и ноћни циклус

Да бисте креирали циклус дан-ноћ, потребан вам је тајмер који ради непрекидно, наизменично између дневне и ноћне фазе. Овај тајмер ће бити одговоран за праћење протока времена у вашој игри.

Додајте тајмер чвор у своју Годоову сцену. То можете да урадите тако што ћете десним тастером миша кликнути на панел Сцене и изабрати Додај чвор, а затим тражите Тајмер у библиотеци чворова.

Преименујте тајмер чвор у нешто смислено као ДаиНигхтТимер за јасноћу. Конфигуришите својства чвора Тајмер у панелу Инспецтор. Конкретно, подесите Време чекања својство на 0 (ово је почетно кашњење пре покретања тајмера) и проверите Један ударац својство тако да се тајмер понавља.

Сада додајте ГДСцрипт код који управља циклусом дан-ноћ:

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

У _спреман функцију, покрените ДаиНигхтТимер када се сцена учита да покрене циклус дан-ноћ. Тхе _он_ДаиНигхтТимер_тимеоут функција ће се покренути сваки пут када тајмер достигне нулу, а то је када је време за прелаз између дана и ноћи.

Пратећи ове кораке, имаћете функционални тајмер дан-ноћ који прелази између дана и ноћи, омогућавајући вам да додате динамичке елементе играња и визуелне промене у вашу Годот игру на основу доба дана.

Прилагођавање позадине за дан и ноћ

Да бисте употпунили циклус дан-ноћ, потребан вам је начин да визуелно представите прелазе између дана и ноћи. Можете користити уграђену ЦолорРецт чвор за креирање одговарајуће позадине и за дан и за ноћ. Овај приступ омогућава глаткије прелазе и већу контролу над визуелним приказом.

У вашој Годо сцени додајте а ЦолорРецт чвор. Овај чвор ће служити као ваша позадина која мења боју да би представљала дан и ноћ. Преименујте тхе ЦолорРецт чвор на нешто смислено као БацкгроундРецт. Поставите га као позадински слој, осигуравајући да покрива цео прозор за приказ.

У панелу Инспектор, подесите Боја својство на вашу почетну боју позадине, која би требало да представља дан. На пример, можете користити Боја (0,5, 0,5, 0,8) за светлоплаво дневно небо.

Сада ажурирајте свој ГДСцрипт код за рад са ЦолорРецт чвор:

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

Ажурирајте боју БацкгроундРецт чвор да одражава доба дана. На пример, поставите је на црно када прелазите у ноћ, стварајући тамну позадину. Када прелазите на дан, подесите га на светло плаву.

Звучни ефекти за циклус дан-ноћ

Звучни ефекти могу да играју кључну улогу у побољшању уроњености и реализма вашег циклуса дан-ноћ у Годоу. Они дају звучне сигнале играчима, чинећи прелаз између дана и ноћи привлачнијим. Можете лако додајте звучне ефекте вашој игри Годот.

Пре него што почнете, уверите се да имате аудио ресурсе (звучне датотеке) који представљају дневне и ноћне звукове. На пример, током дана можете чути цвркут птица, а ноћу цврчак или сова.

У вашој Годо сцени додајте два АудиоСтреамПлаиер2Д чворове и именовати их на одговарајући начин. Можете их назвати некако $ДаитимеСоундс и $НигхттимеСоундс.

Сада ажурирајте ГДСцрипт код да бисте управљали прелазима звука између дана и ноћи:

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

Када тајмер дан-ноћ истекне, овај код проверава у коју фазу треба да пређе и пушта одговарајуће звукове који одговарају.

Слободно прилагодите своје звучни ефекти без ауторских права да одговара теми и атмосфери ваше игре. Такође можете слојевити више аудио записа или користити аудио ефекте (реверб, ехо, итд.) да бисте створили богатије слушно искуство.

Учините своје Годот игре привлачнијим циклусом дан-ноћ

Примена циклуса дан-ноћ у вашој игри Годот може значајно побољшати урањање и ангажовање играча. Додаје дубину вашем свету игре, уводи елементе динамичке игре и омогућава креативно приповедање.

Не заборавите да прилагодите циклус дан-ноћ према јединственој теми и механици ваше игре и не оклевајте да експериментишете са различитим визуелним ефектима и ефектима игре како бисте створили заиста задивљујућу игру искуство.