本文整理汇总了Python中pygame.sprite.Sprite.kill方法的典型用法代码示例。如果您正苦于以下问题:Python Sprite.kill方法的具体用法?Python Sprite.kill怎么用?Python Sprite.kill使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pygame.sprite.Sprite
的用法示例。
在下文中一共展示了Sprite.kill方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def update(self, dt):
vx = self.vx
vy = self.vy
dt /= 1000.0
dx = int(self.vx * dt)
dy = int(self.vy * dt)
self.rect.x += dx
self.rect.y += dy
if self.rect.left < self.bounds.left or self.rect.right > self.bounds.right:
self.vx = -self.vx
self.rect.x += -2 * dx
if self.rect.top < self.bounds.top :
self.vy = -self.vy
self.rect.y += -2 * dy
if self.rect.top > self.bounds.bottom+20:
Sprite.kill(self)
death_sub()
if vx != self.vx or vy != self.vy:
if vx != self.vx:
vx = self.vx
vy = -vy
else:
vx = -vx
vy = self.vy
示例2: update
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def update(self, current_time):
'''The skeleton has three states (not implemented through a state machine):
* In free fall without touching any floor
* Over some floor, being slowly buried. It scares the cavemen.
* Deep into the ground. When the skeleton reaches this state it stops being a sprite and it becomes an fixed image. It also stops scaring the Cavemen.'''
if hasattr(self,'current_floor'):
#If it is here, then it means it is over some floor.
if self.get_position()[1]<self.current_floor.get_position()[1]+5:
#If the skeleton is not deep enough, it gets burried at a fixed rate
if current_time>self.last_update+self.update_interval:
self.set_position([self.get_position()[0], self.get_position()[1]+1])
self.last_update=current_time
return
else:
#if the skeleton is deep enough, it stops scaring Cavemen and becomes a fixed image instead of a sprite.
self.current_floor.death_toll-=1
self.current_floor.image.blit(self.image, [self.rect[0]-self.current_floor.rect[0], self.rect[1]-self.current_floor.rect[1]])
del self.body
Basic_Actor.level.with_body.remove(self)
Basic_Actor.level.all.remove(self)
Basic_Actor.level.visible.remove(self)
Sprite.kill(self)
elif hasattr(self, 'body') and (self.body.get_velocity()-vec2d(0,0)).get_length()<0.01:
#If the skeleton has a physical body and is not falling then it must mean it is over a floor, and gets attached to it, increasing its death_toll. It also removes its body so the physics engine doesn't affect it anymore.
floor_collisions=Basic_Actor.State_Machine.floor_collisions
collision_data=floor_collisions.pop(self.id, None)
if collision_data is None: return
self.current_floor=self.get_sprite(collision_data[1])
space=Basic_Actor.level.space
space.remove_shape(self.shape)
space.remove_body(self.body)
self.current_floor.death_toll+=1
else:
return
示例3: shieldcheck
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def shieldcheck(self):
if self.duration == 1:
coll = pygame.sprite.spritecollide(self, ShieldGroup.shields, False, collide_meteor_shield)
for shield in coll:
if shield.kind == "cigar":
Sprite.kill(self)
pygame.draw.line(pygame.display.get_surface(), (255,0,0), self.rect.center, shield.rect.center, 3)
示例4: update
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def update(self, dt):
vx = self.vx
vy = self.vy
if randrange(60) == 0:
self.vx = -self.vx
if self.vx > 0:
self.image = self.orig_image
else:
self.image = self.flipped_image
dt /= 1000.0
dx = int(self.vx * dt)
dy = int(self.vy * dt)
self.rect.x += dx
self.rect.y += dy
if self.rect.left < self.bounds.left or self.rect.right > self.bounds.right:
self.vx = -self.vx
self.rect.x += -2 * dx
if self.rect.top < self.bounds.top:
self.vy = -self.vy
self.rect.y += -2 * dy
if self.rect.top > self.bounds.bottom + 20:
Sprite.kill(self)
death_sub()
if vx != self.vx or vy != self.vy:
if vx != self.vx:
vx = self.vx
vy = -vy
else:
vx = -vx
vy = self.vy
示例5: checkshield
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def checkshield(self):
coll = pygame.sprite.spritecollide(self, ShieldGroup.shields, False, collide_meteor_shield)
for shield in coll:
for shield in coll:
#Turn into objects later on.
if shield.kind == "cigar":
Sprite.kill(self)
pygame.draw.line(pygame.display.get_surface(), (255,0,0), self.rect.center, shield.rect.center, 3)
示例6: kill
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def kill(self):
burger2 = Burger(self.rect.x, self.rect.y, self.bounds)
burger3 = Burger(self.rect.x, self.rect.y, self.bounds)
for group in self.groups():
group.add(burger2)
group.add(burger3)
Sprite.kill(self)
示例7: kill
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def kill(self):
#self.explode = Surface(self.size)
if self.kind == "rock":
ImpactGroup.impacts.add(Impact (self.rect.center, self.bounds, 4, self.kind))
if self.kind == "ice":
ImpactGroup.impacts.add(IceImpact (self.rect.center, self.bounds, 30, self.kind, 0))
ImpactGroup.impacts.add(IceImpact (self.rect.center, self.bounds, 30, self.kind, 1))
ImpactGroup.impacts.add(IceImpact (self.rect.center, self.bounds, 30, self.kind, 2))
ImpactGroup.impacts.add(IceImpact (self.rect.center, self.bounds, 30, self.kind, 3))
Sprite.kill(self)
示例8: update
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def update(self, dt):
dt /= 1000.0
dx = int(self.vx * dt)
dy = int(self.vy * dt)
self.rect.x += dx
self.rect.y += dy
if self.rect.left < self.bounds.left or self.rect.right > self.bounds.right:
self.vx = -self.vx
self.rect.x += -2 * dx
if self.rect.top < self.bounds.top :
self.vy = -self.vy
self.rect.y += -2 * dy
if self.rect.top > self.bounds.bottom+20:
Sprite.kill(self)
示例9: kill
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def kill(self):
ImpactGroup.impacts.add(RadiationImpact (self.rect.center, self.bounds, 300, self.kind))
Sprite.kill(self)
示例10: remove_from_groups
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def remove_from_groups(self):
Sprite.kill(self)
示例11: on_death
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def on_death(self):
Sprite.kill(self)
示例12: kill
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def kill(self):
Sprite.kill(self)
Ship.death_count.inc()
return self.explosion_type(self)
示例13: kill
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def kill( self ):
log.debug( 'stripe getting killed' )
Sprite.kill(self)
controller = mvcState.GetController()
controller.gameEventListeners.remove(self)
示例14: kill
# 需要导入模块: from pygame.sprite import Sprite [as 别名]
# 或者: from pygame.sprite.Sprite import kill [as 别名]
def kill(self):
xplo = self.explosion_type(self.rect.center, self.explosion_radius)
Explosion.group.add(xplo)
Sprite.kill(self)