ADD new font
This commit is contained in:
BIN
assets/fonts/Metropolis-Regular.ttf
Normal file
BIN
assets/fonts/Metropolis-Regular.ttf
Normal file
Binary file not shown.
4
main.py
4
main.py
@@ -21,8 +21,8 @@ def main():
|
|||||||
"show_names": True
|
"show_names": True
|
||||||
},
|
},
|
||||||
"styling": {
|
"styling": {
|
||||||
"font": pygame.font.Font(None, 36),
|
"font": pygame.font.Font("assets/fonts/Metropolis-Regular.ttf", 36),
|
||||||
"small_font": pygame.font.Font(None, 15),
|
"small_font": pygame.font.Font("assets/fonts/Metropolis-Regular.ttf", 15),
|
||||||
"button_colour": (200, 200, 200),
|
"button_colour": (200, 200, 200),
|
||||||
"pressed_button_colour": (150, 150, 150),
|
"pressed_button_colour": (150, 150, 150),
|
||||||
"text_colour": (255, 255, 255),
|
"text_colour": (255, 255, 255),
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ class SettingsMenuRenderer:
|
|||||||
# Buttons
|
# Buttons
|
||||||
self.back_button = Button(10, 10, 50, 50, None)
|
self.back_button = Button(10, 10, 50, 50, None)
|
||||||
self.back_button.set_colour(self.styling["button_colour"])
|
self.back_button.set_colour(self.styling["button_colour"])
|
||||||
|
self.back_button.set_font(self.styling["font"])
|
||||||
self.back_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
self.back_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
self.back_button.set_image("assets/arrow.png")
|
self.back_button.set_image("assets/arrow.png")
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ class StartMenu(GameState):
|
|||||||
50,
|
50,
|
||||||
self._get_demo)
|
self._get_demo)
|
||||||
self.upload_demo_button.set_text("Upload Demo")
|
self.upload_demo_button.set_text("Upload Demo")
|
||||||
|
self.upload_demo_button.set_font(self.styling["font"])
|
||||||
self.upload_demo_button.set_font_size(40)
|
self.upload_demo_button.set_font_size(40)
|
||||||
self.upload_demo_button.set_colour(self.styling["button_colour"])
|
self.upload_demo_button.set_colour(self.styling["button_colour"])
|
||||||
self.upload_demo_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
self.upload_demo_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
@@ -37,6 +38,7 @@ class StartMenu(GameState):
|
|||||||
50,
|
50,
|
||||||
lambda: self.switch_state("settings_menu"))
|
lambda: self.switch_state("settings_menu"))
|
||||||
self.settings_button.set_text("Settings")
|
self.settings_button.set_text("Settings")
|
||||||
|
self.settings_button.set_font(self.styling["font"])
|
||||||
self.settings_button.set_font_size(40)
|
self.settings_button.set_font_size(40)
|
||||||
self.settings_button.set_colour(self.styling["button_colour"])
|
self.settings_button.set_colour(self.styling["button_colour"])
|
||||||
self.settings_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
self.settings_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
@@ -47,6 +49,7 @@ class StartMenu(GameState):
|
|||||||
50,
|
50,
|
||||||
pygame.quit)
|
pygame.quit)
|
||||||
self.quit_button.set_text("Quit")
|
self.quit_button.set_text("Quit")
|
||||||
|
self.quit_button.set_font(self.styling["font"])
|
||||||
self.quit_button.set_font_size(40)
|
self.quit_button.set_font_size(40)
|
||||||
self.quit_button.set_colour(self.styling["button_colour"])
|
self.quit_button.set_colour(self.styling["button_colour"])
|
||||||
self.quit_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
self.quit_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ class Button:
|
|||||||
self.font_size = 20
|
self.font_size = 20
|
||||||
self.colour = (255, 255, 255)
|
self.colour = (255, 255, 255)
|
||||||
self.pressed_colour = (200, 200, 200)
|
self.pressed_colour = (200, 200, 200)
|
||||||
|
self.font = pygame.font.Font(None, self.font_size)
|
||||||
self.pressed = False
|
self.pressed = False
|
||||||
self.border_radius = 3
|
self.border_radius = 3
|
||||||
|
|
||||||
@@ -22,6 +23,9 @@ class Button:
|
|||||||
def get_font_size(self) -> int:
|
def get_font_size(self) -> int:
|
||||||
return self.font_size
|
return self.font_size
|
||||||
|
|
||||||
|
def get_font(self) -> pygame.font.Font:
|
||||||
|
return self.font
|
||||||
|
|
||||||
def get_text(self) -> str:
|
def get_text(self) -> str:
|
||||||
return self.text
|
return self.text
|
||||||
|
|
||||||
@@ -37,6 +41,9 @@ class Button:
|
|||||||
def set_font_size(self, font_size: int) -> None:
|
def set_font_size(self, font_size: int) -> None:
|
||||||
self.font_size = font_size
|
self.font_size = font_size
|
||||||
|
|
||||||
|
def set_font(self, font: pygame.Font) -> None:
|
||||||
|
self.font = font
|
||||||
|
|
||||||
def set_text(self, text: str) -> None:
|
def set_text(self, text: str) -> None:
|
||||||
self.text = text
|
self.text = text
|
||||||
|
|
||||||
@@ -60,9 +67,8 @@ class Button:
|
|||||||
self.image = pygame.image.load(image_path)
|
self.image = pygame.image.load(image_path)
|
||||||
self.image = pygame.transform.scale(self.image, (self.width, self.height))
|
self.image = pygame.transform.scale(self.image, (self.width, self.height))
|
||||||
|
|
||||||
def _draw_text(self, screen, text: str, font_size: int) -> None:
|
def _draw_text(self, screen, text: str) -> None:
|
||||||
font = pygame.font.Font(None, font_size)
|
text_surface = self.font.render(text, True, (0, 0, 0))
|
||||||
text_surface = font.render(text, True, (0, 0, 0))
|
|
||||||
text_rect = text_surface.get_rect(center=(self.x + self.width // 2, self.y + self.height // 2))
|
text_rect = text_surface.get_rect(center=(self.x + self.width // 2, self.y + self.height // 2))
|
||||||
screen.blit(text_surface, text_rect)
|
screen.blit(text_surface, text_rect)
|
||||||
|
|
||||||
@@ -93,7 +99,7 @@ class Button:
|
|||||||
screen.blit(self.image, (self.x, self.y))
|
screen.blit(self.image, (self.x, self.y))
|
||||||
|
|
||||||
if self.text:
|
if self.text:
|
||||||
self._draw_text(screen, self.text, self.font_size)
|
self._draw_text(screen, self.text)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
pygame.init()
|
pygame.init()
|
||||||
|
|||||||
Reference in New Issue
Block a user