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


Python Rect.inflate_ip方法代码示例

本文整理汇总了Python中pygame.Rect.inflate_ip方法的典型用法代码示例。如果您正苦于以下问题:Python Rect.inflate_ip方法的具体用法?Python Rect.inflate_ip怎么用?Python Rect.inflate_ip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pygame.Rect的用法示例。


在下文中一共展示了Rect.inflate_ip方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: scrollbar_rect

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
    def scrollbar_rect(self):
        # Get the distance between the scroll buttons (d)
        sub = self.scroll_up_rect().bottom
        t = self.scroll_down_rect().top
        d = t - sub
        # Get the total row number (n).
        n = self.num_items() / getattr(getattr(self, 'parent', None), 'num_cols', lambda: 1)()
        # Get the displayed row number (v)
        v = self.num_rows()
        if n:
            s = float(d) / n
        else:
            s = 0
        h = s * v
        if type(h) == float:
            if h - int(h) > 0:
                h += 1

        top = max(sub, sub + (s * self.scroll) + self.scroll_rel)
        r = Rect(0, top, self.scroll_button_size, h)
        m = self.margin
        r.right = self.width - m
        r.bottom = min(r.bottom, t)
        r.inflate_ip(-4, -4)
        if r.h < 1:
            r.h = int(h)
        return r
开发者ID:Iciciliser,项目名称:MCEdit-Unified,代码行数:29,代码来源:palette_view.py

示例2: scroll_down_rect

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
 def scroll_down_rect(self):
     d = self.scroll_button_size
     r = Rect(0, 0, d, d)
     m = self.margin
     r.bottom = self.height - m
     r.right = self.width - m
     r.inflate_ip(-4, -4)
     return r
开发者ID:codewarrior0,项目名称:mcedit,代码行数:10,代码来源:palette_view.py

示例3: scroll_up_rect

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
 def scroll_up_rect(self):
     d = self.scroll_button_size
     r = Rect(0, 0, d, d)
     m = self.margin
     r.top = m
     r.right = self.width - m
     r.inflate_ip(-4, -4)
     return r
开发者ID:codewarrior0,项目名称:mcedit,代码行数:10,代码来源:palette_view.py

示例4: scroll_left_rect

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
 def scroll_left_rect(self):
     d = self.scroll_button_size
     r = Rect(0, 0, d, d)
     m = self.margin
     r.bottom = self.height - m
     r.left = m
     r.inflate_ip(-4, -4)
     return r
开发者ID:germanalen,项目名称:MCEdit-Unified,代码行数:10,代码来源:scrollpanel.py

示例5: ThrowedGrenade

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
class ThrowedGrenade(Bullet):
	def __init__(self,creator, x, y, speedX, speedY, throwDistance):
		Bullet.__init__(self, creator, x, y, speedX, speedY, "items-1small.png", None, Rect(110, 120, 9, 11))
		self.rect = Rect(x, y, 0, 0)
		self.speedX = speedX
		self.speedY = speedY

		# Important if you want pinpoint accuracy
		self.floatX = float(self.rect.x)
		self.floatY = float(self.rect.y)


		if throwDistance > MAX_THROW_DISTANCE:
			throwDistance = MAX_THROW_DISTANCE

		self.timeToStop = throwDistance / GRENADE_SPEED
		self.timeToBoom = TIME_TO_BOOM
		self.atk = 70

	def update(self, time, scene):
		self.floatX += self.speedX * time * GRENADE_SPEED
		self.floatY += self.speedY * time * GRENADE_SPEED
		self.rect.x = roundToInt(self.floatX)
		self.rect.y = roundToInt(self.floatY)

		self.timeToBoom -= time

		if self.timeToBoom <= 0:
			scene.bulletGroup.remove(self)
			scene.bulletGroup.add(Explosion(self.rect.x, self.rect.y))

			# Kill people!
			originalRect = self.rect.copy()
			self.rect.inflate_ip(80, 80)  # 80x80 area damage
			
			enemies_hit = sprite.spritecollide(self, scene.enemyGroup, False)

			for enemy in enemies_hit:
				# Friendly fire
				if self.creator.__class__.__name__ == enemy.__class__.__name__:
					continue
				enemy.receive_attack(self.atk)

			if sprite.collide_rect(self, scene.player):
				scene.player.receive_attack(self.atk)

			self.rect = originalRect  # Restore the real rect

		self.timeToStop -= time

		if self.timeToStop <= 0:
			self.speedX = 0
			self.speedY = 0
开发者ID:dgalaktionov,项目名称:Aleph,代码行数:55,代码来源:ThrowedGrenade.py

示例6: test_inflate_ip__smaller

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
 def test_inflate_ip__smaller( self ):
     "The inflate method inflates around the center of the rectangle"
     r = Rect( 2, 4, 6, 8 )
     r2 = Rect( r )
     r2.inflate_ip( -4, -6 )
     
     self.assertEqual( r.center, r2.center )        
     self.assertEqual( r.left+2, r2.left )
     self.assertEqual( r.top+3, r2.top )
     self.assertEqual( r.right-2, r2.right )
     self.assertEqual( r.bottom-3, r2.bottom )
     self.assertEqual( r.width-4, r2.width )
     self.assertEqual( r.height-6, r2.height )
