优化关卡进度显示
This commit is contained in:
parent
f5daeae93a
commit
e985c8660b
@ -39,8 +39,12 @@ class Level(tool.State):
|
|||||||
def loadMap(self):
|
def loadMap(self):
|
||||||
if self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
|
if self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
|
||||||
map_file = f'littleGame_{self.game_info[c.LITTLEGAME_NUM]}.json'
|
map_file = f'littleGame_{self.game_info[c.LITTLEGAME_NUM]}.json'
|
||||||
|
# 设置标题
|
||||||
|
pg.display.set_caption(f"pypvz: 玩玩小游戏 第{self.game_info[c.LITTLEGAME_NUM]}关")
|
||||||
elif self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE:
|
elif self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE:
|
||||||
map_file = f'level_{self.game_info[c.LEVEL_NUM]}.json'
|
map_file = f'level_{self.game_info[c.LEVEL_NUM]}.json'
|
||||||
|
# 设置标题
|
||||||
|
pg.display.set_caption(f"pypvz: 冒险模式 第{self.game_info[c.LEVEL_NUM]}关")
|
||||||
file_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),'resources' , 'data', 'map', map_file)
|
file_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),'resources' , 'data', 'map', map_file)
|
||||||
# 最后一关之后应该结束了
|
# 最后一关之后应该结束了
|
||||||
try:
|
try:
|
||||||
@ -1506,17 +1510,6 @@ class Level(tool.State):
|
|||||||
# 画僵尸头
|
# 画僵尸头
|
||||||
surface.blit(self.level_progress_zombie_head_image, self.level_progress_zombie_head_image_rect)
|
surface.blit(self.level_progress_zombie_head_image, self.level_progress_zombie_head_image_rect)
|
||||||
|
|
||||||
def showLevelInfo(self, surface):
|
|
||||||
fontPath = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))),'resources', 'freesansbold.ttf')
|
|
||||||
font = pg.font.Font(fontPath, 20)
|
|
||||||
if self.game_info[c.GAME_MODE] == c.MODE_ADVENTURE:
|
|
||||||
text_to_show = f"Adventure: {self.game_info[c.LEVEL_NUM]}th"
|
|
||||||
elif self.game_info[c.GAME_MODE] == c.MODE_LITTLEGAME:
|
|
||||||
text_to_show = f"Mini Games: {self.game_info[c.LITTLEGAME_NUM]}th"
|
|
||||||
msg_image = font.render(text_to_show, True, c.LIGHTYELLOW, c.NAVYBLUE)
|
|
||||||
msg_rect = msg_image.get_rect()
|
|
||||||
|
|
||||||
surface.blit(msg_image, (410, 565), (0, 0, msg_rect.w, msg_rect.h))
|
|
||||||
|
|
||||||
def draw(self, surface):
|
def draw(self, surface):
|
||||||
self.level.blit(self.background, self.viewport, self.viewport)
|
self.level.blit(self.background, self.viewport, self.viewport)
|
||||||
@ -1565,6 +1558,5 @@ class Level(tool.State):
|
|||||||
|
|
||||||
if self.map_data[c.SPAWN_ZOMBIES] == c.SPAWN_ZOMBIES_AUTO:
|
if self.map_data[c.SPAWN_ZOMBIES] == c.SPAWN_ZOMBIES_AUTO:
|
||||||
self.showLevelProgress(surface)
|
self.showLevelProgress(surface)
|
||||||
self.showLevelInfo(surface)
|
|
||||||
if self.current_time - self.showHugeWaveApprochingTime <= 2000:
|
if self.current_time - self.showHugeWaveApprochingTime <= 2000:
|
||||||
surface.blit(self.huge_wave_approching_image, self.huge_wave_approching_image_rect)
|
surface.blit(self.huge_wave_approching_image, self.huge_wave_approching_image_rect)
|
||||||
|
|||||||
@ -14,6 +14,7 @@ class Menu(tool.State):
|
|||||||
self.game_info = persist
|
self.game_info = persist
|
||||||
self.setupBackground()
|
self.setupBackground()
|
||||||
self.setupOptions()
|
self.setupOptions()
|
||||||
|
pg.display.set_caption(c.ORIGINAL_CAPTION)
|
||||||
|
|
||||||
def setupBackground(self):
|
def setupBackground(self):
|
||||||
frame_rect = (80, 0, 800, 600)
|
frame_rect = (80, 0, 800, 600)
|
||||||
|
|||||||
@ -3,9 +3,10 @@ from .. import tool
|
|||||||
from .. import constants as c
|
from .. import constants as c
|
||||||
|
|
||||||
class Screen(tool.State):
|
class Screen(tool.State):
|
||||||
def __init__(self):
|
def __init__(self, caption=c.ORIGINAL_CAPTION):
|
||||||
tool.State.__init__(self)
|
tool.State.__init__(self)
|
||||||
self.end_time = 3000
|
self.end_time = 3000
|
||||||
|
self.caption = caption
|
||||||
|
|
||||||
def startup(self, current_time, persist):
|
def startup(self, current_time, persist):
|
||||||
self.start_time = current_time
|
self.start_time = current_time
|
||||||
@ -15,6 +16,7 @@ class Screen(tool.State):
|
|||||||
name = self.getImageName()
|
name = self.getImageName()
|
||||||
self.setupImage(name)
|
self.setupImage(name)
|
||||||
self.next = self.set_next_state()
|
self.next = self.set_next_state()
|
||||||
|
pg.display.set_caption(self.caption)
|
||||||
|
|
||||||
def getImageName(self):
|
def getImageName(self):
|
||||||
pass
|
pass
|
||||||
@ -38,7 +40,7 @@ class Screen(tool.State):
|
|||||||
|
|
||||||
class GameVictoryScreen(Screen):
|
class GameVictoryScreen(Screen):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
Screen.__init__(self)
|
Screen.__init__(self, caption="pypvz: 战斗胜利!")
|
||||||
|
|
||||||
def getImageName(self):
|
def getImageName(self):
|
||||||
return c.GAME_VICTORY_IMAGE
|
return c.GAME_VICTORY_IMAGE
|
||||||
@ -48,7 +50,7 @@ class GameVictoryScreen(Screen):
|
|||||||
|
|
||||||
class GameLoseScreen(Screen):
|
class GameLoseScreen(Screen):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
Screen.__init__(self)
|
Screen.__init__(self, caption="pypvz: 战斗失败!")
|
||||||
|
|
||||||
def getImageName(self):
|
def getImageName(self):
|
||||||
return c.GAME_LOSE_IMAGE
|
return c.GAME_LOSE_IMAGE
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user