更改卡片显示

This commit is contained in:
wszqkzqk 2022-08-09 05:46:06 +08:00
parent 9e01c018e4
commit b7b69cec61

View File

@ -56,8 +56,8 @@ class Card():
def checkMouseClick(self, mouse_pos): def checkMouseClick(self, mouse_pos):
x, y = mouse_pos x, y = mouse_pos
if(x >= self.rect.x and x <= self.rect.right and if (self.rect.x <= x <= self.rect.right and
y >= self.rect.y and y <= self.rect.bottom): self.rect.y <= y <= self.rect.bottom):
return True return True
return False return False
@ -84,27 +84,27 @@ class Card():
time = current_time - self.frozen_timer time = current_time - self.frozen_timer
if time < self.frozen_time: #cool down status if time < self.frozen_time: #cool down status
image = pg.Surface((self.rect.w, self.rect.h)) # 黑底 image = pg.Surface((self.rect.w, self.rect.h)) # 黑底
# 在冷却时间不足且阳光也不足时,叠加两者效果显示,即同时改变透明度与图像覆盖 frozen_image = self.orig_image
if self.sun_cost > sun_value:
image.set_alpha(192)
frozen_image = self.orig_image.copy()
frozen_image.set_alpha(128) frozen_image.set_alpha(128)
frozen_height = (self.frozen_time - time)/self.frozen_time * self.rect.h frozen_height = (self.frozen_time - time)/self.frozen_time * self.rect.h
image.blit(frozen_image, (0,0), (0, 0, self.rect.w, frozen_height)) image.blit(frozen_image, (0,0), (0, 0, self.rect.w, frozen_height))
self.orig_image.set_alpha(192)
image.blit(self.orig_image, (0,frozen_height), image.blit(self.orig_image, (0,frozen_height),
(0, frozen_height, self.rect.w, self.rect.h - frozen_height)) (0, frozen_height, self.rect.w, self.rect.h - frozen_height))
elif self.sun_cost > sun_value: #disable status elif self.sun_cost > sun_value: #disable status
image = self.orig_image.copy() image = pg.Surface((self.rect.w, self.rect.h)) # 黑底
image.set_alpha(192) self.orig_image.set_alpha(192)
image.blit(self.orig_image, (0,0), (0, 0, self.rect.w, self.rect.h))
elif self.clicked: elif self.clicked:
image = pg.Surface((self.rect.w, self.rect.h)) # 黑底 image = pg.Surface((self.rect.w, self.rect.h)) # 黑底
chosen_image = self.orig_image.copy() chosen_image = self.orig_image
chosen_image.set_alpha(128) chosen_image.set_alpha(128)
image.blit(chosen_image, (0,0), (0, 0, self.rect.w, self.rect.h)) image.blit(chosen_image, (0,0), (0, 0, self.rect.w, self.rect.h))
else: else:
image = self.orig_image image = self.orig_image
image.set_alpha(255)
return image return image
def update(self, sun_value, current_time): def update(self, sun_value, current_time):