Skip to content

Commit

Permalink
desenvolvimento das fases e alteração de design
Browse files Browse the repository at this point in the history
- adicionado contorno à fonte em algumas telas (melhor visibilidade)
- adicionado lógica de vidas e imagens
- colisão do cursor com os objetos faz o objeto aumentar levemente
- feito a fase 2
- pequena alteração no design das fases
- mudança na lógica de seleção e confirmação dos objetos (melhoria)
- alteração na posição de alguns objetos (como configuração, instruções, voltar, etc)
  • Loading branch information
zyatt committed Jan 19, 2025
1 parent c7e2665 commit 2c9f087
Show file tree
Hide file tree
Showing 10 changed files with 422 additions and 103 deletions.
4 changes: 3 additions & 1 deletion Anotações - O que ainda falta.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ Telas:
-----Tela Inicial-----
- Organização dos Botões
- Tela de Pontuação (Ainda verificar como fara a área do avaliador)
-----Instruções-----

-----Instruções-----
- FALTA ARRUMAR TUDO AQUI PRATICAMENTE
- Troca de tela quando clica no botão de cada fase
- Tamanho dos botões
- Organizar tamanhos
Expand Down
Binary file modified __pycache__/botao.cpython-313.pyc
Binary file not shown.
Binary file modified __pycache__/botaoObjetos.cpython-313.pyc
Binary file not shown.
35 changes: 19 additions & 16 deletions botao.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,40 @@
import pygame

class Botao(): # objeto
def __init__(self, x, y, imagem, imagemAlterada): # self = ele mesmo; x, y = coordenadas; image = imagem para o botão (função init: método construtor)
class Botao():
def __init__(self, x, y, imagem, imagemAlterada):
self.imagemOriginal = imagem
self.imagemAlterada = imagemAlterada # imagem com highlight
self.imagem = self.imagemOriginal # define a imagem do objeto original
self.imagemAlterada = imagemAlterada
self.imagem = self.imagemOriginal

self.rect = self.imagem.get_rect() # cria um retângulo para o objeto do tamanho da imagem, por isso get_rect
self.rect.topleft = (x, y) # coordenadas para a posição que queremos o botão/imagem
self.clicked = False # define o estado atual do botão como falso (não clicado)
self.rect = self.imagem.get_rect()
self.rect.topleft = (x, y)
self.clicked = False

def desenharBotao(self, tela):
tela.blit(self.imagem, (self.rect.x, self.rect.y))

def clicarBotao(self, tela):
acao = False # variável para rastrear as ações dos cliques
posicaoMouse = pygame.mouse.get_pos() # variável recebe a posição do mouse
acao = False
posicaoMouse = pygame.mouse.get_pos()

# Verifica se o mouse está dentro da área do botão
if self.rect.collidepoint(posicaoMouse):
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
if not self.clicked: # Detecta o clique apenas uma vez
if not self.clicked:
self.clicked = True
acao = True
if event.type == pygame.MOUSEBUTTONUP and event.button == 1:
self.clicked = False # Reseta a flag ao liberar o mouse
self.clicked = False

return acao


def atualizarImagem(self, posicaoMouse): # caso o mouse do usuário passar em cima troca a imagem
def atualizarImagem(self, posicaoMouse):
if self.rect.collidepoint(posicaoMouse):
self.imagem = self.imagemAlterada
else: # imagem volta ao original ao tirar o mouse de cima
self.imagem = self.imagemOriginal
# Aumenta a imagem (zoom) quando o mouse passa por cima
largura, altura = self.imagem.get_size()
self.imagem = pygame.transform.scale(self.imagem, (int(largura * 1.05), int(altura * 1.05))) # Aumenta 20% do tamanho
else:
self.imagem = self.imagemOriginal
largura, altura = self.imagem.get_size()
self.imagem = pygame.transform.scale(self.imagem, (int(largura), int(altura))) # Volta ao tamanho original
6 changes: 5 additions & 1 deletion botaoObjetos.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ def __init__(self, x, y, imagem, imagemAlterada):
self.maskAlterada = pygame.mask.from_surface(self.imagemAlterada)
self.mask = self.maskOriginal # Inicialmente, a máscara é a original

self.fatorAumento = 1.05 # Fator de aumento (20% maior)

def desenharBotao(self, tela):
tela.blit(self.imagem, (self.rect.x, self.rect.y))

Expand Down Expand Up @@ -47,7 +49,9 @@ def atualizarImagem(self, posicaoMouse):
largura, altura = self.mask.get_size() # Obtém as dimensões da máscara
if 0 <= offset[0] < largura and 0 <= offset[1] < altura:
if self.mask.get_at(offset): # Verifica pixel-perfect
self.imagem = self.imagemAlterada
self.imagem = pygame.transform.scale(self.imagemAlterada,
(int(self.imagemAlterada.get_width() * self.fatorAumento),
int(self.imagemAlterada.get_height() * self.fatorAumento)))
self.mask = self.maskAlterada # Atualiza a máscara para a versão alterada
else:
self.imagem = self.imagemOriginal
Expand Down
Binary file added imagens/GUI/vidas/0vidas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imagens/GUI/vidas/1vidas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imagens/GUI/vidas/2vidas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imagens/GUI/vidas/3vidas.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 2c9f087

Please sign in to comment.