Saya tahu Sean James sudah mengatakannya . Tapi serius, Visual Studio (khususnya alat debugging) hebat untuk ini.
Saya tidak menggunakan C ++ banyak hari ini, jadi saya tidak yakin seberapa baik ini berlaku di sana. Tetapi untuk C # (termasuk dalam C # Express) Anda memiliki:
- Edit dan Lanjutkan - tempat Anda dapat membuat perubahan grosir pada logika game Anda.
- The Watch Window - di mana Anda dapat melihat dan memodifikasi variabel dengan mudah.
Dan ini mungkin membuat Anda berpikir (itu membuat saya bingung ketika saya mengetahuinya):
Jendela Segera sebenarnya agak sulit ditemukan (ada di menu Debug / Windows).
Satu-satunya kelemahan utama menggunakan debugger Visual C # adalah tidak suka mengubah const
nilai. Jadi saya biasanya hanya membuat nilai-nilai terkait gameplay saya static
sementara saya men-tweak mereka.
(Juga: memiliki dua monitor sangat membantu.)
Sekarang saya harus mengakui bahwa metode di atas melibatkan menjeda aplikasi Anda - yang bisa lambat untuk beberapa hal fiddly.
Pada kesempatan langka ini, apa yang saya lakukan (dalam XNA) adalah cukup meretas sedikit kode (mungkin menggunakan Edit dan Lanjutkan, seperti di atas) untuk meraih Keyboard.GetState().IsKeyDown()
(sebenarnya saya memiliki pembungkus yang lebih mudah diketik untuk ini) dan menyesuaikan nilai dengan penekanan tombol. Apa pun yang lebih rumit tidak sepadan dengan usaha.
Dalam praktiknya, apa yang biasanya saya temukan jauh lebih penting adalah mampu memvisualisasikan (daripada memodifikasi) nilai-nilai secara real-time. Untuk ini saya memiliki kelas kecil yang bagus yang dapat buffer garis dan teks yang akan ditarik pada akhir frame. Ini juga berguna untuk pembuatan prototipe cepat.
(Dan, sekali lagi, senang bisa "Edit dan Lanjutkan" visualisasi ini di saat runtime.)
(sumber: andrewrussell.net )
( dari sini )
Saya khawatir saya tidak memiliki sumber "bagus" untuk dipublikasikan saat ini (mungkin nanti). Tapi itu pada dasarnya hanya daftar baris (untuk pustaka garis bundar ini ) dan string (untuk SpriteBatch bawaan XNA). Buat saja di public static
suatu tempat, dan gambar semuanya dengan transformasi yang sesuai sehingga semuanya muncul di "ruang dunia" (dan kemudian kosongkan daftar untuk frame berikutnya).