Rheiko | Date: Tuesday, 2013-10-08, 5:36 PM | Message # 1 |
Co-Admin
Group: Administrators
Messages: 42
Status: Offline
| di tutorial ini saya akan mengajari anda bagaimana cara menangani object leak handles adalah game objek: units, doodad, destructible, items, special effect, region, location, unit group, player group yang bukan handles adalah integers, reals, booleans; mereka hanyalah. mereka tersimpan di variable mereka dan dihapus saat variable baru dibentuk.
handle variable dalam kata lain adalah petunjuk: mereka memiliki angka yang menunjukkan dimana objek dalam memory game terletak, dikarenakan itu mereka tidak bisa diremove dari memory karena tidak ada cara untuk memberitahu function yang digunakan untuk menghilangkan mereka, mereka ada di memory mana. handles yang tidak terlihat hanya akan dihapus pada akhir game tapi selama game masih berjalan, mereka bertambah dan dapat menyebabkan isu dalam kelangsungan game.
sekarang, ada banyak function yang membuat handles. Center of region, random point in region, position of unit, target point of ability being cast... dan banyak hal yang membuat lokasi objek, yang biasanya digunakan untuk membuat unit, atau special effect, atau distances between points... Units in region, units owned by player, units in range,... semua function ini memberimu unit group. kemudian ada juga player group dan semua hal-hal yang sudah disebutkan dan lain-lain.
kamu mungkin hanya membutuhkan objek ini untuk sementara, tapi game tidak akan tahu itu dan tidak akan menghilangkannya sendiri. lokasi tidak akan hilang begitu saja setelah kita membuat sebuah unit. kita harus menggunakan function spesial untuk membuang handles yang hanya digunakan sementara atau tidak lagi digunakan dan tidak lagi dibutuhkan
mari katakan, kita akan membuat footman Unit - Create 1 Footman at (Center of (Playable map area) facing default building facing kita telah leak lokasi yaitu (Center of (Playable map area), untuk menghindar dari leak ini kita akan menggunakan variable terlebih dahulu [Point Variable, beri nama TempPoint] lakukan seperti ini: Set TempPoint = (Center of (Playable map area) Unit - Create 1 Footman at TempPoint facing default building facing Custom script: call RemoveLocation(udg_TempPoint) kita gunakan custom script [script adalah segaris kode dari jass], ingat bahwa custom script itu sangat sensitif. satu kesalahan kata maupun itu huruf kapital spasi atau apapun akan menyebabkan error. Dan kode yang terlalu panjang untuk custom script dapat mengakibatkan world editor crash perhatikan udg_TempPoint, kita memberi awalan udg yang berarti user defined global. adalah global function setiap kamu membuat variable, kamu harus mengawali script dengan udg_, contoh: Custom script: call RemoveLocation(udg_PointVariableMu)
ini adalah basik dari memory leak daftar leak ada di sini
|
|
| |
Daffa_Mage | Date: Tuesday, 2013-10-08, 5:49 PM | Message # 2 |
Grand Leader
Group: Administrators
Messages: 76
Status: Offline
| Sedikit info tambahan, Warcraft 3 Leaks ini terjadi karena keteledoran Blizzard dalam pembuatan Warcraft 3 Handles.
|
|
| |