Szerintetek a unity3d jobb mint az xna framework?
eddig xna-val programoztam játékokat de nekem van egy kis hibája. hogy a normális egér meg a játékbeli egér nem ugyanazon a helyen van és így kicsúszik mindig az ablakból a normális egér előbb mint kellene és sokszor zavaró, nem csak játék közben hanem programozásban is.
valaki esetleg ha tud rá megoldást(nem az egér scriptemmel van a gond, mert kipróbáltam úgy is hogy aktiváltam a windows-os egeret és ha az egeret odaviszem a gombra akkor nem történik semmi de ha pl leviszem a játék eggyik sarkába akkor érzékeli hogy megnyomtam a gombot. ). valaki tudna segíteni, vagy jobb a unity3d?
Nem jól számolod az egér koordinátákat. Elsőnek azt csináld meg, hogy számold ki a bal felső sarokhoz a 0,0 koordinátát, és ahhoz relatív figyeld az elmozdulást - vagy rakd a képernyő közepére az egeret, és nézd, milyen irányba hány pixelt mozdul el.
Az XNA és a Unity két külön dolog. Az xna egy framework, ami megadja az elemeket és a kapcsolatot a géphez, míg a Unity leginkább egy grafikus motorként dolgozik.
Magam részéről XNA párti vagyok inkább, szerintem sokszor célszerűbb saját igényekhez szabni a lehetőségeket :) De ízlések és pofonok, ügye.
Szerintem, ha rám hallgatsz, térj át SlimDX-re. XNA egyelőre eléggé halott frameworknek tűnik, mert a híresztelések alapján a microsoft nem akarja a továbbiakban fejleszteni.
SlimDX ugyanúgy használható (sőt, személy szerint jobbnak is találom) mint az XNA - directX-re épülő managed könyvtár. Nyelvezete szinte egy az egyben XNA, alig-alig vannak eltérések. Előnye, hogy amennyiben 3D akarsz váltani (vagy 2D-ben is) használhatod vele már akár a DX10-DX11 képességeket.
Sőt, mivel azért vannak különbségek (pl a game logic részt magadnak kell egy while ciklussal megírni) ezért amennyiben több platformra akarsz írni, könnyedén átírhatod a kódodat openGL-re is. Vagy könnyen át tudsz szokni arra :)
Magam is XNA-val kezdtem, ami egy csodás kis framework szerintem (és imádtam is) - csak aztán hiányoztak már a DX10-es képességek, úgyhogy áttértem SlimDX-re :)
Ja, és SlimDX-ből van 64 bites könyvtár is :)
De amúgy igazából, ahogy szoktam mondani: az eszköz, a nyelv és a könyvtár maga lényegtelen. Mai modernebb, komplexebb játékokhoz DX10 vagy magasabb openGL nem árt, mivel remek eszközöket ad az ember kezébe (a tessalation csodákra képes, ha jól használod) - de amennyiben a célodhoz az XNA DX9 nyelvezet elég, akkor használd azt. A legtöbb grafikus lib-re igaz, hogyha egyben tudsz dolgozni, akkor tudsz dolgozni a többiben is, lévén nagyon hasonlóak.
Beérek melóhelyre, adok szívesen hozzá egy felhasználható keretet, amivel el tudod kezdeni a programozást.
Két óra kb :)
Na, tehát:
http://
pastebin
.com/
N6bxxa1i
Ez a Program class - ezzel tudod elindítani az alkalmazásodat. Egyszerűen hozz létre egy Empty Projectet, majd Add->New Class
És másold bele a fenti linken a szöveget. Ha megvagy, hiányolni fog pár DLL-t valószinűleg.
Az alap működéshez a következő Reference-ekre lesz szükség:
+ SlimDX (ezt megtalálod a telepített SlimDX könyvtárban - ajánlom, hogy állísd be Copy Local-ra a Reference->jobb klikk -> Properties-> Copy Local legyen true - ekkor bemásolja a DLL-t a könyvtárba, későbbi hibákat elkerülendő :)
+ System
+ System.Drawing
+ System.Windows.Forms
ezeket berakod, akkor alapból már elindulna, amennyiben van alkalmazásod - de egyelőre még nincsen :)
http://
pastebin
.com/
QJXaXUx4
Ez pedig maga az ablak, amiben dolgozni akarsz. Lehetséges, hogy esetleg egy-két kapcsos zárójelet kifelejtettem :)
A fő XNA logika itt is ugyanaz. Megvan az Inicializálás, illetve a LoadContent, és a Draw.
Az update hiányzik, de nekem arra nem volt igazán szükségem egyelőre, a draw-on belül is ki lehet szépen egyensúlyozni a frissítéseket - természetesen egy StopWatch segítségével le lehet másolni az XNA "Update mindenek felett" logikáját.
Illetve, annyiban speckósítottam, hogyha az ablak elveszti a fókuszt, leáll a kirajzolás - így nagyon könnyen tudsz debugolni, mert egyrészt visszakapod a kurzort, másrész "pause"-olja számodra a kirajzolást, amíg a VS-ben beraksz egy breakpointot :)
A linkekben van pár enter a pastebin linkben, azokat töröld ki, különben nem fognak működni, de gyak.hu máshogy nem engedte -.- Valamiért rövidített linknek vette őket, holott nem azok :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!