Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: DirectX8 ja With

Sivun loppuun

kayttaja-3842 [15.04.2006 13:23:02]

#

Olen nytten lukenut tuota DirectX8 opasta ja tuli eteeni rivit joita en oikein tajua. Se jää oppaassa aika epäselväksi minusta.

Eli:

If Ikkunassa Then
D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, D3DDISPLAYMODE
If D3DDISPLAYMODE.Format = D3DFMT_P8 Or D3DDISPLAYMODE.Format = D3DFMT_A8P8 Then
InstallisoiD3D = D3DERR_INVALIDDEVICE
Exit Function
End If

With D3DPP
 Windowed = 1
 .BackBufferFormat = D3DDISPLAYMODE.Format
.BackBufferWidth = 640
.BackBufferHeight = 480
.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC
End With
Else
With D3DDISPLAYMODE
.Width = 640
.Format = 480
.Format = D3DFMT_A8R8G8B8
End With
With D3DPP
Windowed = 0
.BackBufferFormat = D3DDISPLAYMODE.Format
.BackBufferWidth = D3DDISPLAYMODE.Width
.BackBufferHeight = D3DDISPLAYMODE.Height
.BackBufferCount = 1
.hDeviceWindow = hWnd
.SwapEffect = D3DSWAPEFFECT_FLIP
End With
End If

Ensinnäkin halunan tietää minkä takia tossa on kaksi kertaa sama asia eli toi taka puskurointi? Sitten haluan teitää mikä toi with on? En ole ennen kuulut tuoltaista ja VB oppaassa sellsita ei tainut olla. Vai oliko? Eli mitä se tekee tai mitä sillä tehdään?

Jorgga [15.04.2006 13:34:38]

#

Itse olen saanut sellaisen käsityksen että tuo With on niinku että pääsis helpommalla esim:

With Label1
.Left = 0
.Caption = "moi"
End With

Swoosher [15.04.2006 13:46:19]

#

Kuten sanottu,

With Label1
.Left = 0
.Caption = "moi"
End With

olisi purettuna

Label1.Left = 0
Label1.Caption = "moi"

kayttaja-3842 [15.04.2006 14:03:04]

#

Niin arvelinkit, mutta minkä takis ehto jatkuu vielä

tästä:?

If Ikkunassa Then
D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, D3DDISPLAYMODE
If D3DDISPLAYMODE.Format = D3DFMT_P8 Or D3DDISPLAYMODE.Format = D3DFMT_A8P8 Then
InstallisoiD3D = D3DERR_INVALIDDEVICE
Exit Function
End If
'If Ikkunassa taitaa jatkua vielä tästä

Blaze [15.04.2006 20:47:24]

#

kayttaja-3842 kirjoitti:

Niin arvelinkit, mutta minkä takis ehto jatkuu vielä

Öhh... No koska se edessäkin oleva koodi pitää suorittaa vain silloin kun piirretään ikkunaan :)

kayttaja-3842 [17.04.2006 11:13:37]

#

Minkä takia sitten pitää saada tietoon tämän hetkienn näyttötila?

If Ikkunassa Then
       'Hankitaan tietoa tämänhetkisestä näyttötilasta
       D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, D3DDispMode

Antti Laaksonen [17.04.2006 12:46:24]

#

Kun grafiikka piirretään ikkunaan, on tyydyttävä senhetkiseen näyttötilaan. Ohjelma tarkistaa, että käytössä on riittävästi värejä.

kayttaja-3842 [18.04.2006 08:44:16]

#

Jep Jep...Voiko sitten joku valasita minulle, minkä takia pitää tehdä laite eli sii minun tapauksessani D3DDevice?

Blaze [18.04.2006 15:51:52]

#

D3DDevice kuvaa sitä näyttistä, jolla grafiikkaa haluat piirtää. Nykykoneissahan noitakin voi olla useampi kerrallaan.

Se vain nyt pitää tehdä :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta