本文整理汇总了Python中actor.Actor.take_damage方法的典型用法代码示例。如果您正苦于以下问题:Python Actor.take_damage方法的具体用法?Python Actor.take_damage怎么用?Python Actor.take_damage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类actor.Actor
的用法示例。
在下文中一共展示了Actor.take_damage方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: take_damage
# 需要导入模块: from actor import Actor [as 别名]
# 或者: from actor.Actor import take_damage [as 别名]
def take_damage(self, damage):
newProj = []
if damage < 0:
#spawn new things
if self.split == 0:
newProj.append(WhiteCellProj(self.rect.x + 52, self.rect.y, self.xvel, self.yvel, 1))
newProj.append(WhiteCellProj(self.rect.x + 52, self.rect.y + 16, self.xvel/2, self.xvel/2, 2))
newProj.append(WhiteCellProj(self.rect.x + 52, self.rect.y - 16, self.xvel/2, -self.xvel/2, 2))
elif self.split == 1:
newProj.append(WhiteCellProj(self.rect.x + 52, self.rect.y + 16, self.xvel/2, self.xvel/2, 2))
newProj.append(WhiteCellProj(self.rect.x + 52, self.rect.y - 16, self.xvel/2, -self.xvel/2, 2))
Actor.take_damage(self, damage)
return newProj
示例2: take_damage
# 需要导入模块: from actor import Actor [as 别名]
# 或者: from actor.Actor import take_damage [as 别名]
def take_damage(self, damage):
if self.immortal > 0:
pass
else:
if self.shield:
thp = self.health
self.health = -1
Actor.take_damage(self, damage)
if self.health != 0:
self.health = thp
else:
Actor.take_damage(self, damage)
#if self.health <= 0:
# print "died"
#elif self.buzzcount == 0:
if self.health > 0 and self.buzzcount == 0:
self.buzzcount = self.buzzcountmax
self.buzz.play()
示例3: collide
# 需要导入模块: from actor import Actor [as 别名]
# 或者: from actor.Actor import take_damage [as 别名]
def collide(self, a):
if isinstance(a, Player):
if self.phase == 1:
for i in self.arms:
for j in i:
radius1 = a.rect.width // 2
radius2 = j.rect.width // 2
if sqrt(((a.rect.x + radius1)-(j.rect.x + radius2))**2 + ((a.rect.y + radius1)-(j.rect.y + radius2))**2) < (radius1 + radius2):
a.take_damage(j.damage)
radius1 = a.rect.width // 2
radius2 = self.rect.width // 2
if sqrt(((a.rect.x + radius1)-(self.rect.x + radius2))**2 + ((a.rect.y + radius1)-(self.rect.y + radius2))**2) < (radius1 + radius2):
a.take_damage(self.damage)
else:
if self.phase == 1:
for i in self.arms:
for j in i:
radius1 = a.rect.width // 2
radius2 = j.rect.width // 2
if sqrt(((a.rect.x + radius1)-(j.rect.x + radius2))**2 + ((a.rect.y + radius1)-(j.rect.y + radius2))**2) < (radius1 + radius2):
j.take_damage(a.damage)
proj = a.take_damage(-1)
if proj:
return proj
if self.phase == 0:
radius1 = a.rect.width // 2
radius2 = self.eyerect.width // 2
if sqrt(((a.rect.x + radius1)-(self.eyerect.x + radius2))**2 + ((a.rect.y + radius1)-(self.eyerect.y + radius2))**2) < (radius1 + radius2):
a.take_damage(-1)
Actor.take_damage(self, a.damage)
radius1 = a.rect.width // 2
radius2 = self.rect.width
if sqrt(((a.rect.x + radius1)-(self.rect.x + radius2))**2 + ((a.rect.y + radius1)-(self.rect.y + radius2))**2) < (radius1 + radius2):
a.take_damage(-1)
if self.phase == 2:
Actor.take_damage(self, a.damage)
示例4: take_damage
# 需要导入模块: from actor import Actor [as 别名]
# 或者: from actor.Actor import take_damage [as 别名]
def take_damage(self, damage=0):
Actor.take_damage(self, damage)