Lisage oma mängu põhitee või kõrvalülesannete jaoks stiimuleid tänuväärsete kogumisobjektidega.

Võimsuste ja kogumisobjektide lisamine oma Godoti mängule võib märkimisväärselt parandada mängija kogemust, muutes mängu kaasahaaravamaks ja põnevamaks. Võimsused võivad anda mängijale erilisi võimeid või ajutisi eeliseid, samas kui kogumisobjektid võivad olla preemiaks, suurendades mängija skoori või pakkudes muid eeliseid.

Õnneks on tänu intuitiivsele skriptikeelele ja sisseehitatud füüsikamootorile Godot's võimsuste ja kogumisobjektide loomine lihtne.

Godot' mängu seadistamine

Alustamiseks looge sisse 2D-mäng Godoti mängumootor ja seadistage mängija tegelane. Looge uus stseen ja lisage a CharacterBody2D sõlm. Sees CharacterBody2D, Lisa Kokkupõrkekuju2D ristküliku kujuga, mis tähistab mängija kokkupõrkeala ja a Sprite2D mängija iseloomu kuvamiseks.

Selle demo kood on saadaval selles GitHubi hoidla ja seda saate MIT-i litsentsi alusel tasuta kasutada.

Nüüd kirjutage GDScripti kood, et hallata mängija liikumist ja kokkupõrkeid ekraani piiridega. Siin on mängija liikumise täielik kood:

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
var velocity = Vector2()

if Input.is_action_pressed('ui_right'):
velocity.x += 1

if Input.is_action_pressed('ui_left'):
velocity.x -= 1

if Input.is_action_pressed('ui_down'):
velocity.y += 1

if Input.is_action_pressed('ui_up'):
velocity.y -= 1

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

See kood võimaldab mängijal liikuda nooleklahvide abil vasakule, paremale, üles ja alla. Samuti tagab see, et mängija ei liiguks liiga kiiresti, normaliseerides kiirusvektorit ja rakendades kiirustegurit.

Lisaks saate luua oma kokkupõrkealade ja spraitidega vaenlase objekte. Vaenlase liikumisega toimetulemiseks võite kasutada sarnast _füüsika_protsess toimida mängijana.

Kogumisobjektide loomine

Kollektsionäärid on paljudes mängudes hädavajalikud ja levinud tüüp on mündid. Looge kollektsioneeritav münt, mis suurendab kogumisel mängija skoori 20 punkti võrra.

Esiteks looge uus stseen ja lisage Area2D sõlm kollektsioneeritava mündina. Sees Area2D, Lisa Kokkupõrkekuju2D ringi kujuga, mis tähistab kokkupõrkeala ja a Sprite2D mündi kuvamiseks.

Järgmisena lisage mängija skriptile järgmine GDScripti kood:

extends CharacterBody2D

var score = 0

func _on_area_2d_body_entered(body):
get_parent().get_node("Collectibles").queue_free()
score += 20

See kood kasutab _on_area_2d_body_entered signaal, et tuvastada, millal mängija tegelane siseneb kollektsioneeritava mündi kokkupõrkealasse. Kui see tuvastab mängija tegelase, koguvad nad mündi (kutse numbrile queue_free() eemaldab selle sündmuskohalt) ja suurendavad nende punktisummat 20 punkti võrra.

Võimsuste loomine

Võimsused võivad teie mängule põnevust lisada, pakkudes mängijale ajutisi eeliseid või võimeid. Looge toide, mis aktiveerib kogumisel 10-sekundilise taimeri. Kui mängija selle aja jooksul vaenlast puudutab, hävitab ta vaenlase.

Toiteallika loomiseks looge uus stseen ja lisage Area2D sõlm. Sees Area2D, Lisa Kokkupõrkekuju2D ristküliku kujuga ja a Sprite2D sisselülituse kuvamiseks.

Nüüd lisage oma mängija skriptile järgmine kood:

extends CharacterBody2D

var timer_duration = 10
var power_up_active = false

func _on_powerups_body_entered(body):
get_parent().get_node("Powerups").queue_free()
power_up_active = true

# Start the timer
await get_tree().create_timer(10.0).timeout
power_up_active = false

func _on_enemy_body_entered(body):
if power_up_active:
get_parent().get_node("Enemy").queue_free()
else:
queue_free()

See kood kasutab _on_powerups_body_entered signaal, et tuvastada, millal mängija tegelane sisse lülitab. Kui nad seda teevad, eemaldab see stseenist toite ja seadistab power_up_active muutuja tõeseks.

Funktsioon käivitab lõpuks taimeri kasutamise ootama ja loo_taimer, kestusega 10 sekundit. Selle aja jooksul, kui mängija tegelane puudutab vaenlast, hävitab ta selle.

Kogutud kogumisobjektide kuvamine

