Ena od težav pri odprtokodni kodi je v tem, da se včasih zdi, da projekti propadajo ob strani ali pa so zmedeni. Vzemite SDL.NET. Če prezremo spletno mesto za prodajo, razkrije iskanje po spletu cs-sdl.sourceforge.net projekt, ki se je, kot kaže, ustavil novembra 2010. Ne verjamemo, da se je ustavilo, ampak samo izgleda, kot je.
Če ne poznate C #, se boste najprej morali naučiti, kako to storiti program v C #. Če pogledamo drugje, smo naleteli na okvir Tao, ki je povezan na spletni strani Mono, ki zdi, da pokriva isto območje in dodaja podporo za zvok itd. Toda gledanje na izvorne sile (spet!) Ga je nadomeščalo OpenTK toda poudarek je na OpenGL. Vendar pa vključuje tudi OpenAL, zato se zdi, da je namestitev obeh (cs-sdl in OpenTK) pot naprej.
Del namestitve OpenTk ni uspel; NS (shader), ker nimamo nameščenega VS 2008! Vendar je bilo z vsem v redu. Ustvarili smo projekt C # Console in se začeli igrati s SDL.NET. Spletno dokumentacijo najdete tukaj.
Če pogledamo nazaj, lahko vidimo, da okvir OpenTK kot tak ni bil potreben, da je SDL.NET namestil vse, vendar to takrat ni bilo povsem jasno. Še vedno uporablja okvir Tao, čeprav je razvoj tega nadomestil OpenTK. To je malce zmedeno in upamo, da bo ekipa SDL.NET v prihodnosti predstavila združljivo različico OpenTk.
Kot smo mislili, ne gre le za tanek ovitek okroglega SDL, ampak doda precej dodatne funkcionalnosti. Obstajajo številni razredi, ki omogočajo naslednje:
Poiščite dve dll SDL.NET (SdlDotNet.dll in Tao). Sdl.dll) in dll OpenTK in jih dodajte referencam projekta. Po namestitvi se podatki nahajajo v programskih datotekah \ SdlDotNet \ bin (v 32-bitnem sistemu Windows in programskih datotekah (x86) \ SdlDotNet \ bin v 64-bitnem sistemu Windows. Z desno miškino tipko kliknite razdelek Reference v Raziskovalcu rešitev, nato kliknite Dodaj referenco in izberite zavihek Brskanje. Odpre se pogovorno okno Raziskovalca in po iskanju dlls izberite in kliknite OK.
Še zadnja stvar kliknite na Pogled \ Lastnosti, tako da odpre strani z lastnostmi in na prvem zavihku (Aplikacija) Spremenite vrsto izhoda iz konzole v aplikacijo Windows. Če tega ne storite, ko se program prvič zažene in odpre glavno okno SDL, bo odprlo tudi okno konzole.
Zdaj smo pripravljeni na začetek in spodaj sem ustvaril kratko aplikacijo. To pretrga pravokotne velikosti in nameščene pravokotnike in kroge na površini okna s 1.700, narisanimi na sekundo, s hitrostjo slike 50 sličic na sekundo.
Ta 1.700 izhaja iz nastavitve števila narisanega na okvir na 17 in prikaza okvirjev na sekundo v napisu Window s pomočjo Video. WindowCaption. Vsak okvir nariše 17 napolnjenih krogov in pravokotnikov, 17 x 2 x 50 = 1.700. Ta številka je odvisna od video kartice, procesorja itd. Impresivna hitrost.
// David Bolton, http://cplus.about.com
z uporabo sistema;
z uporabo sistema. Risba;
z uporabo SdlDotNet. Grafika;
z uporabo SdlDotNet. Jedro;
z uporabo SdlDotNet. Grafika. Primitivi;
javni razred ex1
{
zasebna const int wwidth = 1024;
zasebni const int wheight = 768;
zasebni statični površinski zaslon;
zasebni statični Random r = nov Random ();
javna statična void glavna (string [] args)
{
Zaslon = Video. SetVideoMode (širina, širina, 32, napačno, napačno, napačno, resnično);
Dogodki TargetFps = 50;
Dogodki Zapri + = (QuitEventHandler);
Dogodki Označite + = (TickEventHandler);
Dogodki Run ();
}
zasebna statična praznina QuitEventHandler (pošiljatelj predmeta, argumenti QuitEventArgs)
{
Dogodki QuitApplication ();
}
zasebna statična void TickEventHandler (pošiljatelj predmeta, argu TickEventArgs)
{
za (var i = 0; i <17; i ++)
{
var rect = nov pravokotnik (nova točka (r. Naprej (širina - 100), r. Naslednji (s stotinko-100)),
nova velikost (10 + r. Naprej (širina - 90), 10 + r. Naslednja (širina - 90)));
var Col = Barva. FromArgb (r. Naprej (255), r. Naprej (255), r. Naprej (255));
var CircCol = Barva. FromArgb (r. Naprej (255), r. Naprej (255), r. Naprej (255));
kratek polmer = (kratek) (10 + r. Naslednja (širina - 90));
var Circ = nov krog (nova točka (r. Naprej (širina - 100), r. Naslednji (kota-100)), polmer);
Zaslon. Izpolnite (rect, Col);
Circ. Risanje (Screen, CircCol, false, true);
Zaslon. Nadgradnja() ;
Video. WindowCaption = Dogodki Fps. ToString ();
}
}
}
Video ponuja načine za nastavitev video načina, ustvarjanje video površin, skrivanje in prikazovanje miške ter interakcijo z OpenGL. Saj ne, da bomo OpenGL delali še nekaj časa.
Tu se video objekt uporablja za nastavitev velikosti in ločljivosti igre Window (celoten zaslon je možnost). Parametri za SetVideoMode omogočajo spreminjanje teh, 13 preobremenitev pa ponuja veliko raznolikosti. V mapi doc je datoteka .chm (oblika pomoči Windows html), ki dokumentira vse razrede in člane.
Objekt Events ima urejevalnik Quit events, ki vam omogoča, da dodate logiko zapiranja in pokličete dogodke. QuitApplication (), da se odzove na uporabnika, ki zapre aplikacijo. Dogodki Tick je verjetno najpomembnejši upravljavec dogodkov. Vsakemu okviru pokliče določen obdelovalec dogodkov. To je model za vse razvoj SDL.NET.
Nastavite lahko želeno hitrost slike in moje zmanjšanje zanke na 5 in spreminjanje Targetfps-a na 150, ki jo imamo pri 164 sličicah na sekundo. TargetFps je figura krogle; zamuja, da se približaš tej številki, ampak Dogodkom. Fps je tisto, kar se dostavi.
Tako kot izvirna različica SDL brez oken uporablja tudi SDL.NET površine za upodabljanje na zaslon. Iz grafične datoteke je mogoče zgraditi površino. Obstaja veliko število lastnosti in metod, ki omogočajo tudi branje ali pisanje slikovnih pik narišite grafične primitive, utripajte druge površine, celo pospravite površino v datoteko diska za fotografiranje posnetki zaslona