1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
from pygame import *
class Dragable(Rect,object):
def __init__(self,img,**args):
self.img = img
Rect.__init__(self,img.get_rect(**args))
self.selected = False
def update(self,ev):
if ev.type == MOUSEBUTTONDOWN and ev.button == 1 and self.collidepoint(ev.pos):
self.selected = True
elif ev.type == MOUSEBUTTONUP and ev.button == 1:
self.selected = False
elif ev.type == MOUSEMOTION and self.selected:
relx,rely = ev.rel
self.x += relx
self.y += rely
return True # retourne True si la position change
@property
def pos(self):
return self.topleft
fenetre = display.set_mode((850,850))
fond = image.load("interface.jpg").convert()
fenetre.blit(fond, (0,0))
feu = Dragable(image.load("fire-icon.jpg"),center=(400,400)) # cree l'objet et le positionne
fenetre.blit(feu.img,feu.pos) # affiche l'objet
display.flip()
while True:
ev = event.wait()
if feu.update(ev): # si l'objet bouge on actualise l'affichage
fenetre.fill(0)
fond.fill(0)
fenetre.blit(feu.img,feu.pos)
display.flip() |
Partager