Html css ca o bază pentru gui - crearea unor exploratori joc
A început cu aceste gânduri:
Să presupunem că ați scris o interfață grafică bazată pe propria sa versiune de XML + propria opțiune de script-uri (de exemplu, pe baza ActionScript, AngleScr sau Lua, nu contează). Cât de mult timp un utilizator va fi gata să-și petreacă pe dezvoltarea mega dvs. (de la conectarea bibliotecilor la dezvoltarea skiptov necesare)? Cred că, în medie, 2 ore de muncă grea, maxim. Apoi, „scor pe acest loc putred.“ Și cât de mult este nevoie pentru a învăța o limbă completă de scripting? De la săptămâni la luni (și, uneori, mai mult).
De-a lungul drum, mai exasperată (c început), dar a apărut în cursul „problema de scripturi PHP / JS.“
Asta e. Toate acestea arată supersladko.
Și ce aș putea face în această privință?
Primul lucru pe care am început să încerc să compilați unele web-motor. Deoarece Gecko (MOT firefox-a) și a trecut prin gramada. Dar, ceva ce nimeni nu a mers (încercarea de a compila biblioteca sub MinGW + codeblocks, fără succes). În plus, toate aceste motoare superogromnye monștri reale și complexe, cu o lipsă de documentare la fel (sau fără documentație, sau instrucțiunile sunt scrise pentru VC ++ / cegwin, nu nicherta pentru MinGW).
htmlcxx: construi comanda
În general, este necesar să se realizeze această recepție canoe 2. Mai întâi bibioteku, apoi un exemplu. Am făcut-o astfel:
1. importate htmlcxx.vcproj în kodebloks. Cum se face acest lucru este descris aici:
forum / viewtopic.php? f = 1T = 84start = 60 # p5736
El a compilat. A existat un dosar \ Debug \ libhtmlcxx.a
2. htmlcxxapp.vcproj mportiroval în kodebloks. Am compila și a alerga htmlcxx.exe gata să execute cu un test * .css. Ai nevoie pentru a rula din linia de comandă pentru a vedea rezultatul.
De altfel, exemplul este dat pe site-ul nu este corect (ca o distracție, distracție -. Din nou „glume“ de la creatorii) pentru a compila a trebuit să scrie IT-> atribut ( „href“), a doua ca ea std :: pereche ..
Deci, care sunt rezultatele? Rezultatele au fost după cum urmează:
1. parser HTML acel lucru funcționează destul de corect. Și de a construi un model normal. Și sub vyndovs prea.
2. Dar parser css. el ceva de neînțeles. Când încercați pentru a analiza css de sub vyndovsa primi mesajul:
„Css nu parsare acceptat în win32“
„Este kaput!“ - Înțeleg.
(Cu toate acestea, dacă cineva a început (sau a spus cum să o facă) și css parser htmlcxx un câștig - ar simplifica într-adevăr totul)
Și apoi a trebuit să scrie o bicicletă.
În general, am fost enervat atât de tare încât am scris un cod HTML parser + CSS special pentru MinGW + codeblocks și vyndovs.
Sau, mai degrabă, nu numai analizator, acest lucru este canoe mea, care este construirea unui model are nevoie. Pregătit pentru scrierea portului sub Irrliht (sau orice altceva, dar dependența de Irrlihta acolo, deoarece utilizează XML).
În prezent, Bayda destul de proaspete ca clătite doar prăjită. Este literalmente doar că „viu“ și este versiunea 0.1. Și nici măcar nu au nici modulului de depanare, și excepții toată lumea acolo-ekseptionsov. Și, de asemenea, are, probabil, o grămadă de bug-uri.
Se compune din trei elemente:
1. Modelul HTML.
Modelul este bazat pe Parsa HTML fișier XML Parser Irrlihta.
Principalele sub-elemente:
- SHTMLDocument
- CHTMLDocumentParser
- IHTMLDocumentHandler (handler (sau manager dacă vreți))
2. Modelul CSS.
Modelul se bazează pe fișierul Parsa std :: fstream, std :: string si std :: stringstream. Say std :: stringstream nu cross-platform, nu portabil. Poate. Dar am citit doar o parte a fluxurilor de C ++. Și în cazul în care curge nekrossplatfrmenny înseamnă nekrosplatformenny mine C ++? Aceasta este o întrebare interesantă.
Principalele sub-elemente:
- CSelector (care nu știu, este principalul model de css selector element poate combina mai multe „reguli“ - reguli)
- CssParser
- CssMgr
3. Linker-ul.
Cine este în căutarea pentru o etichetă HTML și în conformitate cu ele leagă css HTML y construiește modelul CSS și apoi a construi modelul HTML + CSS final.
Totul poartă o singură clasă:
CssLinker
Deși muntele a transformat acest cod și că nici măcar nu se așteaptă. dar tot ce ai nevoie este în dosarul irr_html.
Și acum cum să lucreze cu ea.
În plus față de Parsa html / css. care leagă unul la altul, canoe mea este capabil de a face câteva lucruri utile. De exemplu, tipul de construcție face ca #FFFFFF sau rgb (255,255,255) într-o structură simplă, care este apoi importat într-un convenabil SColor Irrlihta.
De asemenea, în dosarul este fișierul default.css irr_html. Acest lucru este ceva de genul HTML pentru „default“ browser complet setările inițiale pentru toate elementele majore.
Mai multe în arhiva au test.css htmlGUI.html și am folosit pentru a testa acest lucru. Și htmlGUI.html se referă la test.css ca aceasta:
Deci, nu uitați să le pună unul lângă altul și lângă ekseshnikom proiect.
În general, pentru a îmbunătăți acest lucru la un nivel complet pentru o lungă perioadă de timp. Dar, în principiu, posibilitățile existente pentru scrierea dostatono portului sub Irrliht (sau orice alt GUI).
De asemenea, el a promis să pună în viitorul apropiat. Și răspândit. așa cum funcționează așa.
irrHTML.zip compilare / testat în MinGW + cod :: blocuri. Win32 XP. (26.1 KB) 118 download-uri
Port de la C ++ la html se înlocuiește cu portul de la C ++ la Lua / JS.
Se pare un fel de sistem:
DOM este.
(O parte a arhitecturii DOM poate fi implementat într-o interfață grafică, sau în aplicații C ++)
Ie interpret Text html / css în elementele GUI ar putea avea nevoie pentru a scrie în Lua / JS, în script-ul.
[Spoilere] JDOM
(Cod Java, JDOM)
-> Acum știu ce io :: Atributele Irrlihta. JDOM este in C ++.
Și da Irrliht ALL este construit pe principiul JDOM. [/ Spoilere]
Înapoi sus
Fac prboval fac CSS și HTML bazate pe Gecko, funcționează bine face pagina. Cu toate acestea, există o mare DAR. deoarece permite lucruri normale încep să încetinească, sorteze am știut unde randarii problema Gecko face un bitmap mare, care trebuie să schimbe în mod constant în textura. în sine nu a putut rezolva problema cu acest gât îngust și a lăsat acest risc, chiar acum, în biblioteca mea mică desena texturi. Cred ca acest lucru se traduc în batchotrisovku. este mult mai rapid decât de redare texturi individuale
Înapoi sus
Cred că pentru a configura și de a ajunge la locul de muncă „practic“, browser-ul este destul de o sarcină dificilă. Apoi, va face animația Budišov GUI? Pentru mine, mai bine și mai ușor de utilizat GameSWF, modul în care el Scaleform bazat pe ea.
Dar ideea este bun! Despre redare - trebuie să utilizați tencuit bazate pe Irrlicht. În irrlihte au un set de primitive, de exemplu, textul ar trebui să utilizeze API-ul irrlicht_ovskoe pentru producția de text. Iar imaginile ar trebui să fie utilizate API irrlicht_ovskoe pentru a afișa imagini. Atunci nu va fi legat de un renderer personalizat.
Toate cele bune,
Andrey 'Sky-Fox' Sidorov
C ++, ObjC Developer
Gameloft Ucraina studio.
Înapoi sus
SEvg a scris (a): dar cred că interesul va fi puțin mai mic.
Orice este posibil, doar în lumea de astăzi este dificil de a găsi prevalența tehnologiei mai mult HTML.
Elmigo a scris (a) poate avea sens în partea de a săpa
Cu toate acestea, în general,
Elmigo a scris (a): curent pare rău sub Windows în kodeblokse skompilyat == infricosatoare hemoragică de lucru instabil, ceea ce înseamnă doar linuh + kb + Studio și Windows
se poate concluziona că direcțiile alternative pentru a nu mai puțin relevante.
Deci, în măsura în care putem înțelege racheta este deja construirea de elemente HTML. Am presupus, de asemenea, că un model de date ele însele construite clase GUI vor fi create în procesul de porturi de scriere (Irrlihtu la altcineva).
Ie Am konkrteno minimalist Biden: parser de date model. Și totuși.
dalerank a scris (a): adevăr, există un mare DAR. deoarece permite lucruri normale încep să încetinească, sorteze am știut unde randarii problema Gecko face un bitmap mare
Deci, eu sunt de planificare care creează elemente GUI și, în general, ar trebui să facă motorul de joc. Ie prin web-motor necesar doar pentru a analiza și de a construi de lucru confortabil cu un model de date.
Ezhli utilizat motor de web-GUI face viteza cu jocul, dar totuși ar fi posibil ar fi de a construi într-un sistem de reacție la evenimentele web ale motorului în joc. și a fost folosit de fericire!
Înapoi sus
SkyFox a scris (a): Cred că pentru a configura și a ajunge la locul de muncă „practic“, browser-ul este destul de o sarcină dificilă.
Ei bine, da. Dar cred că un motor de web cu drepturi depline pentru a scrie mai complicat.
SkyFox a scris (a): Apoi faci animație Budišov GUI?
Într-un browser web? + Apoi, există doar o reacție pentru a ajusta datele structurate în mod corespunzător.
SkyFox a scris (a): Pentru mine, mai bine și mai ușor de utilizat GameSWF, modul în care el Scaleform bazat pe ea.
Poate mai bine. dar
1. configurați nu atât de ușor.
2. Este nevoie de o grămadă de biblioteci externe, Koi ar trebui să fie descărcate separat.
3. segmentul de acoperire swf este mai mic decât cel al HTML. Ie oameni care știu cum să folosească bufeuri mai puțin decât oamenii care știe cum să scrie HTML. + Este nevoie de unelte speciale. notebook-ul simplu nu mai este suficient.
(Aici, de exemplu, am experienta Dumb in css html + + js. Și blițul nu au experiență)
Dar poate că este, de asemenea, tehnologie foarte bună. Și eu sunt în nici un fel împotriva ei. În viața reală, există o tehnologie flash. Și există o tehnologie numit HTML. Și de-a lungul această parte a web-unice tehnologii.
SkyFox a scris (a): În ceea ce privește redarea - trebuie să utilizați tencuit bazate pe Irrlicht. În irrlihte au un set de primitive, de exemplu, textul ar trebui să utilizeze API-ul irrlicht_ovskoe pentru producția de text. Iar imaginile ar trebui să fie utilizate API irrlicht_ovskoe pentru a afișa imagini. Atunci nu va fi legat de un renderer personalizat.
Ei bine, TYK planificat.
Înapoi sus
Mi se pare pentru a face un browser web ușor pentru Irrlihta destul de o idee bună. Cel mai important lucru să-l păstrați :) ușor și simplu
Cele mai multe browsere sunt franele din cauza faptului că există un sprijin îngrămădite grămadă de toate (altfel decât ca, pentru pagina de web Vasi Pupkina cu o grămadă de script-uri ar trebui să fie afișat în browser-ul va iubi).
Ideea unui astfel de mini-browser destul de simplu css html + stiluri de bază pentru elemente. Ei bine, de a face acest lucru la apăsarea link-uri / butoanele / alte evenimente generate care OnEvent capturi, și le-a ajutat deja să facă GUI frumos rapid și eficient.
În ceea ce privește animație, transfuzii, altele plasați cursorul / clicuri de mouse, puteți adăuga în continuare ceva din CSS3 există un astfel de lucru a făcut distractiv.
Imaginați-vă adăugând câteva rânduri în fișierul css și butonul plasați cursorul pe ea se va schimba lin transparență sau rezoluție. În clasa mea :)
Înapoi sus
![Html css ca o bază pentru gui - crearea unor exploratori joc (html) Html css ca o bază pentru gui - crearea unor exploratori joc](https://webp.images-on-off.com/25/933/140x140_sjkw4vujw5wkwaxbxedw.webp)
Elmigo a scris (a): Sudi. libRocket portat pe irrla curent rău sub Windows în kodeblokse skompilyat == hemoragică de lucru instabil infricosatoare, ceea ce înseamnă doar linuh + kb + Studio și Windows
compilat hemoragică într-adevăr, dar poate învinge. Podlchyuil la proiecte-indulgent, destul de tolerabil de lucrări. Adevărat a avut probleme să realizeze că în cazul în care a terminat.
Și cum am progresa în Bear`a?
Același sentiment atunci când programul este de lucru corect din cauza erorilor din cod.
Înapoi sus
Înapoi în „livrabile“
Cine este conectat
Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat și 0 vizitatori