Procesarea, dezvoltarea și monetizarea jocurilor flash

pentru început, poate merită să vă revizuiți logica jocului?
de ce fiecare platformă va verifica hitTest.
Cred că ar trebui să verifice clasa de caractere, pentru că se mișcă în jurul lumii.







film pe scenă cu numele pers


pentru a ajunge la persoana ta, trebuie să asociați o variabilă în clasă cu scena și apoi să o treceți prin ea:
de exemplu:

pachet import flash.display.Stage; // adăugați accesul la scenă
import flash.display.MovieClip;
import flash.display.DisplayObject;
.
clasa publica Our_Class extinde MovieClip privat var _root: Object; // declarați variabila _root ca obiect

funcția publică Our_Class () // ceva acolo inițializează clasa ta

// ascultător cu metoda beginClass va fi lansat o singură dată când adăugăm instanța noastră
addEventListener (Event.ADDED, beginClass);
addEventListener (Event.ENTER_FRAME, update, false, 0, true);
>
funcția privată beginClass (eveniment: Eveniment): void _root = MovieClip (root);
>
actualizarea funcției publice (e: Event): void var targetMarker: DisplayObject = _root.pers;
dacă (hitTestObject (targetMarker)) // acțiunile tale
>
>
>
>

bine, sau faceți cum scrie SteamRabbit - utilizați un film cu mască nivel și nivel pentru TestObject


ciocnire este pe cele 4 laturi ale capului, partea din spate a TUL, TUL frecvent înainte, picioare, știu că este necesar să se ascundă când vine vorba de iepure, și codul, sau mai degrabă răspunsul nu este clar, acesta este împărțit recomandări sau probleme de decizie de acțiune?

te-ai întrebat cum să ajungi la caracterul tău dintr-o altă clasă, ți-am dat un exemplu concret. cod de mai sus.
recomandări?
da, voi recomanda pentru a fixa verifica hitTset nu pe fiecare platformă (putem înțelege corect reciproc? sub platforme adică de nivelul sau clasa de bază, s-ar putea fi numit „platformă“?), deoarece clonează controale și acțiuni inutile, și clasați caracterul sau mai bine încă, așa cum scrie Gorynych pe clasa de bază

ciocnirea merge pe 4 laturi, capul, partea din spate a peretelui, în fața părților, picioarele


pentru a înțelege ceea ce vă sfătuiți că trebuie să înțelegeți despre ce vorbiți. Din aceste cuvinte este mai puțin clar că ați ales:
doriți să verificați subiecții care nu sunt legate (hitTestObect) și literele (hitTestPoint).
hitTestObect - verifică coliziunea pe un contur dreptunghiular al simbolului;






hitTestPoint - prin introducerea punctului caracterului nostru în simbolul verificat.
fiecare metodă va avea logica proprie.

dacă am înțeles corect pe Gorynych. atunci el, ca mine, nu înțelege de ce extindeți clasa

clasa publica ControlKeyboard extinde nivelul1


aveți nevoie de o întrebare pentru a vă gândi la logica jocului.
Veți suspenda mișcările / coliziunile jucătorului cu lumea exterioară la fiecare nivel separat?
deși de fapt nu vă imaginați cum va apărea logica jocului dvs. și ce fel de casetă de bani se va întâmpla sau pur și simplu nu ați solicitat sau nu ați putea transmite scopul clasei Level1.
opriți programarea și trageți pe hârtie prezentarea claselor și conexiunile dintre ele.
De exemplu, reprezentarea mea ar trebui să fie:
1. clasa principală - trage metodele altor clase pentru a crea meniuri, nivele, adăugarea unui caracter la masă și gestionarea obiectelor și așa mai departe.
2. clasa caracterului - dacă personajul principal este 1, atunci este logic să adăugați ascultătorul ENTER_FRAME și să verificați toate acțiunile și coliziunile Playerului din această clasă.
dacă personajele sunt oarecum mai bune decât prin metodele sau stările care vor deranja clasa principală.
3. O clasă de platforme - acestea pot fi mai multe în funcție de interacțiune sau pot fi o clasă de platforme și clase de copii (așa cum ați extins ControlKeyboard extinde Level1), fiecare dintre ele având propriile bunici.
4. clase de alte obiecte. de exemplu, o monedă sau un bec cu vieți
5. Clasa de lucru cu Claudia - puteți îndura. sau mai degrabă, chiar să fie luate într-o clasă separată, așa cum ați făcut-o

Și să ne liniștim mai întâi nervii.
funcția publică loadBox (casetă): void
array.push (cutie);
>
Ce pot înțelege din asta? Ce fel de cutii adăugați la matrice?


De fapt, pe scena oricărui film pe care îl desenați și în interiorul primei pe care o scrieți - parent.loadBox (aceasta)
bazate pe articolul său șiret motor -Usor-platformă pentru jocuri flash, refăcute în AS3 și AS2 în cazul în care acestea au, de asemenea, nu până la sfârșitul anului, desigur, ar dori să împărtășească doar aceleași clase, pentru că într-o singură lecție de nivelul actual este considerat și toate într-o grămadă, și Am împărțit și de aceea vreau să împărtășesc, doar uitați-vă la articol și înțelegeți imediat ideea mea

De fapt, pe scena oricărui film pe care îl desenați și în interiorul primei pe care o scrieți - parent.loadBox (aceasta)


AS3 înseamnă că aveți pe desktop-ul dvs., care este scena dvs., la momentul începerii compilării proiectului nu va exista un obiect.
Toate obiectele sunt adăugate la scenă dinamic:
addChield (obiect);
pentru instrucțiuni mai precise, puteți specifica unde:
stage.addChield (obiect);

din as2 este lăsat excepția cazului părinte. în cadrul fiecărei platforme, nu, nici o idee cum să nici nu folosesc, atunci se pare pur și simplu film este creat, chiar nu este necesar pentru a scrie numele.
. și de modul în care nu vă place numele clasei? controlKeyboard, tip control klava, control


Nu ai citit ce ți-am scris sau nu înțelegi ce ți-am scris? Scapa de "părinte" în cadru cu ușurință!
Trageți doar platforma în sine, creați filmul level1 și plasați platforma în el ca și cum ați fi vreodată. Nu este nevoie să alocați nume platformelor. Apoi, acest nivel de film1 adaugă software-ul la scenă (addChaild (nivel1)) sau îl plasați fizic pe scenă, iar în proprietăți atribuiți NUMAI un clip video cu un nivel de nivel nivel1. Apoi, oriunde în codul de unde puteți accesa filmul level1, scrieți codul:


Totul! Și nu este nevoie de o rake cu codul de pe cadre.







Trimiteți-le prietenilor: