Sabtu, 2 Februari 2008

Sambungan Pembangunan Animasi 2

ini adalah imej 2d



Imej 2d itu diletak pada permukaan objek 3d diantara vertex-vertex yang disusun pada satu normal.



Dalam erti kata lain, kita masukkan SKIN pada permukaan sesebuah object supaya nampak bentuk 3D lebih ketara le kan. Gabungan vertex-vertex ini akan membentuk WIREFRAME yang menjadi tulang belakang sesebuah objek.

PENGENALAN CODE (LEVEL TUTORIAL : TERLALU MUDAH)
Ok selepas kita fahami vertex, kita akan pergi lebih lanjut kepada driver untuk melaksanakan game kita. Untuk memudahkan kefahaman mengenai aturcara maka Visual Basic dan DirectX 8.0 dipilih. Berikut adalah penerangan bagaimana setup untuk antaramuka game boleh dilakukan.


************************************************************
PEMBOLEHUBAH


Dim Dx as DirectX8
Objek yang dihubungkan kepada directx8

Dim D3D as Direct3D8
Memberikan kawalan terhadap objek dalam directx

Dim D3DDevice as Direct3DDevice8
Mewakili perkakasan untuk tujuan melukis pada skrin (render)



************************************************************

PERMULAAN


Public Function Initialise() as Boolean
On Error Goto ErrHandler:

Dim DispMode as D3DDISPLAYMODE '//Mewakili mode display contoh 640 x 480
Dim D3DWindow as D3DPRESENT_PARAMETERS '// Mewakili skrin yang kita lihat

Set Dx = New DirectX8 '// Membina object directx 8
Set D3D = Dx.Direct3DCreate() '//Dari objek directx kita buat antaramuka directx berkenaan

D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode '// Mendapatkan mode resolusi komputer yang dipakai

D3DWindow.Windowed = 1 '// Menggunakan skrin dalam window
D3DWindow.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC '//Refresh skrin
D3DWindow.BackBufferFormat = DispMode.Format '//Menggunakan resolusi yang sedia ada

// Membuat device pada permukaan directx, iaitu ruangan untuk rendering.
Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, FrmMain.Hwnd, _
_ D3DCREATE_SOFTWARE_VERTEXPROCESSING, _
_ D3DWindow)

Initialise = True
Exit Function
ErrHandler:
Initialise = False
End Function



************************************************************

RENDER (LUKIS PADA SKRIN)


Public Sub Render()
'//Padam segala lukisan yang terdapat pada skrin di ruangan device.
D3DDevice.Clear 0, ByVal 0, D3DCLEAR_TARGET, &HCCCCFF, 1#, 0

'//Memulakan senario game
D3DDevice.BeginScene
'//Disinilah kesetiap objek bagi directx dilukis contoh kotak, rumah, dan berbagai lagi
D3DDevice.EndScene

'//Perbaharui skrin untuk memaparkan objek yang baru.
D3DDevice.Present ByVal 0, ByVal 0, 0, ByVal 0
End Sub


************************************************************

PUSINGAN UTAMA



Private Sub Form_Load()

Me.Show
bRunning = Initialise() //Memulakan driver directx


Do While bRunning
Render '//Memanggil fungsi render dan memaparkan objek yang dilukis
DoEvents '//Masa berhenti untuk cpu melakukan process yang dirender

Loop


'//Padam directx

Set D3DDevice = Nothing
Set D3D = Nothing
Set Dx = Nothing

Unload Me
End
End Sub
**********************************************************


Ok ini adalah asas untuk memulakan antaramuka untuk membuat game... Jadi ada sesiapa yang tak faham tanya sekarang sebelum kita terus ke pengaturcaraan yang lebih detail


WARNING : Ini untuk tujuan kefahaman sahaja, jgn confuse dengan code ini, walaupun ia penting kebanyakan SDK dah sediakan. Jadi janganlah give up ok.

Tiada ulasan:

Catat Ulasan

Nota: Hanya ahli blog ini sahaja yang boleh mencatat ulasan.

Tarikh hari ini

slow connection? click here