From BlenderWiki

Jump to: navigation, search

Game Logic

Game Logic se referă la tot ce se va petrece în joc. Este realizat pentru a oferi instrumente puternice cu care se fac setările din joc printr-o interfaţă grafică. Blocurile (sau cărămizile - “bricks”) reprezintă funcţii preprogramate care pot fi preluate sau combinate pentru a creea jocul/aplicaţia. Sistemul este format din trei părţi: sensors, controllers şi actuators. Senzorii (Sensors) simt atunci când se întâmplă lucruri, cum ar fi o coliziune, apăsarea unei taste, mişcarea mouse-ului. Senzorii sunt legaţi la controlere, care compară şi activează actuators.

La prima încărcare a panoului Logic (context), fie apăsând F4, fie selectând butonul pentru panoul logic (GM Selecting the Game Logic Pannel.png), poţi vedea ceva similar cu imaginea de mai jos.

Contextul Logic.

Pentru a înţelege mai bine panoul Logic, am extins câteva meniuri şi le-am numerotat în imaginea de mai jos. Vom arunca o privire la fiecare secţiune în parte - în ordinea în care au fost numerotate în imaginea de mai jos.

Părţi diferite ale contextului Logic.


1 Obiecte asociate

Logic pentru câteva obiecte.

Utilitarul "Logic" din motorul de jocuri Blender este ataşat obiectelor. Obiectele sunt listate după numele lor şi apar în fereastra logic atunci când sunt selectate. Poţi selecta un singur obiect ca în imaginea de mai jos, sau poţi selecta mai multe obiecte ca în imaginea din dreapta.

Logicul unui obiect este vizibil numai când obiectul/obiectele asociate cu acel logic sunt selectate.

2 Physics

Aceste setări controlează modul în care un obiect se comportă în joc. Din meniul pentru tipul obiectului se defineşte dacă un obiect este:

  • Corp moale - Fizic, se deformează la coliziune.
  • Corp rigid - Fizic.
  • Dinamic - Fizic, rămâne în poziţie verticală.
  • Static - Fizic, dar neafectat de gravitaţie.
  • Sensor - Pentru opţiuni avansate de senzori (release notes).
  • Fără coliziune - Nefizic.
  • Cu blocaj - Opreşte obiectele din spate să fie trimise la GPU, pentru a salva de performanţe (release notes).

Celelalte setări depind de tipul obiectului şi vor fi vizibile doar setările relevante. Pentru unele tipuri de există şi un meniu avansat (Advanced) care conţine mai multe opţiuni. Unele setări se referă la material şi pot fi accesate apăsând butonul DYN din panoul Material, subcontextul Material.

Pentru mami multe opţiuni vezi eticheta Mist/Stars/Physics, din subcontextul World.

Alte detalii poţi vedea şi pe pagina Tipul obiectului.

3 Properties

Proprietăţile sunt ca şi variabilele din alte limbaje de programare. Sunt folosite la salvarea şi accesarea datelor asociate cu un obiect. Sunt valabile următoarele tipuri:

  • Timer - Porneşte de la un număr definit şi numără.
  • String - Conţine text.
  • Float - Conţine numere zecimale între -10000.000 şi 10000.000.
  • Integer - Conţine numere întregi între -10000 şi 10000.
  • Bool - Poate lua doar două valori: True (adevărat) sau False (fals).

Pentru mai multe detalii, vezi şi Proprietăţi.

4 Sensors

Cu ajutorul Senzorilor se încep toate acţiunile logice. Senzorii “simt” evenimentele, de exemplu un obiect din apropiere, o tastă apăsată la tastatură, evenimente timp, etc. La activarea unui senzor, este trimis un mesaj la toate controlerele legate de acest senzor.

Poţi vedea alte detalii aici Sensors.

5 Controllers

Cu ajutorul controlerelor poţi mânui jocul, evaluând semnalele venite de la senzori şi trimitând mesaje către "actuators" ca răspuns. Controlerele pot fi de mai multe tipuri:

  • AND - Toţi senzorii conectaţi trebuie să fie pozitivi pentru a trimite semnale pozitive.
  • OR - Unul sau mai mulţi senzori conectaţi trebuie să fie pozitiv.
  • XOR - OR de tip exclusiv: un senzor conectat şi doar unul trebuie să fie pozitiv.
  • NAND - Not And, controler AND inversat.
  • NOR - Not Or, controler OR inversat.
  • XNOR - Controler exclusive Nor.
  • Expression - Aici îţi scrii propria expresie.
  • Python - Controlează senzorul cu un script sau cu un modul python.

Alte detalii găseşti pe pagina Controllers.

6 Actuators

Actuators pot afecta obiectele sau jocul. Actuators modifică mişcarea, sunetul, proprietăţile, obiectele, etc. Aceste modificări se pot realiza în alte obiecte, physics, proprietăţi sau pot deveni evenimente pentru alte logic bricks.

Alte detalii în Actuators.

7 Links

Links (7a) se referă la legăturile dintre obiecte. Liniile de legătură sunt desenate prin tragerea LMB Template-LMB.png de la un nod de legătură (7b) la altul. Legăturile pot fi desenate doar de la Senzori către Controlere sau de la Controlere către Actuators. Trimiterea nodurilor (cercurile galbene care se află în partea dreaptă a Senzorilor şi a Controlerelor) se poate realiza către mai multe noduri de recepţie (care se află în partea stângă a Controlerelor şi Actuators). Nodurile de recepţie pot primi mai multe legături.

Nu poţi lega direct Senzori la Actuators. Actuators nu pot fi legaţi înapoi la Senzori. Dacă doreşti ca să provoci un Senzor să activeze după finalizarea Actuator, foloseşte senzorul actuator.