I would like to have a simple drag and drop system. I made one with one object drag to one area drop but now I want that the drag object returns to its original position if the player doesn't place it in the drop area.
I found this thread with a solution viewtopic.php?t=38835 but there's for more than one objetc drop, and honestly, I don't understand very much (I'm learning Ren'py and I'm not programmer, maybe a mixture doomed to constant fails) :s Perhaps with one object drag would be more simple that code of that thread.
I tried to understand and simplify by myself but doesn't work. This is what I've done (possibly an aberration):
This is screens.rpy
Code: Select all
init python:
def myobject_drag(drags, drop):
if not drop:
return
store.myobject = drags[0].drag_name
store.myarea = drop.drag_name
return True
screen send_object_to_area:
modal True
draggroup:
drag:
drag_name "myobject"
idle_child "myobject_idle.png"
hover_child "myobject_hover.png"
droppable False
dragged my_dragged
xpos 288 ypos 593
drag:
drag_name "myarea"
idle_child "myarea_idle.png"
selected_idle_child "myarea_hover.png"
draggable False
xpos 1318 ypos 79
init python:
def my_dragged (drags, drop):
if not drop:
if drags[0].drag_name == "myobject":
drags[0].xpos = 288
drags[0].ypos = 593
return
Code: Select all
call send_object_to_area
························
My drag and drop code without returning drag is this:
Code: Select all
init python:
def myobject_drag(drags, drop):
if not drop:
return
store.myobject = drags[0].drag_name
store.myarea = drop.drag_name
return True
screen send_object_to_area:
modal True
draggroup:
drag:
drag_name "myobject"
idle_child "myobject_idle.png"
hover_child "myobject_hover.png"
droppable False
dragged myobject_drag
xpos 288 ypos 593
drag:
drag_name "myarea"
idle_child "myarea_idle.png"
selected_idle_child "myarea_hover.png"
draggable False
xpos 1318 ypos 79
If anyone can help me I will thank you very much!