1.062.463

kiadvánnyal nyújtjuk Magyarország legnagyobb antikvár könyv-kínálatát

A kosaram
0
MÉG
5000 Ft
a(z) 5000Ft-os
szállítási
értékhatárig

DirectX - CD-vel

Szerző
Fordító
Grafikus
Lektor
Budapest
Kiadó: Panem Kft.
Kiadás helye: Budapest
Kiadás éve:
Kötés típusa: Fűzött kemény papírkötés
Oldalszám: 889 oldal
Sorozatcím: Programozók Könyvtára
Kötetszám:
Nyelv: Magyar  
Méret: 22 cm x 17 cm
ISBN: 963-545-251-9
Megjegyzés: Fekete-fehér ábrákkal illusztrálva. CD-melléklettel.
Értesítőt kérek a kiadóról
Értesítőt kérek a sorozatról

A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról
A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról

Előszó

A könyv alapvető célja, hogy megismertesse az Olvasót a Microsoft DirectX API mélyebb részleteivel. Ezt úgy tesszük lehetővé, hogy áttekintjük a DirectX különféle alkotóelemeit, mint például a... Tovább

Előszó

A könyv alapvető célja, hogy megismertesse az Olvasót a Microsoft DirectX API mélyebb részleteivel. Ezt úgy tesszük lehetővé, hogy áttekintjük a DirectX különféle alkotóelemeit, mint például a DirectDraw-t. Részletes példán bemutatjuk a függvények leírását. Az egyes fejezetek példáiban nem rejtettük el a DirectX alkotóelemeket, így az Olvasó közvetlenül kapcsolatba kerülhet a DirectX API-val. A könyv másik alapvető célja, hogy a DirectX API használatához referenciát biztosítson, amelynek segítségével könnyebbé válik a DirectX alkalmazások fejlesztése.
A Példákon keresztül létrehozunk egy objektumorientált könyvtárat, ami magában foglalja és egyben ki is terjeszti a DirextX műveleteit. A példák fejlesztése során a Microsoft Visual C++ Compilert és a Microsoft Foundation Classest (MFC-t) használjuk. A könyvben szereplő információk megértéséhez nem szükséges, hogy nagyon gyakorlottak legyünk az MFC használatában, ugyanakkor hasznos, ha ismerjük az MFC általános alapelveit. Azok, akik más környezetet vagy fordítót ismernek, használják nyugodtan azt, ne érezzék kötelezőnek a könyvben ajánlott MFC használatát. Vissza

Tartalom

