Како имплементирати циклус дан-ноћ у Годоу

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

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

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

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

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

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

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

 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
var night_duration = 30

var is_day = true

func _ready():
    
    $DayNightTimer.start()

func _on_DayNightTimer_timeout():
    if is_day:
        
        $DayNightTimer.start(day_duration)
        is_day = false

        
    else:
        
        $DayNightTimer.start(night_duration)
        is_day = true

        

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

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

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

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

  Ксбок Сериес Кс наспрам Ксбок Сериес С: Шта да купите?

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

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

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

 func _on_day_night_timer_timeout():
    if is_day:
        
        $DayNightTimer.start(day_duration)
        is_day = false

        

        
        $BackgroundRect.color = Color(0.5, 0.5, 0.8)
    else:
        
        $DayNightTimer.start(night_duration)
        is_day = true

        

        
        $BackgroundRect.color = Color(0, 0, 0)

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

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

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

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

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

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

 func _on_day_night_timer_timeout():
    if is_day:
        
        $DayNightTimer.start(day_duration)
        is_day = false
     
        
        $NighttimeSounds.stop()
        $DaytimeSounds.play()
         
    else:
        
        $DayNightTimer.start(night_duration)
        is_day = true

        
        $DaytimeSounds.stop()
        $NighttimeSounds.play()

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

  Шта је сагоревање креатора садржаја? Како то превазићи

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

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

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

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