开发者ID:CTPUG,项目名称:pygame_cffi,代码行数:15,代码来源:rect_test.py

示例7: _DrawTextLines

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
    def _DrawTextLines(self, lines):
        linepadding = 1
        textlines = []
        totalrect = Rect(0, 0, 0, 0)
        for line in lines:
            text = self.font.render(line, 1, (255, 255, 255))
            rect = text.get_rect()
            totalrect.inflate_ip(0, rect.height + linepadding)
            if rect.width > totalrect.width:
                totalrect.width = rect.width

            textlines.append(text)

        textsurf = Surface(totalrect.size, pygame.SRCALPHA)
        topoffset = 0
        for linesurf in textlines:
            textsurf.blit(linesurf, (0, topoffset))
            topoffset += linesurf.get_rect().height
        return textsurf
开发者ID:johan--,项目名称:pimonitor,代码行数:21,代码来源:displaymanager.py

示例8: hscrollbar_rect

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
    def hscrollbar_rect(self):
        # Get the distance between the scroll buttons (d)
        slr, slt = self.scroll_left_rect().topright
        d = self.scroll_right_rect().left - slr
        # The predefined step value
        _s = self.cell_size[1]
        # Get the total step number
        n = float(self.virtual_width) / _s
        # Get the visible step number
        v = float(self.width) / _s
        s = float(d) / n
        w = s * v
        if type(w) == float:
            if w - int(w) > 0:
                w += 1

        left = max(slr, slr + (d * (float(self.hscroll) / self.virtual_width)) + self.hscroll_rel)
        r = Rect(left, slt, w, self.scroll_button_size)
        r.right = min(r.right, d + slr)
        r.inflate_ip(-4, -4)
        return r
开发者ID:MG-5,项目名称:MCEdit-Unified,代码行数:23,代码来源:scrollpanel.py

示例9: get_bullet_rect

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
 def get_bullet_rect(self, surf, lvl):
     r = Rect(0, 0, self.bullet_size, self.bullet_size)
     r.left = self.bullet_size * lvl
     r.inflate_ip(-4, -4)
     return r
开发者ID:Nerocat,项目名称:MCEdit-Unified,代码行数:7,代码来源:tree.py

示例10: Entity

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
class Entity(Paintable, Updateable):
    entityBehaviors = Personality()
    attributes = Genotype()

    def __init__(self, world, family = None, position = None):
        if position == None:
            offsets = (int(dimension/5.0) for dimension in RESOLUTION)

            position = tuple(randint(offset, dimension - offset) 
                             for offset, dimension 
                             in zip(offsets, RESOLUTION))
    
        Paintable.__init__(self, position)
        self.boundingBox = Rect(position, self.attributes.dimensions)
        
        self.age = 0
        self.health = self.attributes.health
        self.growthFactor = self.attributes.growthFactor
        self.carriedEntity = None
        self.beingCarried = False

        if family:
            self.family = family
        else:
            self.family = Family(world)
            self.family.boundingBox = self.boundingBox
            
#        self.family.addMember(self)

#        self.behavior = ComplexBehavior(self, world)
        world.register(self)

    def getSpecies(self):
        return self.__class__.__name__
        
    def getFamily(self):
        return self.family
    
    def getDimensions(self):
        return [self.boundingBox.w, self.boundingBox.h]

    def getPosition(self):
        return self.boundingBox.center
    
    def getStride(self):
        return round(self.getDimensions()[0] / 2.)
        
    def isCarryingEntity(self, type = None):
        if type:
            return self.carriedEntity.__class__ == type
        else:
            return self.carriedEntity != None
    
    def paint(self, screen):
        draw.rect(screen, self.attributes.color, self.boundingBox)
        
    def update(self, delay, world):
        if self.__class__.entityBehaviors:
            for behavior in self.__class__.entityBehaviors:
                behavior.do(self, world)
                
        self.age += 1
        
    def grow(self, growthArea):
        growthFactor = self.growthFactor
        self.boundingBox.inflate_ip(growthArea[0] * growthFactor, growthArea[1] * growthFactor)
        gain = growthArea[0]  * growthArea[1]
#        print 'Gained %s health' % gain
        self.health += gain

    def carryEntity(self, entity):
        entity.beingCarried = True
        self.carriedEntity = entity
        
    def dropEntity(self):
        if self.carriedEntity:
            self.carriedEntity.beingCarried = False
            self.carriedEntity = None

    def hasBehavior(self, behavior):
        return self.behavior in behavior
    
    def addBehavior(self, behavior):
#        self.behavior.add(behavior)
        pass
    
    def removeBehavior(self, behavior):
#        self.behavior.removeBehavior(behavior)
        pass
    
    def __str__(self):
        return '%s (%s, %s)' % (self.__class__.__name__, self.boundingBox.x, self.boundingBox.y)
开发者ID:clofresh,项目名称:emergent,代码行数:94,代码来源:entities.py

示例11: get_margin_rect

# 需要导入模块: from pygame import Rect [as 别名]
# 或者: from pygame.Rect import inflate_ip [as 别名]
 def get_margin_rect(self):
     r = Rect((0, 0), self.size)
     d = -2 * self.margin
     r.inflate_ip(d, d)
     return r
开发者ID:18986064,项目名称:mcedit,代码行数:7,代码来源:widget.py


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