0% au considerat acest document util (0 voturi)
14 vizualizări13 pagini

Tutorial Freeway Godot

Tutorialul oferă instrucțiuni pas cu pas pentru configurarea unui proiect de joc în motorul Godot, numit Freeway. Acesta acoperă crearea scenelor pentru jucător, linia de sosire, mașini și HUD, precum și importul activelor necesare. De asemenea, include detalii despre scrierea scripturilor pentru funcționalitatea jocului și gestionarea coliziunilor.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
14 vizualizări13 pagini

Tutorial Freeway Godot

Tutorialul oferă instrucțiuni pas cu pas pentru configurarea unui proiect de joc în motorul Godot, numit Freeway. Acesta acoperă crearea scenelor pentru jucător, linia de sosire, mașini și HUD, precum și importul activelor necesare. De asemenea, include detalii despre scrierea scripturilor pentru funcționalitatea jocului și gestionarea coliziunilor.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

1

Motorul Godot - Tutorial Freeway

● Conteúdo:
○ Configurare de proiect
○ A crea cina Player-ului
○ Crea a cena da Linha de Chegada
○ A crea a cena do jogo principal
○ Crea cena mașinilor
○ Creare cina la HUD

● Configurarea proiectului
Managerul de proiect este fereastra care va apărea prima dată când deschizi Godot.
În această fereastră poți vedea o listă a proiectelor tale. Poți alege unul.
proiectați și faceți clic pe „Rulați” pentru a juca un joc existent sau faceți clic pe „Editați” pentru
a lucra la el în Godot.

Cum probabil că încă nu ai niciun proiect, atunci:

● Clique apăsați pe butonul "Proiect Nou". Va apărea fereastra de creare a proiectului;


● Faceți clic pe butonul „Răsfoire” pentru a schimba directorul computerului dvs. unde
dorește să salveze proiectul;
● Introduceți "Freeway" (numele jocului) în "Numele proiectului" și, apoi, faceți clic
em“Create Folder”para criar a pasta do jogo;
● Menține selecionat "OpenGL ES 3.0";
● Clique pe butonul „Creare și Editare”.
2

Pentru a configura dimensiunea ferestrei, accesați „Proiect” > „Setări proiect” > „Afișare”
„Fereastră”. În „Dimensiune”, alterează „Lăț ime” pentru1280Înălțime 720. Em“Stretch”,
coloque "Mod" pentru2dAspect păstrează .

Pentru a importa activele (imagini și sunete), deschideți folderul în managerul de fișiere