Előszó15
I. rész. Alapozás17
Bevezetés19
Ismerkedés a DirectX-szel19
A COM áttekintése20
A DirectX áttekintése23
DirectDraw24
DirectSound24
DirectD324
DirectInput25
DirectPlay25
DirectSetup26
DirectMusic26
Az objektumorientált programozás és a C++26
A Win32 PI áttekintése32
1. példa. Egy egyszerű Windows Hello World példa34
Összefoglalás41
Irodalom41
Az MFC használata, gyors áttekintés42
VC++ alkalmazásvarázsló használata egy általános alkalmazásváz kifejlesztéséhez43
z MFC dokumentum/nézet szerkezete50
A CWinpp osztály51
CMainFrame osztály58
CDocument osztály64
CView osztály69
Üzenettérképek75
A ClassWizard használatát tagfüggvények hozzáadásához76
A Resource editor használata párbeszédablakok, menüelemek, bitmap képek stb. hozzáadására79
Hibakeresés a VC++ fordító segítségével84
Távoli hibakeresés megvalósítása teljes képernyős DirectDraw alkalmazások esetében86
2.1. példa. Egyszerű SDI alkalmazás létrehozása DirectX stílusban90
Érvek az MFC mellett és ellen98
Irodalom98
A Windows GID-je, DIB-jei és palettái99
A Windows GDI99
A Windows DIB105
A Windows paletták és 256 szín109
A Windows palettaüzeneteinek kezelése115
DIB-ek és paletták által megoldott feladatokat egységbe záró osztályok tervezése117
A DIB és paletta osztályok elkészítése118
A CDib osztály118
A CPal osztály136
3.1. példa. Gömb mozgatása a kliensterületen belül az új osztály felhasználásával141
Irodalom148
II. rész. DirectDraw148
A DirectDraw áttekintése151
Miért kívántos a DirectDraw használata?151
Mik az újdonságok a DirectDraw 6-ban?153
A DirectDraw architektúra154
A hardver absztrakciós réteg (HAL)156
A hardver emulációs réteg (HEL)156
A különféle DirectDraw interfészek és objektumok157
DirectDraw objektum160
DirectDrawSurface objektum160
DirectDrawPlatte objektum160
DirectDrawClipper objektum161
DirectDrawVideoPort objektum161
Együttműködési szintek, teljes képernyős és ablakos módok161
Megjelenítési módok164
Elsődleges felületek, elülső és hátsó pufferek és a lapváltás166
Képernyőn kívüli felületek (Off-screen felületek)169
Transzparens átlapolás és színkulcsok169
A készülék adottságainak lekérdezése171
4.1.példa. A grafikai hardver adottságainak lekérdezés és megjelenítése174
Az IDirectDraw4 függvényei197
Az IDirectDraw adatstruktúrái199
Munka a felületekkel200
A DirectDraw felületek áttekintése200
Felületek létrehozása202
Egyszerű elsődleges felület létrehozása202
Összetett elsődleges felület létrehozása203
Képernőyn kívüli felület létrehozása204
Felületek átlapolása és váltása205
A színkódok és az átlátszóság207
Felületek visszaállítása209
5.1.A. példa. ADIB átlapolása az elsődleges felületre HDC használatával210
5.1.B. példa. Képernyőn kívüli felület átlapolása az elsődleges felületre227
5.1.C. példa. Képadatok felületre írása231
5.1.D. példa. Dupla pufferelés és felületek átlapolása234
Az IDirectDrawSurface4 függvényei241
Az IDirectDrawSurface adatstuktúrái243
Munka a palettákkal244
A DirectDraw paletták áttekintése244
6.1.A. példa. Paletta létrehozása és beállítása az elsődleges felületen247
6.1.B. példa. Paletta animáció251
6.1.C. példa. Munka palettákkal ablakos üzemmódban255
Az IDirectDrawPalette függvényei263
Munka a vágókkal264
A DirectDraw vágók áttekintése264
Munka vágókkal ablakos üzemmódban266
Munka a vágókkal teljes képernyős üzemmódban267
7.1.A. példa. Vágás ablakos üzemmódban269
7.1.B példa. Vágás teljes képernyős üzemmódban275
Összefoglalás280
Az IDirectDrawClipper függvényei281
Az IDirectDrawClipper adatstruktúrái281
DirectDraw osztálykönyvtár fejlesztése282
A grafikai könyvtár osztályainak azonosítása284
A sprite-ok285
Az SDIB osztály286
Az SSprite osztály295
Az SDXDraw osztály306
Az SDXSurface osztály317
Az SDXPalette osztály340
Az SDXClipper osztály348
Az SGraphics osztály355
Összefoglalás356
III. rész. DirectSound357
DirectSound áttekintése359
A DirectSound használatának előnyei359
A DirectSound architektúra360
A különböző DirectSound interfészekről362
IDirectSound363
IDirectSoundBuffer364
IDirectSound3DBuffer, IDirectSound3DListener364
IDirectSoundCapture, IDirectSoundCaptureBuffer365
IDirectSoundNotify365
IKspropertySet365
Együttműködési szintek366
A készülék adottságainak lekérdezése367
9.1. példa. Alkalmazás a hanghardver adottságainak lekérdezésére és megjelenítésére369
Az IDirectSound függvényei382
Az IDirectSound adatstruktúrái383
A DirectSound és a DirectSoundBuffers használata384
IDirectSoundBuffer384
Hangpufferek létrehozása386
RIFF, Wav fájlok és adatstruktúrák390
Hangpufferek lejátszása397
Hangpuffer vezérlők400
Pufferek visszaállítása402
Az elsődleges hangpuffer elérése403
Hangpuffer jelzők404
10.1. példa. Wav fájl betöltése és lejátszása DirectSounddal405
Az IDirectSoundBuffer függvényei439
Az IDirectSoundBuffer adatstruktúrái440
Háromdimenziós DirectSound441
3D DirectSound áttekintése441
Az IDirectSound3DBuffer áttekintése443
A 3D hangpufferek minimum és maximum távolságának beállítása444
A 3D hangpuffer üzzemmódjának, pozíciójának és sebességének beállítása445
A 3 D hangpufferek hangkúpjának beállítása448
Kötegelési paraméterek450
Az IDirectSound3DListener áttekintése451
A hallgató irányultsága, pozíciója és sebessége453
A távolsági, a Doppler- és a csillapítási faktor beállítása454
Kötegelési paraméterek és elhalasztott beállítások456
11.1. példa. A DirectSound3DBuffer használata helyzeti hang generálásra457
Az IDirectSound3DBuffer függvényei486
Az IDirectSound3DBuffer adatstuktúrái487
Az IDirectSound3DListener függvényei487
Az IDirectSound3Dlistener adatstuktúrái488
DirectSound osztálykönyvtár fejlesztése489
Az osztályok azonosítása a könyvtár számára489
Az SWave osztály490
Az SDXSound osztály492
Az SDXSoundBuffer osztály499
Az SSound osztály504
IV. rész. A DirectPlay505
A DirectPlay áttekintése507
Miért kényelmes a DirectPlay használata?507
A DirectPlay 6 újdonságai508
A DirectPlay szerkezete510
A különféle DirectPlay felületekről513
Szolgáltatók514
Munkafolyamatok és aszinkron felsorolások519
A DirectPlay használata, ha egy munkafolyamat gazdájává kívánunk válni526
A DirectPlay használata, ha egy munkafolyamathoz kívánunk csatlakozni527
Játékosok és csoportok528
Üzenetek küldése537
Üzenetek fogadása543
DirectPlay rendszerüzenetek és struktúrák546
Szálak használata a DirectPlay üzenetek előhívásához549
Az MFC támogatása több szál használatához és az eseményobjektumokhoz552
Az eszközök képességeinek lekérdezése553
Biztonság555
Tűzfal (firewall) támogatás555
13.1. példa. Egyszerű párbeszédprogram létrehozása a DirectPlay segítségével556
Az IDirectPlay függvényei594
Az IDirectPlay adatstuktúrái597
A DirectPlay lobbyk áttekintése598
Mi is az a DirectPlay lobby?598
Az IDirectPlayLobby szerkezete600
Hogyan biztosítsunk lobby támogatást az alkalmazásaink számára?601
Lobby üzenetek küldése és fogadása608
14.1. példa. Lobby támogatás hozzáadása a párbeszéd programunkhoz609
Az IDirectPlayLobby függvényei625
Az IDirectPlayLobby adatstuktúrái626
A DirectPlay osztálykönyvtárának fejlesztése627
A könyvtár osztályainak azonosítása627
Az SDXPlay osztály628
Az SPacket osztály651
A CCommunications osztály656
V. rész. DirectInput667
A DirectInput áttekintése669
A bemenetek programozásának rövid története669
A DirectX színrelépése670
A DirectInput szerkezete671
Áttekintés671
Számbavétel, felsorolás mindenütt672
Az IDirectInput interfészfelület672
A DirectInput objektumok inicializálása672
A DirectInput objektumok használata az eszközök felsorolására674
Előre definiált eszközök674
Egyéb eszközök674
Az EnumDevices függvény674
A visszatérési függvény675
További függvények677
A memória felszabadítása680
Hogyan tovább?681
A billentyűzet használata681
Az eszközkezelésről általában682
Hasznos első lépés682
Az eszköz objektumának létrehozása683
Az adatformátum beállítása683
A billentyűzet együttműködési szintjének beállítása684
Hozzáférés a billentyűzethez685
A billentyűzet adatainak elérése687
Az adatok megtekintése687
Megjegyzések az egyszerre történő billentyűlemonyásokról, illetve nem minden billentyűzet egyforma688
Felszabadítás689
Hogyan tovább?689
Az egér használata690
A relatív mozgás690
Az egér objektumának létrehozása691
Az adatformátum beállítása691
Az egér együttműködési szintjének beállítása692
Pufferelt és nem pufferelt input693
A pufferelt bevitel előkészítése693
Hozzáférés az egérhez695
Az adatok előhívása az egérből695
Felszabadítás698
A Joystick használata699
Rendelkezésünkre áll a joystick?700
A joystick objektumának létrehozása700
A joystick adatformátumának beállítása702
A Joystick tulajdonságainak beállítása702
Az együttműködés szintjének beállítása703
Hozzáférés a joystickhoz704
Az adatok megjelenítése a joystikckból704
Felszabadítás706
Az erő-visszacsatoló eszközök használata707
Rendelkezésünkre áll-e erő-visszacsatoló joystick?707
Az erő-visszacsatoló joystick objektumának létrehozása708
Az erő-visszacsatoló joystick tulajdonságaink beállítása709
Az auto-center beállítása710
A hatások felsorolása711
Effektek létrehozása713
A tengelyek tömbjének létrehozása713
Az irányok értékeinek tömbje714
Effektspecifikus struktúra létrehozása715
A hatás borítékjának létrehozása715
Az effekt struktúrájának létrehozása717
A hatás objektumának létrehozása721
A hatás lejátszása722
Dinamikusan változó hatások723
Különféle függvények725
Felszabadítás726
A DirectInput osztálykönyvtár fejlesztése727
Az SDXInput osztály727
A C++ objektum létrehozása730
A COM objektum létrehozása731
Az eszközök felsorolása732
Különféle függvények734
Az SDXKeyboard osztály735
Az SDXMouse osztály739
Az SDXJoystick osztály747
Az SDXEffect osztály755
Készen vagyunk!758
VI. rész. DirectMusic761
A DirectMusic áttekintése763
A DirectMusic hatalmas interfészfelülete765
Projektek kialakítása a DirectMusic segítségével765
Verziókkal kapcsolatos információk766
MIDI766
Ismerkedés a DirectMusic terminológiájával767
A DirectMusic Producer768
A DirectMusic API-jának használata770
Az IDirectMusic771
Az IDirectMusicPerformance774
Az IDirectMusicLoader778
Az IDirectMusicSegment (valamint az IDirectMusicaPerformance-hoz kapcsolódó függvények)779
z IDirectMusicCollection, az IDirectMusicInstrument és az IDirectMusicBand783
Interaktív zene786
Az IDirectMusicComposer788
Hogyan tovább?789
DirectMusic osztálykönyvtár fejlesztése790
Néhány gyakori probléma megoldása790
Az SDXMusic osztály793
Az SDXPerformance osztály805
Az SDXSegment osztály812
Hogyan tovább?818
VII. rész. Összegzés819
Játék létrehozása az osztálykönyvtárak segítségével821
Egy oszlopos játék megtervezése821
A meteorfelhő áttekintése821
A játék meghatározása822
Az osztályok tervezése824
Az MFC és a VC++ mint váz és fordító826
Könyvtár osztályok versus alkalmazás osztályok830
A grafika831
A hang843
Az input lekérdezése848
A játék szerkezete850
Lezárás858
Tárgymutató861-889
Megvásárolható példányok

Nincs megvásárolható példány
A könyv összes megrendelhető példánya elfogyott. Ha kívánja, előjegyezheti a könyvet, és amint a könyv egy újabb példánya elérhető lesz, értesítjük.

Előjegyzem