Pada dasarnya, Ren'Py memiliki fitur untuk menghapus savegame secara langsung dalam permainan. Namun, fitur ini tidak terdocumentasi pada Help Screen dan hanya dapat diakses dengan menampilkan tombol hapus (delete key) saat mouse berhenti di atas slot simpanan. Dalam beberapa kasus, misalnya pada platform Android atau perangkat touchscreen, fitur ini menjadi tidak efektif.
Oleh karena itu, dalam tutorial mini Ren'Py ini, saya akan memberikan petunjuk cara menambahkan tombol hapus untuk menghapus slot simpanan secara lebih mudah digunakan oleh pemain. Prosesnya sebagai berikut:
Langkah 1: Copy dan Paste Code
Pertama-tama, Anda perlu mencari kode yang berisi aksi delete save di file screens.rpy.
key "save_delete" action FileDelete(slot)
Selanjutnya, tambahkan imagebutton dengan property sebagai berikut:
imagebutton:
auto "/gui/button/delete_%s_button.png"
action [FileDelete(slot), Hide("delete_overlay_screen")]
xpos -60
ypos -350
hovered Show("delete_overlay_screen", slot=slot)
unhovered Hide("delete_overlay_screen")
Langkah 2: Menambahkan Screen untuk Menghapus Slot Simpanan
Selanjutnya, Anda perlu menambahkan screen baru yang akan menampilkan gambar overlay saat mouse berhenti di atas tombol hapus. Tambahkan kode sebagai berikut:
# dictionary with the slot coordinates
define slot_coord_dict = {
1: (160, 205),
2: (725, 205),
3: (1290, 205),
4: (160, 665),
5: (725, 665),
6: (1290, 665)
}
# screen that puts an overlay image over save/load slot when hovering over delete button
screen delete_overlay_screen(slot):
add "/gui/button/delete_slot_image.png" pos slot_coord_dict.get(slot)
Dengan demikian, Anda telah menambahkan tombol hapus untuk menghapus slot simpanan di Ren'Py. Tombol ini akan menampilkan gambar overlay saat mouse berhenti di atasnya dan memungkinkan pemain untuk menghapus savegame dengan lebih mudah.
Penjelasan Lanjutan
Saya juga merekomendasikan Anda untuk menggunakan dictionary untuk menggantikan if-else-statements dalam screen delete_overlay_screen. Kode untuk menggunakan dictionary sebagai berikut:
# dictionary to simplify the slot coordinates
define slot_coords = {
1: (160, 205),
2: (725, 205),
3: (1290, 205),
4: (160, 665),
5: (725, 665),
6: (1290, 665)
}
screen delete_overlay_screen(slot):
add "/gui/button/delete_slot_image.png" pos slot_coords.get(slot)
Dengan menggunakan dictionary, Anda dapat menggantikan if-else-statements dengan lebih mudah dan membuat kode menjadi lebih rapih.