本文整理汇总了Python中pygame.Rect.union方法的典型用法代码示例。如果您正苦于以下问题:Python Rect.union方法的具体用法?Python Rect.union怎么用?Python Rect.union使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pygame.Rect
的用法示例。
在下文中一共展示了Rect.union方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update_rect
# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import union [as 别名]
def update_rect(self):
rect = Rect(0, 0, 0, 0)
for k in self.objects:
o = self.objects[k]
rect = rect.union(o.rect)
self.rect.w = rect.w + self.canvas.style["d_space"] * 2
self.rect.h = rect.h + self.canvas.style["d_space"] * 2
self.offset_x = self.canvas.style["d_space"]
self.offset_y = self.canvas.style["d_space"]
if len(self.inputs) > 1:
self.rect.w += self.parent.canvas.style["d_input"]
self.offset_x += self.parent.canvas.style["d_input"]
if len(self.outputs) > 1:
self.rect.w += self.parent.canvas.style["d_output"]
self.rect_rel = Rect(self.rect)
self.rect_rel.x = 0
self.rect_rel.y = 0
self.update_io_xy()
示例2: test_union__with_identical_Rect
# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import union [as 别名]
def test_union__with_identical_Rect( self ):
r1 = Rect( 1, 2, 3, 4 )
self.assertEqual( r1, r1.union( Rect(r1) ) )
示例3: test_union
# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import union [as 别名]
def test_union( self ):
r1 = Rect( 1, 1, 1, 2 )
r2 = Rect( -2, -2, 1, 2 )
self.assertEqual( Rect( -2, -2, 4, 5 ), r1.union(r2) )
示例4: testUnionWithIdenticalRect
# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import union [as 别名]
def testUnionWithIdenticalRect( self ):
r1 = Rect( 1, 2, 3, 4 )
self.assertEqual( r1, r1.union( Rect(r1) ) )
示例5: AnimationState
# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import union [as 别名]
#.........这里部分代码省略.........
self.y = y
#def setNewPos(self,(x,y)):
# self.newX = x
# self.newY = y
def getDirection(self):
return self.dir
def getX(self):
return self.x
def setX(self,x):
self.x = x
def getY(self):
return self.y
def setY(self,y):
self.y = y
def getPos(self):
return (self.x,self.y)
#def movePos(self):
# self.x = self.newX
# self.y = self.newY
def getFrameByNumber(self,frameNum):
anim = self.object.animations[self.animName].directions[self.dir]
frame = anim.frames[frameNum]
return frame
def getFrameNumber(self,gameTime):
if self.startTime == 0:
self.startTime = gameTime
timediff = gameTime - self.startTime
fps = self.object.animations[self.animName].fps
frames = self.object.animations[self.animName].frames
msf = 1000 / fps
frame = int((timediff / msf))
if self.old!=None and frame>frames:
self.setAnimation(self.old)
self.old = None
if self.oldOffset!=None:
self.y = self.y + self.oldOffset
self.stashPos = (self.stashPos[0],self.stashPos[1]+ self.oldOffset)
self.oldOffset = None
return self.getFrameNumber(gameTime)
return frame%frames
def getFrame(self,gameTime):
anim = self.object.animations[self.animName].directions[self.dir]
frame = anim.frames[self.getFrameNumber(gameTime)]
return frame
def getFrameEvent(self,gameTime):
frame = self.getFrame(gameTime)
if self.eventStash != frame:
self.eventStash = frame
return frame.event
return ''
def getColAABB(self,time):
framenum = self.getFrameNumber(time)
anim = self.object.animations[self.animName].directions[self.dir]
return anim.frames[framenum].collisionArea
def requiresDraw(self):
frame = self.getFrame(game.Game.universal.time.time())
major = frame==self.stashFrame and self.stashPos==(self.x,self.y) and self.invalidated==False
return not (major and self.dirty==False)
def draw(self,target,time):
if self.deleted == True: return
frame = self.getFrame(time.time())
major = frame==self.stashFrame and self.stashPos==(self.x,self.y) and self.invalidated==False
if major and self.dirty==False:
return
self.stash = frame.drawArea.move(self.x,self.y)
self.stashFrame = frame
self.stashPos = (self.x,self.y)
if major:
for region in self.dirtyRegions:
target.blit(frame.surface,region[0],region[0].move(-region[1][0],-region[1][1]))
else:
target.blit(frame.surface,self.stash,frame.drawArea)
self.dirty = False
self.dirtyRegions = list()
self.invalidated = False
def undraw(self,source,target,time):
if self.deleted == True: return
frame = self.getFrame(time.time())
if frame==self.stashFrame and self.stashPos==(self.x,self.y) and self.invalidated==False:
if self.dirty==False:
return
else:
for region in self.dirtyRegions:
target.blit(source,region[0],region[0])
return
target.blit(source,self.stash.topleft,self.stash)
if self.dirty:
for region in self.dirtyRegions:
for yolo in region[2].dirtyRegions:
if yolo[2]==self:
yolo[0] = self.stash.union(yolo[0])
#if frame!=self.stashFrame or self.stashPos!=(self.x,self.y) or self.dirty!=False:
# target.blit(source,self.stash.topleft,self.stash)
def visualDelete(self,source,target):
self.deleted = True
target.blit(source,self.stash.topleft,self.stash)
for region in self.dirtyRegions:
region[2].invalidate()