Szöveg szélesség számítás fix

This commit is contained in:
markojozsef
2026-10-18 18:27:27 +02:00
parent 9c0668d579
commit c4bce574c1
2 changed files with 16 additions and 2 deletions

View File

@@ -8,6 +8,9 @@ Teljesen AI-generált szakaszokat egy `# !!! CHATGPT !!!` komment jelzi
### main.py
* Game
### text.py
* Többsoros szöveg szélessége
### renderers.py
* TextureRenderer
* NineSlicesPanel

View File

@@ -83,9 +83,19 @@ class TextRenderer:
for s in self.sprites:
s[1] = s[1].move(x, y)
# !!! ChatGPT !!!
def render(self, discoloration=(255,255,255)):
offset = -(sum(s[2] for s in self.sprites) // 2) if self.center else 0
for s in self.sprites:
offsets = []
sprite_idx = 0
for line in self.text.split('\n'):
line_len = len(line)
line_sprites = self.sprites[sprite_idx : sprite_idx + line_len]
line_width = sum(s[2] for s in line_sprites)
line_offset = -(line_width // 2) if self.center else 0
offsets.extend([line_offset] * len(line_sprites))
sprite_idx += line_len
for s, offset in zip(self.sprites, offsets):
arcade.draw_texture_rect(
s[0],
s[1].move(offset, 0),
@@ -93,6 +103,7 @@ class TextRenderer:
color=arcade.types.Color(*discoloration)
)
# !!! ChatGPT vége !!!
# a \n display függvénye
def newline(self):
self.y -= 13