Creați un joc, designeri de jocuri, motoare de jocuri

Salvarea și punctele de control

Bună ziua tuturor, împreună cu dvs. Loko ™ cu o altă lecție despre Construct Classic.
De data aceasta, am nituit sistemul Save / Load cu fișiere INI și, de asemenea, învață despre o modalitate de a crea puncte de control. Lecția promite să fie lungă, așa că face ceai, stai pe spate, relaxează-te și începi să citești.







Salvați / Încărcați cu fișiere INI
De mult timp nu a fost nici un secret că mijloacele standard de salvare / încărcare a Construct Classic pentru ao pune ușor nu sunt ideale. Prin urmare, vom merge invers, folosind fișierele INI.
Fișierele INI sunt fișiere text obișnuite care vor stoca valorile de care avem nevoie.
Care este esența acestei metode:
Adăugăm o variabilă globală, în care numerele vor însemna numărul de niveluri. Și la începutul unuia dintre niveluri vom da această variabilă valoarea dorită și vom scrie această valoare în fișierul INI. Astfel, vom avea întotdeauna un fișier extern cu informațiile stocate și trebuie să îl descărcăm doar pentru a restabili progresul pasajului.

Pregătirea
Creați un meniu cu două butoane - "Continuați jocul" și "Joc nou".

Creați primul buton:
Inserarea unui obiect - Text
Redenumiți obiectul nou creat pentru a continua. Modificați următoarele câmpuri în Proprietăți.
Text - Continuați jocul
Dimensiune - 30
Bold - bifați

Să creați al doilea buton:
Inserarea unui obiect - Text
Redenumiți noul obiect creat la Newgame. Modificați următoarele câmpuri în Proprietăți.
Text - Joc nou
Dimensiune - 30
Bold - bifați

Aranjați textele create cu ușurință la nivel. De exemplu, aceasta:

Creați o variabilă globală:
În fereastra din partea dreaptă, accesați fila Proiect - faceți clic dreapta pe dosarul Global variables - Adăugați variabila globală - în câmpul Name, write Level - OK

Acordați atenție folderului Layouts. Acum există un singur nivel cu numele Layout 1. Acolo, selectați-l și redenumiți-l în meniu.
Înclinați nivelul - faceți clic dreapta pe meniul - Clone layout
Redenumiți nivelul doar îndoit în Nivelul 1. Acesta va fi primul nivel al jocului.

Creați un alt nivel:
Faceți clic dreapta pe nivelul 1 - aspectul clonării
Redenumiți nivelul doar îndoit în Nivelul 2. Acesta este, respectiv, cel de-al doilea nivel al jocului.

Efectuați unele modificări asupra nivelurilor. Faceți tranziții între niveluri (dacă nu știți cum se fac tranzițiile, citiți partea 7 a articolului "Crearea unui platformer 2D a la Ghost Quest")

Adăugați la fiecare nivel suport pentru tastatură și mouse:
Introduceți un obiect - Mouse claviatură

Asigurați-vă că adăugați un obiect INI la fiecare nivel.
Introduceți un obiect - INI

eveniment:
Inserați evenimentul - Sistem - Începeți aspectul

acțiune:
Noua acțiune - INI - Setați fișierul INI - în câmpul Cale scrie apppath + "Save.scrr" - Finish

În acest caz, am specificat condiția - când nivelul este pornit
În acțiune, am specificat cu care fișier INI vom lucra (Save.srr)

Următorul eveniment va fi să începeți un nou joc.

eveniment:
Inserați evenimentul - MouseKeyboard - Pe obiect apăsat - Alegeți un obiect - Newgame - Finish

acțiune:
Noua acțiune - Sistem - Următorul aspect - Finalizare

Eveniment - jucătorul a făcut clic pe textul "Joc nou"
Acțiune - treceți la nivelul următor (se presupune că nivelul următor este nivelul 1)

Acum faceți evenimentul pe "Continuați jocul".

eveniment:
Inserați evenimentul - MouseKeyboard - Apăsați pe obiect - Alegeți un obiect - Continuați - Finalizați

acțiune:
Acțiune nouă - Sistem - Valoare setată - în coloana Variabilă selectați Nivel. în câmpul Valoare scrieți INI.ItemValue ("Nivel", "Nivel") - Terminați

Eveniment - jucătorul a făcut clic pe textul "Continuați jocul"






Acțiune - încărcați valoarea variabilei globale din fișierul INI

Sub-evenimentul 1:
Faceți clic dreapta pe evenimentul nou creat - Inserați sub-eveniment - Sistem - Comparați variabila globală - Nivel, Egal la, Comparați cu = 1 - Finalizați

Acțiune pentru sub-evenimente 1:
Noua acțiune - Sistem - Mergeți la layout - în câmpul Layout, introduceți valoarea 2 - Finish

Sub-eveniment - dacă valoarea încărcată a variabilei globale este 1
Acțiune - treceți la nivelul 2 (deoarece nivelul de meniu este considerat primul, nivelul 1 este considerat al doilea)

Sub-evenimentul 2:
Faceți clic dreapta pe evenimentul nou creat - Introduceți sub-eveniment - Sistem - Comparați variabila globală - Nivel, Egal la, Comparați cu = 2 - Finalizați

Acțiune pentru sub-evenimente 2:
Noua acțiune - Sistem - Mergeți la aspect - în câmpul Layout, introduceți valoarea 3 - Terminare

Sub-eveniment - dacă valoarea încărcată a variabilei globale este de 2
Acțiune - mergeți la nivelul 3

Dacă verificați, apoi făcând clic pe butonul „New Game“ - încarcă primul nivel, dar făcând clic pe „Reluare joc“ - nu se întâmplă nimic. Acest lucru se datorează faptului că nu am stabilit încă progresul de salvare în fișierul INI la niveluri.

eveniment:
Inserați evenimentul - Sistem - Începeți aspectul

acţiuni:
1. Acțiune nouă - Sistem - Valoare setată - Nivel, Valoare = 1 - Finalizare
2. Acțiune nouă - INI - Setați fișierul INI - în câmpul Path write apppath + "Save.scrr" - Finish
3. nouă acțiune - INI - Scrieți valoarea - în grup au scris „Level“ (în ghilimele) în câmpul articol scrie „Level“ (în ghilimele) în valoarea globală a scrie ( „Level“) - Finish

Eveniment - când începe nivelul
Pasul 1 - setați nivelul variabil global la 1
Pasul 2 - specificați cu ce fișier INI lucrăm
Pasul 3 - scrieți valoarea variabilei globale în fișierul INI

eveniment:
Inserați evenimentul - Sistem - Începeți aspectul

acţiuni:
1. Acțiune nouă - Sistem - Valoare setată - Nivel, Valoare = 2 - Finalizare
2. Acțiune nouă - INI - Setați fișierul INI - în câmpul Path write apppath + "Save.scrr" - Finish
3. nouă acțiune - INI - Scrieți valoarea - în grup au scris „Level“ (în ghilimele) în câmpul articol scrie „Level“ (în ghilimele) în valoarea globală a scrie ( „Level“) - Finish

Eveniment - când începe nivelul
Pasul 1 - Setați nivelul variabil global la 2
Pasul 2 - specificați cu ce fișier INI lucrăm
Pasul 3 - scrieți valoarea variabilei globale în fișierul INI

Totul e gata. Acum, pe niveluri, valorile variabilelor globale sunt scrise în fișierul INI. Și, dacă includem primul sau al doilea nivel, apoi opriți jocul, începe meniul de nivel și faceți clic pe „Continue joc“ - pentru a începe nivelul la care am fost ultima dată.

puncte de control
Pentru a implementa punctele de control, vom folosi sistemul Quicksave / Quickload.
Sistemul este foarte simplu - când eroul și punctul de control sunt în contact - jocul face o salvare rapidă. Când eroul moare - jocul face o descărcare rapidă.

Trecem la nivelul dorit. Creați un nou sprite:
Introduceți un obiect - Sprite - completați toate (în joc sprite, care va fi invizibil, astfel încât să nu puteți încerca și să nu dea obiecte individuale inundate) verde - rezerva
Redenumiți sprite nou creat în Checkpoint.

Să facem acest lucru invizibil:
Selectați Punct de control - Proprietăți - bifați caseta de lângă Invisible at start

eveniment:
Inserați evenimentul - Sistem - Începeți aspectul

acțiune:
Noua acțiune - Sistem - Quicksave / Quickload - selectați Quicksave - Finalizare din listă

Aici evenimentul - când executați nivelul
Acțiune - faceți o salvare rapidă a jocului.

Să facem un eveniment, în care eroul este considerat mort, iar jocul poate fi descărcat pe unul nou. De exemplu, dacă eroul a depășit nivelul (de exemplu, a căzut în abis).

eveniment:
Inserați evenimentul - bazis (acesta este eroul) - Obiectul este în afara aspectului?

acțiune:
Noua acțiune - Sistem - Quicksave / Quickload - selectați Quickload din listă - Finish

Aici evenimentul - dacă eroul a părăsit limitele nivelului
Acțiune - faceți o descărcare rapidă din locul ultimei salvări rapide.

Faceți o cheie rapidă pentru încărcare rapidă:

eveniment:
Inserați evenimentul - MouseKeyboard - Pe tasta apăsată - R (aceasta este tasta rapidă pentru încărcare rapidă) - Terminați

acțiune:
Noua acțiune - Sistem - Quicksave / Quickload - selectați Quickload din listă - Finish

Eveniment - tasta R apăsată
Acțiune - faceți o descărcare rapidă din locul ultimei salvări rapide.

Vom înțelege, direct, cu punctul de control.

eveniment:
Inserați evenimentul - bazis - În cazul unei coliziuni cu un alt obiect - Alegeți un obiect - Punct de control - Finalizați

acţiuni:
1. Acțiune nouă - Punct de control - Distruge
2. Acțiune nouă - Sistem - Quicksave / Quickload - selectați Quicksave - Finalizare din listă

Eveniment - eroul a atins punctul de control
Pasul 1 - distrugeți punctul de control (astfel încât playerul să nu poată fi salvat de mai multe ori la rând în același loc)
Pasul 2 - salvați rapid

Totul este gata, verificăm.
Un mic sfat pe punctele de control - plasați-le în locuri liniștite, unde nu există inamici în apropiere. Că nu a existat o astfel de imagine: încărcare rapidă - un bang, o coajă în erou.
Dacă doriți să cu pornire rapidă recuperată cantitatea de sănătate, sau orice altceva - utilizarea Event System - Pe sarcină și acțiuni pentru al Alimenteze valoroase HP.

Sper că lecția mea ți-a adus un pas mai aproape de realizarea jocului tău.
Loko ™ a încercat pentru tine. succes!







Articole similare

Trimiteți-le prietenilor: