fix prelock alpha on hold
This commit is contained in:
parent
f2bbafeb8b
commit
4c44089f41
@ -96,18 +96,20 @@ class TetrominoSprites(MinoesSprites):
|
|||||||
def __init__(self, tetromino, window, alpha=NORMAL_ALPHA):
|
def __init__(self, tetromino, window, alpha=NORMAL_ALPHA):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.tetromino = tetromino
|
self.tetromino = tetromino
|
||||||
|
self.alpha = alpha
|
||||||
for mino in tetromino:
|
for mino in tetromino:
|
||||||
mino.sprite = MinoSprite(mino, window, alpha)
|
mino.sprite = MinoSprite(mino, window, alpha)
|
||||||
self.append(mino.sprite)
|
self.append(mino.sprite)
|
||||||
|
|
||||||
def refresh(self):
|
def refresh(self):
|
||||||
|
if self.tetromino.prelocked:
|
||||||
|
alpha = PRELOCKED_ALPHA
|
||||||
|
else:
|
||||||
|
alpha = self.alpha
|
||||||
for mino in self.tetromino:
|
for mino in self.tetromino:
|
||||||
coord = mino.coord + self.tetromino.coord
|
coord = mino.coord + self.tetromino.coord
|
||||||
mino.sprite.set_position(coord.x, coord.y)
|
mino.sprite.set_position(coord.x, coord.y)
|
||||||
|
mino.sprite.alpha = alpha
|
||||||
def set_alpha(self, alpha):
|
|
||||||
for sprite in self:
|
|
||||||
sprite.alpha = alpha
|
|
||||||
|
|
||||||
|
|
||||||
class MatrixSprites(MinoesSprites):
|
class MatrixSprites(MinoesSprites):
|
||||||
@ -254,18 +256,9 @@ AGAIN""".format(
|
|||||||
|
|
||||||
def move(self, movement, prelock=True):
|
def move(self, movement, prelock=True):
|
||||||
moved = super().move(movement, prelock)
|
moved = super().move(movement, prelock)
|
||||||
if self.current.prelocked:
|
self.current.sprites.refresh()
|
||||||
alpha = PRELOCKED_ALPHA
|
|
||||||
else:
|
|
||||||
alpha = NORMAL_ALPHA
|
|
||||||
self.current.sprites.set_alpha(alpha)
|
|
||||||
if moved:
|
if moved:
|
||||||
size = MINO_SIZE * self.scale
|
self.ghost.sprites.refresh()
|
||||||
change_x = movement.x * size
|
|
||||||
change_y = movement.y * size
|
|
||||||
self.current.sprites.move(change_x, change_y)
|
|
||||||
if movement in (tetrislogic.Movement.LEFT, tetrislogic.Movement.RIGHT):
|
|
||||||
self.ghost.sprites.refresh()
|
|
||||||
return moved
|
return moved
|
||||||
|
|
||||||
def rotate(self, rotation):
|
def rotate(self, rotation):
|
||||||
@ -283,8 +276,8 @@ AGAIN""".format(
|
|||||||
tetromino.sprites.refresh()
|
tetromino.sprites.refresh()
|
||||||
|
|
||||||
def lock(self):
|
def lock(self):
|
||||||
|
self.current.prelocked = False
|
||||||
self.current.sprites.refresh()
|
self.current.sprites.refresh()
|
||||||
self.current.sprites.set_alpha(NORMAL_ALPHA)
|
|
||||||
super().lock()
|
super().lock()
|
||||||
|
|
||||||
def on_key_press(self, key, modifiers):
|
def on_key_press(self, key, modifiers):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user