Mengganti Gambar di Layar Simpanan Berdasarkan Rute

Mengganti Gambar di Layar Simpanan Berdasarkan Rute

Saat kita memainkan permainan Ren'Py, layar simpanan dapat menampilkan gambar yang tidak kita inginkan. Namun, kita tidak harus menggunakan fitur save screenshot untuk mencapai tujuan ini! Kita dapat mengedit file_slots screen dan menghapus bagian tempat gambar ditambahkan ke layar. Dengan cara ini, masalah menampilkan gambar yang tidak diinginkan dapat terpecahkan.

Namun, bagaimana jika kita ingin menampilkan gambar yang sebenarnya diinginkan? Kita dapat menambahkan pasangan nilai:nilai arbitrari ke file save dan menggantikan gambar yang sebelumnya ditampilkan dengan gambar lain. Walaupun ini tampak seperti tugas yang sulit, namun kita sebenarnya tidak memerlukan gambar tersebut. Kita hanya perlu menggunakan indikator untuk menentukan rute mana yang sedang dijalankan, sehingga kita dapat memutuskan gambar apa yang harus ditampilkan.

Contoh kode berikut menunjukkan cara menggantikan gambar di layar simpanan dengan nilai-nilai route:

# A variable which would be saved.
default current_route = 'common'

init python:
 # A function to add current_route variable to externally visible save data
 def save_route(d):
 d['route'] = current_route

 # Append that function to the list of functions executing on save
 config.save_json_callbacks.append(save_route)

label start:
 'If you save here, current_route would be "common".'
 menu:
 'Who do you like the most'
 'Jessica':
 $ current_route = 'jessica'
 'Ann':
 $ current_route = 'ann'
 'If you save now, current_route value will depend on choice you did before.'

# Part of file_slots screen:
button:
 action FileAction(slot)

 has vbox

 # Remove:
 # add FileScreenshot(slot) xalign 0.5

 # New stuff:
 $ cur_route = FileJson(slot, key='route')
 if cur_route == 'common':
 add 'route common' xalign 0.5
 elif cur_route == 'jessica':
 add 'route jessica' xalign 0.5
 elif cur_route == 'ann':
 add 'route ann' xalign 0.5

 text FileTime(slot, format=_"#{file_time}%A, %B %d %Y, %H:%M"), empty=_("empty slot")):
 style "slot_name_text"

 text FileSaveName(slot):
 style "slot_name_text"

 key "save_delete" action FileDelete(slot)

Dalam contoh kode di atas, kita menggunakan fungsi save_route untuk menambahkan nilai current_route ke data save. Kemudian, kita mengedit file_slots screen dan menggantikan gambar dengan teks yang berbeda-beda tergantung dari nilai cur_route. Dengan cara ini, kita dapat menampilkan gambar yang diinginkan pada layar simpanan.

Semoga informasi ini bermanfaat bagi Anda!