Add files via upload
This commit is contained in:
parent
741ea4081f
commit
c62119243e
60 changed files with 422 additions and 130 deletions
|
@ -1,34 +1,60 @@
|
|||
from pygwin._pg import pg
|
||||
|
||||
_aliases = {'w':['width'],'h':['height'],
|
||||
'c':['center','middle'],
|
||||
'x':['left'],'y':['up'],
|
||||
'r':['right'],'d':['down']}
|
||||
|
||||
class rect:
|
||||
def __init__(self,x,y,w,h):
|
||||
self.x = x
|
||||
self.y = y
|
||||
self.w = w
|
||||
self.h = h
|
||||
self._rect = pg.Rect(x,y,w,h)
|
||||
def width():
|
||||
def fget(self):
|
||||
return self.w
|
||||
def fset(self, value):
|
||||
self.w = value
|
||||
def fdel(self):
|
||||
pass
|
||||
return locals()
|
||||
width = property(**width())
|
||||
def height():
|
||||
def fget(self):
|
||||
return self.h
|
||||
def fset(self, value):
|
||||
self.h = value
|
||||
def fdel(self):
|
||||
pass
|
||||
return locals()
|
||||
height = property(**height())
|
||||
self._reload()
|
||||
def collide(self, x):
|
||||
try:
|
||||
return self._rect.colliderect(x._rect_rect)
|
||||
except:
|
||||
return self._rect.colliderect(x._rect)
|
||||
try:return self._rect.colliderect(x._rect_rect)
|
||||
except:return self._rect.colliderect(x._rect)
|
||||
def contains(self, x, y):
|
||||
return self._rect.collidepoint(x,y)
|
||||
def copy(self):
|
||||
return rect(self.x,self.y,self.w,self.h)
|
||||
def _reload(self):
|
||||
self.c = (self.x/2+self.w/2,self.y/2+self.h/2)
|
||||
self.cx, self.cy = self.c
|
||||
self.r,self.d = self.x+self.w,self.y+self.h
|
||||
self._rect = pg.Rect(self.x,self.y,self.w,self.h)
|
||||
def __getitem__(self,x):
|
||||
return [self.x,self.y,self.w,self.h][x]
|
||||
def __list__(self):
|
||||
return [self.x,self.y,self.w,self.h]
|
||||
def __tuple__(self):
|
||||
return (self.x,self.y,self.w,self.h)
|
||||
def __str__(self):
|
||||
return f'<{self.x}x{self.y},{self.w}x{self.h}>'
|
||||
def __setattr__(self,attr,data):
|
||||
if attr in _aliases.values():
|
||||
ma = None
|
||||
for i in _aliases.items():
|
||||
if i[1] in attr:
|
||||
ma = i[0]
|
||||
break
|
||||
attr = ma
|
||||
object.__setattr__(self,attr,data)
|
||||
def __getattr__(self,attr):
|
||||
if attr in _aliases.values():
|
||||
ma = None
|
||||
for i in _aliases.items():
|
||||
if i[1] == attr:
|
||||
ma = i[0]
|
||||
break
|
||||
attr = ma
|
||||
data = self.__dict__[attr]
|
||||
return data
|
||||
|
||||
|
||||
# def fromSurface(surf,x=0,y=0,c=())
|
||||
#
|
||||
# # print(dir(property))
|
||||
# r = rect(123,321,654,987)
|
||||
# print(r.width)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue