zoom level select longer, fix draw order

This commit is contained in:
frank 2022-03-07 19:25:54 -05:00
parent 8b9c944824
commit 003141b7e4
1 changed files with 13 additions and 12 deletions

25
NS.py
View File

@ -458,8 +458,8 @@ class LevelSelect(GameChild):
y = 250
indent = 10
dsr = self.get_display_surface().get_rect()
self.platforms = [Platform(self, (dsr.centerx, y)), Platform(self, (0, y)), Platform(self, (0, y))]
self.platforms[1].view.location.left = dsr.left + indent
self.platforms = [Platform(self, (0, y)), Platform(self, (dsr.centerx, y)), Platform(self, (0, y))]
self.platforms[0].view.location.left = dsr.left + indent
self.platforms[2].view.location.right = dsr.right - indent
self.platforms[0].set_glowing((NS.LNW, NS.LSE))
self.platforms[1].set_glowing((NS.LNW, NS.LSW))
@ -551,23 +551,24 @@ class LevelSelect(GameChild):
for level_index in range(3):
if level_index != self.level_index_selected:
self.platforms[level_index].view.play(self.platforms[level_index].view.wipe_out)
self.previews[level_index].play(self.previews[level_index].wipe_out)
self.previews[level_index].play(self.previews[level_index].wipe_out, interval=100)
self.get_audio().play_sfx("complete_pattern_3")
elif not self.get_game().wipe.is_playing() and any(preview.is_hidden() for preview in self.previews):
self.get_game().wipe.start(self.launch_selected_index)
for platform in self.platforms:
platform.update()
for ii, preview in enumerate(self.previews):
if ii == self.level_index_selected:
self.zoom += 0.1
frame = pygame.transform.scale(
preview.get_current_frame(), (int(preview.location.w * self.zoom), int(preview.location.h * self.zoom)))
rect = frame.get_rect()
rect.center = preview.location.center
preview.update()
self.get_display_surface().blit(frame, rect)
else:
if ii != self.level_index_selected:
preview.update()
if self.level_index_selected is not None:
preview = self.previews[self.level_index_selected]
self.zoom += 0.1
frame = pygame.transform.scale(
preview.get_current_frame(), (int(preview.location.w * self.zoom), int(preview.location.h * self.zoom)))
rect = frame.get_rect()
rect.center = preview.location.center
preview.update()
self.get_display_surface().blit(frame, rect)
class Button(Sprite):