Selamat kembali! Selamat Hari Raya semua!! Lama jugak saya tidak membuat update untuk blog ini. Minta maaf dalam bulan Ramadhan malam saya terlampau penuh dengan aktiviti malam ditambah pula lagi dengan masalah WiMax saya. Buntu saya dibuatnya. Ada hikmah di sebalik semua itu insyaallah.
Tiba masanya untuk kita perdalamkan ilmu XNA kita dengan sprite. Apakah dia sprite? Sprite adalah objek ilustrasi yang digunakan di dalam permainan anda. Sebagai contoh sekiranya anda ingin membuat permainan bolasepak. Ilustrasi pemain anda adalah sprite. Bola adalah sprite. Tiang gol juga sprite. Malah penonton di dalam stadium juga merupakan sprite. Pendek kata ke semua ilustrasi di dalam permainan anda adalah sprite.
Bila create New Project->Windows Game (masukkan nama game anda. Dalam konteks ini “Game1”. Terdapat class-level variable, Game1 Constructor dan lima method. Class-level variable yg pertama adalah GraphicsDeviceManager. GraphicsDeviceManager berfungsi untuk memberi kemudahan kepada programmer untuk menggunakan resource graphics dalam PC anda
Terdapat property di dalam GraphicsDeviceManage yang dipanggil GraphicsDevice. GraphicsDevice merupakan penghubung antara XNA game anda dan GPU (graphics processing unit).
Class-level variable yang kedua adalah SpriteBatch yang akan digunakan untuk melukis graphics di atas permukaan skrin. Sprite bermaksud imej 2D atau 3D yang diterjemahkan ke atas graphics lain yang lebih besar permukaannya. Sprite juga adalah aturan imej yang bersangkutan satu sama lain tetapi mempunyai sequence imej seolah-olah membentuk pergerakan.
Initialized method adalah method yang digunakan utk mengisytiharkan variable-variable yang akan digunakan di dalam membuat game nanti.
LoadContent method dipanggil apabila terdapat panggilan system terhadap graphics content yang perlu dimasukkan ke dalam game. Biasanya dalam method ini anda akan memasukkan elemen-elemen grafik, peranti input, imej, objek, sound dan sebagainya yang akan digunakan oleh Game anda.
Selepas melalui method LoadContent akan melalui satu stage iaitu Game Loop. Ada dua method yang akan dipanggil apabila Game anda melalui proses ini iaitu, Update method dan Draw method. Penggunaan method Draw dikhususkan hanya kepada melukiskan elemen-elemen ke dalam game anda, tidak lebih dari itu. Minimumkan penggunaan Draw method ini untuk sekadar melukis dan bukan untuk memproses AI atau logic game yang lain.
Untuk kira collision detection, mengupdate pergerakan, kiraan mata dan mengakhiri game seelok-eloknya dibuat di dalam Update method.
Perbezaan antara aplikasi Game dan aplikasi biasa
Bagi aplikasi computer biasa, selalunya aplikasi ini menunggu sehingga user memasukkan input ataupun menekan butang tertentu apabila selesai melakukan sesuatu. Proses tertentu akan berjalan apabila user menekan butang, memasukkan perkataan di dalam kotak ayat dan sebagainya.
Manakala bagi aplikasi game, proses akan berjalan sepanjang waktu tanpa menunggu input dari user. Konsep ini dipanggil POLLING. Sebagai contoh game perlumbaan kereta, sebagai pemain sudah tentu anda akan menggerakkan kereta anda ke kiri. Situasi ini adalah sama seperti apa yang berlaku pada aplikasi windows biasa. Cuba anda fikir siapa pula yang menggerakkan kereta lawan anda, sudah tentu komputer. Inilah yang dipanggil POLLING. Setiap perkara yang berlaku kepada kereta lawan anda tidak menerima apa-apa input dari pengguna lain.
Dalam permainan computer, oleh kerana ia selalu membuat polling maka ia sentiasa berada di dalam loop. Loop akan sentiasa bersedia menerima input, arahan dari dalam game seperti tambah mata, collision detection (perlanggaran). Biasanya segala arahan ini akan dilakukan di dalam Update. Dari Update inilah arahan seperti pergerakan musuh dihantar kepada Draw supaya pergerakan itu boleh dilukis ke atas skrin menggunakan graphics device yang diceritakan di awal bab ini.
Penting juga untuk kita mengambil tahu tentang Game State. Game State adalah merupakan fasa dalam permainan anda. Aspek-aspek seperti splash screen, alam permainan dan the end dipanggil game state.

Biasanya apa yang terjadi di dalam Update adalah segala aspek permainan berjalan di dalamnya atau gambar dilukiskan di dalam Draw dan akhir sekali permainan ditamatkan.
Apabila permainan anda ditamatkan, seboleh-bolehnya buatlah satu splash screen atau apa-apa bentuk alert yang boleh memberitahu pemain bahawa permainan dah tamat. Kemungkinan mereka akan tertanya-tanya sekiranya game anda exit dengan begitu sahaja. Berikan option kepada pemain untuk memulakan semula atau loadkan kembali bab tertentu yang mereka sudah berjaya melepasinya atau sebagainya. Barulah professional.
Apabila game anda tamat, segala resource game anda akan ditamatkan atau dihapuskan dari memori. Bila anda memulakan game anda segala resource ini akan dimasukkan ke dalam LoadContent(). Setelah game anda tamat segalanya akan dihapuskan oleh garbage collector (kesemua .Net applikasi mempunyai konsep ini). Namun sekiranya anda mempunyai resource yang anda uruskan sendiri anda boleh tamatkan segala resource itu di sini.










XNA 3.1 dan muncul kali ini tardapat beberapa penambahbaikan telah dibuat. Ia juga menyokong lebih banyak 


