annotate skaapsteker/cutscene.py @ 499:069fc6312ab8

Music in cutscenes
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 09 Apr 2011 22:56:02 +0200
parents b02d51e06c17
children d9b70b89cca6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
2 from __future__ import division
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
3
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
4 import pygame
365
a43f571e8f5b Dim cutscene background
Stefano Rivera <stefano@rivera.za.net>
parents: 277
diff changeset
5 from pygame.locals import K_ESCAPE, K_q, KEYDOWN, SRCALPHA
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
6
365
a43f571e8f5b Dim cutscene background
Stefano Rivera <stefano@rivera.za.net>
parents: 277
diff changeset
7 from . import constants
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
8 from . import data
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
9 from .engine import ChangeScene, Scene
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
10 from .levelscene import LevelScene
247
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
11 from .widgets.text import Text, ButtonSet, TextButton, unindent_text
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
12
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
13
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
14 class CutScene(Scene):
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
15 def __init__(self, game_state, soundsystem):
262
de60329cfc9f Factor out sound stuff
Neil Muller <drnlmuller@gmail.com>
parents: 247
diff changeset
16 super(CutScene, self).__init__(game_state, soundsystem)
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
17 self._background_music = self.music
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
18
247
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
19 button_set = ButtonSet()
365
a43f571e8f5b Dim cutscene background
Stefano Rivera <stefano@rivera.za.net>
parents: 277
diff changeset
20 # TODO: Dynamic position
a43f571e8f5b Dim cutscene background
Stefano Rivera <stefano@rivera.za.net>
parents: 277
diff changeset
21 button_set.append(TextButton("Continue", (20, constants.SCREEN[1] - 68),
a43f571e8f5b Dim cutscene background
Stefano Rivera <stefano@rivera.za.net>
parents: 277
diff changeset
22 size=24, color='red'))
247
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
23 button_set.callbacks.append(self.done)
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
24 self.widgets.append(button_set)
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
25
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
26 def done(self, selected=None, data=None):
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
27 # Avoid circular import...
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
28 from .menuscene import MenuScene
277
62b98bea56bf More level and scene change fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 262
diff changeset
29 ChangeScene.post((MenuScene,))
247
8c0c132b422f Button widget for cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 243
diff changeset
30
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
31 def dispatch(self, ev):
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
32 if ev.type is KEYDOWN:
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
33 if ev.key in(K_q, K_ESCAPE):
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
34 self.done()
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
35 super(CutScene, self).dispatch(ev)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
36
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
37 def enter(self):
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
38 if self._background_music:
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
39 self._soundsystem.play_background_music(self._background_music)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
40
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
41
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
42 class TextCutScene(CutScene):
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
43 def __init__(self, game_state, soundsystem):
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
44 super(TextCutScene, self).__init__(game_state, soundsystem)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
45 self._background_img = data.load_image('backgrounds/' + self.background)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
46 fill = pygame.Surface(self._background_img.get_size(), flags=SRCALPHA)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
47 fill.fill((255, 255, 255, 128))
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
48 self._background_img.convert_alpha(fill)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
49 self._background_img.blit(fill, (0, 0))
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
50 self._background_img.convert_alpha()
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
51 self._start_time = pygame.time.get_ticks()
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
52 self._run_time = 60000 # ms
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
53
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
54 text_widget = Text(unindent_text(self.text),
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
55 pygame.Rect(20, 20,
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
56 constants.SCREEN[0] - 40,
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
57 constants.SCREEN[1] - 40),
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
58 size=24, shadow='gray', wrap=True)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
59 self.widgets.append(text_widget)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
60
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
61 def draw(self, surface, engine):
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
62 viewport = surface.get_clip()
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
63
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
64 # Scoll background back and forth:
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
65 max_pos = self._background_img.get_rect().width - viewport.width
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
66 bottom = self._background_img.get_rect().height - viewport.height
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
67 pos = ((pygame.time.get_ticks() - self._start_time)
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
68 % (self._run_time * 2)) * max_pos // (self._run_time)
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
69 if pos > max_pos:
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
70 pos = (2 * max_pos) - pos
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
71 surface.blit(self._background_img, viewport.topleft,
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
72 pygame.Rect((pos, bottom), viewport.size))
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
73
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
74 super(TextCutScene, self).draw(surface, engine)
243
4050e77dade6 Add support for background music tracks
Neil Muller <drnlmuller@gmail.com>
parents: 183
diff changeset
75
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
76
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
77 class OpeningCutScene(TextCutScene):
134
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
78 text = u"""
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
79 Many moons ago, an evil nine-tailed kitsune, a fearsome fox god, ruled the
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
80 land.
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
81
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
82 It had many powers — the ability to shape shift, turn invisible, control
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
83 the elements. Its powers came from its majestic tails and the kitsune
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
84 guarded them ferociously. If any fox attained eight tails, it would battle
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
85 the kitsune for domination of the celestial world. To prevent this, the
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
86 kitsune stole the tails of all the foxes it encountered.
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
87
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
88 The evil kitsune challenged every fox to a haiku contest. But the
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
89 competition was not fair, and the kitsune cheated every time. When it
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
90 defeated the poor fox, it stole its tail and threw it to the four winds.
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
91
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
92 The kitsune stole your tail. Now it’s time to get it back.
4713a2a3b0be Initial cutscene screen
Stefano Rivera <stefano@rivera.za.net>
parents:
diff changeset
93 """
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
94 background = 'background_01_back.png'
499
069fc6312ab8 Music in cutscenes
Stefano Rivera <stefano@rivera.za.net>
parents: 492
diff changeset
95 music = 'music/ambient japanese music 2.ogg'
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
96
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
97 def done(self, selected=None, data=None):
479
fb9258d66137 New Main Menu
Stefano Rivera <stefano@rivera.za.net>
parents: 452
diff changeset
98 fox = self.game_state.world.fox
fb9258d66137 New Main Menu
Stefano Rivera <stefano@rivera.za.net>
parents: 452
diff changeset
99 ChangeScene.post((LevelScene, '.'.join([fox.level, fox.doorway])))
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
100
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
101
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
102 class UsageCutScene(TextCutScene):
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
103 text = u"""
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
104 Arrow keys control your movement.
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
105
448
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
106 Double-tap ← or → to sprint, ↑ to fly (when you can).
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
107
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
108 Z and X perform attacks.
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
109 """
448
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
110 background = 'background_02_back.png'
375
8631e38afc24 Usage cutscene (with minor CutScene refactoring)
Stefano Rivera <stefano@rivera.za.net>
parents: 365
diff changeset
111 music = None
448
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
112
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
113
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
114 class CreditsCutScene(TextCutScene):
448
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
115 text = u"""
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
116 Credits:
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
117
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
118 Programmers: Adrianna Pińska, Jeremy Thurgood, Neil Muller, Simon Cross, Stefano Rivera
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
119
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
120 Art: Oliver Hambsch
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
121
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
122 Story: Anna Malczyk
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
123
452
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
124 Music & Sound Effects:
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
125 OLPC Sound Library: Richard Boulanger;
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
126 The Free Sound Project:
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
127 Connor Purcell,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
128 Nathan Hill,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
129 Donnie Thompson,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
130 Muki,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
131 Tom Potter,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
132 Kayden Riggs,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
133 ITE,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
134 GRSites.com,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
135 dobroide,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
136 pauliep83,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
137 nextmaking,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
138 aesqe,
2e9e24d0e594 Sound credits
Stefano Rivera <stefano@rivera.za.net>
parents: 448
diff changeset
139 inferno
448
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
140 """
fada4195349d Credits Cutscene
Stefano Rivera <stefano@rivera.za.net>
parents: 375
diff changeset
141 background = 'background_03_back.png'
499
069fc6312ab8 Music in cutscenes
Stefano Rivera <stefano@rivera.za.net>
parents: 492
diff changeset
142 music = 'music/ambient japanese music 3.ogg'
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
143
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
144
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
145 class VictoryCutScene(CutScene):
499
069fc6312ab8 Music in cutscenes
Stefano Rivera <stefano@rivera.za.net>
parents: 492
diff changeset
146 music = 'music/ambient japanese music 1.ogg'
492
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
147
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
148 def __init__(self, game_state, soundsystem):
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
149 super(VictoryCutScene, self).__init__(game_state, soundsystem)
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
150 self._background_img = data.load_image('backgrounds/victory-menu.png')
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
151
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
152 def draw(self, surface, engine):
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
153 surface.blit(self._background_img, (0, 0))
b02d51e06c17 Add Victory CutScene (and refactor CutScenes)
Stefano Rivera <stefano@rivera.za.net>
parents: 479
diff changeset
154 super(VictoryCutScene, self).draw(surface, engine)