de sistemul dumneavoastră de operare și copiați materialele jocului în interiorul dosarului
proiectul tău. O modalitate mai ușoară de a deschide dosarul proiectului este să faci clic cu butonul
drept în dosarul rădăcină („res://”) și în „Deschide în Manager de fișiere”. Vei găsi
activele jocului în AVA.

● Crearea scenei pentru Jucător

Prima scenă care va fi creată va fi Jucătorul. Pentru a adăuga


nod rădăcină al scenei, faceți clic pe butonul "Alt Nod" și adăugați
o notăZona2Dla cină. CuArea2Dputem detecta
obiecte care se suprapun sau se ciocnesc cu Jucătorul.

Acum că am definit nodul rădăcină al scenei, putem adăuga


noi suplimentare pentru a oferi mai multe funcționalități. Adăugați
următoarele noduriSpriteAnimat, FormaColiziune2De
AudioStreamPlayer2Dca fiii noduluiZona2D.
3

Renumește nodurile:Zona2DparaJucător,
SpriteAnimat para Animatie;
FormaDeColiziune2D paraColiziune e
AudioStreamPlayer2DparaAudio. O Godot
va afișa un pictogramă de avertizare (în galben) lângă
nódul din arborele de scenă. Vom schimba
proprietăți ale nodurilor pentru ca aceste alerte să fie
removidos.

Fă clic pe nodAnimatie(AnimetedSprite) e vá em
"Cadre">"SpriteFrames noi". Va apărea o
raftul din partea inferioară pentru a configura a
animarea Spritelor. Dând clic pe "Nou
Animaț ie, adaugă două animaț ii:vârfule
jos.

În fiecare dintre animații, trage Sprites


(din interiorul dosarului "assets/galinha/cima" și
assets/galinha/baixo în managerul de fișiere
pentru zona de „Cadru de animație”. Schimbă „Viteză”
para8e diminua dimensiunea Sprites-urilor, schimbând
„Scale”para0.3emxe emy.
4

Faceți mergi la "Shape" > "New CircleShape2D".


clic pe nodColiziune(CollisionShape2D)
Altere dimensiunea cercului de coliziune creat astfel încât să acopere tot Sprite-ul.
pui. Fă clic pe nodAudio(AudioStreamPlayer2D) e arraste o áudio care se redă
som de colisão ("assets/sons/[Link]") pentru proprietatea "Stream".

Pentru a crea un script în scenăJucătorfaceți clic dreapta pe nodul rădăcină


(Jucător) dați clic pe „Atașați Script”. Scrieți codul jucătorului, așa cum este în fragmentul de
codul de mai jos.

extindeZona2D

exporta viteza = 100

varscreen_size
varposicao_inicial =Vector2(640, 690)

punct de semnal

func_ready():
screen_size =get_viewport_rect().size

funcț ie_procesează(delta):

varvelocity = Vector2()
dacăInput.is_action_pressed("ui_up"):
viteza.y -= 1
dacaInput.is_action_pressed("ui_down"):
viteza.y += 1
5

viteza = [Link]ă() * viteză


dacă lungimea vitezei > 0:
$[Link]()
altfel:
$[Link]()

dacă viteza.y > 0:


$[Link] = "baixo"
altfel:
$[Link] = "cima"

poziț ia += viteza * delta


position.y = clamp(position.y, 0, dimensiunea_ecranului.y)

func_on_Player_body_entered(body):

[Link] == "LinhaChegada":
emise_semnal("pontua")
altfel:
$[Link]()

position = posicao_inicial

OBS: Pentru a conecta semnalul „body_entered” în scriptul deJucător, faceți clic pe Jucător,
„Node”>„body_entered”>„Connect”>„Player”>„Connect”. A declarația da
funcția va fi creată singură (nu tastați, conectați). Dar pentru a testa funcția
“_on_Player_body_entered”será necessário criar primeiro a cena da Linha de
Sosire. Salvează scena.

● Crearea scenei Liniei de Sosire

Creează o nouă scenă („Adaugă o nouă scenă”) și introdu un


nodRigidBody2Dca tată al scenei. Renumește-l în
Linia de sosireși adaugă ca doi copii: unulSprite
e umFormaDeColiziune2D.

Em Sprite daLiniaDeSosire, trage imaginea


„ assets/[Link]” pentru „ Textură”Sprei. Em
FormaDeColiziune2DdeLinieDeSosire, mergi la "Formă"
„Noua RectangleShape2D” ajustează o formă de
coliziune în imagineaSprite.

Agora da é posibil a percepe a funcție


_on_Player_body_entered" detectând coliziunea
când găina trece linia de sosire.
6

Faceți clic peLiniaFinală(RigidBody2D) mergi la „Gravity Scale” și schimbă-l la 0.


Salut la cină.

● Crearea scenei jocului principal

Creează o nouă scenă cu un Nod ca rădăcină. Pentru asta, fă clic pe „Adaugă un nou
scene" > "Alt Nod" > "Nod". Renumeș te unNodparaPrincipal. Insira ca fiu de
PrincipalumSpritee chame-o de PistaÎncărcați imaginea, trăgând
„assets/[Link]” pentru proprietatea „Textură” dePista. Această imagine
reprezintă un fundal al jocului și are mai multe indicii.

Adaugă scenaJucătorca un alt fiu dePrincipal. Pentru asta, faceți clic pe "Instanță
Scena copilului">"cenas/[Link]">"Deschide". Fă acelaș i proces pentru a insera o
cenaLinia de sosireca fiu dePrincipal.

Faceți clic pe nod Pista(Sprite) debifați opțiunea „Offset” > „Centered”, în dock-ul
inspector, asta va alinia Sprite-ul cu ecranul jocului.

Faceți clic pe nod JucătorfiulPrincipal) e em “Transform”>“Poziție”, alterează valoarea de


x e y pentru640e690, respectiv. Aceasta va poziționa corect găina în
hartă. Salvează o scenă.
7

● Creează scena ma ș inilor

Adăugați o nouă scenă pentru a reprezenta


toate mașinile. Pentru aceasta, faceți clic pe
„Adaugă o nouă scenă” > „Alt Nod” e
insera unRigidBody2Dca rădăcină a
copacul scenelor cu mașini. Ca niște copii,
adăugați un arbore: unSpriteAnimat,
umCollisionShape2D e um
NotifierVizibilitate2DFigura de mai sus
arată cum va arăta arborele de scenă al
mașini, după ce au fost redenumite nodurile.

Faceți clic peCarros


(RigidBody2D) se duce în
"Scară de Gravitație" este schimbată la 0.

Faceți clic peAnimatie(AnimatedSprite) se duce în


"Frames" > selecționează "SpriteFrames Noi" >
clic pe „SpriteFrames” și un sertar de
animația va fi deschisă (acest proces este același
făcut în scena deJucător). La paste
"assets/carros" există 14 sprite-uri diferite de
carros. Crie uma animação para cada uma das
sprites de carro.

Pentru fiecare dintre cele 14 sprite-uri de


mașini, creează o nouă animație.
Faceți clic pe „Nouă animație” și redenumiți
prima animație pentrucarros01.
Faci asta pentru toate celelalte mașini,
obținând 14 animații denumite
cum:carro01, carro02, carros03,
…, carros14.

Încă com o nodAnimatie


(AnimatedSprite) selectat mergi în
“Transform” > “Rotation Degree” e
altere pentru90e em „Transformați” >
„Scale” e altere para0.2, atât în x
cât în y.

Cliqeu nu nodColiziune
(CollisionShape2D) e vá em “Shape” >
8

„New RectangleShape2D” acoperă un sprite de mașină cu dreptunghiul de coliziune.


Salvează o cină.

Anexezi un script în scenăMaș ini. Pentru asta, faceți clic dreapta pe Maș inie
faceți clic pe "Atașați scriptul". Scrieți codul scenei, așa cum este în fragmentul de cod
mai jos.

extindeRigidBody2D

func_ready():
vartipos_carros =$[Link].get_animation_names()
varcarro = tipos_carros[randi() % tipos_carros.size()]
$[Link] = carro

funcț ia_on_Notificador_screen_exited():
queue_free()

● Crearea scenei HUD

Adăugați o nouă scenă pentru a reprezenta


HUD-ul jocului. Faceți clic pe "Adaugă o nouă scenă" >

„ Alt Nod” e insira unStraturiCanvascum


raiz e adicione ca copii următorii noduri:
doi noduri de tipEtichetă, un nod de tipButon.
Renumește oStratulCanvasparHUD, umEtichetă
paraPlăcare altcevaEtichetăparaMesaj.
9

Faceti clic pe nodul Placar și modificați proprietățile:

Text para 0
Aliniere para centru e "Valign" pentru centru
Rect > “Size” > “x” para 100 e “y” para 60.
Layout CentruSus
○ Pentru a modifica fontul, mergeți la „Teme Override” > „Fonturi” > „Font” (care
este gol) > „Nou FontDinamic” > „Font” > „Date Font” > „Încărcați” >
Selectați fontul "assets/[Link]";
○ „Tema de suprascriere” > „Fonturi” > „Font” > „Setări” > „Mărime” alterează o
dimensiunea fontului pentru 32.

Fă clic pe nodul Mesaj și modifică proprietățile:

Text Jucătorul a câștigat!


Aliniază para centru e “Valign” pentru centru;
Rect > “Position” > “x” para 390 e “y” para 170;
Rect > “Size” > “x” para 500 e “y” para 100.
○ Pentru a schimba fontul, mergeți la „Teme Override” > „Fonturi” > „Font” (car
este gol) > "Font DinamicNou" > "Font" > "Date Font" > "Încărcare" >
Selectați fontul „assets/[Link]”;
○ „Teme Override” > „Fonturi” > „Font” > „Setări” > „Dimensiune” alterează o
dimensiunea fontului pentru 32.
10

Clic pe nodul Buton și modifică proprietățile:


○ "Text" Reporniți
Aliniază centru para
Rect > “Size” > “x” para 400 e “y” para 120
Aspect centru
○ Pentru a schimba fontul, mergeți la „Teme Override” > „Fonturi” > „Font” (car
este gol) > „Nou DynamicFont” > „Font” > „Date Font” > „Încărcare” >
Selectați fontul „assets/[Link]”;
○ „Teme Suprascriere” > „Fonturi” > „Font” > „Setări” > „Dimensiune” modifică un
dimensiunea fontului pentru 32.

Faceți clic dreapta pe nodul HUD > „Atașați


scriptul” și copiați următorul fragment de
código de mai sus. Atenție: a declarația
că Amintește-ți funcției
“_on_Button_pressed” não é digitada e sim conectada.

extendsCanvasLayer

segnalare reinicia

func_on_Button_pressed():
emit_signal("reinicia")

● Crearea scenei jocului principal (continuare)

Adăugați încă două noduri de tipCronometruna cena da


Principal. Pentru asta, faceți clic pe „Adăugați nod copil”>
„Cronometru”. Primul cronometru redenumiț i în
TimerMasiniRapidee un al doilea cronometru pentru
TimerCarrosLento.

Faceți clic peTimerMasiniRapideAșteaptă


Timp0.3activează opțiunea „Autostart”.
Faceți clic peTimerCarrosLentosAșteaptă
Timp0.5activati opțiunea „Autostart”. Cu
oTimerMaș iniRapidselectat, faceți clic pe
„Node” (în dock-ul Inspector) > „timeout()” >
„Conectează-te”>„Principal”>„Conectează-te”. Fă acelaș i lucru

pentru oTimerCarrosLento.
11

Cliquează pe „Adaugă nod copil” > „AudioStreamPlayer” > „Creează” și adaugă 3 noduri de tip
„AudioStreamPlayer” ca fiu dePrincipal. Renumește nodurile în:AudioTema,
AudioPontoeAudioVitoriaFaceți clic peAudioTema>“Stream”>“Load”>
„[Link]”. Dă clic peAudioPonto „Flux” > „Încărcați” > „[Link]”. Faceți clic pe
AudioVitoria>“Stream”>“Load”>“[Link]”.

Anexe un script în scenăPrincipal. Pentru asta, faceți clic dreapta pePrincipale


dați clic pe "Atașează script".

La masăPrincipal, faceți clic peJucător„Nod” (în inspectorul de andocare) > „punctual()”>


„Conectează”>„Principal”>„Conectează”. Aceasta va conecta semnalul „punctua” care a fost creat în
cina deJucător.
12

La cinăPrincipal, faceți clic peHUD>“Node”(na dock inspector) >“reinicia()”>“Connect”


„Principal”>„Conectează”. Aceasta va conecta semnalul „resetează” care a fost creat în scena deHUD.

Copiați codul scenei, așa cum este în fragmentul de cod de mai jos. OBS: Acest cod încă
va fi crescut.

extindeNod

constCENA_CARROS = preload("res://cenas/[Link]")

varpistas_rapidas = [104, 272, 488]


varpistas_lentas = [160, 216, 324, 384, 438, 544, 600]

varscore = 0

func_ready():
$[Link]()
$HUD/[Link] = ""
$HUD/[Link]()
randomize()

func_on_TimerCarrosRapido_timeout():

varnovo_carro = CENA_CARROS.instance()
adauga_fiu(nou_masina)

varpista = pistas_rapidas[randi() % pistas_rapidas.size()]

novo_carro. poziț ia = Vector2(-10, pistă)


novo_carro.velocitate_lineară.x = rand_range(700, 710)
novo_carro.linear_damp = -1

func_on_TimerCarrosLento_timeout():

varnovo_carro = CENA_CARROS.instance()
adauga_fiu(nou_masina)

varpista = pistas_lentas[randi() % pistas_lentas.size()]


13

novo_carro.position =Vector2(-10, pista)


novo_carro.linear_velocity.x =rand_range(300, 310)
novo_carro.linear_damp = -1

func_on_Player_pontua():
scor += 1

dacă scorul >= 10:


$[Link]()
$[Link]ă()
$[Link]()
$[Link]()
$HUD/[Link] = "Player Ganhou!"
$HUD/[Link]()
altele:
$HUD/[Link] =str(score)
$[Link]()

func_on_HUD_reinicia():
score = 0

$[Link] = $Player.posicao_inicial
$[Link]()

$[Link]()
$[Link]()

$HUD/[Link] = ""
$HUD/[Link] = "0"
$HUD/[Link]()

OBS: Amintiți-vă că declarațiile funcțiilor care încep cu „_on_...”


trebuie să fie conectate.

S-ar putea să vă placă și