csiguusz Posted November 4, 2013 Share Posted November 4, 2013 Hogy gyorsabb-e azt most nem tudom, majd csinálok pár tesztet, de mindenképpen rövidebb. Edit: megvolt a teszt. Az utóbbi, tehát a string.rep-es, az én gépemen, linux alatt sokkal gyorsabb a másiknál és kevesebb memóriát eszik. Szerintem hasonló kérést kaptam én is amúgy. Újrakezdhetjük megint, de akkor végre talán úgy kéne elkezdeni, hogy megfeleljen a céloknak. A collosion check-et te nem tudom hogy gondolod, de előbb azzal is lehetne kicsiben próbálkozni. Nekem volt egy töletem rá, az így, példákkal be is mutattam, de kiváncsi lennék arra, te hogyan képzeted azt. Aztán ha így kicsiben, egyszerű példákkal mennek a dolgok, be is lehet építeni az osztályokba. Skypon majd bejelöllek. TS-en tényleg nincs képernyőmegosztás, de beszédre szerintem sokkal alkalmasabb mint a Skype. Link to comment
rain_gloom Posted November 6, 2013 Author Share Posted November 6, 2013 de beszédre szerintem sokkal alkalmasabb mint a Skype. még mindig nincs mic most egy darabig nem lesz túl sok időm a hétköznapokon suli miatt. a collision/overlap-ről majd csinálok egy kód vázlatot, az kicsit eccerűbb mint leírni (a string.rep-es gondolom azért volt gyorsabb mert nem Lua-ban van kódolva, tehát nem használja többek közt a konkatenációs metamethod-ot. persze csak tippelek...) dll modulok készítéséről tud valaki valami forrást? mármint MTA-hoz, de amúgy is. Link to comment
csiguusz Posted November 7, 2013 Share Posted November 7, 2013 Annyit én se érek rá most mint korábban, de persze szinte minden nap ráérnék valamennyit foglalkozni a dologgal. (Igen, azért jóval gyorsabb mert az C-ben van megvalósítva. Sok alap lua függvényt meg lehetne írni luában is, csak semmi értelme, mivel szinte biztos, hogy sokkal lassabb lenne.) Itt a letölthető SDK a modulokhoz Mikrofonnal pedig egyszerűbb lenne, de akkor marad az írás. Link to comment
rain_gloom Posted November 8, 2013 Author Share Posted November 8, 2013 yuppé, van már egy shape (meg még egy "free"), megvan a működésük és elkészült az első verziója a collision check-nek erre iszunk...majd egyszer (ps.: új repo-ban kezdtem (inv2, eredeti név)) Link to comment
csiguusz Posted November 11, 2013 Share Posted November 11, 2013 Egészen szép a kód, ahogy így átfutottam! De majd azért lenne még pár kérdésem, javaslatom. Ehhez a scite-mta dologhoz: a globális környezet ( _G ) megváltoztatásával könnyen meg lehetne oldani, hogy ugyanaz a kód fusson mindkét helyen. Például minden kiírásnál csak outputChatBoxot vagy printet használni és lenne egy fájl, amit elsőnek kéne betölteni, ami ellenőrzi hogy most ez mta vagy nem ( már megvan az isMTA függvény ), aztán az alapján változtat a függvényeken. Pl.: function print_MTA ( ... ) for i, v in ipairs ( arg ) do outputChatBox ( tostring ( v ) ) end end function require_MTA ( filePath ) assert ( fileExists ( filePath ), filePath .. " not found!" ) -- itt még akár a meta.xml-t megnyitva a jó sorrendet is ellenőrizheti. end if isMTA () then _G.print = print_MTA _G.require = require_MTA end print("test") Link to comment
rain_gloom Posted November 11, 2013 Author Share Posted November 11, 2013 elkezdtem egy ilyet, de nem volt türelmem hozzá nem túl bonyolult igazából az alap, de van pár dolog amit meg szerettem volna oldani penlight-ban és ahhoz viszont már több ilyen funkció kell. asszem meg van az is hogy hogyan lehetne implementálni tiszta Lua könyvtárakat mindkét környezetben: (igazából baromi egyszerű, de idáig igazán nem gondolkodtam rajta ) kell csinálni minden lib-nek egy resource-ot metával és az útvonalat pedig mindig kiegészíteni SciTE-ban így lehet majd egy repo-val Bresenhaim, Penlight, meg mindenféle jóság (amúgy a Bresenhaim lesz a mátrixokban a Line of Sight check. csak mondom.) devlog: nem sok történt de: megvan egy része a tervezett API-nak és dxgui rajzok tervben megvannak (/me visszabukik a bioszkönyvbe) Link to comment
csiguusz Posted November 12, 2013 Share Posted November 12, 2013 És akkor exportálni a függvényeket a másik resource-ból? Itt az oop-sek elég csúnyán néznének ki, ha egyáltalán lehetne exportálva használni őket. Line of sight check mire fog kelleni? Penlight meg mta-ban nem fog menni alapból, de nem tudom akarjuk-e ott használni. Végre! Dxgui! Azt szeretem. Elkezdtem korábban egyet csinálni, csak aztán nem folytattam, lehet majd nekiállok megint. Link to comment
rain_gloom Posted November 21, 2013 Author Share Posted November 21, 2013 nem saját dxgui -.- annyira azért nem unatkozok hogy abba belekezdjek oop-t amúgy meg lehetne oldani, például egy globális metatable tárral, nem mondom hogy túl egyszerű lenne, de megoldható. --automatikusan hozzárendel egy táblát a generált globális táblákhoz, teszteletlen, de elvileg működnie kell ( esetleg a metódusokat exportolni kell és az exportokra hivatkozni a táblákban, de ha valaki ezeket figyelembe véve írja az egész kódot, akkor no problemo ) setmetatable (_G,{ __newindex = function ( self, i, v ) if type ( v ) == "table" then rawset ( _G,i,v._meta and setmetatable(v,exports.gmeta:get(v._meta) or v ) else rawset(_G,i,v) end end az if kinézhet úgy is, hogy az első fele a class funkcióit keresi (class inheritance indices), míg a második az object-ek számára keres az osztályon belül. (class root index) remélem értelmesen magyaráztam ha nem az se baj penlight: tiszta Lua kód, tehát csak az io meg os cuccokat kell helyettesíteni (és a require-t) és már működik is egy csomó része, ami meg nem, az nagy eséllyel úgyse kell. az inventory közben halad, már majdnem kész minden get/set alapja és a gui (mivel dxgui exportokra épül) azután már csak pár dxDrawImage meg dxCreateWindow --edit: valamelyik előző postban volt valami a metamethod-okról, íme az új módszer: t = setmetatable({},{ __index = function ( self, i ) if self ~= t then--ha nincs a class gyökerének inheritation-je return rawget(t,i)--mivel a rawget nem invoke-ol metamethod-okat (komolyan irritál ha magyarul kell kódot kommentelnem, az összes rag hülyén hangzik az idegen szavakon, kiszótáraznom őket meg minek) end end }) ajánlom a Lua tanulmányozását az MTA-n kívül Link to comment
csiguusz Posted November 23, 2013 Share Posted November 23, 2013 --automatikusan hozzárendel egy táblát a generált globális táblákhoz, teszteletlen, de elvileg működnie kell ( esetleg a metódusokat exportolni kell és az exportokra hivatkozni a táblákban, de ha valaki ezeket figyelembe véve írja az egész kódot, akkor no problemo ) setmetatable (_G,{ __newindex = function ( self, i, v ) if type ( v ) == "table" then rawset ( _G,i,v._meta and setmetatable(v,exports.gmeta:get(v._meta) or v ) else rawset(_G,i,v) end end az if kinézhet úgy is, hogy az első fele a class funkcióit keresi (class inheritance indices), míg a második az object-ek számára keres az osztályon belül. (class root index) remélem értelmesen magyaráztam ha nem az se baj Ez jó ötlet, hasznos lehet, viszont a globális tár a modularitás szempontjából nem jó ötlet. Valahogy lokálisabban (exportált függvények használata nélkül) kéne megoldani resource-onként. Penlighthoz: ahogy mondod, tiszta lua "mindössze" az io, os, package library-ket és a require-t kéne valahogy helyettesíteni. De ha az működik, ami kell, akkor nincs gond. Az pedig miért is lenne jó, a második kódrészlet, amit írtál? Arra kérnék egy kis magyarázatot. A self például mindig t lesz, tehát az a feltétel sosem fog teljesülni. A self-nek akkor van értelme, ha van egy külön __index kezelő fügvény és azt tesszük a metatáblákba. Az angol szavakhoz: pár szó jelentésének azért nem árthat utánanézni, még tanulhat is az ember. Itt az inheritation-t öröklődésnek szokták hívni. Az invoke-nak nem tudom ebben az esetben mi a hivatalos magyar megfelelője (ha van egyáltalán) de akkkor legyen használ/bevon. A metametódus meg csúnyán hangzik, de a method az metódus magyarul. Link to comment
rain_gloom Posted December 6, 2013 Author Share Posted December 6, 2013 Az inventory nak valszeg lesz két változata, egy beépített (OOP) és egy export (hagyományos MTA) változata (ami lehet hogy csak az OOP-hez lesz egy interface). PL pont nem kell, egyelőre hagyom, de később jól jöhet. A self, ja. Hmm... képzeld el így: Van egy class base amin keresztül mennek az object-ek és a saját indexei is. Az object-ek pölö a method-jaikat a base-től öröklik egy sima __index-szel, de a base is örököl, mondjuk a table-ből. Angol: hagyjuk az egészet, angolul írni könnyebb. (legalábbis ilyen szöveget) Nem véletlenül nem magyarul kommentelem a kódot. Link to comment
rain_gloom Posted December 13, 2013 Author Share Posted December 13, 2013 ld.: első post edit. Ha valaki tud és szeretne aktívan Unity-ban játékokat fejleszteni, akkor várom. C#/JavaScript/Boo tudás, modellezés, shader programozás, 2D és akármi egyéb jöhet. Link to comment
csiguusz Posted December 14, 2013 Share Posted December 14, 2013 Rossz hír, de várható volt sajnos az utóbbi idő (nem)történései alapján. Amit írtál már nem igazán az én területem, most maradok mta-nál, aztán majd lehet megnézem mit tudnék kihozni a eddigi kódból. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now