Okay thanks. I also found a workaround where I did this:
Code: Select all
screen timeline_btn(n,m):
image "gui/button/timeline btns/timeline_btn_"+m+"_0"+n+".png" xanchor 1.0 yanchor 1.0 xpos 1248 ypos 688
screen timeline_btn_show(n):
timer 0.01 action [Hide("timeline_btn"),Show("timeline_btn",None,"0",n)]
timer 0.2 action [Hide("timeline_btn"),Show("timeline_btn",None,"1",n)]
timer 0.4 action [Hide("timeline_btn"),Show("timeline_btn",None,"2",n)]
timer 0.6 action [Hide("timeline_btn"),Show("timeline_btn",None,"3",n)]
timer 0.8 action Hide("timeline_btn_show")
and then called it with
Code: Select all
timer 1.0 action Show("timeline_btn_show",None,"1") repeat True
, but your way looks cleaner since with my way I have to tell the scripting person to hide a bunch of stuff at the end of each of her scripts to remove this.
EDIT: I think I found a bug in Ren'py, having to do with image maps. I used your example and I have this in my custom screens file calling it(idle "timeline_btn_2", where "timeline_btn_2" is my atl animation):
Code: Select all
if stage == "2":
window id "info_button_2_2" background None xanchor 1.0 yanchor 1.0 xmaximum 218 ymaximum 50:
xalign 0
yalign 0
xpos 1248
ypos 688
#timer 0.1 action Hide("timeline_btn_show")
#timer 1.0 action Show("timeline_btn_show",None,"2") repeat True
imagemap:
idle "timeline_btn_2"
hotspot (0,0,48,48) action [Show('info_box2',None,persistent.timelineHeading1,persistent.timelineBody1),Play("sound","audio/sfx/timelinePopup.ogg")]
hotspot (84,0,134,48) action [Show('info_box2',None,persistent.timelineHeading2,persistent.timelineBody2),Play("sound","audio/sfx/timelinePopup.ogg")]
Which works fine with only one hotspot. However, when I have both hotspots there as shown, and I close the window that either hotspot calls, the game crashes with the error 'NoneType' has no attribute 'append', and it isn't any of my code throwing that error. I don't use append anywhere -- the trace goes right from the main script to ast.py, and then to a bunch of other low level engine code.