统一变量名,更改大嘴花攻击实现本质
This commit is contained in:
parent
c87f5b3dc8
commit
f8be222caf
@ -636,7 +636,7 @@ class Chomper(Plant):
|
|||||||
if self.frame_index == (self.frame_num - 3):
|
if self.frame_index == (self.frame_num - 3):
|
||||||
# 播放吞的音效
|
# 播放吞的音效
|
||||||
pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "bigchomp.ogg")).play()
|
pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "bigchomp.ogg")).play()
|
||||||
self.zombie_group.remove(self.attack_zombie)
|
self.attack_zombie.kill()
|
||||||
if (self.frame_index + 1) == self.frame_num:
|
if (self.frame_index + 1) == self.frame_num:
|
||||||
self.setDigest()
|
self.setDigest()
|
||||||
|
|
||||||
@ -645,7 +645,6 @@ class Chomper(Plant):
|
|||||||
self.digest_timer = self.current_time
|
self.digest_timer = self.current_time
|
||||||
elif (self.current_time - self.digest_timer) > self.digest_interval:
|
elif (self.current_time - self.digest_timer) > self.digest_interval:
|
||||||
self.digest_timer = 0
|
self.digest_timer = 0
|
||||||
self.attack_zombie.kill()
|
|
||||||
self.setIdle()
|
self.setIdle()
|
||||||
|
|
||||||
|
|
||||||
@ -753,7 +752,7 @@ class Squash(Plant):
|
|||||||
Plant.__init__(self, x, y, c.SQUASH, c.PLANT_HEALTH, None)
|
Plant.__init__(self, x, y, c.SQUASH, c.PLANT_HEALTH, None)
|
||||||
self.orig_pos = (x, y)
|
self.orig_pos = (x, y)
|
||||||
self.aim_timer = 0
|
self.aim_timer = 0
|
||||||
self.squashing = False
|
self.start_boom = False # 和灰烬等植物统一变量名,在这里表示倭瓜是否跳起
|
||||||
self.mapPlantsSet = mapPlantsSet
|
self.mapPlantsSet = mapPlantsSet
|
||||||
|
|
||||||
def loadImages(self, name, scale):
|
def loadImages(self, name, scale):
|
||||||
@ -792,7 +791,7 @@ class Squash(Plant):
|
|||||||
self.health = c.INF
|
self.health = c.INF
|
||||||
|
|
||||||
def attacking(self):
|
def attacking(self):
|
||||||
if self.squashing:
|
if self.start_boom:
|
||||||
if (self.frame_index + 1) == self.frame_num:
|
if (self.frame_index + 1) == self.frame_num:
|
||||||
for zombie in self.zombie_group:
|
for zombie in self.zombie_group:
|
||||||
if self.canAttack(zombie):
|
if self.canAttack(zombie):
|
||||||
@ -810,7 +809,7 @@ class Squash(Plant):
|
|||||||
elif (self.current_time - self.aim_timer) > 1000:
|
elif (self.current_time - self.aim_timer) > 1000:
|
||||||
self.changeFrames(self.attack_frames)
|
self.changeFrames(self.attack_frames)
|
||||||
self.rect.centerx = self.attack_zombie.rect.centerx
|
self.rect.centerx = self.attack_zombie.rect.centerx
|
||||||
self.squashing = True
|
self.start_boom = True
|
||||||
self.animate_interval = 300
|
self.animate_interval = 300
|
||||||
|
|
||||||
def getPosition(self):
|
def getPosition(self):
|
||||||
|
|||||||
@ -1009,10 +1009,6 @@ class Level(tool.State):
|
|||||||
for bullet in self.bullet_groups[i]:
|
for bullet in self.bullet_groups[i]:
|
||||||
if bullet.name == c.FUME:
|
if bullet.name == c.FUME:
|
||||||
continue
|
continue
|
||||||
# elif bullet.name == c.BULLET_STAR:
|
|
||||||
# collided_func = pg.sprite.collide_circle_ratio(1)
|
|
||||||
# else:
|
|
||||||
# collided_func = pg.sprite.collide_circle_ratio(0.7)
|
|
||||||
collided_func = pg.sprite.collide_mask
|
collided_func = pg.sprite.collide_mask
|
||||||
if bullet.state == c.FLY:
|
if bullet.state == c.FLY:
|
||||||
# 利用循环而非内建精灵组碰撞判断函数,处理更加灵活,可排除已死亡僵尸
|
# 利用循环而非内建精灵组碰撞判断函数,处理更加灵活,可排除已死亡僵尸
|
||||||
@ -1030,11 +1026,6 @@ class Level(tool.State):
|
|||||||
|
|
||||||
|
|
||||||
def checkZombieCollisions(self):
|
def checkZombieCollisions(self):
|
||||||
# if self.bar_type == c.CHOSSEBAR_BOWLING:
|
|
||||||
# ratio = 0.6
|
|
||||||
# else:
|
|
||||||
# ratio = 0.5
|
|
||||||
# collided_func = pg.sprite.collide_circle_ratio(ratio)
|
|
||||||
for i in range(self.map_y_len):
|
for i in range(self.map_y_len):
|
||||||
hypo_zombies = []
|
hypo_zombies = []
|
||||||
for zombie in self.zombie_groups[i]:
|
for zombie in self.zombie_groups[i]:
|
||||||
@ -1087,11 +1078,7 @@ class Level(tool.State):
|
|||||||
attackableCommonPlants.append(plant)
|
attackableCommonPlants.append(plant)
|
||||||
# 在某些状态下忽略啃食碰撞但某些状况下不能忽略的情形
|
# 在某些状态下忽略啃食碰撞但某些状况下不能忽略的情形
|
||||||
elif plant.name in c.SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING:
|
elif plant.name in c.SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING:
|
||||||
if plant.name == c.SQUASH:
|
if not plant.start_boom:
|
||||||
if not plant.squashing:
|
|
||||||
attackableCommonPlants.append(plant)
|
|
||||||
else:
|
|
||||||
if not plant.start_boom:
|
|
||||||
attackableCommonPlants.append(plant)
|
attackableCommonPlants.append(plant)
|
||||||
else:
|
else:
|
||||||
if attackableCommonPlants:
|
if attackableCommonPlants:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user