Crearea unei inteligențe artificiale
Buna ziua tuturor, in acest articol as vrea sa creez cu voi mai multe comportamente pentru inamic.
Comportamentul numărul 1. patrulare
Descriere: Inamicul patrulează o anumită zonă. Ie se mută de la un loc la altul.
Cum se va realiza: Vom crea un dușman și două pereți. Când adversarul atinge unul dintre pereți, el se întoarce la 180 de grade.
Creați un inamic:
Introduceți un obiect - Sprite - trageți inamicul - salvați
Redenumiți noul creat sprite către Ene.
Creați un perete:
Introduceți un obiect - Sprite - desenați un perete (în joc acesta va fi invizibil, deci nu încercați din greu) - salvați
Redenumiți sprite nou creat pentru a bloca.
Să facem pereții invizibili în joc:
Selectați peretele - Proprietăți - bifați caseta de lângă Invisible at start
O vom face astfel încât inamicul să poată "merge" pe o linie dreaptă, pentru asta adăugăm comportamentul lui Bullet:
SelectațiEnemy - Proprietăți - Comportamente - Adăugați - Bullet - Inserați
Puteți să acordeți imediat atenție anumitor parametri ai acestui comportament:
Viteza este viteza de mișcare;
Accelerare - accelerare;
Distruge când - când trebuie să distrugeți obiectul (aspect exterior - dacă obiectul a depășit nivelul; Offscreen - dacă obiectul a depășit vizibilitatea ecranului, niciodată - niciodată, intervalul depășit - când intervalul este depășit).
eveniment:
Inserați evenimentul - coliziunea TheEnemy - On pe un alt obiect - Alegeți un bloc de obiecte
acțiune:
Noua acțiune - theEnemy - Set unghi - în fereastra de jos selectațiEnemy - Obțineți unghi - în câmpul Angel introduceți "theEnemy.Angle + 180" (fără citate) - Finish
Tocmai am făcut-o astfel încât atunci când dușmanul a atins peretele, el a avansat la 180 de grade.
Comportamentul numărul 2. trăgător
Descriere: Inamicul sta in picioare si trage direct la intervale regulate.
Cum se va realiza: Vom crea un dușman, un glonț și îl vom forța să tragă la fiecare secundă și jumătate.
Creați un inamic:
Introduceți un obiect - Sprite - trageți inamicul - salvați
Redenumiți noul creat în Sprite.
Vom crea un glonț, pe care inamicul îl va emite:
Introduceți un obiect - Sprite - desenați un glonț - salvați
Redenumiți noul creat sprite la bul.
Să ne opunem comportamentul bullet bullet:
Selectați bul - Proprietăți - Comportamente - Adăugați - Bullet - Introduceți
eveniment:
1. Inserați evenimentul --Scope - Obiectul este afișat pe ecran?
2. Introduceți o nouă stare - Sistem - La fiecare milisecundă X - scrieți valoarea 1500 - Finish
acțiune:
Noua acțiune - theShoot - Spawn un alt obiect - Alegeți un obiect - bul - nu uitați să specificați în câmpul Layout numărul stratului pe care trebuie creat glonțul - Finish
În cazul nr. 1, am indicat condiția în care inamicul începe să tragă, adică numai când vede pe ecran. Dacă vrei ca inamicul să tragă întotdeauna - pune Sistemul - întotdeauna.
În al doilea eveniment, am stabilit intervalul prin care inamicul va trage.
În acțiune, am făcut-o astfel încât inamicul a început să tragă.
Totul ar fi bine, dar inamicul trage spre dreapta! Să-l facem să tragă la stânga:
SelectațiShoț - Proprietăți - în câmpul Unghi scrieți 180 (indică direcția vederii inamicului) - puneți o marcaj în fața oglinzii automate (oglindirea automată orizontală).
Ei bine, acum totul este așa cum ar trebui să fie.
Creați un erou:
Introduceți un obiect - Sprite - desenați un cavaler curajos - salvați
Redenumiți noul creat sprite în bazis
Creați un inamic:
Introduceți un obiect - Sprite - desenați ceva mic și cu aripi - salvați
Redenumiți noul creat sprite la flyEnemy.
Faceți mai multe copii ale adversarului și împrăștiați-le în jurul nivelului.
Vom da adversarilor comportamentul Mișcării personalizate.
Selectați flyEnemy - Proprietăți - Comportament - Adăugați - Mișcare particularizată - Inserați
eveniment:
Inserați evenimentul - Sistem - Pentru fiecare obiect - Alegeți un obiect - flyEnemy - Finish
subevent:
Faceți clic dreapta pe evenimentul nou creat - Introduceți sub-eveniment - flyEnemy - Comparați poziția X - în coloana Comparație selectați Mai puțin sau egal. în coordonate X scrieți "bazis.X + 500" (fără citate) - Finish
Acțiuni pentru următorul:
1. Acțiune nouă - flyEnemy - accesați fila Mișcare personalizată - Modificați unghiul spre obiect - Alegeți un obiect - bazis - Finalizați
2. Acțiune nouă - flyEnemy - accesați fila Mișcare particularizată - Schimbare viteză - Setare, Viteză = 200 - Finalizare
Eveniment - am identificat toți oponenții flyEnemy.
Sub-eveniment - a găsit motivul pentru începerea mișcării adversarilor. Ie dacă eroul se află la o distanță mai mică de 500 de unități - flyEnemy începe să se deplaseze spre erou.
Acțiunea 1 - setați direcția de mișcare a adversarilor (adică obiectivul lor este eroul).
Acțiunea 2 - stabilirea vitezei de mișcare a adversarilor.
Această tehnică calculează distanța dintre erou și adversar în axa X. Dacă trebuie să calculați distanța de-a lungul axei Y, atunci în sub-eveniment alegeți Comparați poziția Y. și nu uitați să schimbați X la Y în expresia "bazis.X + 500"
Sper că principiul creării AI este de înțeles pentru tine și vei putea să realizezi ce ai nevoie.
Cu tine ai fost Loko ™. succes!