Mängija kogutud kogumisobjektide arvu kuvamine võib lisada saavutus- ja edutunnet. Selleks alustage a Silt sõlme ja asetage see ekraani vasakusse ülanurka.

Seejärel lisage sildi teksti värskendamiseks järgmine GDScript-kood, kui mängija kogub kogumisobjekti:

extends Label

func _ready():
self.text = "Collectibles: 0"

Player.gd skriptis:

extends CharacterBody2D

var bar

func _ready():
bar = get_parent().get_node("Label")

func _physics_process(delta):
bar.text = "Collectibles: " + str(score / 20)

See kood värskendab sildi teksti saadud kogumisobjektide arvuga, mille saate arvutada, jagades mängija punktisumma 20-ga.

Kaasa arvatud lisafunktsioonid

Mängu täiustamiseks saate oma lisaseadmete ja kogumisobjektide süsteemile lisada mitmeid muid funktsioone. Siin on mõned ideed:

Mitu võimsuse taset

Selle asemel, et kasutada ainult ühte tüüpi võimsust, saate kasutusele võtta erineva tasemega võimsuse, mis annavad üha võimsamaid võimeid. Näiteks võite põhilise kiiruse suurendamise uuendada ülikiire võimsusega, mis muudab mängija veelgi kiiremaks.

Kombineeritud võimendused

Looge võimsuste kombinatsioone, mis pakuvad koos kogumisel ainulaadseid ja tugevaid efekte. Maksimaalse eelise saavutamiseks julgustage mängijaid strateegiaid koostama ja katsetama erinevate võimsuse kombinatsioonidega.

Võimsuste piiramine

Rakendage jahtumist või piirake seda, kui sageli saab mängija teatud võimsust koguda. See lisab mängija jaoks otsustamise elemendi, kuna ta peab valima õige hetke sisselülitamiseks.

Kogutavad sordid

Kujundage erinevat tüüpi kogumisesemeid erinevate auhindadega. Mõned kogumisobjektid võivad pakkuda lisaelusid, ajutisi huvilisi või avada erifunktsioone teie platvormimäng.

Võimsuste ja kogumisobjektide rakendamise parimad tavad

Kui rakendate oma Godoti mängus võimsusi ja kogumisobjekte, võtke arvesse järgmisi parimaid tavasid.

Tasakaalu ja mängu testimine

Testige oma jõuallikaid ja kogumisobjekte põhjalikult, et veenduda, et need ei tekita mängus tasakaalustamatust. Reguleerige efekte ja auhindu, et pakkuda mängijatele õiglast ja nauditavat kogemust.

Visuaalne ja heliline tagasiside

Kasutage selgeid ja visuaalselt atraktiivseid ikoone või spraite, et esindada jõuallikaid ja kogumisobjekte. Lisaks lisada sobivad autoriõiguseta heliefektid anda rahuldavat tagasisidet, kui mängijad neid koguvad.

Kasutajaliides (UI)

Kujundage puhas ja intuitiivne kasutajaliides, mis kuvab asjakohast teavet toiteallikate ja kogumisobjektide kohta. Näidake aktiivseks sisselülitamiseks järelejäänud aega, kogutud kogutavate esemete arvu ja muid asjakohaseid üksikasju.

Järjepidevus

Veenduge, et jõuallikad ja kogumisobjektid oleksid kooskõlas teie mängu üldise teema ja mehhanismidega. Disaini ja rakendamise järjepidevus aitab säilitada ühtset mängukogemust.

Salvesta ja laadi

Kui teie mäng sisaldab võimsusi või kogumisobjekte, mis püsivad mänguseansside jooksul, rakendage mängija edenemise säilitamiseks salvestamise ja laadimise süsteem. See tagab sujuva kogemuse ja motiveerib mängijaid mängu tagasi pöörduma.

Järgides neid parimaid tavasid, saate luua viimistletud ja kaasahaarava jõu- ja kogumissüsteemi, mis rikastab teie Godoti mängu mängimist, muutes selle mängijate jaoks nauditavamaks.

Muutke Godoti mängud kaasahaaravamaks võimsuste ja kogumisobjektidega

Võimsuste ja kogumisobjektide lisamine oma Godoti mängule võib märkimisväärselt suurendada selle seotust ja taasesitatavust. Võimsused pakuvad mängijatele põnevaid ja ajutisi eeliseid.

Võimsuste ja kogumisobjektide hoolikalt kavandades ja juurutades saate luua oma mängijatele kaasahaaravama ja nauditavama mängukogemuse. Godoti paindlikkus ja lihtsus muudavad mänguarendajate jaoks lihtsaks kaasahaarvate lisaseadmete ja kogumisobjektide loomise, mis parandavad nende mängu mehaanikat ja naudingut.