更改植物高亮间隔

This commit is contained in:
星外之神 2022-05-15 22:46:51 +08:00
parent 7ca605afa0
commit e080fd04b3
2 changed files with 45 additions and 10 deletions

View File

@ -312,7 +312,7 @@ class Plant(pg.sprite.Sprite):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 200): if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150) self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200): elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192) self.image.set_alpha(192)
@ -579,6 +579,13 @@ class CherryBomb(Plant):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192)
else:
self.image.set_alpha(255)
class Chomper(Plant): class Chomper(Plant):
def __init__(self, x, y): def __init__(self, x, y):
@ -908,6 +915,13 @@ class Jalapeno(Plant):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192)
else:
self.image.set_alpha(255)
def getPosition(self): def getPosition(self):
return self.orig_pos return self.orig_pos
@ -1068,6 +1082,13 @@ class IceShroom(Plant):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192)
else:
self.image.set_alpha(255)
def getPosition(self): def getPosition(self):
return self.orig_pos return self.orig_pos
@ -1349,7 +1370,7 @@ class CoffeeBean(Plant):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 200): if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150) self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200): elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192) self.image.set_alpha(192)
@ -1488,7 +1509,7 @@ class DoomShroom(Plant):
if mapContent[c.MAP_PLOT_TYPE] == c.MAP_GRASS: if mapContent[c.MAP_PLOT_TYPE] == c.MAP_GRASS:
self.explode_y_range = 2 self.explode_y_range = 2
else: else:
self.explode_y_range = 2 self.explode_y_range = 3
self.explode_x_range = c.GRID_X_SIZE * 2.5 self.explode_x_range = c.GRID_X_SIZE * 2.5
self.start_boom = False self.start_boom = False
self.boomed = False self.boomed = False
@ -1549,6 +1570,13 @@ class DoomShroom(Plant):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192)
else:
self.image.set_alpha(255)
# 用于描述毁灭菇的坑 # 用于描述毁灭菇的坑
class Hole(Plant): class Hole(Plant):
def __init__(self, x, y, plotType): def __init__(self, x, y, plotType):
@ -1642,7 +1670,8 @@ class GraveBuster(Plant):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 200):
if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150) self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200): elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192) self.image.set_alpha(192)
@ -1716,7 +1745,8 @@ class FumeShroom(Plant):
self.image = self.frames[self.frame_index] self.image = self.frames[self.frame_index]
self.mask = pg.mask.from_surface(self.image) self.mask = pg.mask.from_surface(self.image)
if (self.current_time - self.highlightTime < 200):
if (self.current_time - self.highlightTime < 100):
self.image.set_alpha(150) self.image.set_alpha(150)
elif ((self.current_time - self.hit_timer) < 200): elif ((self.current_time - self.hit_timer) < 200):
self.image.set_alpha(192) self.image.set_alpha(192)

View File

@ -616,6 +616,9 @@ class Level(tool.State):
y >= i.rect.y and y <= i.rect.bottom): y >= i.rect.y and y <= i.rect.bottom):
if i.name in c.NON_PLANT_OBJECTS: if i.name in c.NON_PLANT_OBJECTS:
continue continue
if i.name in c.SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING:
if i.start_boom:
continue
# 优先移除花盆、睡莲上的植物而非花盆、睡莲本身 # 优先移除花盆、睡莲上的植物而非花盆、睡莲本身
if len(self.map.map[map_y][map_x][c.MAP_PLANT]) >= 2: if len(self.map.map[map_y][map_x][c.MAP_PLANT]) >= 2:
if c.LILYPAD in self.map.map[map_y][map_x][c.MAP_PLANT]: if c.LILYPAD in self.map.map[map_y][map_x][c.MAP_PLANT]:
@ -1345,7 +1348,6 @@ class Level(tool.State):
for i in range(self.map_y_len): for i in range(self.map_y_len):
if len(self.zombie_groups[i]) > 0: if len(self.zombie_groups[i]) > 0:
return False return False
return True
else: else:
if self.waveNum < self.map_data[c.NUM_FLAGS] * 10: if self.waveNum < self.map_data[c.NUM_FLAGS] * 10:
return False return False
@ -1398,6 +1400,9 @@ class Level(tool.State):
y >= i.rect.y and y <= i.rect.bottom): y >= i.rect.y and y <= i.rect.bottom):
if i.name in c.NON_PLANT_OBJECTS: if i.name in c.NON_PLANT_OBJECTS:
continue continue
if i.name in c.SKIP_ZOMBIE_COLLISION_CHECK_WHEN_WORKING:
if i.start_boom:
continue
# 优先选中睡莲、花盆上的植物 # 优先选中睡莲、花盆上的植物
if len(self.map.map[map_y][map_x][c.MAP_PLANT]) >= 2: if len(self.map.map[map_y][map_x][c.MAP_PLANT]) >= 2:
if c.LILYPAD in self.map.map[map_y][map_x][c.MAP_PLANT]: if c.LILYPAD in self.map.map[map_y][map_x][c.MAP_PLANT]: