Advertisement
Eliont

renpy drag'n'drop

Sep 5th, 2017
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.53 KB | None | 0 0
  1.     draggroup:
  2.         for index,card in enumerate(p.current().hand):
  3.             $x,y,h = calculate_hand_card_position(index)
  4.             if len(p.current().hand) <= 8:
  5.                 drag:
  6.                     dragged card_dragged_handler
  7.                     drag_name "Hand %s"%(index)
  8.                     drag_handle (0, 0, 1.0, 1.0)
  9.                     droppable False
  10.                     xpos x
  11.                     ypos y
  12.                     use handcard(card=card,x=x,y=y)
  13.             else:
  14.                 drag:
  15.                     dragged card_dragged_handler
  16.                     drag_name "Hand %s"%(index)
  17.                     drag_handle (0, 0, 1.0, 1.0)
  18.                     droppable False
  19.                     xpos x
  20.                     ypos y
  21.                     use handcard(card=card,x=x,y=y,h=h)  
  22.    
  23.         for index, key in enumerate(drag_drop_tokens):
  24.             drag:
  25.                 drag_name key
  26.                 dragged token_dragged_handler
  27.                 xpos (30 + side_bar_width + 100*index)
  28.                 ypos 630
  29.                 droppable False
  30.                 use icon(img = drag_drop_tokens[key][0],frame=drag_drop_tokens[key][1],mask=drag_drop_tokens[key][2],size=int(stat_icon_size*1.5))
  31.        
  32.         for index,card in enumerate(p.current().heroes):
  33.             $x,y = calculate_field_hero_card_position(index)
  34.            
  35.             drag:
  36.                 dragged card_dragged_handler
  37.                 drag_name "field_hero %s"%(index)
  38.                 drag_handle (0, 0, 1.0, 1.0)
  39.                 xpos x
  40.                 ypos y
  41.                 use fieldcard(card=card,x=x,y=y)
  42.                
  43.                
  44. #########################################################################
  45.  
  46.     def card_dragged_handler(drags, drop):
  47.  
  48.         renpy.hide_screen('fieldcard_info')
  49.         # debug(drags[0].__dict__)
  50.        
  51.         notify("%s - %s"%(drags[0].last_x,drags[0].last_y))
  52.        
  53.         data = drags[0].drag_name.split()
  54.        
  55.         if data[0] == 'Hand':
  56.             if drags[0].last_x > side_bar_width + 100:
  57.                 index = int(data[1])
  58.                 card = p.current().hand[index]
  59.                 p.current().hand.remove(card)
  60.                 p.current().heroes.append(card)
  61.                
  62.         if data[0] == 'field_hero':
  63.             if drags[0].last_x < side_bar_width:
  64.                 index = int(data[1])
  65.                 card = p.current().heroes[index]
  66.                 p.current().heroes.remove(card)
  67.                 p.current().hand.append(card)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement