This commit is contained in:
Frank DeMarco 2014-04-28 05:27:58 +09:00
parent a6efd6580d
commit 184a1f2c2f
2 changed files with 48 additions and 3 deletions

4
config
View File

@ -1,6 +1,8 @@
[display]
caption = Electric Sieve
dimensions = 420, 700
font-path = Titan-One.ttf
score-font-path = Titan-One.ttf
title-font-path = Oxygen.ttf
[mouse]
visible = no

View File

@ -42,8 +42,37 @@ class Title(GameChild):
GameChild.__init__(self, parent)
self.display_surface = self.get_display_surface()
self.delegate = self.parent.delegate
bg_color = (255, 222, 173)
self.background = surface = Surface(self.display_surface.get_size())
surface.fill((0, 255, 255))
tile = Surface((2, 2))
tile.fill(bg_color)
tile.set_at((0, 1), (220, 119, 41))
tile.set_at((1, 0), (220, 119, 41))
for y in xrange(0, surface.get_height(), 2):
for x in xrange(0, surface.get_width(), 2):
surface.blit(tile, (x, y))
font = Font(self.get_resource("display", "title-font-path"), 20)
font.set_italic(True)
font.set_bold(True)
self.captions = captions = Sprite(self), Sprite(self)
colors = (255, 204, 0), (0, 68, 170), (255, 255, 255), (128, 128, 128), \
(220, 119, 41)
texts = ["", ""]
for ii, text in \
enumerate(self.get_configuration("display",
"caption").upper().split()):
texts[ii] += "" * (5 if ii else 3)
for ch in text:
texts[ii] += ch + " "
texts[ii] = texts[ii].strip() + "" * (5 if ii else 3)
for _ in xrange(25):
color = choice(colors)
captions[0].add_frame(font.render(texts[0], True, color, (220, 208, 255)))
captions[1].add_frame(font.render(texts[1], True, color, (220, 208, 255)))
cx = self.display_surface.get_rect().centerx
captions[0].location.center = cx, 301
captions[1].location.center = cx, 398
self.scoreboard = Scoreboard(self)
self.subscribe(self.respond)
def respond(self, event):
@ -56,6 +85,7 @@ class Title(GameChild):
def activate(self):
self.active = True
self.scoreboard.activate()
def deactivate(self):
self.active = False
@ -63,6 +93,9 @@ class Title(GameChild):
def update(self):
if self.active:
self.display_surface.blit(self.background, (0, 0))
for caption in self.captions:
caption.update()
self.scoreboard.update()
class Strip(Sprite):
@ -134,6 +167,16 @@ class Shift(GameChild):
return self.nodeset.get_y(self.time) * self.direction
class Scoreboard(Strip):
def __init__(self, parent):
Strip.__init__(self, parent)
surface = Surface((380, 80))
surface.fill((255, 255, 255))
self.add_frame(surface)
self.location.center = self.display_surface.get_rect().centerx, 350
class Sieve(Strip):
UP, DOWN = range(2)
@ -438,7 +481,7 @@ class Total(Sprite):
def __init__(self, parent):
Sprite.__init__(self, parent, 68)
self.deactivate()
self.font = Font(self.get_resource("display", "font-path"), 48)
self.font = Font(self.get_resource("display", "score-font-path"), 48)
self.font.set_italic(True)
def deactivate(self):