当前位置: 首页>>代码示例>>Python>>正文


Python Rect.union方法代码示例

本文整理汇总了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()
开发者ID:fhorinek,项目名称:pi8bit,代码行数:25,代码来源:module.py

示例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) ) )
开发者ID:CTPUG,项目名称:pygame_cffi,代码行数:5,代码来源:rect_test.py

示例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) )
开发者ID:CTPUG,项目名称:pygame_cffi,代码行数:6,代码来源:rect_test.py

示例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) ) )
开发者ID:BSierakowski,项目名称:personal_code,代码行数:5,代码来源:rect_test.py

示例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()
开发者ID:ionaic,项目名称:the-only-one,代码行数:104,代码来源:animationstate.py


注:本文中的pygame.Rect.union方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。